离散傅里叶变换及其快速算法
第2章 离散傅里叶变换和快速算法.ppt
杨毅明 第2章 离散傅里叶变换和快速算法
2.1.1 离散傅里叶级数
离散傅里叶级数的定义:
X~ (k )
N 1 ~x (n)e
j 2 N
kn
n0
~x (n)
杨毅明 第2章 离散傅里叶变换和快速算法
2.2 利用DFT做连续信号的频谱分析
离散傅里叶变换可以用来分析连续时间信号的频谱,其 原理如下:
这种方法存在如下问题: 混叠,泄漏,栅栏效应,分辨率,周期效应。 根据例6(书上63页)说明上面5个问题。
杨毅明 第2章 离散傅里叶变换和快速算法
clear;close all; f=10;a=4;T=1/(a*f);t=0:T:3; x=sin(2*pi*f*t); subplot(211);plot(t,x);xlabel('t/s');ylabel('x(t)'); N=length(t);n=0:N-1;k=n; W=exp(-j*2*pi/N*k'*n); X=W*conj(x'); subplot(212);stem(k,abs(X),'.');xlabel('k');ylabel('X(k)');
N 1 ~x1 (m) ~x2 (n rL m) RN (n)
m0
r
yL (n rL) RN (n) r
杨毅明 第2章 离散傅里叶变换和快速算法
yL(n)和yC(n) 的关系
yC (n) yL (n rL) RN (n) r
离散傅里叶变换及其快速算法
5
傅里叶特殊贡献: • 任何周期函数都可以表示为不同频率的正弦、或
余弦和的形式。 • 无论函数多复杂,只要是周期的,并满足一定条
件,都可以用正弦、或余弦的和表现。甚至曲线 有限的非周期函数。
6
• 离散傅里叶变换不仅具有明确的物理意义,相对于 DTFT更便于用计算机处理。
• 直至上个世纪六十年代,由于数字计算机的处理速度 较低以及离散傅里叶变换的计算量较大,离散傅里叶 变换长期得不到真正的应用,快速离散傅里叶变换算 法的提出,才得以显现出离散傅里叶变换的强大功能 并被广泛地应用于各种数字信号处理系统中。
• 近年来,计算机的处理速率有了惊人的发展,同时在 数字信号处理领域出现了许多新的方法,但在许多应 用中始终无法替代离散傅里叶变换及其快速算法。
§2-1 傅里叶变换的几种形式
7
时域x(t)、x(n)与频域X(j)、X(ej)之间的变换关系 一、连续时间与连续频率的傅立叶变换
xa (t ), Xa ( j)
2
x(n)
X (e j )
T
n
2
结论:非周期的离散时间函数对应于周期性连续频率
函数。
9
三、连续时间与离散频率的傅里叶表示(变换) 即周期性信号的傅里叶表示:
xa (t) X (m)
xa (t )
X (m )e jmt
m
X (m) 1
T
T
2 T
xa (t )e jmt dt
2
xa (t)
x1(n) x2 (n)
4 共轭对称性
对于复序列 ~x n 其共轭序列 ~x *n 满足
DFS ~x * n X~ * k
证:
DFS ~x * n N1 ~x * (n)WNnk
第3章 离散傅里叶变换及其快速算法
计算中, 在DFT计算中,不论是乘法和加法,运算量均与 计算中 不论是乘法和加法, N2成正比。因此,N较大时,运算量十分可观。例 成正比。因此, 较大时 运算量十分可观。 较大时, 计算N=10点的 点的DFT,需要 次复数相乘, ,计算 点的 ,需要100次复数相乘,而 次复数相乘 N=1024点时,需要 点时, 点时 需要1048576(一百多万)次复数乘 (一百多万) 如果要求实时处理, 法,如果要求实时处理,则要求有很高的计算速 度才能完成上述计算量。 度才能完成上述计算量。 反变换IDFT与DFT的运算结构相同,只是多 与 的运算结构相同, 反变换 的运算结构相同 乘一个常数1/N,所以二者的计算量相同。 乘一个常数 ,所以二者的计算量相同。
nk X (k ) = ∑ { Re [ x( n)]Re WN − I m [ x(n)]I m [WNnk ] n =0 N −1
(
+ j Re [ x(n)]I m
(
[ ] [W ]+ I
nk N
)
nk [ x( n)]Re WN } m
[ ])
又每个复数相加包括2个实数相加,所以,每计算一个 X( k) 要进行 次实数相乘和 次实数相乘和2N+2( N-1) =2( 2N-1) 次实 ( ) 要进行4N次实数相乘和 ( ) ( ) 数相加,因此,整个DFT运算需要 2实数相乘和 (2N-1) 运算需要4N 实数相乘和2N( 数相加,因此,整个 运算需要 ) 次实数相加。 次实数相加。
虽然频谱分析和DFT运算很重要 , 但在很长 运算很重要, 虽然频谱分析和 运算很重要 一段时间里, 由于DFT运算复杂 , 并没有得到 运算复杂, 一段时间里 , 由于 运算复杂 真正的运用, 真正的运用 , 而频谱分析仍大多采用模拟信号 滤波的方法解决, 直到1965年首次提出 年首次提出DFT运 滤波的方法解决 , 直到 年首次提出 运 算的一种快速算法以后, 情况才发生了根本变 算的一种快速算法以后 , 人们开始认识到DFT运算的一些内在规律 , 运算的一些内在规律, 化 , 人们开始认识到 运算的一些内在规律 从而很快地发展和完善了一套高速有效的运算 方法——快速付里变换(FFT)算法。FFT的出 快速付里变换( 方法 快速付里变换 )算法。 的出 现 , 使 DFT 的 运 算 大 大 简 化 , 运 算 时 间 缩 短 二个数量级, 一 ~ 二个数量级 , 使 DFT的运算在实际中得到 的运算在实际中得到 广泛应用。 广泛应用。
第2章 离散傅里叶变换(DFT)及其快速算法(FFT)
电信系信息技术教研室
2.1.1 离散傅里叶级数DFS
信号特性的时频域对应关系 连续 离散 周期
非周期 周期 离散
电信系信息技术教研室
2.1.1 离散傅里叶级数DFS
?如何对周期为N的周期序列进行频域分析……
如: ~(n) ~(n kN ) x x 周期序列不能进行Z变换,因为其在 n=-到+ 都 周而复始永不衰减,即 z 平面上没有收敛域,所以 其DTFT亦不存在。但是,如同连续时间周期信号可用 傅氏级数表达,周期序列也可用离散的傅氏级数来表 示。
2 1 2 1
X (2) 0 X (6) 0
X (3) 1 j X (7 ) 1 j
2 1 2 1
电信系信息技术教研室
解法二:公式解
N 1 j 2 N 7 j 2 8 kn
X
k
DFS x n
mk
ki mk ~ ~ x (i ) wN wN X ( k ) i 0
N 1
电信系信息技术教研室
3)共轭对称性
x 对于复序列 ~n ,其共轭序列为
~* ~* DFS x n X k
* *
~* x n
,则:
~ ~ DFSx n X k
解:上述序列的基本周期为 N=4,因而
W4 = e-j2π /4 = -j,
~ X (k )
~ X (0) ~ X (1 ) ~ X (2) ~ X (3)
n0
3
nk ~ x ( n )W 4
3
n0
3
~ ( n )W x 4
离散傅里叶变换及其快速算法
离散傅里叶变换及其快速算法离散傅里叶变换(Discrete Fourier Transform,DFT)是一种将离散信号转换为频域表示的数学工具。
它在信号处理、图像处理、通信等领域有广泛的应用。
而快速傅里叶变换(Fast Fourier Transform,FFT)是一种能够高效计算DFT的算法,大大减少了计算量。
首先,我们来看一下DFT的原理。
给定一个有限长度的离散信号序列x(n),DFT将其转换为频谱X(k),其中k为频率索引,取值范围为0到N-1,N为序列的长度。
DFT的定义公式如下:X(k) = Σ x(n) * exp(-j * 2π * nk / N)其中,exp为自然指数函数,j为虚数单位。
DFT将信号分解为了N个复数的和,这些复数代表了不同频率分量在信号中的贡献。
然而,直接计算DFT的时间复杂度非常高,为O(N^2)。
为了提高计算效率,Cooley和Tukey于1965年提出了FFT算法。
FFT算法基于以下性质:若N为2的整数次幂,则DFT可以被分解为两个较小长度的DFT的线性组合。
具体来说,将N个点的DFT拆分为长度为N/2的两个DFT,然后再对这两个子序列进行DFT,最后将两个子序列的结果组合起来。
这个过程可以递归地进行,直到序列长度为1,即可得到最终的DFT结果。
FFT算法的时间复杂度为O(NlogN),远远小于直接计算DFT的复杂度。
这使得FFT成为了处理大规模数据的首选方法之一、此外,FFT还有其他一些优点,如可并行化计算、对称性质等。
FFT算法可以采用不同的实现方式,最著名的是基于蝶形运算的Cooley-Tukey算法。
这种实现方式将FFT过程分为了两个阶段:置换阶段和蝶形运算阶段。
置换阶段通过将信号重新排序,将原始序列分为奇偶两个子序列,并计算每个子序列的DFT。
这个过程可以递归地应用于子序列,直到长度为1蝶形运算阶段是FFT算法的核心部分。
蝶形运算是指将两个频域上的复数进行运算,得到新的复数。
第二章 离散傅里叶变换及其快速算法02
8
3、循环(圆周)卷积 循环(圆周)
若 X 3 (k ) = X 1 (k ) X 2 (k )
则 x3 (n) = x1(n) x2 (n) = ∑ x1(m)x2 ((n m))N RN (n)
m=0
N 1
= ∑ x2 (m)x1((n m))N RN (n)
m=0
N 1
可以看做是两个周期序列做周期卷积后 可以看做是两个周期序列做周期卷积后,再取其主 周期卷积 值序列。 值序列。
故
因此, 具有共轭对称性, 共轭偶对称分量。 因此,Xe(k)具有共轭对称性,称为X(k)的共轭偶对称分量。
16
* 用同样的方法可得到 X o ( k ) = X o ( N k )
Xo(k)具有共轭反对称特性, 称其为X(k)的共轭奇对称分量。 具有共轭反对称特性,
对于纯实数序列x(n),即x(n)=xr(n),X(k)只有共轭 偶对称部分, ),表明实数序列的DFT满足 表明实数序列的DFT 偶对称部分,即X(k)=Xe(k),表明实数序列的DFT满足 共轭对称性。 共轭对称性。
,离散傅里叶变换算法实质上对频率具有选择性。 离散傅里叶变换算法实质上对频率具有选择性。
2π 例3 求余弦序列 x ( n) = cos( qn ), 0 ≤ n ≤ N 1 N
20
的
解:
2π 2π j qn qn j 2π 1 N N x ( n) = cos( qn ) = (e ) +e N 2
在涉及DFT的场合,有限长序列总是表示成 的场合, 在涉及 的场合 周期序列的一个周期。 周期序列的一个周期。
N 1
二、DFT性质 性质
1、线性 、
4
DFT[ax( n) + by( n)] = aX ( k ) + bY ( k )
离散傅里叶变换及快速算法
(5-5)
W e N
j
2 N
的性质:
正交性,周期性,
共轭对称性(偶序列),可约性。
§5.离散傅里叶变换及快速算法
1.离散傅里叶级数
1.2离散傅里叶级的计算
例5-1 求出下面周期序列的DFS
x(n) 0 ,1,2,3, 0 ,1,2,3, 0,1,2,3
n0
为改进嵌套循环计算的效率,将循环结构改为矩阵形式计算
§5.离散傅里叶变换及快速算法
0.概述
离散时间傅里叶变换(DTFT)是通过周期频谱 来描述一个离散信号序列,即DTFT是连续变 量w的连续函数。离散傅里叶变换(DFT)则是 针对有限长序列,是对DTFT采样后得到的离 散序列。 此种表示方法非常有利于数值计算以及数字信 号处理算法的DSP硬件实现。 本章将研究离散傅里叶级数,离散傅里叶变换 (DFT),及离散傅里叶变换的快速算法FFT。
(5-3)
n0
称之为离散傅里叶级数DFS的系数。是一个基波周期为N的 周期序列。
X (k) X (k N)
§5.离散傅里叶变换及快速算法
W e 在DFS变换中引入复数 N
j
2 N
将DFS正反变换描述为
N 1
X (k) x(n)WNnk
n0
x (n)
1 N
N 1
X (k )WNnk
k 0
n0
x(n)
1 N
N 1
X (k )WNnk
k 0
x
1 N
WN* X
WN WNkn 0
k,n
N
1
1 1
1
WN1
1
W ( N 1) N
1
W ( N 1) N
第三章-离散傅里叶变换(DFT)及其快速算法(FFT)
回到本节
x(n)
IDFT[ X (k)]N
1 N
N 1
X (k)WNk n ,
k 0
n 0, 1,
, N 1
也可以表示为矩阵形式:
x DN1 X
DN1称为N点IDFT矩阵,定义为
1
DN1
1 N
1 1
1
1 WN1 WN2
WN( N 1)
线性性质 DFT的隐含周期性 循环移位性质 复共轭序列的DFT DFT的共轭对称性 循环卷积定理 离散巴塞伐尔定理
返回
回到本节
① 线性性质 设有限长序列x1(n)和x2 (n)的长度分别为N1和N2 , x(n) ax1(n) bx2 (n) ,a和b为常数。
则
)
N M
xN (n) x((n))N X (k ) X ((k ))N
有限长序列x(n)的DFT变换X(k),就是x(n)的周期延拓序列 ~x(n) 的DFS系数 X~(k ) 的主值序列
返回
回到本节
DFS与FT之间的关系:
M 1
X (k) DFS[xN (n)] x(n)WNkn n0
xN (n) xN (n)RN (n)
主值区间序列 N M , xN (n) x(n)
返回
回到本节
x8 (n) x4 (n)
返回
回到本节
周期序列DFS: N 1 X (k ) DFS[ xN (n)] xN (n)WNkn n0
M 1
x(n)WNkn
k
返回
回到本节
xN (n)
n
N
0
N
离散傅里叶变换及其快速算法
ak 也是以 N周期的周期序列,满足 ak
~ X (k ) Nak
ak 。令 ln
(3.5)
将式(3.4)代入,得
N 1 j kn ~ ~ N X ( k ) x ( n )e n 0 2
k
(3.6)
~ X (k ) 式中, 是以N为周期的周期序列,称为
~ x (n) 的离散傅里叶级数,用DFS表示。
~(k ), N 相位为 幅度为 X
~ arg[ X (k )]
。
基波分量的频率为 2 N ,幅度为
~ 为arg[ X (1)]
~ X (1) N
,相位
。
x ( n ) 以 N 8 为周期 n) 【例3-1】设 x(n) R4 (,将
进行周期延拓,得到周期序列 幅频特性。
~ x ( n)
2016-12-8
解:根据定义求解
14 12 e 8e
j
j
2 k 6
10e
j
j
2 2k 6 j 2 5k 6
2 3k 6
6e
2 4k 6
10e
X (0) 60 X (3) 0
X (1) 9 j 3 3 X (4) 3 j 3
X (2) 3 j 3 X (5) 9 j 3 3
x 3(n )
当k取奇数( k=2m+1 ,m=0,1,…, N/4-1 )时
N n(2 m 1) X 1(2m 1) x 1(n ) x 1 n 4 W N 2 n 0 N 4 1 N n mn x 1(n ) x 1 n W W N N 4 4 n 0 2
离散傅里叶变换及其快速计算方法
X N (k ) X '( z )
z WN k
n
x '(n)WNkn
24
X '( z ) Z [ x '(n)]
X N (k ) X '( z )
xN ( n)
z WN k
x '(n rN )
r
频域抽样序列 的得到的
是原来非周期序列 ′ 基于
j
2
mk
N
~
X (k )
2
j
mk ~
~
mk ~
N
DFS [ x ( n m)] WN X (k ) e
X (k )
Note:时域延迟,频域有线性相移
3、调制性质
~
DFS [WNln x(n)] X (k l )
13
4、周期卷积和(时域)
~
~
~
若 Y (k ) X 1 (k ) X 2 (k )
N 1
1
nk
x ( n) x ( n) R ( n)
X ( k )W N RN ( n)
N
N k 0
x(n),X(k)
代替
( , (
DFT变换对(标准形式):
2
N 1
N 1
j nk
nk
N
X
(
k
)
DFT
[
x
(
n
)]
x
(
n
)
W
=
x
(
周期为点的周期延拓
第四章 离散傅里叶变换及其快速算法
离散 连续
周期延拓 非周期
4.1 离散傅里叶变换的定义
kn X (k ) DFT [ x(n)] x(n)WN , n 0 N 1 N 1 n 0 2 kn N
= x ( n )e
j
k=0, 1, , N-1
X ( k )WN kn k 0 N 1
1 x(n) IDFT [ X (k )] N 1 N
4 N
x D1X N
W N ( N 1 ) 2 ( N 1 ) WN W N ( N 1 )( N 1 ) 1
1
D
1 N
W N 2 ( N 1 )
1 DN N
dftmtx(N) 函数产生N×N的DFT矩阵DN conj(dftmtx(N))/N 函数产生N×N的IDFT矩阵DN-1
二、 圆周移位性质
1. 序列的圆周移位 x(n)的圆周移位定义为
y(n)=x((n+m))N RN(n) 其过程为: 1)、将x(n)以N为周期进行周期延拓得x((n))N 2)、将x((n))N左移m位,得x((n+m))N 3)、取其主值序列x((n+m))N RN(n) 循环移位过程如图所示
WNN 1
2 WN ( N 1)
WNN 1 2 WN ( N 1) ( WN N 1) ( N 1)
DFT
IDFT矩阵形式为
1 1 1 W 1 N 1 D 1 1 W N 2 N N 1 W N ( N 1 ) 1 W N 2 W
0 n N `1 0 k N `1
DFT 则: x1 (n) x2 (n) X1 ( K ) X 2 ( K )
第三章离散傅里叶变换及其快速计算方法
傅里叶系数标号k :0~N
数字频率ω:0~2π 模拟频率 f :0~fs
0
N /2
0
0
fs /2
0
s /2
北京邮电大学信息与通信工程学院
N k (变换系数标号) 2 (弧度,数字频率) fs f (Hz,模拟频率) s (弧度/秒,模拟角频率)
24
DFS 定义:几点说明
频率成份
直流分量:
N 1
北京邮电大学信息与通信工程学院
11
DFS 定义:预备知识
基本关系式 若 r,m 都是整数,则:
N N 1 j 2 k(r m )
eN
k0
0
rm rm
证明: 对于r=m:不论 k 取何值,显然等式成立。
对于r≠m:
1 W N 1 j 2 k(rm) N
e W 1W k0
N 1 k(rm)
离散傅里叶级数包含了 0 到 (N-1)fs/N 的频率,因而 N 个傅里叶级数的系 数位于从 0 直到接近取样频率的频率上。
N 1
当 k=0 时, X (0) x(n)WN 0n x(n) ,此时得到的傅里叶级数的系数
称为信号的直流分量(DnC0 Componenn0t)X,(0)/ N 是信号的平均值;
交流分量:
其它频率(k>0)称为周期信号的谐波,此时的傅里叶级数系数称为 信号的交流分量。
k=1 时的频率为信号的一次谐波,或基频,频率大小为 fs/N,时间为 NTs,等于完成一个周期所需要的时间。其它谐波为基频的整数倍。
8
3.1 问题的提出:傅里叶变换的四种形式 (6)
四种傅里叶变换形式的归纳总结:
形式
时间函数
频率函数
离散傅里叶变换及其快速算法
第五章 离散傅里叶变换及其快速算法 1 离散傅里叶变换(DFT)的推导(1) 时域抽样:目的:解决信号的离散化问题。
效果:连续信号离散化使得信号的频谱被周期延拓。
(2) 时域截断:原因:工程上无法处理时间无限信号。
方法:通过窗函数(一般用矩形窗)对信号进行逐段截取。
结果:时域乘以矩形脉冲信号,频域相当于和抽样函数卷积。
(3) 时域周期延拓:目的:要使频率离散,就要使时域变成周期信号。
方法:周期延拓中的搬移通过与)(s nT t -δ的卷积来实现。
表示:延拓后的波形在数学上可表示为原始波形与冲激串序列的卷积。
结果:周期延拓后的周期函数具有离散谱。
(4)1。
图1 DFT 推导过程示意图(5) 处理后信号的连续时间傅里叶变换:∑∑∞-∞=-=π--δ⋅⎥⎥⎦⎤⎢⎢⎣⎡=k N n N kn j s kf f e nT h f H )()()(~010/2(i))(~f H 是离散函数,仅在离散频率点SNT kT k kf f ===00处存在冲激,强度为k a ,其余各点为0。
(ii) )(~f H 是周期函数,周期为ss T NT N T N Nf 100===,每个周期内有N 个不同的幅值。
(iii) 时域的离散时间间隔(或周期)与频域的周期(或离散间隔)互为倒数。
2 DFT 及IDFT 的定义(1) DFT 定义:设()s nT h 是连续函数)(t h 的N 个抽样值1,,1,0-=N n ,这N 个点的宽度为N 的DFT 为:[])1,...,1,0(,)()(10/2-=⎪⎪⎭⎫⎝⎛==∆-=π-∑N k NTk H enT h nT h DFT s N n Nnk j s s N (2) IDFT 定义:设⎪⎪⎭⎫⎝⎛s NT kH 是连续频率函数)(f H 的N 个抽样值1,,1,0-=N k , 这N 个点的宽度为N 的IDFT 为:())1,...,1,0(,110/21-==⎪⎪⎭⎫ ⎝⎛=⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫⎝⎛∆-=π--∑N k nT h e NTkH NNT kH DFT s N k N nk j s sN (3) N nk j e /2π-称为N 点DFT 的变换核函数,N nk j e /2π称为N 点IDFT 的变换核函数。
[理学]离散傅里叶变换及其快速算法
FFT原理
• FFT算法主要利用了 WNnk 的两个性质:
1. 对称性
W
( nk N ) 2
W nk
nk ) N
2. 周期性
W nk W
mod( nk ) N
mod(
表示用N除nk之后的余数
• FFT算法利用
WNnk
的对称性和周期性,将一个大的
DFT分解成一些逐次变小的DFT来计算。 • 分解过程遵循两条规则: ①对时间进行偶奇分解——按时间抽取的FFT算法 ②对频率进行前后分解——按频率抽取的FFT算法
X (e j )e jn d
傅里叶变换对小结
• 傅里叶级数(FS)(时域:连续周期;频域:非周期离散)
1 Xk T
T 2
T 2
x(t )e jk1t dt
x(t )
k
X k e jk1t
k 0, 1, 2,
• 傅里叶变换(FT)(时域:连续非周期;频域:非周期连续)
1
有时会造成能量分散现象,称之为频谱泄漏。
• 余弦信号被矩形窗截断形成的泄漏 余弦信号被矩形窗截断形成的泄漏
• 对于连续周期函数,在符合采样定理的条件下, 保证窗函数b(t)的时段τ等于被截函数的周期T的 整倍数,可以保证逆变换后准确地恢复原波形, 不产生泄漏。 • 对于随机振动信号(非周期函数),控制泄漏的 方法是采用特定的窗函数,以达到控制旁瓣的效 果。
1 fs t
N T N t fs
fN= fs/2称为 Nyquist频率, 或称混叠频率
N T 2 f max
• 若提高采样频率fs将使采样时间减少,从而造成频率分辨 率Δf变粗。可先使信号通过一个低通滤波器,使滤波后的 信号中的最高频率成为fmax ,然后根据采样定理来确定采 样频率fs 。通常fs是fmax的3~4倍
离散傅里叶变换及其快速算法
w nk N
又如
w
N N
/
2
1,
因此
w(kN / 2) N
wNk
利用这些周期性和对称性,使DFT运算中有些项可合并;
2)利用
w
nk N
的周期性和对称性,把长度为N点的大点数的DFT
运算依次分解为若干个小点数的DFT。因为DFT的计算量正比于N2,
N小,计算量也就小。
FFT算法正是基于这样的基本思想发展起来的。它有多种形式,
n0
N / 21
X (2r 1) [x(n) x(n N / 2)]WNn(2r1)
n0
N / 21
[x(n) (n)=x(n)+x(n+N/2) b(n)=[x(n)-x(n+N/2]wnN
这两个序列都是N/2点的序列,将其代入上两式,得
结果仍然储存在同一组存储器中,直到最后 输出,中间无需其它存储器,这叫原位计算 。 每一级运算均可在原位进行,这种原位运算 结构可节省存储单元,降低设备成本,还可 节省寻址的时间。
21
(3)序数重排
对按时间抽取FFT的原位运算结构,当运算完毕
时,正好顺序存放着 X(0),X(1),X(2),
…,X(7),因此可直接按顺序输出,但这种原
但基本上可分为两类:时间抽取法和频率抽取法。
6
2、按时间抽取的FFT(N点DFT运算的分解) 先从一个特殊情况开始,假定N是2的整数次方,
N=2M,M:正整数
首先将序列x(n)分解为两组,一组为偶数项,一组为奇数 项,
x(2r) x1(r) x(2r 1) x2 (r
)
r 0,1,, N/2-1
位运算的输入 x(n)却不能按这种自然顺序存入
知识2 离散傅里叶变换及其快速算法
用Fourier 变换来表示序列和线性时不变系统的频域特征,但是频谱()ωj e X 是ω的连续函书,用计算机处理和分析频谱是不方便的。
那么就需要像时序信号那样,通过采集把连续信号变为离散信号,也对连续频谱采样而得到离散频谱,然后用数字电路或计算机进行处理和分析。
有限长序列在应用中有重要的作用,通过它可以导出另一种Fourier 变换表达式,即离散傅里叶变换(DFT),此为解决频谱离散化的有效方法,同时DFT 的高效算法——快速傅里叶变换FFT 。
周期序列一个周期为N 的周期序列~x ,对于所有的n ,应该满足:()()为整数k kN n x x +=~~周期序列的周期N ,一般使用最小周期作为周期。
与连续时间周期函数相比,周期序列由于n 及N 均为整数,周期序列中应用最广泛的序列是:kn Njkn NeWπ2-=(2-1)ImRe1上图就是周期序列nN W (N=8),从n=0开始到8取完周期内的所有值。
令k = 1时,nN W 就是一个周期序列。
当n 从0依次加1到N-1时,序列nN W 取完周期内的所有值,这些值可以看成是Z 平面上以原点为圆心的单位圆被N 等分的交点的的坐标值。
k 为其他数值时,knN W 的最小周期也许不是N ,但是N 一定是knN W 的周期。
knN W 的性质很明显:周期性:knN W =nN k NW )(-=)(N n k NW -对称性:kn N W -=()*kn N W =nk N NW )(-=)(n N k NW -正交性:()()∑-=⎩⎨⎧==10n 0,N k knNr rN n N W其他为整数 或者 ()()∑-=⎩⎨⎧==1n 0,N n kn Nr rN k N W其他为整数 一个周期为N 的周期序列()n x ~,在n=∞-到n=+∞的范围内仅有N 个序列值是独立的其中一个周期内的N 个序列值足以表征整个序列的特征。
而对于长度为N 的有限长序列,只讨论n=0到N-1之间的N 个序列值,其余皆为0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 离散傅里叶变换及其快速算法 1 离散傅里叶变换(DFT)的推导(1) 时域抽样:目的:解决信号的离散化问题。
效果:连续信号离散化使得信号的频谱被周期延拓。
(2) 时域截断:原因:工程上无法处理时间无限信号。
方法:通过窗函数(一般用矩形窗)对信号进行逐段截取。
结果:时域乘以矩形脉冲信号,频域相当于和抽样函数卷积。
(3) 时域周期延拓:目的:要使频率离散,就要使时域变成周期信号。
方法:周期延拓中的搬移通过与)(s nT t -δ的卷积来实现。
表示:延拓后的波形在数学上可表示为原始波形与冲激串序列的卷积。
结果:周期延拓后的周期函数具有离散谱。
(4)1。
图1 DFT 推导过程示意图(5) 处理后信号的连续时间傅里叶变换:∑∑∞-∞=-=π--δ⋅⎥⎥⎦⎤⎢⎢⎣⎡=k N n N kn j s kf f e nT h f H )()()(~010/2(i))(~f H 是离散函数,仅在离散频率点SNT k T k kf f ===00处存在冲激,强度为k a ,其余各点为0。
(ii) )(~f H 是周期函数,周期为ss T NT N T N Nf 100===,每个周期内有N 个不同的幅值。
(iii) 时域的离散时间间隔(或周期)与频域的周期(或离散间隔)互为倒数。
2 DFT 及IDFT 的定义(1) DFT 定义:设()s nT h 是连续函数)(t h 的N 个抽样值1,,1,0-=N n ,这N 个点的宽度为N 的DFT 为:[])1,...,1,0(,)()(10/2-=⎪⎪⎭⎫⎝⎛==∆-=π-∑N k NTk H enT h nT h DFT s N n Nnk j s s N (2) IDFT 定义:设⎪⎪⎭⎫⎝⎛s NT kH 是连续频率函数)(f H 的N 个抽样值1,,1,0-=N k , 这N 个点的宽度为N 的IDFT 为:())1,...,1,0(,110/21-==⎪⎪⎭⎫ ⎝⎛=⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫⎝⎛∆-=π--∑N k nT h e NTkH NNT kH DFT s N k N nk j s sN (3) N nk j e /2π-称为N 点DFT 的变换核函数,N nk j e /2π称为N 点IDFT 的变换核函数。
它们互为共轭。
(4) 同样的信号,宽度不同的DFT 会有不同的结果。
DFT 正逆变换的对应关系是唯一的,或者说它们是互逆的。
(5) 引入N j N e W /2π-=(i) 用途:(a) 正逆变换的核函数分别可以表示为nk N W 和nkN W -。
(b) 核函数的正交性可以表示为:())(*10r n N W W krN N k kn N-δ=∑-= (c) DFT 可以表示为:)1,,1,0(,)(10-==⎪⎪⎭⎫ ⎝⎛∑-=N k W nT h NTkH N n nk N s s(d) IDFT 可以表示为:)1,,1,0(,1)(10-=⎪⎪⎭⎫ ⎝⎛=∑-=-N n W NTk H NnT h N k nk N s s(ii) 性质:周期性和对称性:(a) 12==π-j NNe W (b) 12/-==π-j N Ne W (c) r N r N N N r N N W W W W ==+(d) r N r N N N r N N W W W W -=-=+2/2/(e) )(1Z m W mN ∈∀=(f) ),(/2/2Z n m W e eW nN N n j m N m n j m n m N ∈∀===π-π- 3 离散谱的性质(1) 离散谱定义:称)(Z k NT k H H S k ∈⎪⎪⎭⎫⎝⎛=∆为离散序列)0)((N n nTs h <≤的DFT 离散谱,简称离散谱。
(2) 性质:(i) 周期性:序列的N 点的DFT 离散谱是周期为N 的序列。
(ii) 共扼对称性:如果)0)((N n nTs x <≤为实序列,则其N 点的DFT 关于原点和N /2都具有共轭对称性。
即*k k H H =-;*k k N H H =-;*22kNkNH H =±(iii) 幅度对称性:如果)0)((N n nTs x <≤为实序列,则其N 点的DFT 关于原点和N /2都具有幅度对称性。
即k k H H -=;k k N H H =-;kNkNH H 22=±(3) 改写: (i) 简记)(s nT h 为)(n h(ii) 简记⎪⎪⎭⎫⎝⎛s NT k H 为)(k H (iii) DFT 对简记为:)()(k H n h D FT⇔或)()(k H n h ⇔(iv) ()[])1,,1,0(,)()(1-===∑-=∆N k W n h n h DFT k H N n nkN(v)[]())1,,1,0(,1)()(101-===∑-=--∆N n W k H Nk H DFT n h N k nkN4 DFT 总结(1) DFT 的定义是针对任意的离散序列)(nTs x 中的有限个离散抽样)0(N n <≤的,它并不要求该序列具有周期性。
(2) 由DFT 求出的离散谱)()(Z k NT k H H k H S k ∈⎪⎪⎭⎫⎝⎛==∆是离散的周期函数,周期为s s s f T NT N T N Nf ====1/00、离散间隔为0011f T N f NT s s ===。
离散谱关于变元k 的周期为N 。
(3) 如果称离散谱经过IDFT 所得到的序列为重建信号,))(('Z n nTs x ∈,则重建信号是离散的周期函数,周期为001f T NT s ==(对应离散谱的离散间隔的倒数)、离散间隔为001/Nf N T N NT T s s ===(对应离散谱周期的倒数)。
(4) 经IDFT 重建信号的基频就是频域的离散间隔,或时域周期的倒数,为SNT T f 1100==。
(5) 实序列的离散谱关于原点和2N(如果N 是偶数)是共轭对称和幅度对称的。
因此,真正有用的频谱信息可以从0~12-N范围获得,从低频到高频。
(6) 在时域和频域N ~0范围内的N 点分别是各自的主值区间或主值周期。
5 DFT 性质(1) 线性性:对任意常数m a (M m ≤≤1),有[]∑∑==⇔⎥⎥⎦⎤⎢⎢⎣⎡M m m m M m m m n x DFT a n x a DFT 11)()((2) 奇偶虚实性:(i) DFT 的反褶、平移:先把有限长序列周期延拓,再作相应反褶或平移,最后取主值区间的序列作为最终结果。
(ii) DFT 有如下的奇偶虚实特性:奇⇔奇;偶⇔偶;实偶⇔实偶;实奇⇔虚奇;实 ⇔(实偶) + j(实奇);实 ⇔(实偶)·EXP(实奇)。
(3) 反褶和共轭性:(4) 对偶性:)()(k Nx n X -⇔(i) 把离散谱序列当成时域序列进行DFT ,结果是原时域序列反褶的N 倍; (ii) 如果原序列具有偶对称性,则DFT 结果是原时域序列的N 倍。
(5) 时移性:kmN W k X m n x )()(⇔-。
序列的时移不影响DFT 离散谱的幅度。
(6) 频移性:)()(l k X W n x nl N -⇔-(7) 时域离散圆卷积定理:)()()()(k Y k X n y n x ⇔⊗(i) 圆卷积:周期均为N 的序列)(n x 与)(n y 之间的圆卷积为∑-=-=⊗1)()()()(N i i n y i x n y n x)()(n y n x ⊗仍是n 的序列,周期为N 。
(ii) 非周期序列之间只可能存在线卷积,不存在圆卷积;周期序列之间存在圆卷积,但不存在线卷积。
(8) 频域离散圆卷积定理:)()(1)()(k Y k X Nn y n x ⊗⇔(9) 时域离散圆相关定理:)()()(*)(k Y k X n R P xy⇔ 周期为N 的序列)(n x 和)(n y 的圆相关:()∑-=∆-==10*)()()()()()(),(N i P xy P n i y i x n R n y n x R是n 的序列,周期为N 。
(10) []{}**)(1)(k H DFT Nn h k =。
其中[]⋅kDFT 表示按k 进行DFT 运算。
(11) 帕斯瓦尔定理: ∑∑-=-==102102)(1)(N k N n k X Nn x6 快速傅里叶变换FFT(1) FFT 不是一种新的变换,而是DFT 的快速算法。
(2) 直接DFT 计算的复杂度:)(2N O计算DFT 需要:2*N N N =次复数乘法;2*N N N =次复数加法。
(3) FFT 算法推导:(i) 第L 次迭代中对偶结点值的计算公式为:⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧->>===-⎪⎩⎪⎨⎧-=+=-----))((22)()()()()()(1111L r K BR P N K K W K x K x K x W K x K x K x L r LL L r L L P N L L L L LL P N L L L L L L LL,L K 是循环控制变量。
(ii) 对偶结点的关系如图2所示:图2 FFT 中对偶结点关系图 (iii) 旋转因子:kN W 被称为旋转因子,可预先算好并保存。
(iv) 整序:经过r 次迭代后,得到结果()()b r r k k k x 110- ,实际结果应是()()b r k k k X 011 -,所以流程的最后一步是按下标的正常二进制顺序对结果进行整序。
(4) FFT 算法特点:(rN 2=) (i) 共需r 次迭代;(ii) 第)1(r L L ≤≤次迭代对偶结点的偶距为L L r L L N K K 2/2==--,因此一组结点覆盖的序号个数是12)(2-=-L L L N K K 。
(iii) 第)1(r L L ≤≤次迭代结点的组数为[]12)(2/-=-L L L K K N 。
(iv) LP N W 可以预先计算好,而且L P 的变化范围是12~0-N。
(5) FFT 算法流程:(r N 2=)(i) 初始化:10),()(0-≤≤←N n n x n x ; (ii) 第)1(r L L ≤≤次迭代:(a) 下标控制变量初始化0=L K ; (b) “结点对”的个数初始化0=num ;(c) DO Nnum WHILE L)2(<按对偶结点对的计算公式进行置位运算,得到)(L L K x 和)(L L K x 的值; 1+←L L K K ;1+←num num ;跳过已经计算过的结点(即上面L K 所对应的那些结点):L L N K 2/=+; 如果N K L <,转到b)继续计算下一组结点;否则结束本次迭代。