資源簡介
OFDM瑞利衰落信道下的MATLAB程序
代碼片段和文件信息
close?all
clear?all
clc
nbitpersym??=?52;???%?number?of?bits?per?OFDM?symbol?(same?as?the?number?of?subcarriers?for?BPSK)
nsym????????=?10^4;?%?number?of?symbols
len_fft?????=?64;???%?fft?size
sub_car?????=?52;???%?number?of?data?subcarriers
EbNo????????=?0:5:40;
EsNo=?EbNo?+?10*log10(52/64)+?10*log10(64/80);?%?symbol?to?noise?ratio
snr=?EsNo?-?10*log10(64/80);?%?snr?as?to?be?used?by?awgn?fn.
M?=?modem.pskmod(2);?%?modulation?object
%?Generating?data
t_data=randint(nbitpersym*nsym1);
%?modulating?data
mod_data?=?modulate(Mt_data);
%?serial?to?parallel?conversion
par_data?=?reshape(mod_datanbitpersymnsym).‘;
%?pilot?insertion
pilot_ins_data=[zeros(nsym6)?par_data(:[1:nbitpersym/2])?zeros(nsym1)?par_data(:[nbitpersym/2+1:nbitpersym])?zeros(nsym5)]?;
%?fourier?transform?time?doamain?data?and?normalizing?the?data
IFFT_data?=?(64/sqrt(52))*ifft(fftshift(pilot_ins_data.‘)).‘;
%?addition?cyclic?prefix
cylic_add_data?=?[IFFT_data(:[49:64])?IFFT_data].‘;
%?parallel?to?serial?coversion
ser_data?=?reshape(cylic_add_data80*nsym1);
%?passing?thru?channel
h=rayleighchan(1/1000010);
changain1=filter(hones(nsym*801));
a=max(max(abs(changain1)));
changain1=changain1./a;
chan_data?=?ch
評論
共有 條評論