傅里叶变换(DFT)从原理到代码

本文详细介绍了离散傅里叶变换(DFT)的原理,包括公式解释和矩阵表示,并通过Python的numpy.fft库展示了DFT在实践中的应用,包括频率分布的计算和幅度、相位的获取。
摘要由CSDN通过智能技术生成

离散傅里叶变换(DFT)

一、傅里叶变换公式

  1. 连续傅里叶变换
    连续傅里叶变换是使用一对正交基 c o s ω t cosωt cosωt s i n ω t sinωt sinωt对时域序列进行“探测”(求时域序列与正交基的相关性),筛选出与原时域序列相关的正交基,即为原时域序列的频域序列。连续傅里叶变换公式如下:
    F ( ω ) = ∫ − ∞ + ∞ f ( t ) e − i ω t d t F(\omega ) = \int_{ - \infty }^{ + \infty } {f(t){e^{ - i\omega t}}} dt F(ω)=+f(t)eiωtdt
  2. 离散傅里叶变换
    离散傅里叶变换(DFT)方法,是以频率 f s f_s fs对输入信号对输入信号进行等间隔采样n次后,对这n个离散点进行DFT处理得到n个复数,每个复数表示以 f s / n f_s/n fs/n为间隔的频率成分的幅度和相位信息,即获得输入信号的频谱信息。
    对于一个长度为N的时域离散序列 x ( n ) x(n) x(n),DFT变换结果为 X ( k ) X(k) X(k),则:
    X ( k ) = D F T { x ( n ) } = 1 N ∑ n = 0 N − 1 x ( n ) × e − j 2 π N n k , k = 0 , 1 , 2 , . . . , N − 1 X(k)=DFT\{ x(n)\} = \frac{1}{N}\sum\limits_{n = 0}^{N - 1} {x(n) \times {e^{ - j\frac{ {2\pi }}{N}nk}}} ,k = 0,1,2,...,N - 1 X(k)=DFT{ x(n)}=N1n=0N1x(n)×ejN2πnk,k=0,1,2,...,N1
    转换为矩阵形式:
    D F T { x ( n ) } = 1 N [ 1 1 1 ⋯ 1 1 e − j 2 π N × 1 e − j 2 π N × 2 ⋯ e − j 2 π N × ( N − 1 ) 1 e − j 2 π N × 2 × 1 e − j 2 π N × 2 × 2 ⋯ e − j 2 π N × 2 × ( N − 1 ) ⋮ ⋮ ⋮ ⋱ ⋮ 1 e − j 2 π N × ( N − 1 ) × 1 e − j 2 π N × ( N − 1 ) × 2 ⋯ e − j 2 π N × ( N − 1 ) 2 ] [ x ( 0 ) x ( 1 )
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值