⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ofdm_512.asv

📁 OFDM系统仿真
💻 ASV
字号:
clear;
hold on;
para=768;
fftlen=1024;
noc=1024;
nd=36;
ml=2;
sr=250000;
br=sr.*ml;
gilen=16;
ebn0=10;
tstp=1/sr/(fftlen+gilen);
itau=[0];
dlvl1=[0];
n0=[6];
th1=[0.0];
itnd1=[1000];
now1=1;
fd=150;
flat=0;
itnd0=nd*(fftlen+gilen)*20;
nloop=10;
k=0:10
for l=1:length(k)
    ebn0=k(l);
    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);%384*64
[ich,qch]=qpskmod(paradata,para,nd,ml);
kmod=1/sqrt(2);
ich=ich.*kmod;
qch=qch.*kmod;
[ich1,qch1]=crmapping(ich,qch,fftlen,nd);
x=ich1+qch1.*i;
y=ifft(x);
ich2=real(y);
qch2=imag(y);
fftlen2=fftlen+gilen;
[ich4,qch4]=giins(ich2,qch2,fftlen,gilen,nd);
spow=sum(ich4.^2+qch4.^2)/nd./para;
attn=0.5*spow*sr/br*10.^(-ebn0/10);
attn=sqrt(attn);
[ich5,qch5]=comb(ich4,qch4,attn);
[ich6,qch6]=girem(ich5,qch5,fftlen2,gilen,nd);
rx=ich6+i*qch6;
ry=fft(rx);
ich7=real(ry);
qch7=imag(ry);
[ich8,qch8]=crdemapping(ich7,qch7,fftlen,nd);
ich9=ich8./kmod;
qch9=qch8./kmod;
[demodata]=qpskdemod(ich9,qch9,para,nd,ml);
demodatal=reshape(demodata,1,para*nd*ml);
noe2=sum(abs(demodatal-seridata));
nod2=length(seridata);
if noe2~=0
        eop=eop+1;
    else
        eop=eop;
    end
    eop;
    nop=nop+1;
    noe=noe+noe2;
    nod=nod+nod2;
%     fprintf('%d\t%e\t%d\n',iii,noe2/nod2,eop);
end
per(l)=eop/nop;
ber(l)=noe/nod;
end
semilogy(k,ber,'r');
grid on;
xlabel('Eb/N0 (dB)');
ylabel('BER');
% fprintf('%f\t%e\t%e\t%d\t%d\n',ebn0,ber,per,nloop,fd);
% fid=fopen('BERofdmda.dat','a');
% fprintf(fid,'%f\t%e\t%e\t%d\t%d\t\n',ebn0,ber,per,...
%     nloop,fid);
% fclose(fid);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -