数字信号处理傅里叶计算

合集下载

数字信号处理 8快速傅里叶变换(FFT).

数字信号处理 8快速傅里叶变换(FFT).

形运算构成。由于一个N点DFT运算量为N2次乘法和N(N-1)
次加法;而一个蝶形运算包括1次乘法和2次加法,所以
一次 分解后 的运算量
乘法
N
2
2
N2
2个
N 2
点DFT 2
加法
N 2
N 2
2
1 2= N 2
2
N
N 2
个蝶形运算加 乘法 法12 N2N2
=N
乘法次数N2/2+N/2,
当k取奇数(k=2r+1,r=0,1,…,N/2-1)时
N / 21
X (2r 1)
n0
[x(n)
x(n
N 2
)]WNn ( 2 r 1)
N / 21
n0
[x(n)
x(n
N 2
)]WNn
W nr N /2
(4-129)

x1
n
xn
x n
N 2
x
2
n
xn
x n
N 2
W
n N
(4-130)
W kN / 2 N
(1)k
1, 1
k 偶数 k 奇数
将X(k)分解成偶数组与奇数组,当k取偶数
(k=2r,r=0,1,…,N/2-1)时
N / 21
X (2r)
n0
[x(n)
x(n
N 2
)]WN2rn
N / 21
n0
[x(n)
x(n
N 2
)]WN2r/n2
(4-128)
快速傅里叶变换(FFT)
W
2 N
x2(2 ) DFT
X(5 )X2(2),r=2

数字信号处理中的快速傅里叶变换算法

数字信号处理中的快速傅里叶变换算法

数字信号处理中的快速傅里叶变换算法傅里叶变换是一种将时域信号转化为频域信号的数学工具,广泛应用于诸如音频、图像、信号处理和通信系统等领域。

但是传统的傅里叶变换算法由于其计算复杂度巨大,在大规模数据处理中难以实现。

于是,快速傅里叶变换算法(Fast Fourier Transform,FFT)应运而生。

一、傅里叶变换简介傅里叶变换是指将一个函数(连续或离散)表示成一组不同振幅、不同相位的正弦和余弦函数的叠加形式。

傅里叶变换可以将信号从时域转换到频域,帮助我们理解信号的复杂性质并进行相关的处理。

傅里叶变换包含离散傅里叶变换和连续傅里叶变换两种形式。

其中,离散傅里叶变换最为常用,可以对离散信号进行频域分析。

二、快速傅里叶变换的基本思想传统的傅里叶变换算法的时间复杂度为O(N^2),其中N为需要变换点数。

当N较大时,计算复杂度极高,难以进行实时数据处理。

而快速傅里叶变换算法则将时间复杂度降到了O (NlogN)。

这种算法的基本思想是分治法和旋转因子。

首先将N个点的DFT分解成两个N/2个点的DFT,再将这两个子问题依次分解成更小的子问题,直到问题的规模缩小到1。

然后,将这些小问题的DFT按照一定顺序合并成最终的DFT结果。

这种分治思想可以大大缩短计算时间,加速傅里叶变换的计算。

快速傅里叶变换还用到了旋转因子,它们的作用是将N点DFT 转换为N/2个点DFT的频域结果中的旋转。

通过将这些旋转因子存储在一个表中,我们可以减少计算量。

因此,FFT算法在对离散信号进行频域分析时,计算速度比传统的傅里叶变换快得多。

三、快速傅里叶变换的应用FFT算法在各个领域有着广泛的应用,以下仅列出其中的几个领域:1.信号处理:FFT算法可以分析声音、图像等类型的信号。

比如,在语音信号中,FFT可以被用于确定语音频率和强度的变化。

2.医学图像处理:在医学图像处理领域,FFT算法可以用于分析不同器官的频率特征和强度变化。

3.地震学:FFT算法可以用于分析地震波震动信号的频率成分,以此确定地震的起源和强度。

傅里叶变换公式信号与信息处理

傅里叶变换公式信号与信息处理

傅里叶变换公式信号与信息处理傅里叶变换是一种基础的数学工具,广泛应用于信号与信息处理领域。

它可以将一个信号分解为一系列基础频率的正弦和余弦分量,从而揭示信号的频谱特性。

