DSP

初识OFDM~

2019-07-13 16:00发布

OFDM的实现原理(模拟调制实现和IDFT实现) 1、模拟调制/解调: 2、IDFT实现(利用DSP等数字处理器实现,基带实现) 3、仿真结果
4、结果分析 1、用模拟调制或IDFT实现OFDM都可以,但是很明显IDFT算法成熟,DSP等数字信号处理器发展迅速,实现简便。 2、OFDM总的信号是有衰落的,但是每个子载波经历的是频率平坦衰落,只要加入简单的信道均衡就可以修正 3、在每一个OFDM符号前,开辟保护间隔,不加入任何东西(空白循环前缀),这时可以抗码间干扰(ISI),但是会带来子载波间的干扰,这时候在保护间隔插入循环前缀即可。 4、OFDM系统对频偏很敏感,频偏会造成子载波的正交性受到破坏。 5、利用IDFT实现OFDM,从IDFT出来的其实是真正OFDM波形的抽样值,只要用DAC恢复成模拟信号即可 小代码~ clear all
N_c = 8;%子载波个数,8个子载波
M = 4;%四进制映射
fs = 100;%采样率
ts = 1/fs;%采样间隔
f = 1:N_c;%每个子载波的载波频率:1HZ~8HZ
t = 0:ts:1-ts;
w = 2*pi*f.'*t;
msgO = fix(4*rand(1,N_c)); %原二进制数据经过串并变换
msgT = qammod(msgO,M);     %4QAM映射
ofdm1 = ifft(msgT,N_c);    %IDFT实现OFDM
ofdm2 = msgT*exp(j*w);     %加载波,模拟调制实现OFDM
for i = 1:N_c
    y2(i) = sum(ofdm2.*exp(-j*w(i,:)))/length(ofdm2)
    %模拟解调,等效于数字实现OFDM的FFT解调
end
figure;
subplot(211);
plot(t,abs(ofdm2));%1个OFDM的时域波形
hold on;
stem(0:1/8:1-1/8,abs(ofdm1)*N_c); %采样间隔为 t = 1/N_c
legend('模拟实现OFDM','IDFT实现')
subplot(212);
stem(abs(y2)) %频域幅度谱
hold on;
stem(abs(fft(ofdm1)),'+')
legend('模拟解调OFDM','FFT解调')