小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

利用matlab實(shí)現(xiàn)16QAM調(diào)制

 快樂(lè)一籮筐 2010-05-21

一、隨機(jī)信號(hào)的調(diào)制

第一個(gè)示例描述以下問(wèn)題: 下表描述了解決此問(wèn)題的關(guān)鍵任務(wù)和相應(yīng)的通信工具箱函數(shù),其中選擇基帶16QAM作為調(diào)制制式以及加性高斯白噪聲(AWGN)作為信道模型。

問(wèn)題解決方案:

1.產(chǎn)生隨機(jī)二進(jìn)制數(shù)據(jù)序列。

        MATLAB中表示信號(hào)的常規(guī)格式是向量或者矩陣。本示例中利用randint 函數(shù)來(lái)產(chǎn)生一個(gè)表示二進(jìn)制數(shù)據(jù)序列連續(xù)值的列向量。其中二進(jìn)制數(shù)據(jù)序列的長(zhǎng)度(即為列向量中的行數(shù))設(shè)置為30,000。

        下面的代碼同時(shí)還繪制了數(shù)據(jù)序列的桿圖(stem plot),用來(lái)顯示數(shù)據(jù)的0、1值。你所產(chǎn)生的圖可能與次示例中的圖有一點(diǎn)不一樣,這是因?yàn)楸臼纠袘?yīng)用了隨機(jī)數(shù)。

%% Setup

% Define parameters.

M = 16; % Size of signal constellation

k = log2(M); % Number of bits per symbol

n = 3e4; % Number of bits to process

nsamp = 1; % Oversampling rate

%% Signal Source

% Create a binary data stream as a column vector.

x = randint(n,1); % Random binary data stream

% Plot first 40 bits in a stem plot.

stem(x(1:40),'filled');

title('Random Bits');

xlabel('Bit Index'); ylabel('Binary Value');

2、準(zhǔn)備調(diào)制

        modem.qammod對(duì)象實(shí)現(xiàn)M-QAM調(diào)制器,本示例中M16。其輸入?yún)?shù)是從015的整數(shù)而不是4bits二進(jìn)制數(shù)據(jù)。因此,在利用此對(duì)象的modulate方法之前需要對(duì)二進(jìn)制數(shù)據(jù)序列x進(jìn)行預(yù)處理。特別地, 先采用MATLAB中的reshape函數(shù)將x沿著矩陣的行方向重新整理成每行4bit數(shù)據(jù),然后應(yīng)用bi2de函數(shù)將4bit數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的整數(shù)。

%% Bit-to-Symbol Mapping

% Convert the bits in x into k-bit symbols.

xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');

%% Stem Plot of Symbols

% Plot first 10 symbols in a stem plot.

figure; % Create new figure window.

stem(xsym(1:10));

title('Random Symbols');

xlabel('Symbol Index'); ylabel('Integer Value');

 

問(wèn)題 利用一個(gè)由基帶調(diào)制器、信道和解調(diào)器組成的通信系統(tǒng)處理二進(jìn)制數(shù)據(jù)流。計(jì)算系統(tǒng)的誤碼率(BER)并顯示發(fā)射和接收信號(hào)的散點(diǎn)圖(Scatter Plot)。

 

任務(wù)

函數(shù)或方法

產(chǎn)生隨機(jī)二進(jìn)制數(shù)據(jù)序列

randint

16QAM調(diào)制

modem.qammod 對(duì)象中的modulate方法

AWGN信道

awgn

繪制散點(diǎn)圖

scatterplot

16QAM解調(diào)

modem.qamdemod 對(duì)象中的demodulate方法(原文檔有誤)

計(jì)算系統(tǒng)誤碼率

biterr

316-QAM調(diào)制.

    對(duì)于已定義的包含從015的整數(shù)的列向量xsym,就可以利用modem.qammod對(duì)象的modulate方法來(lái)調(diào)制它。其中M值為16,亦即為碼字表的大小。  

%% Modulation

y = modulate(modem.qammod(M),xsym); % Modulate using 16-QAM.

    調(diào)制的結(jié)果是復(fù)數(shù)列向量,其取值為16點(diǎn)QAM信號(hào)星座圖。本示例中的隨后步驟中將會(huì)展示星座圖是什么樣子的。想要了解更多關(guān)于調(diào)制函數(shù)的信息,可參見(jiàn)第8章“調(diào)制”。另外,注意到modem.qammod對(duì)象的modulate方法沒(méi)有進(jìn)行任何的脈沖成形處理。

4、加性高斯白噪聲.

    對(duì)已調(diào)制信號(hào)可采用awgn函數(shù)添加加性高斯噪聲。其中比特能量與噪聲功率譜密度的比值,Eb/N0,設(shè)置為10dB。

    將上述Eb/N0值轉(zhuǎn)換為相應(yīng)的信噪比(SNR),需要考慮每一符號(hào)包含的比特?cái)?shù)k16-QAM中為4)以及過(guò)采樣率因子nsamp(本示例中為1)。其中因子k是用來(lái)將Eb/N0轉(zhuǎn)換為等價(jià)的Es/N0(符號(hào)能量與噪聲功率譜密度的比值)。因子nsamp是用來(lái)將符號(hào)速率帶寬內(nèi)的Es/N0轉(zhuǎn)換為采樣帶寬內(nèi)的SNR。

說(shuō)明 ytxyrx的定義以及snr定義中nsamp項(xiàng)到目前為止在本示例中顯現(xiàn)得并不是很重要, 但是這將使得其更容易擴(kuò)展到之后的成形濾波示例。

 

 

%% Transmitted Signal

ytx = y;

%% Channel

% Send signal over an AWGN channel.

EbNo = 10; % In dB

snr = EbNo + 10*log10(k) - 10*log10(nsamp);

ynoisy = awgn(ytx,snr,'measured');

%% Received Signal

yrx = ynoisy;

5、繪制散點(diǎn)圖。

    對(duì)發(fā)射和接收信號(hào)利用scatterplot函數(shù)可顯示信號(hào)星座圖的樣子及噪聲對(duì)信號(hào)造成的失真程度。在該圖中,橫軸代表了信號(hào)的同相分量而縱軸代表了正交分量。下面的代碼還利用了MATLAB中的title、legend以及axis函數(shù)來(lái)繪制特定的圖像。

%% Scatter Plot

% Create scatter plot of noisy signal and transmitted

% signal on the same axes.

h = scatterplot(yrx(1:nsamp*5e3),nsamp,0,'g.');

hold on;

scatterplot(ytx(1:5e3),1,0,'k*',h);

title('Received Signal');

legend('Received Signal','Signal Constellation');

axis([-5 5 -5 5]); % Set axis ranges.

hold off;

6、16-QAM解調(diào)。

對(duì)接收信號(hào)利用modem.deqammod對(duì)象的demodulate方法進(jìn)行解調(diào)。解調(diào)結(jié)果為包含015之間整數(shù)的列向量。

%% Demodulation

% Demodulate signal using 16-QAM.

zsym = demodulate(modem.qamdemod(M),yrx);

7、整數(shù)信號(hào)轉(zhuǎn)換至二進(jìn)制比特信號(hào).

%% Symbol-to-Bit Mapping

% Undo the bit-to-symbol mapping performed earlier.

z = de2bi(zsym,'left-msb'); % Convert integers to bits.

% Convert z from a matrix to a vector.

z = reshape(z.',prod(size(z)),1);

8、計(jì)算系統(tǒng)誤碼率.

對(duì)原始二進(jìn)制向量和上述步驟解調(diào)得到二進(jìn)制向量利用biterr函數(shù)即可得到誤比特?cái)?shù)和誤碼率。

%% BER Computation

% Compare x and z to obtain the number of errors and

% the bit error rate.

[number_of_errors,bit_error_rate] = biterr(x,z)

>>

number_of_errors =

71

bit_error_rate =

0.0024  

 

上一步產(chǎn)生的信號(hào)為一整數(shù)列向量zsym。要得到相應(yīng)的二進(jìn)制比特信號(hào),只需要利用de2bi函數(shù)將每一個(gè)整數(shù)轉(zhuǎn)化為相應(yīng)的4位二進(jìn)制信號(hào)。然后利用reshape函數(shù)將一個(gè)4列的矩陣整理為一個(gè)單獨(dú)列向量

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多