在实际应用中,傅里叶变换常用于信号分析、滤波、图像处理等领域。

傅里叶变换公式是傅里叶变换的核心表达式,它可以将时域信号转换为频域信号,从而提供了一种分析信号频谱特性的方法。

傅里叶变换公式可以表述为:F(ω) = ∫f(t)e^(-jωt)dt其中,F(ω)为频域信号的转换结果,f(t)为时域信号,ω为角频率,j为虚数单位。

傅里叶变换的公式可以通过积分来计算信号的频谱分量。

对于给定的频率ω,傅里叶变换公式将计算信号在该频率上的分量。

通过将不同频率的分量求和,可以重建信号的原始形态。

傅里叶变换公式的理论基础是傅里叶级数展开,即将周期信号分解为多个正弦和余弦函数的和。

傅里叶变换公式的应用非常广泛。

在信号分析中,傅里叶变换可以将时域信号转换为频谱图,帮助理解信号的频域特性。

在滤波中,傅里叶变换可以将信号转换到频域进行滤波操作,然后再转换回时域。

在图像处理中,傅里叶变换可以分析图像的频域特性,例如图像的频域滤波、频域增强等操作。

在通信系统中,傅里叶变换可以用于调制和解调信号,以及信道估计和均衡等信号处理操作。

在实际应用中,傅里叶变换通常使用算法进行计算,例如快速傅里叶变换(FFT)算法。

FFT算法通过巧妙地利用信号的对称性和周期性,可以高效地计算出傅里叶变换的结果。

除了傅里叶变换公式外,还有一些与傅里叶变换相关的参考内容。

例如,离散傅里叶变换(DFT)是傅里叶变换的离散形式,常用于数字信号处理中。

巴特沃斯滤波器设计是一种设计数字滤波器的方法,可以通过傅里叶变换来进行滤波器的频率响应设计。

傅里叶级数展开是傅里叶变换的理论基础,通过将周期信号分解为多个正弦和余弦函数的和,可以计算出信号的频域特性。

综上所述,傅里叶变换及其公式在信号与信息处理中具有广泛的应用。

数字信号处理实验 matlab版 快速傅里叶变换(FFT)

数字信号处理实验 matlab版 快速傅里叶变换(FFT)

实验14 快速傅里叶变换(FFT)(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word 格式会让很多部分格式错误,谢谢)XXXX 学号姓名处XXXX一、实验目的1、加深对双线性变换法设计IIR 数字滤波器基本方法的了解。

2、掌握用双线性变换法设计数字低通、高通、带通、带阻滤波器的方法。

3、了解MA TLAB 有关双线性变换法的子函数。

二、实验内容1、双线性变换法的基本知识2、用双线性变换法设计IIR 数字低通滤波器3、用双线性变换法设计IIR 数字高通滤波器4、用双线性变换法设计IIR 数字带通滤波器三、实验环境MA TLAB7.0四、实验原理1、实验涉及的MATLAB 子函数(1)fft功能:一维快速傅里叶变换(FFT)。

