matlab fftshift_matlab下实现FFT信号分析

29b63bfc6b4c33d2ac0ddb1df88fb8ae.png

奈奎斯特定理

对于信号分析,我们需要掌握一个定理:

在进行模拟/数字信号的转换过程中,当采样频率 fs.max大于信号中最高频率 fmax 的 2 倍时(fs.max > 2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍;采样定理又称奈奎斯特定理或香农采样定理。

利用matlab做频谱分析前我们需要了解分析过程中的一些基础知识,

matlab中的 fft 函数用法、fftshift 函数的用法

函数 1  fft :

作用:快速傅里叶变换。

语法:

Y = fft(X)

Y = fft(X,n)

Y = fft(X,n,dim)

语法:

Y = fft(X) 用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。

  • 如果 X 是向量,则 fft(X) 返回该向量的傅里叶变换;

  • 如果 X 是矩阵,则 fft(X) 将 X 的各列视为向量,并返回每列的傅里叶变换;

  • 如果 X 是一个多维数组,则 fft(X) 将沿大小不等于 1 的第一个数组维度的值视为向量,并返回每个向量的傅里叶变换;

Y = fft(X,n) 返回 n 点 DFT。如果未指定任何值,则 Y 的大小与 X 相同。

  • 如果 X 是向量且 X 的长度小于 n,则为 X 补上尾零以达到长度 n;

  • 如果 X 是向量且 X 的长度大于 n,则对 X 进行截断以达到长度 n;

  • 如果 X 是矩阵,则每列的处理与在向量情况下相同;

  • 如果 X 为多维数组,则大小不等于 1 的第一个数组维度的处理与在向量情况下相同;

函数 2 fftshift:

作用:将零频分量移到频谱中心。

语法:

Y = fftshift(X)

Y = fftshift(X,dim)

说明:

Y = fftshift(X) 通过将零频分量移动到数组中心,重新排列傅里叶变换 X。

  • 如果 X 是向量,则 fftshift 会将 X 的左右两半部分进行交换;

  • 如果 X 是矩阵,则 fftshift 会将 X 的第一象限与第三象限交换,将第二象限与第四象限交换;

  • 如果 X 是多维数组,则 fftshift 会沿每个维度交换 X 的半空间;

应用举例

现有输入信号 2Hz,ADC 采样频率为 500Hz ,满足采样定理的要求,目标:对信号进行频谱分析,找出信号在频域上的噪声分量,并设计对应滤波器滤除噪声,提高信噪比。

新建脚本文件FFT.m,脚本内容如下图 1:

程序第 3 行定义了信号的采样频率为 500Hz,第 4 行定义了采样周期,第 6 行导入了脚本路径下的txt数据,第 7 行计算导入数据的长度,第 8 行是计算数据的频率范围,,第 9~11 行绘出数据的时域信号波形图;

程序第 14 ~20 行计算绘制 FFT频谱图。

c45304402e6f67668261aec4d0120fea.png

图 1

程序运行结果如下图 2 所示,我们可以根据图 2 所展示的频谱信息设计相应的滤波电路或软件算法去除噪声。另外从图 2 中可以看出,FFT 变换得到的频谱是左右对称的,因此,我们只需要其中一边就能获得信号的所有信息。链接中演示了怎样将双边频谱图转换为单边频谱图,可参考学习 https://zhuanlan.zhihu.com/p/42893470

a9cb5e9fc7c635bdac5fbe6c547807a4.png

图 2

3539d99d9b390f0379fa777fe643258b.gif d8aa18252edf9272defa7ddf87451aa2.gif

●贴片晶振的PCB layout需要注意哪些?

●CPU中的程序是怎么运行起来的?

●MOSFET栅极前 100 Ω 电阻有什么用?

●模拟电路设计的这12个细节,往往起着重要作用

●STM32:从菜鸟到牛人就是如此简单!

●什么是PID?讲个故事,秒懂!

●485通信自动收发电路 历史上最详细的解释

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值