如何画OFDM频谱图


前言

常见于各种教材、论文的OFDM频谱图一般长这样(13个子载波),即多个sinc函数的叠加:
在这里插入图片描述
而网上查了些博客,基本是直接画sinc函数来绘制OFDM频谱,没找到用fft对时域信号做处理来实现的,所以总结一下。

一、为什么是sinc函数

因为实际OFDM信号不可能是无限长的,而有限长的OFDM信号实际可以看做与矩形窗函数的乘积,矩形窗函数可以定义如下:
在这里插入图片描述

对其进行傅里叶变换:
在这里插入图片描述
由于时域相乘等效于频域卷积,因此OFDM信号反映到频谱,就成为各个不同位置的冲击响应与SINC函数的卷积。


二、matlab绘制时域图形

Fs=1000;
N=1024; %总的子载波数
T=N/Fs; %信号绘制为一个周期的长度
x=0:1/Fs:T-1/Fs;
Numscr=4; %绘制的子载波数量
% s_data=1;
s_data=(1+1i)/sqrt(2); %初始相位
ini_phase=repmat(s_data,1,T*Fs);
for k=0:Numscr
    for n=0:T*Fs-1
        y(k+1,n+1)=ini_phase(n+1)*exp(1i*2*pi*k*n/N);
    end
end

在这里插入图片描述
这里比较简单,照OFDM数学符号写一下代码就行:
在这里插入图片描述

三、matlab绘制频域图形

1.直接对时域波形做fft

代码如下:

f=(0:T*Fs-1)/T-Fs/2;
for k=0:Numscr
    y_fft(k+1,:)=abs(fftshift(fft(y1(k+1,:))))/N;
end
figure(2)
plot(f,y_fft(1,:),f,y_fft(2,:),f,y_fft(3,:),f,y_fft(4,:),f,y_fft(5,:));
grid on;
xlim([-10,10]);
xlabel('频率/Hz');
ylabel('幅度');

结果:
在这里插入图片描述
与理想的sinc波形相去甚远,这样肯定不行。若在时域进行补零,如下。

2.时域补零

补1024*3个0:

a=3;
y1=[y,zeros(5,a*1024)];
f=(0:(a+1)*T*Fs-1)/T/(a+1)-Fs/2;
for k=0:Numscr
    y_fft(k+1,:)=abs(fftshift(fft(y1(k+1,:))))/N;
end
figure(2)
plot(f,y_fft(1,:),f,y_fft(2,:),f,y_fft(3,:),f,y_fft(4,:),f,y_fft(5,:));
grid on;
xlim([-10,10]);
xlabel('频率/Hz');
ylabel('幅度');

结果已比较接近,但还是不圆滑:
在这里插入图片描述
补1024*20个0,结果已比较理想:
在这里插入图片描述
原因分析:时域尾部补零等效于频域插值,让频谱图形变得圆滑。

3.初始相位的影响

虽然图形以及比较理想,但相比文章开头的图,还是有不一样之处:我们绘制的频谱图幅值都是大于等于0的。当然必然是大于等于0的,因为我们是取模进行绘制,也是正确的,但是怎么获得这种图:
在这里插入图片描述
要绘制这样的图形,取模肯定是不行的,我们可以尝试取实部,在上面那个初始相位为π/4的情况下,即:

s_data=(1+1i)/sqrt(2); %初始相位

实部图形:
在这里插入图片描述

若把初始相位设置为0,即:

s_data=1; %初始相位

则时域图形:
在这里插入图片描述

频谱图:
在这里插入图片描述
获得了比较接近的频谱图。

总结

1.时域尾部补零才能实现近似的窗函数的作用,也可以理解为时域补零等效为频域插值,插值的点数由补零个数决定,如原来为1024个点,补3072个0,那频谱的点也会扩充为4倍,实现插值。
2.OFDM的初始相位会对频谱的相位造成影响,但不会对频谱的幅值造成影响,这也比较容易理解,结合傅里叶变换的公式就可以。

  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值