调用格式:)(x fft y =;利用FFT 算法计算矢量x 的离散傅里叶变换,当x 为矩阵时,y 为矩阵x每一列的FFT 。

当x 的长度为2的幂次方时,则fft 函数采用基2的FFT 算法,否则采用稍慢的混合基算法。

),(n x fft y =;采用n 点FFT 。

当x 的长度小于n 时,fft 函数在x 的尾部补零,以构成n点数据;当x 的长度大于n 时,fft 函数会截断序列x 。

当x 为矩阵时,fft 函数按类似的方式处理列长度。

(2)ifft功能:一维快速傅里叶逆变换(IFFT)。

调用格式:)(x ifft y =;用于计算矢量x 的IFFT 。

当x 为矩阵时,计算所得的y 为矩阵x 中每一列的IFFT 。

),(n x ifft y =;采用n 点IFFT 。

当length(x)<n 时,在x 中补零;当length(x)>n 时,将x 截断,使length(x)=n 。

(3)fftshift功能:对fft 的输出进行重新排列,将零频分量移到频谱的中心。

调用格式:)(x fftshift y =;对fft 的输出进行重新排列,将零频分量移到频谱的中心。

数字信号处理中的快速傅里叶变换

数字信号处理中的快速傅里叶变换

数字信号处理中的快速傅里叶变换快速傅里叶变换(Fast Fourier Transform, FFT)是数字信号处理中一种重要的算法,用于将时域信号转换为频域信号。

通过将信号分解成不同频率的正弦和余弦波,可以提取出信号的频谱信息,进而进行频域分析和滤波等操作。

本文将介绍快速傅里叶变换的原理、算法流程以及在数字信号处理中的应用。

一、快速傅里叶变换的原理快速傅里叶变换是以傅里叶变换为基础的一种高效的算法。

傅里叶变换是将一个周期函数(或有限长的信号)分解成若干个不同频率的正弦和余弦波的叠加。

这些正弦和余弦波的频率和振幅反映了原始信号的频谱特征。

传统的傅里叶变换算法复杂度较高,难以在实时信号处理中应用。

而快速傅里叶变换通过巧妙地利用信号的对称性和周期性,将传统傅里叶变换的复杂度从O(n^2)降低到O(nlogn),大大提高了计算效率。

二、快速傅里叶变换的算法流程快速傅里叶变换算法采用分治法的思想,将信号逐步分解成更小的子问题,并通过递归地计算子问题的频域结果来获得最终的结果。

其算法流程如下:1. 输入原始信号,设信号长度为N。

2. 如果N为1,则直接返回原始信号。

3. 将原始信号分为偶数项和奇数项两部分。

4. 对偶数项序列进行快速傅里叶变换,得到频域结果D1。

5. 对奇数项序列进行快速傅里叶变换,得到频域结果D2。

6. 根据傅里叶变换的性质,将D1和D2组合成整体的频域结果,得到最终结果。

7. 返回最终结果。

三、快速傅里叶变换在数字信号处理中的应用1. 频谱分析:快速傅里叶变换可以将信号从时域转换到频域,通过分析信号的频谱特征,可以提取信号的频率成分,并得到各频率成分的振幅和相位信息。

在音频、图像处理等领域,频谱分析是常见的操作,可以实现音乐信号的频谱可视化、图像去噪和图像压缩等任务。

2. 滤波操作:快速傅里叶变换可以将信号转换到频域后进行滤波操作。

在通信系统中,为了提高信号抗干扰能力和传输效率,通常使用滤波器对信号进行处理。

数字信号处理之离散傅里叶变换

数字信号处理之离散傅里叶变换

共轭对称性
对于实数输入信号,DFT 的结果X[k]满足共轭对称 性,即X[-k] = X[k]*。
离散傅里叶变换的矩阵表示
DFT可以表示为一个矩阵运算, 即X = W * x,其中X是DFT的输 出,x是输入信号,W是DFT的
权重矩阵。
权重矩阵W是一个复数矩阵,具 有特殊的结构,可以通过快速傅 里叶变换(FFT)算法进行高效
03
其他信号处理方法还包括短时 傅里叶变换、Wigner-Ville分 布等,可根据具体应用场景选 择合适的信号处理方法。
ቤተ መጻሕፍቲ ባይዱ 06
结论
离散傅里叶变换的重要性和应用价值
离散傅里叶变换(DFT)是数字信号处理领域 中的重要工具,它能够将信号从时域转换到频 域,从而揭示信号的频率成分和特征。
DFT在通信、雷达、声呐、图像处理、语音识 别等领域有着广泛的应用,是实现信号分析和 处理的关键技术之一。
图像压缩
通过对图像进行DFT变换,将图像从空间域变换到频域,可以提取出图像的主要频率成分 ,从而实现图像压缩。常见的图像压缩算法有JPEG和JPEG2000等。
05
离散傅里叶变换的局限性和改进方法
离散傅里叶变换的局限性
计算量大
离散傅里叶变换需要进行大量复杂的复数运算,对于大数据量信 号处理效率较低。
方式。
离散傅里叶变换的编程实现
01
编程语言如Python、C等提供了离散傅里叶变换的库函数,可 以直接调用进行计算。
02
编程实现时需要注意数据的输入输出、内存管理、异常处理等
问题,以保证程序的正确性和稳定性。
编程实现离散傅里叶变换时,可以根据实际需求选择不同的库
03
函数和算法,以达到最优的计算效果。

数字信号处理常用公式(不惧怕繁琐的推导)

数字信号处理常用公式(不惧怕繁琐的推导)

数字信号处理常⽤公式(不惧怕繁琐的推导)数学信号处理基本公式1、傅⾥叶变换定义连续正变换:X j ω = x t e ?j ωt dt ∞∞ 连续反变换:x t =12π X j ω e j ωt d ω∞∞ 离散正变换:21()(),0,1,,1N jnk NNN n X k x n WW ek N π--====-∑离散反变换:2101()(),0,1,,1N j nkNNN n x n X k W W en N N π---====-∑2、傅⾥叶变换性质线性:[])]([)]([))()((t g F t f F t g t f F βαβα+=+ 位移:)]([)]([00t f F et t f F t j ω-=-; )]([)]([1010ωωωωF F e F F t j --=-.尺度:设)]([)(t f f F =ω, )(||1)]([aF a at f F ω=. 微分:)]([)]('[t f F j t f F ω=,要求0)(lim =∞→t f t)]([)()]([)(t f F j t f F n n ω=,要求()lim ()0(1,2,1)k t f t k n →+∞==-积分:)]([1])([t f F j dt t f F tω=∞-,要求lim ()0t t f t dt -∞→+∞=?帕塞⽡尔等式:()221()()2f t dt F d ωωπ+∞+∞-∞-∞=,)]([)(t f f F =ω频率位移:若()ωj e X n x ?)(,则()()00)(ωωω-?j nj e X n x e时间共轭:若()ωj e X n x ?)(,则(),)(**ωj e X n x -? 频率共轭:若()ωj eX n x ?)(,则()ωj e X n x **)(?-序列卷积:若)()()(n y n x n w *=,则)()()(z Y z X z W = 序列乘积:若)()()(n y n x n w =,则++---< =y x y x c R R z R R dv v v z Y v X j z W 1)(21)(π输⼊)cos()(?ω+=n A n x ,则输出响应为:()()[])()(2)(?ωω?ωω+--++=n j j n j j e e H e e H An y输⼊12()()()x n x n x n =+,则输出响应为:()()()()()2j j n j j n Ay n H e e H e e ωω?ωω?+--+??=+?3、傅⽴叶级数满⾜狄利克雷条件的周期函数可由三⾓函数的线性组合表⽰:()f t 的周期为1T ,112T πω=其中:()00011t T t a f t dt T +=?;()()010112cos t T n t a f t n t dt T ω+=?;()()01 112sin t T n t b f t n t dt T ω+=?指数形式的付⾥叶级数表⽰:0111()[()sin()](5)n n n f t a a cos n n b n n ωω∞==++-----∑由欧拉公式:1111()()2jn t jn t cos n n e e ωωω-=+;1111sin()()2jn t jn t n n e e j ωωω-=+ 4、随机信号定义4.1均值、⽅差离散均值:{}x kk kE X xp µ==∑ 连续均值:{}()x E X xp x dx µ∞-∞==离散⽅差:222{||}||X X k X k k E X x p σµµ=-=-∑ 连续⽅差:222{||}||()X X X E X x p x dx σµµ∞-∞=-=4.2相关函数的定义互相关: ()()()xy n r m x n y n m ∞=-∞=+∑ ⾃相关: ()()()xxn rm x n x n m ∞=-∞=+∑有限点⾃相关函数估计值为:11()()()N N N n r m x n x n m N -∧==+∑平稳随机过程的互相关函数: ()[()()]xy r m E x n y n m *=+ ⾃相关: ()[()()]xx r m E x n x n m =+()()()()()()()()()011112121110111cos sin cos 2sin 2cos sin .................cos sin ..n n n n n f t a a t b t a t b t a n t b n t a a n t b n t ωωωωωωωω∞==++++++++=++∑(1)4.3功率谱⾃功率谱:()()j j mX xm P e r m eωω∞-=-∞=∑ 互功率谱:()()j j m XY xym P e rm e ωω∞-=-∞=注意:功率信号的⾃相关函数与其功率谱是⼀对傅⾥叶变换:P x e j ω = r x e ?j ωm ∞m=?∞5、三⾓函数变换sin(A+B) = sinAcosB+cosAsinB ;sin(A-B) = sinAcosB-cosAsinB cos(A+B) = cosAcosB-sinAsinB ;cos(A-B) = cosAcosB+sinAsinBtanA tanB tan(A+B) =1-tanAtanB +;tanA tanBtan(A-B) =1tanAtanB -+cotAcotB-1cot(A+B) =cotB cotA +;cotAcotB 1cot(A-B) =cotB cotA +-倍⾓公式22tanA tan2A =1tan A-;sin2A=2sinA cosA ;Cos2A = Cos 2A-Sin 2A=2Cos 2A-1=1-2sin 2A 三倍⾓公式sin3A = 3sinA-4(sinA)3;cos3A = 4(cosA)3-3cosAa a tan3a = tana tan(+a)tan(-a)33和差化积sina+sinb=2sincos 22a b a b +-;sina-sinb=2cos sin 22a b a b+- cosa+cosb = 2cos cos 22a b a b +-;cosa-cosb = -2sin sin 22a b a b+-sin()tana+tanb=cos cos a b a b+积化和差1sinasinb =[cos(a+b)-cos(a-b)]2-, 1cosacosb =[cos(a+b)+cos(a-b)]21 sinacosb =[sin(a+b)+sin(a-b)]2,1cosasinb =[sin(a+b)-sin(a-b)]2诱导公式:sin(-a) = -sina;cos(-a) = cosa;sin(-a) = cos a;cos(-a) = sina 22ππsin(+a) = cos a;cos(+a) = -sina 22ππsin(-a) = sina,cos(-a) = -cosa ππsin(+a) = -sina;cos(+a) = -cosa ππ22a a a a1+sin(a) =(sin +cos );1-sina=(sin -cos )2222函数展开成幂级数:+++''+'+===-+=+-++-''+-=∞→++nn n n n n n n n x n f x f x f f x f x R x f x x n f R x x n x f x x x f x x x f x f !)0(!2)0()0()0()(00lim )(,)()!1()()(!)()(!2)())(()()(2010)1(00)(20000时即为麦克劳林公式:充要条件是:可以展开成泰勒级数的余项:函数展开成泰勒级数:ξ⼀些函数展开成幂级数:)()!12()1(!5!3sin )11(!)1()1(!2)1(1)1(121532+∞<<-∞+--+-+-=<<-++--++-++=+--x n xx x x x x x n n m m m x m m mx x n n nm 欧拉公式:-=+=+=--2sin 2cos sin cos ixix ixix ixe e x e e x x i x e 或。

离散傅里叶计算

离散傅里叶计算

离散傅里叶计算离散傅里叶计算是数字信号处理中的一种重要技术,它被广泛应用于数据压缩、滤波器设计、信号分析、图像处理等领域。

离散傅里叶计算是一种将时域信号转换为频域信号的方法,它基于傅里叶变换理论,可以将复杂的信号分解为简单的基频信号,从而更好地理解和处理信号。

离散傅里叶计算的基本思想是将离散的时间域信号X(n)表示为一组基频信号的加权和。

具体地,设N为时间域信号X(n)的长度,K为频域信号Y(k)的长度,则有以下公式:Y(k) = ∑n=0 to N-1 X(n) exp(-2πikn/N)其中,exp(-2πikn/N)是旋转因子,n为时间序列的下标,k为频率序列的下标。

公式表示了基频信号与时间域信号的对应关系,通过计算得到频域信号Y(k),就能够发现信号中所有重要的频率成分。

离散傅里叶计算的具体步骤如下:1.对于时间域信号X(n),计算频域信号Y(k)的长度K。

2.对于每个频率下标k,计算离散傅里叶变换公式中的旋转因子和加权系数。

3.对于每个频率下标k,将时间域信号X(n)分别与旋转因子和加权系数相乘,并求和得到频域信号Y(k)。

4.由于Y(k)是复数,需要取模或计算模方得到频率幅度谱或频率功率谱。

在实际应用中,离散傅里叶计算的执行可以通过快速傅里叶变换(FFT)算法实现,该算法能够在O(NlogN)的时间内完成离散傅里叶计算,大大提高了计算效率。

离散傅里叶计算在数字信号处理中有着广泛的应用,其中应用比较典型的包括:1.数据压缩:采用离散傅里叶计算的方法可以将大量周期性信号的数据压缩到较小的存储空间中。

2.滤波器设计:采用离散傅里叶计算可以得到滤波器的频率响应,从而设计出具有特定频带特性的滤波器。

3.信号分析:离散傅里叶变换可以将时域信号转换为频域信号,从而分析信号的高低频成分、频率分布等。

4.图像处理:图像的灰度值数据可以看作是空域数字信号,采用离散傅里叶计算可以将其转换为频域信号,从而实现图像滤波、去噪等图像处理操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

W W
N /2 N
= −1(∵WN 2 = e− jπ = −1),
N
( k + N / 2) N
= −W .
k N
利用上述特性,可以将有些项合并,并 将DFT分解为短序列,从而降低运算次数,提 高运算速度.1965年,库利(cooley)和图基 (Tukey)首先提出FFT算法.对于N点DFT,仅需 (N/2)log2N 次复数乘法运算.例如N=1024=210 时, 需要(1024/2)log2 210 =512*10=5120次。 5120/1048576=4.88% ,速度提高20倍
nk x(n)WN ∑ n −0 N −1
, N −1 2
X (k ) = = =
∑ x ( n )W
N 2
N −1
n = 0 (n为偶数) −1
nk N
+ ∑ x ( n )W
N 2
N −1
n = 0 (n为奇数) −1
nk N
∑ x ( 2 r )W
r =0
N 2
2 rk N
+ ∑ x ( 2 r + 1)W
r =0 rk k N
( 2 r +1 ) k N
∑ x ( r )(W
r =0 1
−1
2 N
) +W
∑x
r =0
N 2
−1
2
( r )(W )
= WN
2
2 N
rk
由于: =e =e 所以,上式可表示为:
2 WN
π − j 2N ∗2
− j 2π /( N ) 2
X (k ) =

r =0
N −1 2
k = 0,1, ,N − 1, 计算
复乘 复加 X[k] DFT FFT
复乘 复加 实乘 1 4 1 N N-1 4N 4N2
实加 2 2 4N-2 4N2+2N
傅里叶变换系数的性质
对称性(复共轭对称)
W
k ( N −n ) N
=W
− kn N
= W
( )
kn * N
周期性(n,k的周期性)
W
kn N
按时间抽取(DIT)的FFT算法 —库利-图基算法
一.算法原理(基2FFT) (一)N/2点DFT 1.先将 x(n) 按n的奇偶分为两组作DFT,设N=2L ,不 足时,可补些零。这样有: x(2r ) = x1 (r ), r = 0,1, , N − 1 n为偶数时: 2 n为奇数时: x(2r + 1) = x2 (r ), r = 0,1, 因此, (k ) = DFT[ x(n)] = X
}
乘法减少1/2,利用对称性可大量降低计算量
离散傅里变换快速算法的寻找过程
1805年的高斯 Runge(1905),Danielson & Lanczos(1942) 指出DFT的计算量正比于N log N 而不是 NN。 1965年Cooley Tukery的论文指出,当N为 复合数时,可以进行分解。该论文为DFT 的快速算法的发现指出了一条行之有效的 方法。此后出现了一大批快速算法:按时 间抽取的FFT算法、按频率抽取的FFT算法、 素因子法等等。
9.2 Goertzel算法
利用了周期性
W
− kn N
=e
j( 2π / N ) Nk
N −1 r =0
=e
N −1 r =0
j 2πk
=1
kr − − X[ k ] = WN kN ∑ x[ r ]WN = ∑ x[r ]WN k ( N − r )
定义一个中间序列
yk [ n] =
r = −∞ − − x[ r ]WN k ( n − r )u[ n − r ] = x[n] * (WN kn u[n]) ∑ ∞
−1
yk [ n ]
z −1
2 cos(
2π k ) N
z −1
k −WN
X [k ]的二阶递推计算流图(Goertzel算法)
k k 1 − WN z −1 1 − WN z −1 H k ( z) = = − k −1 k −1 (1 − WN z )(1 − WN z ) 1 − 2 cos(2π k / N ) z −1 + z −2
rk
r ( N +k ) 2
N X1 ( + k ) )W N
2
=

