信号与系统问题: 能否比较说明DFT,DCT,FFT之间的关系和区别?
1个回答
展开全部
首先,在理解这3个变量之前,你要知道DTFT:
DTFT是离散时间傅里叶变换,用来表达连续的信号的频谱。
然后理解DFT:
DFT是离散傅里叶变换,针对的是离散的信号和频谱。DFT是DTFT变化而来,其实就是将连续时间t变成了nT. 为什么要这样做呢,因为计算机是在数字环境下工作的,它不可能看见或者处理现实中连续的信号,只能够进行离散计算,在真实性上尽可能地逼近连续信号。所以DFT是为了我们能够去用工具分析信号而创造出来的,通常我们直接用DTFT的机会很少。
然后再理解FFT:
记着FFT从本质上来说和DFT没有任何区别,它只是DFT的一种快速的实现方法而已,比如你要用工具来计算1024个点的DFT来分析一个信号的频谱,用原来的DFT算法比起FFT算法要慢很多,仅此而已。从软件和硬件的角度看,实现同样点数的FFT比DFT要快和省程序空间。DSP的书籍都会解释为什么FFT实现起来会快一些。
最后理解DCT:
首先,DCT是DFT的一种形式。所谓“余弦变换”,是在DTFT傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化(DFT)可导出余弦变换,因此称之为离散余弦变换(DCT)。其实DCT属于DFT的一个子集。DCT用于语音和图像处理比较多。
希望对你有帮助。
DTFT是离散时间傅里叶变换,用来表达连续的信号的频谱。
然后理解DFT:
DFT是离散傅里叶变换,针对的是离散的信号和频谱。DFT是DTFT变化而来,其实就是将连续时间t变成了nT. 为什么要这样做呢,因为计算机是在数字环境下工作的,它不可能看见或者处理现实中连续的信号,只能够进行离散计算,在真实性上尽可能地逼近连续信号。所以DFT是为了我们能够去用工具分析信号而创造出来的,通常我们直接用DTFT的机会很少。
然后再理解FFT:
记着FFT从本质上来说和DFT没有任何区别,它只是DFT的一种快速的实现方法而已,比如你要用工具来计算1024个点的DFT来分析一个信号的频谱,用原来的DFT算法比起FFT算法要慢很多,仅此而已。从软件和硬件的角度看,实现同样点数的FFT比DFT要快和省程序空间。DSP的书籍都会解释为什么FFT实现起来会快一些。
最后理解DCT:
首先,DCT是DFT的一种形式。所谓“余弦变换”,是在DTFT傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化(DFT)可导出余弦变换,因此称之为离散余弦变换(DCT)。其实DCT属于DFT的一个子集。DCT用于语音和图像处理比较多。
希望对你有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询