做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所反映的真正的频谱幅值

参考资料

[1]傅里叶变换 - MATLAB & Simulink - MathWorks 中国
[2]快速傅里叶变换- MATLAB fft - MathWorks 中国

来源:CSDN king阿金

原创RF测试笔记:

频谱分析系列:如何选择显示检波器频谱分析系列:为什么需要预选器?频谱分析系列:浅谈分辨率带宽RBW

频谱分析系列:如何理解FFT中的频谱泄露效应?

频谱分析系列:如何理解FFT中时间窗与RBW的关系

频谱分析系列:为什么降低VBW不会降低频谱仪底噪?数字调制系列:如何理解IQ ?数字调制系列:IQ基本理论

噪声系数系列:噪声来源、定义及影响

噪声系数系列:天线噪声温度测试方法

噪声系数系列:噪声系数测试之增益法

噪声系数系列:浅析AGC电路噪声系数的测试

噪声系数系列:浅析多通道接收单元噪声系数的测试

噪声系数系列:镜频抑制滤波器对射频接收前端输出噪声的影响

选择示波器时的“5倍法则”投稿&专栏合作  请加小编微信 | 微信号:18675536035

matlab fftshift_MATLAB信号频谱分析FFT详解相关推荐

  1. hht时频谱 matlab 乱序_MATLAB信号频谱分析FFT详解

    做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析.我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿真,开 ...

  2. matlab fft谱分析实验报告,matlab信号频谱分析FFT详解

    前言 做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析.我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿 ...

  3. matlab信号频谱分析FFT详解

    前言 做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析.我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿 ...

  4. ad频谱分析 matlab_MATLAB信号频谱分析FFT详解

    做OFDM通信少不了频谱分析,基带信号DA后的频谱,以及基带数字上变频后的DA信号都要频谱分析.我觉得其实做任何工程都是这样,先规定实施方案,然后仿真成功,再实际开发,不过也可以一边开发,一边仿真,开 ...

  5. matlab 信号的频谱分析,实验五基于Matlab的信号频谱分析(复杂)

    实验五基于Matlab的信号频谱分析(复杂) 本次实验注意:<实验五MALTAB基础知识(简单)> <实验五 基于Matlab的信号频谱分析(复杂)> 选作一个即可 实验五 基 ...

  6. matlab复杂周期信号类建立,实验五 基于Matlab的信号频谱分析(复杂)

    本次实验注意:<实验五MALTAB基础知识(简单)> <实验五 基于Matlab的信号频谱分析(复杂)> 选作一个即可 实验五 基于Matlab的信号频谱分析 (一) 实验目的 ...

  7. 车牌识别与计算机编程,基于MATLAB的车牌识别程序详解.ppt

    基于MATLAB的车牌识别程序详解 自定义一个字符函数,用来从车牌区域中提取出7个字符,其中利用切割函数来进行切割. 程序:function [word,result]=getword(d) word ...

  8. linux signal用法,Linux 信号 signal 用法详解及注意事项

    Linux 信号 signal 用法详解及注意事项 1) SIGHUP 本信号在用户终端连接 (正常或非正常) 结束时发出, 通常是在终端的控 制进程结束时, 通知同一 session 内的各个作业, ...

  9. matlab 0106,MATLAB控制系统仿真与实例详解.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab MATLAB控制系统仿真与实例详解.pdf6页 本 ...

最新文章

  1. 基于bmob的校园资料分享互助平台
  2. iOS - 毛玻璃动画效果
  3. CMD命令操作MySql数据库详解
  4. mysql中的枚举enum_mysql中枚举类型之enum详解
  5. jsp页面中使用超链接标签a中的属性href和onclick同时触发怎么执行
  6. shiro简单入门介绍
  7. oracle按特定字符截取字符串_妙用字符串的替换和截取让Shell脚本精准得到你心中的那个“她”...
  8. osg图元绑定方式总结
  9. 还没吃透内存缓存LruCache实现原理的看这篇文章,面试必会
  10. golang的reflection(转)(一)
  11. java error:编码gbk的不可映射字符
  12. 公司/组织苹果开发者账号申请流程
  13. java 运行不出来的原因_小议Java程序不能运行的几种原因
  14. 2019程序员笔记本推荐
  15. 大数据初创企业Concurrent获千万美元融资
  16. 基于php的高校体育场地网上预约使用系统
  17. 【Nginx网站服务】
  18. Android列表ListView控件的使用
  19. 防止电脑辐射的有效方法
  20. 华为电脑分类四个系列_华为笔记本系列推荐榜单

热门文章

  1. 学习笔记--2014年7月7日
  2. Android 的一点总结
  3. 企业信息化建设过程中,交通物流行业如何凭借数据成功转型?
  4. 程序员谈网络改变我们的生活
  5. 我们渴望和平freeeim
  6. 5分钟 0元搭建个人独立博客网站(二)
  7. 日常撕逼:React和Vue到底谁更牛?
  8. HTML5 API详解(18):IndexedDB 本地存储
  9. php集成paypal接口,PHP中集成PayPal标准支付,php集成paypal标准_PHP教程
  10. STM32----重温ADC测量电压值