👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
本项目的目的是了解时变频率选择信道上OFDM系统的设计方法。
学习成果完成项目后,学生应能够模拟频率选择信道,并根据相干时间和相干带宽量化时间和频率变化。
•设计和模拟一个通信系统,在模拟信道上传输,并根据信道特性和系统要求选择设计参数。
•分析和比较误码率结果与理论。
在这个项目中,我们将用克拉克的多普勒频谱研究时变瑞利衰落信道的通信。在第一个项目中,模拟了一个衰落信道,讨论了该信道的不同参数及其沿时间轴和频率轴变化的影响。在第二个项目中,将使用第一个项目中的信道,对其进行分析,提取其相干时间和延迟扩展等属性。基于这些特性和对带宽、功率、比特率和误码率的一定要求,设计一种在指定时变选频信道上无ISI和ICI传输的多载波通信系统。
目录:
图1:在频率选择信道上的无编码OFDM系统框图
📚2 运行结果
部分代码:
Ts=1/Fs;
Pt=0.1;%transmit power
N0=2.07E-14*2;%noise power uW/Hz
Ploss_db=101;%path loss
P_loss=10^(Ploss_db/10);
Rb=1.85E6;%bit rate
Tb=1/Rb;
v=15;%speed
c=3E8;%light speed
Eb_N0_dB=0:5:30;%SNR in dB
Eb_N0=10.^(Eb_N0_dB/10);
N=64;%number of OFDM symbol
fdTs=1e-3;
ch_dis=1;
Ns=N*floor(2E5/N);
vNcp=32:2:32;% cyclic prefix length
colours=['r-+'; 'k->'; 'y-*'; 'g-o'; 'r-<'];
for ncp_ind=1:length(vNcp)
Ncp=vNcp(ncp_ind);
% generate channels
h0=sqrt(.5)*flat_cos(Ns,fdTs,ch_dis);
h1=sqrt(.5)*flat_cos(Ns,fdTs,ch_dis);
for snr_ind=1:length(Eb_N0)
nerr=0;
nbits=0;
nSim=0;
clc
Eb_N0(snr_ind)
while nerr<1000 %|| nSim<Ns-N
nSim=nSim+1;
%input bits generation
b_in=bits(log2(M)*N);
%MPSK symbol
v_in=bin2mpsk(b_in,M);
% differential encoder
if nSim==1
s_km1=ones(N,1);
s_in=s_km1;
else
s_in=v_in.*s_km1;
s_km1=s_in;
end
% OFDM
z=sqrt(N/Ts)*ifft(s_in);
% add CP
x=[z(end-Ncp+1:end);z];
% received signal
ht=[h0(nSim),zeros(1,tau2-1),h1(nSim),zeros(1,N-tau2-1)];
ycp=conv(ht,x);
ly=length(ycp);
w=cxn(ly,1/Ts).';
Es=Eb_N0(snr_ind)*Ts/Tb/log2(M);
ycp=sqrt(Es)*ycp+w;
% remove CP
y_ofdm=ycp(Ncp+1:end);
% demodulation OFDM
y= sqrt(Ts/N)*fft(y_ofdm,N);
if nSim==1
y_km1=y;
else
v_hat=conj(y_km1).*y;
y_km1=y;
% MPSK demodulation
b_hat=mpsk2bin(v_hat,M);
% count errors
nerr=nerr+sum(abs(b_in-b_hat))/2;
nbits=log2(M)*N+nbits;
end
end
BER(snr_ind,ncp_ind)=nerr/nbits;
end
%%
semilogy(Eb_N0_dB,BER(:,ncp_ind),colours(ncp_ind,:));
hold on;
end
Pb_th=1./(4*Eb_N0);
hold on;
semilogy(Eb_N0_dB,Pb_th,'k-.');
%ylim([10E-5 1]);
%xlim([0 25]);
grid on
xlabel('SNR');
ylabel('BER');
%legend('Ncp=0','Ncp=2','Ncp=4','Ncp=6','Ncp=8','theory','AWGN');
legend(['Differential, Ncp=',num2str(Ncp)],'Coherent');
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]杨豪,孙立.基于MATLAB的MIMO-OFDM通信系统的仿真[J].计算机时代,2022(11):10-14+20.DOI:10.16644/j.cnki.cn33-1094/tp.2022.11.003.
[2]乔厚财,刘光祖,邹骏,孙琳琳.基于DFT的OFDM无线通信系统信道估计算法研究[J].电子设计工程,2023,31(01):152-156+162.DOI:10.14022/j.issn1674-6236.2023.01.032.