r =0
N 2
−1 rk x1 (r )W N = X 1 (k )
2
同理, 这就是说,X1(k),X2(k)的后一半,分别 等于其前一半的值。
N X 2( + k ) = X 2 (k ) 2
又由于
二.改进的途径 1.Wnk 的对称性和周期性 N
nk − 对称性: (WN )* = WN nk ,
周期性: W
得:
nk N
=W
( n+ N ) k N
=W
n( k + N ) N
;
( − n WN ( N −k ) = WNN −n) k = WN nk (∵WNNk = WNNn = e−2πk ( n) = 1),
=W
N −1 n =0
k (N +n) N
=W
n(N +k ) N
kn kn X[k ] = ∑ [(Re{x[n ]} Re{WN } − Im{x[n ]} Im{WN }) kn kn + j(Re{x[n ]} Im{WN } + Im{x[n ]} Re{WN })],
k = 0,1, ,N − 1,
2
X 1 (k ) = X 2 (k ) =

r =0
N 2
N 2
−1 rk x1 ( r )W N =
2

r =0
N 2
N 2
−1 rk x ( 2 r )W N
2

r =0
−1 rk x 2 ( r )W N =
2

r =0
−1 rk x ( 2 r + 1)W N
2
X (k ) =

r =0
rk k x1 (r )W N + WN
2

