📄 ofdm.asv
字号:
clear;
para=52;
fftlen=64;
noc=53;
nd=6;
knd=1;
ml=2;
sr=250000;
br=sr.*ml;
gilen=32;
ebn0=3;
tstp=1/sr/(fftlen+gilen);
itau=[0];
dlvl1=[0];
no=[6];
th1=[0.0];
itnd1=[1000];
now1=1;
fd=150;
flat=0;
itnd0=nd*(fftlen*gilen)*20;
nloop=1000;
noe=0;
nod=0;
eop=0;
nop=0;
for iii=1:nloop
seridata=rand(1,para*nd*ml)>0.5;
paradata=reshape(seridata,para,nd*ml);
[ich,qch]=qpskmod(paradata,para,nd,ml);
kmod=1/sqrt(2);
ich=ich.*kmod;
qch=qch.*kmod;
kndata=zeros(1,fftlen);
kandata0=2.*(rand(1,52)<0.5)-1;
kndata(2:27)=kndata0(1:26);
kndata(39:64)=kndata0(27:52);
ceich=kndata;
ceqch=zeros(1,64);
[ich1,qch1]=crmapping(ich,qch,fftlen,nd);
ich2=[ceich.'ich1];
qch2=[ceqch.'qch1];
x=ich2+qch2.*i;
y=ifft(x);
ich3=real(y);
qch3=imag(y);
fftlen2=fftlen+gilen;
[ich4,qch4]=giins(ich3,qch3,fftlen,gilen,nd+1);
spow=sum(ich4.^2+qch4.^2)/nd./para;
atten=0.5*spow*sr/br*10.^(-ebn0/10);
atten=sqrt(atten);
[ich5,qch5]=comb(ich4,qch4,atten);
[ich6,qch6]=girem(ich5,qch5,fftlen2,gilen,nd+1);
rx=ich6+qch6.*i;
ry=fft(rx);
ich7=real(ry);
qch7=imag(ry);
ich8=ich7(:,knd+1:nd+1);
qch8=qch7(:,knd+1:nd+1);
[ich9,qch9]=crdemapping(ich8,qch8,fftlen,nd);
ich10=ich9./kmod;
qch10=qch9./kmod;
[demodata]=qpskmod(ich10,qch10,para,nd,ml);
demodata1=reshape(demodara,1,para*nd*ml);
noe2=sum(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -