fft python 举例_Python快速变换傅里叶(FFT)过程实例分析

这篇博客通过Python演示了快速傅里叶变换(FFT)的过程,包括信号采样、计算FFT、归一化处理以及频率域分析。使用numpy和scipy库进行操作,并通过matplotlib进行可视化,展示了不同频率分量的信号如何在频域中表示。
摘要由CSDN通过智能技术生成

这里做一下记录,关于FFT就不做介绍了,直接贴上代码,有详细注释的了:import numpy as npfrom scipy.fftpack import fft,ifftimport matplotlib.pyplot as pltimport seaborn#采样点选择1400个,因为设置的信号频率分量最高为600赫兹,根据采样定理知采样频率要大于信号频率2倍,所以这里设置采样频率为1400赫兹(即一秒内有1400个采样点,一样意思的)x=np.linspace(0,1,1400)      #设置需要采样的信号,频率分量有180,390和600y=7*np.sin(2*np.pi*180*x) + 2.8*np.sin(2*np.pi*390*x)+5.1*np.sin(2*np.pi*600*x)yy=fft(y)                     #快速傅里叶变换yreal = yy.real               # 获取实数部分yimag = yy.imag               # 获取虚数部分yf=abs(fft(y))                # 取绝对值yf1=abs(fft(y))/len(x)           #归一化处理yf2 = yf1[range(int(len(x)/2))]  #由于对称性,只取一半区间xf = np.arange(len(y))        # 频率xf1 = xfxf2 = xf[range(int(len(x)/2))]  #取一半区间plt.subplot(221)plt.plot(x[0:50],y[0:50])   plt.title('Original wave')plt.subplot(222)plt.plot(xf,yf,'r')plt.title('FFT of Mixed wave(two sides

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值