r =0
N −1 2
rk k x2 (r )W N = X1 (k ) + WN X 2 (k )
2
X (k ) =

r =0
N 2
−1 rk k x1 (r )W N + W N
2

r =0
N 2
−1 rk k x2 (r )W N = X 1 (k ) + WN X 2 (k )
( N +k ) WN 2
k k = WN WN = −WN
N 2
,所以
N N N k+ N 2 X (k + ) = X 1 (k + ) + W N X 2 (k + ) 2 2 2
=
k X 1 (k ) − W N
X 2 ( k ),
k = 0,1,
, N −1 2
可见,X(k)的后一半,也完全由 X1(k),X2(k)的前一半所确定。*N点的DFT可 由两个N/2点的DFT来计算。
计算量
极点: 2次实乘 4次实加(每个样本的计算 量) 2N次实乘 4N次实加 零点: 迭代的最后一次计算 4次实乘 4次实 加 共需: 2N2+4N次实乘 4N2+4N次实加
利用共轭对称 一次可以算出两个点的极点,零点复共 轭。所以一次可以算出两个点。 N2+2N次实乘 2N2+2N次实加 可以计算N点DFT其中的任意长(M) 其计算量MN
x1(0)=x(0) x1(1)=x(2) x1(2)=x(4) x1(3)=x(6) x2(0)=x(1) x2(1)=x(3) x2(2)=x(5) x2(3)=x(7)
X1(0)
X(0) X(1) X(2) X(3)
-1 -1 -1
利用对称性可直接计算n 和 N-n
= (Re{ [n]}+ Re{ [N − n]}) Re{ N } x x Wkn
kn N
Re{ [n]}Re{ N }+ Re{ [N − n]}Re{ N ( N−n)} x Wkn x Wk
k ( N−n) N
− Im{ [n]}Im{ }− Im{ [N − n]}Im{ x W x W = −(Im{ [n]}− Im{ [N − n]}) Im{ N } x x Wkn
k X ( k ) = X 1 ( k ) − WN X 2 ( k )
x1(0)=x(0) x1(1)=x(2) x1(2)=x(4) x1(3)=x(6) x2(0)=x(1) x2(1)=x(3) x2(2)=x(5) x2(3)=x(7)
X1(0)
N/2点 DFT
X1(1) X1(2) X1(3) X2(0)
9.1 离散傅里变换的高效计算
N点有限长序列的DFT:
X[ k ] =
∑ x[ n ]W
n =0
N −1
kn N
,
k = 0 ,1,
, N − 1,
反变换:
1 N −1 − x[n ] = ∑ X[k ]WN kn , N k =0 n = 0,1, ,N − 1,
直接计算:
kn kn X[k ] = ∑ [(Re{x[n ]} Re{WN } − Im{x[n ]} Im{WN }) n =0 kn kn + j(Re{x[n ]} Im{WN } + Im{x[n ]} Re{WN })], N −1
相关文档
最新文档