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

📄 ofdm.m

📁 该程序能够对信号进行OFDM处理
💻 M
字号:
SNR=10;
fl=128;
Ns=6;
para=128;
sr=250000;
br=sr.*2;
gl=32;
signal=rand(1,para*Ns*2)>0.5;
for i=1:para
for j=1:Ns*2
SigPara(i,j)=signal(i*j);
end
end
for j=1:Ns
    ich(:,j)=SigPara(:,2*j-1);
    qch(:,j)=SigPara(:,2*j);
end
kmod=1./sqrt(2);
ich1=ich.*kmod;
qch1=qch.*kmod;
x=ich1+qch1.*sqrt(-1);
y=ifft(x);
ich2=real(y);
qch2=imag(y);
ich3=[ich2(fl-gl+1:fl,:);ich2];
qch3=[qch2(fl-gl+1:fl,:);qch2];
ich4=reshape(ich3,1,(fl+gl)*Ns);
qch4=reshape(qch3,1,(fl+gl)*Ns);
TrData=ich4+qch4.*sqrt(-1);
ReData=awgn(TrData,SNR,'measured');
idata=real(ReData);
qdata=imag(ReData);
idata1=reshape(idata,fl+gl,Ns);
qdata1=reshape(qdata,fl+gl,Ns);
idata2=idata1(gl+1:gl+fl,:);
qdata2=qdata1(gl+1:gl+fl,:);
Rex=idata2+qdata2*sqrt(-1);
ry=fft(Rex);
ReIChan=real(ry);
ReQChan=imag(ry);
ReIChan=ReIChan/kmod;
ReQChan=ReQChan/kmod;
for j=1:Ns
    RePara(:,2*j-1)=ReIChan(:,j); 
    RePara(:,2*j)=ReQChan(:,j);
end
ReSig=reshape(RePara,1,para*Ns*2);
ReSig=ReSig>0.5;
subplot(211),stem(ReSig(1:20)),grid;
subplot(212),stem(signal(1:20)),grid;
    

⌨️ 快捷键说明

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