資源簡介
DCO_OFDM程序代碼,內有QAM調制,對DCO_OFDM的模型有個基礎的了解
代碼片段和文件信息
%%?----------------------?DCO-OFDM?---------------------?%%
%%?**************************?transmitter?*****************************
%%?---------------?to?produce?the?bits?stream?-----------------
clear?all;?????
clc;
%?QAM?modulation?order
M?=?4;
%?initial?number?of?carrier?before?Hermitian?symmetry
para=64;??????????
%?number?of?bits?transmitted
no_of_bits?=?log2(M)*para*1000;
%?to?produce?the?transmitted?bits?stream
seridata?=?randint(1no_of_bits);??
%%?---------------?QAM?modulation?---------------
%?transfer?the?bits?from?binary?to?decimal
x?=?bi2de(reshape(seridatalog2(M)no_of_bits/log2(M))‘‘left-msb‘);??%?二進制轉換成十進制
%?QAM?modulation?using?the?function?provided?by?matlab
h?=?modem.qammod(‘M‘M?‘SymbolOrder‘?‘Gray‘);??%?QAM調制
xk?=?modulate(hx);
%%?--------------?calculate?BER?for?every?SNR?(dB)?---------------
%?%?Eb/N0from?0dB?to?30dB
ebn0?=?[0:1:35];??????????????
for?k?=?1:1:length(ebn0)?
??
%?initial?number?of?error?bits???
noe?=?0;????
%?initial?number?of?bits?transmitted?
nod?=?0;
%?reshape?the?symbol?according?to?the?number?of?symbol?per?column
xk0=reshape(xk1no_of_bits/log2(M));
xk1?=?reshape(xk0parano_of_bits/log2(M)/para);
%%?----------------?carrier?setting?------------------
%?Hermitian?symmetry
yk=flipud(xk1);????%?上下翻轉
wk=conj(yk);???????%?共軛
%?w=x‘
ze?=?zeros(1no_of_bits/log2(M)/para);
?zk=[ze
?????xk1
?????wk];
%?number?of?carrier?for?every?DCO-OFDM?symbol
N=2*para+1;?????
%%?------------------?IFFT?-----------------
- 上一篇:ART算法代碼程序
- 下一篇:MATLAB實現人眼定位程序
評論
共有 條評論