linux下dft计算标准函数,FFT/DFT计算方法

本文介绍了DFT(离散傅里叶变换)和FFT(快速傅里叶变换)的基本概念,强调在某些情况下DFT可能比FFT更高效。通过公式详细解释了DFT的计算过程,并探讨了如何根据应用需求选择合适的计算方法,特别是在实时采样系统和特定频率关注点的场景下,DFT的迭代计算可以降低运算量。
摘要由CSDN通过智能技术生成

FFT

是一种如雷贯耳的快速算法,应用范围及其广泛,就不多说了。不过 DFT 很多人并不是很清楚,只知道 DFT 比 FFT

效率低,速度慢。实际上,在很多应用场合下,DFT 反而会比 FFT 效率高很多。

首先,回顾一下复数的特性:

V = R + jI = M*(R/M + j I/M) = M*(cos(A) + j

sin(A)) = M*exp(j

A) (1)

where

R is the real and I is the image, M = sqrt(R*R + I*I) and

A=arctan2(R, I) is the angle.

DFT/FFT 首要的任务是确定系统的基频(Fundamental Frequency),

这样就能确定系统一个周期的采样点数。基频在同一个系统中可根据需要而采用不同的值。现在假设系统的采样时间为

Ts, 周期采样点数 N (对于

FFT, 一般要求 N = 2*M = 2^L, DFT 则无此要求),则第

H 次谐波的 DFT 的计算公式可以从基本的

Fourier 积分公式中得出:

V(k) = sum (x(k - n) * exp( j 2* n *PI

* H /N)

*2/N) (2)

这里, n = 0 to N-1,

sum 是 N 项之和, 也就是一个周波(cycle)

的数据乘积之和。

累加一般可以化成迭代形式,公式 (2) 的迭代形式:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值