《C》C语言实现DFT算法

一、什么是DFT?

在计算机机上实现信号的频谱分析及其他方面的处理工作时,对型号的要求是:在时域和频域都应是离散的,且都应是有限长。由于e(±j2πNnk)e(\pm j \frac{2\pi}{N} nk)e(±jN2πnk)相对n和k都是以N为周期的,X(k)和x(n)为傅里叶变化对,即DFT。
DFT并不是一个新的傅里叶变换形式,它实际上来自于DFS,只不过仅在时域频域各取一个周期而已,由这一个周期作延拓。

二、DFT的作用

可以将信号从时域变换到频域,而且时域和频域都是离散的,通俗的说,可以求出一个信号由哪些正弦波叠加而成,求出的结果就是这些正弦波的幅度和相位。

三、DFT的实现

DFT公式:
X(k)=∑n=0N−1x(n)e(−j2πNkn)X(k)=\sum\limits^{N-1}_{n=0}x(n)e^{(-j \frac{2\pi}{N} kn)}X(k)=n=0N1x(n)e(jN2πkn)

X(k) — DFT变换后的结果

x(n) — 采样信号(实际中x(n)是实信号,即虚部为0)

1. 利用欧拉公式:ejθ=cosθ+jsinθe^{j \theta}=cos\theta+jsin\thetaejθ=cosθ
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值