良许Linux教程网 干货合集 matlab下实现FFT信号分析

matlab下实现FFT信号分析

奈奎斯特定理

在信号处理领域,存在一个至关重要的定理,即奈奎斯特定理。

奈奎斯特定理规定,在进行模拟信号到数字信号的转换时,若采样频率 ( f_s ) 最大值大于信号中最高频率 ( f_{\text{max}} ) 的两倍时(即 ( f_s > 2f_{\text{max}} ) ),则采样后的数字信号将完整地保留原始信号中的所有信息。在实际应用中,为了更好地保证信号的准确性和完整性,采样频率通常设置为信号最高频率的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频谱图。

image-20240314225342110
image-20240314225342110

图 1

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

image-20240314225339349
image-20240314225339349

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部