使用 scipy.fft 进行Fourier Transform:Python 信号处理

本文介绍了如何使用scipy.fft模块进行傅立叶变换,对比了scipy.fft与scipy.fftpack和numpy.fft的区别,并通过实际示例展示了如何从音频中去除噪音。傅立叶变换是信号处理中的重要工具,本文深入浅出地解释了其原理和应用场景。
摘要由CSDN通过智能技术生成

Fourier transform 是一个强大的概念,用于各种领域,从纯数学到音频工程甚至金融。

scipy.fft模块

傅立叶变换是许多应用中的重要工具,尤其是在科学计算和数据科学中。因此,SciPy 长期以来一直提供它的实现及其相关转换。最初,SciPy 提供了该scipy.fftpack模块,但后来他们更新了他们的实现并将其移到了scipy.fft模块中。

SciPy 充满了功能。有关该库的更一般介绍,请查看Scientific Python:使用 SciPy 进行优化。

安装 SciPy 和 Matplotlib

在开始之前,您需要安装 SciPy 和Matplotlib。您可以通过以下两种方式之一执行此操作:

  1. 使用 Anaconda 安装: 下载并安装Anaconda Individual Edition。它带有 SciPy 和 Matplotlib,因此一旦您按照安装程序中的步骤操作,您就大功告成了!
  2. 安装方式pip: 如果您已经pip安装,那么您可以使用以下命令安装库:
$ python -m pip install -U scipy matplotlib

您可以通过在终端中键入python并运行以下代码来验证安装是否有效:

>>>
>>> import scipy, matplotlib
>>> print(scipy.__file__)
/usr/local/lib/python3.6/dist-packages/scipy/__init__.py
>>> print(matplotlib.__file__)
/usr/local/lib/python3.6/dist-packages/matplotlib/__init__.py

此代码导入 SciPy 和 Matplotlib 并打印模块的位置。您的计算机可能会显示不同的路径,但只要它打印路径,安装就成功了。

SciPy 现已安装!现在是时候看看scipy.fft和之间的区别了scipy.fftpack。

scipy.fft 对比 scipy.fftpack

在查看 SciPy 文档时,您可能会遇到两个看起来非常相似的模块:

  1. scipy.fft
  2. scipy.fftpack

该scipy.fft模块较新,应该优先于scipy.fftpack. 您可以在SciPy 1.4.0的发行说明中阅读有关更改的更多信息,但这里有一个快速摘要:

  • scipy.fft 有一个改进的 API。
  • scipy.fft允许使用多个 worker,这可以在某些情况下提供速度提升。
  • scipy.fftpack被认为是遗留的,SciPy 建议scipy.fft改用。

除非您有充分的理由使用scipy.fftpack,否则您应该坚持使用scipy.fft.

scipy.fft 对比 numpy.fft

SciPy 的快速傅立叶变换 (FFT)实现包含更多功能,并且比 NumPy 的实现更可能修复错误。如果有选择,您应该使用 SciPy 实现。

NumPy 维护了 FFT 实现以实现向后兼容性,尽管作者认为像傅立叶变换这样的功能最好放在 SciPy 中。有关更多详细信息,请参阅SciPy 常见问题解答。

Fourier Transform

Fourier 分析是研究如何将 数学函数 分解为一系列更简单的 三角函数的领域 。傅立叶变换是该领域的一种工具,用于将函数分解为其分量频率。

好吧,这个定义非常密集。就本教程而言,傅立叶变换是一种工具,可让您获取信号并查看其中每个频率的功率。看看这句话中的重要术语:

  • 一个 信号 是随时间变化的信息。例如,音频、视频和电压轨迹都是信号的例子。
  • 甲 频率 是某物重复的速度。例如,时钟以一赫兹 (Hz) 的频率滴答,或每秒重复一次。
  • 在这种情况下, 功率 仅表示每个频率的强度。

下图是一些正弦波的频率和功率的直观演示:

所述的峰值的 高频 正弦波比那些更靠近在一起 低频 正弦波,因为它们重复得更频繁。所述 低功率 正弦波具有比其它两个正弦波较小的峰。

为了更具体地说明这一点,假设您对某人同时在钢琴上弹奏三个音符的录音使用了傅立叶变换。结果 频谱 将显示三个峰值,每个音符一个。如果该人弹奏一个音符比其他音符更轻柔,那么该音符的频率强度将低于其他两个。

这是钢琴示例在视觉上的样子:

钢琴上最高的音符比其他两个音符更安静,因此该音符的频

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值