快速傅里叶变换python_SciPyTutorial-快速傅立叶逆变换ifft

16. Scipy Tutorial- 快速傅立叶逆变换ifft

逆向快速傅里叶变换(IFFT)的计算原理是将频域(注意频域是复数)数据进行取共轭复数(虚部取反),然后再进行FFT变换,这样便将频域信号转换到时域。因为FFT变换的结果是复数,所以从频域进行FFT变换过来的结果也是复数,而此时只需取复数的实部,便是原时域信号。

signal_samples函数实现产生一个信号,由两个正弦波叠加而成,两个正弦波一个频率为$1Hz$另一个正弦波的频率为$20Hz$,下面的程序通过处理掉高频的信号而留下$1Hz$信号的数据,实现低通滤波,然后使用ifft将频率数据转为时域数据,恢复时域的波形。程序和前一章区别不大,一个是signal_samples函数是用两个正弦波组成的,另外一处不同是滤波,语句代码是F_filtered = F * (abs(f) < 10),新增了ifft即逆向快速傅里叶变换产生新的时域信号数据f_t_filtered。

import numpy as np

import matplotlib.pyplot as plt

def signal_samples(t):

return np.sin(2 * np.pi * 1 * t) + np.sin(2 * np.pi * 20 *t)

B = 30.0

f_s = 2 * B

delta_f = 0.01

N = int(f_s / delta_f)

T = N / f_s

t = np.linspace(0, T, N)

f_t = signal_samples(t)

fig, axes = plt.subplots(1, 2,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值