FFT与DFT计算时间的比较及圆周卷积代替线性卷积的有效

《FFT与DFT计算时间的比较及圆周卷积代替线性卷积的有效》由会员分享,可在线阅读,更多相关《FFT与DFT计算时间的比较及圆周卷积代替线性卷积的有效(23页珍藏版)》请在文档大全上搜索。
1、实验二实验二 FFT与与DFT计算时间的比计算时间的比较及圆周卷积代替线性卷积的有较及圆周卷积代替线性卷积的有效性实验效性实验一 实验目的二 实验内容及要求 三 预做实验一一 实验目的实验目的v1:掌握FFT基2时间(或基2频率)抽选法,理解其提高减少乘法运算次数提高运算速度的原理。v2:掌握FFT圆周卷积实现线性卷积的原理二二 实验内容及要求实验内容及要求v1.对N=2048或4096点的离散时间信号x(n),试用Matlab语言编程分别以DFT和FFT计算N个频率样值X(k), 比较两者所用时间的大小。v 2.对N/2点长的x(n)和N/2点长的h(n),试用Matlab语言编程实现以圆周
2、卷积代替线性卷积,并比较圆周卷积法和直接计算线性卷积两者的运算速度。三预做实验v1.FFT与与DFT计算时间的比较计算时间的比较 (1)FFT提高运算速度的原理 (2)实验数据与结论 v2.圆周卷积代替线性卷积的有效性实验圆周卷积代替线性卷积的有效性实验 (1)圆周卷积代替线性卷积的原理 (2)实验数据和结论 FFT提高运算速度的原理v FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为N/4点的DFT,等等。最小变换的点数即所谓的“基数”。因此,基数为2的FFT算法的最小变换(或称蝶型)是2点的DFT。一般地,对N点FFT,
3、对应于N个输入样值,有N个频域样值与之对应。v以基2时间按抽选法为例,分解递推公式为:1212( )( )( )0,12()( )( )2kNkNX kX kW XkNkNX kX kW XkX1(K)和X2(K)分别对应时间序列 x(n)的的偶、奇序列 N/2点长的DFT,以此方法分解下去,得到两点长N/2为组的离散时间分组结果。在一次由两点DFT复合产生4、8、16到N点的最后结果。运算量由N*N次降为 次乘法。 2log2NN实验数据与结论v令N为不同长度的序列时,DFT和FFT的耗时比较:vN=512点时: dft_cost_time =0.3750s fft_cost_time =0
4、.0150svN=1024点时: dft_cost_time =2.9220s fft_cost_time =0.1250svN=2048点时: dft_cost_time =23.5000s; fft_cost_time =0.4690svN=4096点时: dft_cost_time =305.9530s fft_cost_time =103.9220sv有上面数据表明,同样长度的信号,DFT耗时要比FFT耗时要少,表明FFT算法的有效性。圆周卷积代替线性卷积的原理v线性卷积的长度及运算量 ;v用FFT算的步骤;v比较两者乘法运算量 ; 线性卷积的长度及运算量v 设一离散线性移不变系统的冲
5、激响应为,其输入信号为.其输出为.并且的长度为L点,的长度为M点,则: 10( )( )( )( ) ()Lmy nx nh nx m h nm10( )( )( )( ) ()Lmy nx nh nx m h nm10( )( )( )( ) ()Lmy nx nh nx m h nm1hnhMn 则y(n)的长度为L+M-1。 线性卷积的乘法运算量为LM次,又由于FIR滤波 器 h(n)的特性是对称序列即 因而,乘法运算次数减半,即为LM/2。 用FFT算的步骤 1.( ), ( )1 ;x n h nNML将补零点,至少为点2 .()()HkF F Thn求;3.( )( )X kFFT