做ofdm通信少不了频谱分析,基带信号da后的频谱,以及基带数字上变频后的da信号都要频谱分析。我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿真,开发结果要与仿真预期结果一致。
所以分析与仿真工具matlab就很重要了,既可以仿真,又可以通过示波器或其他方法把实际信号采下来分析。
matlab使用fft函数分析信号频谱
一般我使用的fft分析频谱流程如下:
其中有3个注意的点:
1.fft的结果看的是频谱,所以怎么把横坐标的值从原来的fft点数0:n-1转换为频率值呢?
首先要引出频谱分辨率的概念,即分辨两个不同频率信号的最小间隔,fft结果相邻点间的间隔。因为n点fft对应采样率为fs的序列,其频率分辨率为,其中ts为采样周期,t为整个序列的时间长度。有关频率分辨率的就不多说了。所以我们横坐标转换为:f = (0:length(y)-1)*fs/length(y);
2.直接fft的结果里怎么又多余的信号频率(镜像频率)图2?
dft具有对称性,因为其是周期序列dfs在一个周期内的点,时域序列是有限长实序列,dft的结果的实部周期偶对称,虚部周期奇对称,也就是模值周期偶对称,相位周期奇对称。其实从奈奎斯特定律也可以看出,fs>=2f,fs的采样率最多也就显示fs/2的真实频率(感性理解哈哈)。
所以程序处理方式就是周期延拓后取-n/2:n/2-1.用到函数fftshift(),结果如图3.如注释所述:
%该变换还会生成尖峰的镜像副本,该副本对应于信号的负频率。
%为了更好地以可视化方式呈现周期性,可以使用 fftshift 函数对变换执行以零为中心的循环平移。
其实这和设计数字滤波器iir与fir也一样,采样率为fs的信号,设计的滤波器的通带阻代也限制在0-fs/2内。
3.程序中的信号幅度值都是1,500点的fft画出来的幅度值怎么变成了250,应该是1吧?
是的,应该是1。所以怎么变换为1呢,注意到fft的结果是偶对称的,且其反应的真实频谱是0-fs/2。所以需要的操作是直接取0-n/2的fft结果,乘以2,然后除以n。即2*abs(y(1:n/2+1))/n,在上面的程序下接着写:
注意到要除以n,也就是fft的长度,为什么除以n,这个有很多说法,我自己理性理解的也不透彻,所以这里就不解释了自行百度(我只能结合本例子感性理解哈哈)。
结果如图4,可见横坐标频率是0-25,纵坐标信号的幅度为1.
然而,有不少人(包括我)平时分析信号都是直接fft画频谱:图2,且看幅值都是看相对的大小,或者有没有频率分量,就很少做图3与图4的变换。但是我不知道其中的缘由,今天终于明白了。
图4 fft所反映的真正的频谱幅值
《使命召唤手游》正式上线,高通骁龙助力还原真实战场
长虹2919pk 无亮度信号
OPPOO-Free评测 颜值科技实力三在线
解读51单片机LED系统电路设计方案
长线缆为什么会产生静电危害,如何进行规避
MATLAB信号频谱分析FFT深度解析
新时代我国电子信息产业高质量发展的思路
天马荣获迈瑞颁发的2022年度“卓越质量奖”
FDM 3D打印技术的原理及其特点介绍
Google联合哈佛大学用AI预测地震
无线降噪蓝牙耳机哪个好 降噪耳机排行榜10强
超市信息发布系统解决方案,让信息传达到每一个角落
华为荣耀V9和一加3T如何选择?时尚公主遇上性能王子你喜欢谁?
古瑞瓦特细数光伏逆变器的八大智能功能
在古代并没有什么采集器、指纹数据库,人们是如何识别指纹的呢?
六步方波控制波形赏析讨论
照明LED的封装有哪些方法?应用在哪些领域?
英伟达的自动驾驶蓝图:四大进展引关注
如何利用示波器模板(Mask)功能触发所有未知的异常波形
美管制AI科技出口 苹果遭受冲击