做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

hht时频谱 matlab 乱序_MATLAB信号频谱分析FFT详解相关推荐

  1. hht时频谱 matlab 乱序_【原创】用希尔伯特黄变换(HHT)求时频谱和边际谱

    function HHT clear;clc;clf; N=2048; %fft默认计算的信号是从0开始的 t=linspace(1,2,N);deta=t(2)-t(1);fs=1/deta; x= ...

  2. hht时频谱 matlab 乱序_频谱、能量谱、功率谱的区别与联系

    #知识青年# #宅在家充电# 更多通信类文章,关注班长:主页→"文章" 关于功率谱.功率谱密度.频谱密度,多数同学认为是同一回事,图形看起来也很像......(见文末) 写这篇文章 ...

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

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

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

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

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

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

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

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

  7. Matlab中plot函数及legend函数详解

    Matlab中plot函数及legend函数详解 Matlab中plot函数及legend函数详解 Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1 ...

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

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

  9. 学习QT之信号槽机制详解

    学习QT之信号槽机制详解 一.Qt信号槽机制 概念:信号槽是Qt框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如:按钮检测到自己被点击了一下,它就会发出一个信号(sig ...

最新文章

  1. 分解例题及解析_【高考物理】考前梳理,高中物理经典常考例题(带解析),收藏起来考试不低于90+!...
  2. 公元2019年,你对AI的信任有几分?
  3. springmvc不断输出文本到网页
  4. 扔掉 Postman,一个工具全部搞定,真香!
  5. .NET Core ConfigureServices
  6. Perlin Noise algorithms(备忘)
  7. 如何在mysql查询结果集中得到记录行号_获取MySQL查询结果集中记录行号的方法...
  8. 信息学奥赛C++语言: 数字三角形1
  9. Qfarm /load命令
  10. Visual Studio 2012 Ultimate旗舰版序列号
  11. 秒懂Linux文件权限及chmod命令
  12. 7628刷breed_我的刷breed机方法 一步一图超详细
  13. 软考高级-系统架构师-论文
  14. 计算机视觉论文-2021-09-07
  15. 笔记本怎么自己装系统?u盘装系统windows7教程图解
  16. 信用社计算机专业大纲,广西农村信用社计算机专业试题
  17. 常用数据指标缩写以及说明(uv、pv、br、cr、dau……):
  18. LimeSDR srsLTE实验
  19. Verilog HDL 小练习(四)状态机
  20. WebGL实时视频(4) js代码交互

热门文章

  1. 使用libbpf-bootstrap构建BPF应用程序
  2. MySQL 安装+管理
  3. linux空间支持伪静态,[转载]Linux下nginx支持.htaccess文件实现伪静态的方法
  4. 阿里云 mysql 表锁死_解决阿里云数据库MySQL实例空间满自动锁问题
  5. servlet请求的执行过程_Springmvc执行流程
  6. Linux内存错误系统重启,linux服务器硬件报错,系统异常重启检测-MCElog
  7. php开发大型网站如何优化,PHP编写大型网站问题
  8. apache php 整合 linux,Linux下Apache、php3、MySQL的整合
  9. [独家放送]Unity2020规划预览,可视化编程又双叒叕来了!
  10. 循迹传感器(TCRT5000)的介绍以及使用(STM32)