快速傅里叶变换fft_FFT(快速傅里叶变换)示例

本文通过Python的numpy库演示了快速傅里叶变换(FFT)的过程,重点在于理解FFT结果的特点。示例展示了如何对一个包含不同频率正弦波的时域信号进行FFT变换,得到频域表示,并用matplotlib进行时域和频域信号的可视化。通过变换,可以观察到直流成分、不同频率正弦波的幅度和周期。
摘要由CSDN通过智能技术生成
d4d5ad8267faf170b116415944fb9dca.png

#FFT变换是针对一组数值进行运算的,这组数的长度N必须是2的整数次幂,例如64, 128, 256等等; 数值可以是实数也可以是复数,通常我们的时域信号都是实数,因此下面都以实数为例。我们可以把这一组实数想像成对某个连续信号按照一定取样周期进行取样而得来,如果对这组N个实数值进行FFT变换,将得到一个有N个复数的数组,我们称此复数数组为频域信号,此复数数组符合如下规律:#其结果数组有以下特点:

#下标为0和N/2的两个复数的虚数部分为0,

#下标为i和N-i的两个复数共轭,也就是其虚数部分数值相同、符号相反

#首先下标为0的实数表示了时域信号中的直流成分的多少

#下标为i的复数a+b*j表示时域信号中周期为N/i个取样值的正弦波和余弦波的成分的多少,

#其中a表示cos波形的成分,b表示sin波形的成分

import numpy as np

import matplotlib

import matplotlib.pyplot as plt

pi = np.pi

time_len = 2.0 #时长

N = 2000 #数据点数,须为偶数,FFT的要求

fs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值