前言

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

所以分析与仿真工具MATLAB就很重要了,既可以仿真,又可以通过示波器或其他方法把实际信号采下来分析。

matlab使用FFT函数分析信号频谱

一般我使用的FFT分析频谱流程如下:

%% 两个频率分别为15HZ 和 20HZ 的正弦信号[1]

Fs=50;%采样率

f1=15;

f2=20;

t = 0:1/Fs:10-1/Fs; %500个点

x = sin(2*pi*f1*t) + sin(2*pi*f2*t);

figure;

plot(t,x);

y = fft(x);

%将横坐标转化,显示为频率f= n*(fs/N)

f = (0:length(y)-1)*Fs/length(y);

figure;

plot(f,abs(y));

title('Magnitude');

%该变换还会生成尖峰的镜像副本,该副本对应于信号的负频率。

%为了更好地以可视化方式呈现周期性,可以使用 fftshift 函数对变换执行以零为中心的循环平移。

n = length(x);

fshift = (-n/2:n/2-1)*(Fs/n);

yshift = fftshift(y);

figure;

plot(fshift,abs(yshift));

图1时域图像                                                   图2直接FFT的结果                                       图3 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,这个有很多说法,我自己理性理解的也不透彻,所以这里就不解释了自行百度(我只能结合本例子感性理解哈哈)。

%FFT的结果所要展现的真实的频谱幅值[2]

realy=2*abs(y(1:n/2+1))/n;

realf=(0:n/2)*(Fs/n);

figure;

plot(realf,realy);

结果如图4,可见横坐标频率是0-25,纵坐标信号的幅度为1.

然而,有不少人(包括我)平时分析信号都是直接FFT画频谱:图2,且看幅值都是看相对的大小,或者有没有频率分量,就很少做图3与图4的变换。但是我不知道其中的缘由,今天终于明白了。

图4 FFT所反映的真正的频谱幅值

参考资料

[1]傅里叶变换 - MATLAB & Simulink - MathWorks 中国

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

matlab fft谱分析实验报告,matlab信号频谱分析FFT详解相关推荐

  1. matlab音频信号处理实验报告,matlab音频信号处理实验报告.docx

    matlab音频信号处理实验报告 MATLAB音频信号处理实验 南昌航空大学信息工程学院 课程实验报告 实验名称:实验时间:2014年4月23日 指导教师: 班级: 学号: 姓名: 成绩: 南昌航空大 ...

  2. matlab操作入门实验报告,MATLAB基本操作实验报告.doc

    MATLAB基本操作实验报告MATLAB基本操作实验报告 南昌航空大学 数学与信息科学学院 实 验 报 告 课程名称: 实验名称: 实验类型: 验证性 综合性□ 设计性□ 实验室名称: 班级学号: 学 ...

  3. matlab矩阵处理实验报告,matlab实验报告一二三

    <matlab实验报告一二三>由会员分享,可在线阅读,更多相关<matlab实验报告一二三(37页珍藏版)>请在金锄头文库上搜索. 1.2015 秋秋 2013 级级MATLA ...

  4. matlab fft谱分析实验报告,基于matlab的fft频谱分析及应用实验报告.docx

    基于matlab的fft频谱分析及应用实验报告 实验三用FFT对信号进行频谱分析 一实验目的 1能够熟练掌握快速离散傅立叶变换的原理及应用FFT进行频谱分析的基本方法:2了解用FFT进行频谱分析可能出 ...

  5. matlab fft谱分析实验报告,数字信号处理实验报告-FFT算法的MATLAB实现.doc

    数字信号处理实验报告-FFT算法的MATLAB实现.doc 数字信号处理 实验报告实验二FFT算法的MATLAB实现一.实验目的通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其 ...

  6. 通信使用matlab三元码实验报告,Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验...

    Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验 Matlab 仿真 DSB-SC 信号与双极性不归零码通信原理实验报告二实验题目:Matlab 仿真 DSB-SC 信号与双极性不 ...

  7. MATLAB环境认识实验报告,matlab实验报告ljg

    matlab实验报告ljg 第 1 页 共 3 页电子信息工程学系实验报告课程名称: MATLAB 程序设计 实验项目名称: MATLAB 数值计算 实验时间:2011.4.26 班级:电信 081 ...

  8. matlab基础教程实验报告,Matlab基础实验报告.doc

    Matlab基础实验报告 南昌大学实验报告(信号与系统) 学生姓名: 肖江 学 号: 6100210030 专业班级: 电子103班 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 20 ...

  9. matlab操作入门实验报告,matlab操作实验报告

    实验一matlab基本操作 一.实验目的 熟悉matlab的安装与启动:熟悉matlab用户界面:熟悉matlab功能.建模元素:熟悉matlab优化建模过程. 二.实验设备与工具 1.计算机 2.m ...

最新文章

  1. DeepMind 的2017:有 AlphaGo,更有社会责任
  2. keras dense sigmoid_tf.keras一个存在自定义层时加载模型时的小坑
  3. 高效代码审查:来自前质疑者的9个建议
  4. javascript学习-创建json对象数据,遍历
  5. jvm内存参数配置_idea中设置JVM参数,简单理解JVM常见参数,JVM调优简单入门
  6. 使用Notepad++开发C#,一个复杂点的csscript脚本
  7. oracle pl/sql 包
  8. 高效的数据压缩编码方式 Protobuf
  9. PHP程序构造,PHP程序员在做网站开发前对基本目录结构如何规划?
  10. 环形数组求最大子数组之和
  11. java剑指offer_剑指offer题目java实现
  12. 数据挖掘、数据分析、人工智能及机器学习课程资源
  13. win10系统下SQL2012下载及安装
  14. winserver2003手谈
  15. PHP调用京东联盟接口以及配置签名
  16. arm920t内核技术手册
  17. hikvision服务器重装系统,一篇看懂黑群晖重装系统
  18. Oracle 软件包及补丁包免费下载及简单说明
  19. appium元素定位之元素定位工具 什么是uiautomatorviewer,uiautomatorviewer是干嘛的
  20. 神州租车打造城市绿色出行 低碳理念与公益责任并行

热门文章

  1. Broker主从同步详解
  2. Apache Jmeter 安装教程(实测有效)
  3. 静态链接库,动态链接库【滴水逆向三期48笔记】
  4. 多媒体展厅互动展项中虚拟主持人的应用
  5. android 开发关于调用系统录音机或现有录音设备,系统录音为小米2。
  6. 滴滴高级专家工程师保姆级运维监控科普(二)
  7. quicker + Golden Dict 实现比欧陆词典更好用的免费查词翻译神器
  8. 使用 CSS 构建调色板:3 种方法
  9. u盘显示文件乱码怎么办?数据还有机会恢复吗
  10. 教你用Python爬取手机App数据!居然有人说爬不了APP