3.1 离散傅里叶变换的定义 3.2 离散傅里叶变换的基本性质 3.3 频率域采样 3.4 DFT的应用举例 3.1 离散傅里叶变换的定义 3.2 离散傅里叶变换的基本性质 3.3 频率域采样 3.4 DFT的应用举例
3.1 离散傅里叶变换的定义 3.1.1 DFT的定义 设x(n)是一个长度为M的有限长序列, 则定义x(n)的N点离散傅里叶变换为 3.1 离散傅里叶变换的定义 3.1.1 DFT的定义 设x(n)是一个长度为M的有限长序列, 则定义x(n)的N点离散傅里叶变换为 X(k)的离散傅里叶逆变换为
式中, , N称为DFT变换区间长度N≥M, 通常称(3. 1. 1)式和(3. 1 式中, , N称为DFT变换区间长度N≥M, 通常称(3.1.1)式和(3.1.2)式为离散傅里叶变换对。 下面证明IDFT[X(k)]的唯一性。 把(3.1.1)式代入(3.1.2)式有 M为整数 M为整数
所以, 在变换区间上满足下式: IDFT[X(k)]=x(n), 0≤n≤N-1 由此可见, (3.1.2)式定义的离散傅里叶变换是唯一的。 例 3.1.1 x(n)=R4(n) ,求x(n)的8点和16点DFT 设变换区间N=8, 则
设变换区间N=16, 则
3.1.2 DFT和Z变换的关系 设序列x(n)的长度为N, 其Z变换和DFT分别为: 比较上面二式可得关系式
图 3.1.1 X(k)与X(e jω)的关系
3.1.3 DFT的隐含周期性 前面定义的DFT变换对中, x(n)与X(k)均为有限长序列, 但由于WknN的周期性, 使(3.1.1)式和(3.1.2)式中的X(k)隐含周期性, 且周期均为N。 对任意整数m, 总有 均为整数 所以(3.1.1)式中, X(k)满足 同理可证明(3.1.2)式中 x(n+mN)=x(n)
实际上, 任何周期为N的周期序列 都可以看作长度为N的有限长序列x(n)的周期延拓序列, 而x(n)则是 的一个周期, 即 为了以后叙述方便, 将(3.1.5)式用如下形式表示:
图 3.1.2 有限长序列及其周期延拓
式中x((n))N表示x(n)以N为周期的周期延拓序列, ((n))N表示n对N求余, 即如果 n=MN+n1, 0≤n1≤N-1, M为整数, 则 ((n))N=n1 例如, 则有 所得结果附合图2.1.2所示的周期延拓规律。
如果x(n)的长度为N, 且 (n)=x((n))N, 则可写出 (n)的离散傅里叶级数表示为 (3.1.8) (3.1.9) 式中 (3.1.10)
3.2 离散傅里叶变换的基本性质 3.2.1 线性性质 如果x1(n)和x2(n)是两个有限长序列, 长度分别为N1和N2。 3.2 离散傅里叶变换的基本性质 3.2.1 线性性质 如果x1(n)和x2(n)是两个有限长序列, 长度分别为N1和N2。 y(n)=ax1(n)+bx2(n) 式中a、 b为常数, 即N=max[N1, N2], 则y(n)的N点DFT为 Y(k)=DFT[y(n)]=aX1(k)+bX2[k], 0≤k≤N-1(3.2.1) 其中X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。
3.2.2 循环移位性质 1. 序列的循环移位 设x(n)为有限长序列, 长度为N, 则x(n)的循环移位定义为 y(n)=x((n+m))NRN(N) (3.2.2)
图 3.2.1 循环移位过程示意图
2. 时域循环移位定理 设x(n) 是长度为N的有限长序列, y(n)为x(n)的循环移位, 即 y(n)=x((n+m))NRN(n) 则 Y(k)=DFT[y(n)] =W-km NX(k) (3.2.3) 其中X(k)=DFT[x(n)], 0≤k≤N-1。
证明: 令n+m=n′, 则有
由于上式中求和项x((n′))NWkn′N以N为周期, 所以对其在任一周期上的求和结果相同。 将上式的求和区间改在主值区则得 3. 频域循环移位定理如果 X(k)=DFT[x(n)], 0≤k≤N-1 Y(k)=X((k+l))NRN(k) 则 y(n)=IDFT[Y(k)]=WnlNx(n) (3.2.4)
有限长序列x1(n)和x2(n), 长度分别为N1和N2, N=max[ N1, N2 ]。 x1(n)和x2(n)的N点DFT分别为: 3.2.3 循环卷积定理 有限长序列x1(n)和x2(n), 长度分别为N1和N2, N=max[ N1, N2 ]。 x1(n)和x2(n)的N点DFT分别为: X1(k)=DFT[x1(n)] X2(k)=DFT[x2(b)] 如果 X(k)=X1(k)·X2(k) 则 (3.2.5)
一般称(3.2.5)式所表示的运算为x1(n)与x2(n)的循环卷积。 下面先证明(3.2.5)式, 再说明其计算方法。 证明: 直接对(3.2.5)式两边进行DFT 令n-m=n′, 则有
因为上式中x2((n′))NW kn′N, 以N为周期, 所以对其在任一个周期上求和的结果不变。 因此 循环卷积过程中, 要求对x2(m)循环反转, 循环移位, 特别是两个N长的序理的循环卷积长度仍为N。 显然与一般的线性卷积不同, 故称之为循环卷积, 记为
由于 所以 即循环卷积亦满足交换律。
作为习题请读者证明频域循环卷积定理: 如果 x(n)=x1(n)x2(n) 则 X1(k)=DFT[x1(n)] (3.2.6) X1(k)=DFT[x1(n)] X2(k)=DFT[x2(n)] 0≤k≤N-1
3.2.4 复共轭序列的DFT 设x*(n)是x(n)的复共轭序列, 长度为N X(k)=DFT[x(n)] 则 DFT[x*(n)]=X*(N-k), 0≤k≤N-1 (3.2.7) 且 X(N)=X(0)
证明: 根据DFT的唯一性, 只要证明(3.2.7)式右边等于左边即可。 又由X(k)的隐含周期性有X(N)=X(0) 用同样的方法可以证明 DFT[x*(N-n)]=X*(k) (3.2.8)
图3.2.2 循环卷积过程示意图
3.2.5 DFT的共轭对称性 1. 有限长共轭对称序列和共轭反对称序列 为了区别于傅里叶变换中所定义的共轭对称(或共轭反对称)序列, 下面用xep(n)和xop(n)分别表示有限长共轭对称序列和共轭反对称序列, 则二者满足如下定义式: xep(n)=x*ep(N-n), 0≤n≤N-1 (3.2.9) xop(n)=-x*op(N-m), 0≤n≤N-1 (3.2.10) 当N为偶数时, 将上式中的n换成N/2-n可得到
上式更清楚地说明了有很长序列共轭对称性的含义。 如图3.2.3所示。 图中*表示对应点为序列取共轭后的值。
图 3.2.3 共轭对称与共轭反对称序列示意图
如同任何实函数都可以分解成偶对称分量和奇对称分量一样, 任何有限长序列x(n)都可以表示成其共轭对称分量和共轭反对称分量之和, 即 x(n)=xep(n)+xop(n), 0≤n≤N-1 (3.2.11) 将上式中的n换成N-n, 并取复共轭, 再将(3.2.9)式和(3.2.10)式代入得到 x*(N-n)=x*ep(N-n)+x*op(N-n) =xep(n)-xop(n) (3.2.12) xep(n)=1/2[x(n)+x*(N-n)] (3.2.13) xop(n)=1/2[x(n)-x*(N-n)] (3.2.14)
2. DFT的共轭对称性 (1) 如果x(n)=xr(n)+jxi(n) 其中 xr=Re[x(n)]=1/2[x(n)+x*(n)] jxi(n)=jIm[x(n)]=1/2[x(n)-x*(n)] 由(3.2.7)式和(3.2.13)式可得 DFT[xr(n)]=1/2DFT[x(n)+x*(n)] =1/2[X(k)+X*(N-k)] =Xep(k)
由(3.2.7)式和(3.2.14)式得 DFT[jxi(n)]=1/2DFT[x(n)-x*(n)] =1/2[X(k)-X*(N-k)] =Xop(k) 由DFT的线性性质即可得 X(k)=DFT[x(n)]=Xep(k)+Xop(k) (3.2.16) 其中 Xep(k)=DFT[xr(n)] , X(k)的共轭对称分量 Xop(k)=DFT[jxi(n)] , X(k)的共轭反对称分量
(2) 如果x(n)=xep(n)+rop(n), 0≤n≤N-1 (3.2.17) 其中 xep(n)=1/2[x(n)+x*(N-n)], x(n)的共轭对称分量 xop(n)=1/2[x(n)-x*(N-n)] , x(n)的共轭反对称分量 由(3.2.8)式得 DFT[xep(n)]=1/2DFT[x(n)+x*(N-n)] =1/2[X(k)+X*(k)] =Re[X(k)]
DFT[xop(n)]=1/2DFT[x(n)-x*(N-n)] =1/2[X(k)-X*(k)] =jIm[X(k)] 因此X(k)=DFT[x(n)]=XR(k)+jXI(k)(3.2.18) 其中 XR(k)=Re[X(k)]=DFT[xep(n)] jXI(k)=jIm[X(k)]=DFT[xop(n)]
设x(n)是长度为N的实序列, 且X(k)=DFT[x(n)], 则 (1) X(k)=X*(N-k),0≤k≤N-1 (3.2.19) (2) 如果 x(n)=x(N-m) 则X(k)实偶对称, 即 X(k)=X(N-k) (3.2.20) (3) 如果x(n)=-x(N-n), 则X(k)纯虚奇对称, 即 X(k)=-X(N-k) (3.2.21)
利用DFT的共轭对称性, 通过计算一个N点DFT, 可以得到两个不同实序列的N点DFT, 设x1(n)和x2(n)为两个实序列, 构成新序列x(n)如下 : x(n)=x1(n)+jx2(n) 对x(n)进行DFT, 得到 X(k)=DFT[x(n)]=Xep(k)+Xop(k)
由(3.2.16)式、 (3.2.13)式和(3.2.14)式得到 Xep(k)=DFT[x1(n)]=1/2[X(k)+X*(N-k)] Xop(k)=DFT[jx2(n)]=1/2[X(k)-X*(N-k)] 所以 X1(k)=DFT[x1(n)]=1/2[X(k)+X*(N-k)] X2(k)=DFT[x2(n)]=-j1/2[X(k)-X*(N-k)]
3.3 频率域采样 设任意序列x(n)的Z变换为 且X(z)收敛域包含单位圆(即x(n)存在傅里叶变换)。 3.3 频率域采样 设任意序列x(n)的Z变换为 且X(z)收敛域包含单位圆(即x(n)存在傅里叶变换)。 在单位圆上对X(z)等间隔采样N点得到 xN(n)=IDFT[X(k)], 0≤n≤N-1
由DFT与DFS的关系可知, X(k)是xN(n)以N为周期的周期延拓序列 (n)的离散傅里叶级数系数 (k)的值序列, 即
将式(3.3.1)代入上式得 式中 为整数 其它m
如果序列x(n)的长度为M, 则只有当频域采样点数N≥M时, 才有 (3.3.2) (3.3.3) 如果序列x(n)的长度为M, 则只有当频域采样点数N≥M时, 才有 xN(n)=IDFT[X(k)]=x(n) 即可由频域采样X(k)恢复原序列x(n), 否则产生时域混叠现象。 这就是所谓的频域采 样+定理。
下面推导用频域采样X(k)表示X(z)的内插公式和内插函数。 设序列x(n)长度为M, 在频域0~2π之间等间隔采样N点, N≥M, 则有 式中
将上式代入X(z)的表示式中得
上式中W-Kn N=1, 因此 (3.3.4) (3.3.5) (3.3.6)
式(3. 3. 6)称为用X(k)表示X(z)的内插公式, φk(z)称为内插函数。 当z=ejω时, (3. 3. 5)式和(3. 3 式(3.3.6)称为用X(k)表示X(z)的内插公式, φk(z)称为内插函数。 当z=ejω时, (3.3.5)式和(3.3.6)式就成为x(n)的傅里叶变换X(ejω)的内插函数和内插公式, 即 进一步化简可得 (3.3.7) (3.3.8)
3.4 DFT的应用举例 DFT的快速算法FFT的出现, 使DFT在数字通信、 语言信号处理、 图像处理、 功率谱估计、 仿真、 系统分析、 雷达理论、 光学、 医学、 地震以及数值分析等各个领域都得到广泛应用。
3.4.1 用DFT计算线性卷积 如果 0≤k≤L-1 则由时域循环卷积定理有 Y(k)=DFT[y(n)]=X1(k)X2(k), 0≤k≤L-1
由此可见, 循环卷积既可在时域直接计算, 也可以按照图3. 4 由此可见, 循环卷积既可在时域直接计算, 也可以按照图3.4.1所示的计算框图, 在频域计算。 由于DFT有快速算法FFT, 当N很大时, 在频域计算的速度快得多, 因而常用DFT(FFT)计算循环卷积。 图 3.4.1 用DFT计算循环卷积
假设h(n)和x(n)都是有很长序列, 长度分别是N和M。 它们的线性卷积和循环卷积分别表示如下: 在实际应用中, 为了分析时域离散线性非移变系统或者对序列进行滤波处理等, 需要计算两个序列的线性卷积, 与计算循环卷积一样, 为了提高运算速度, 也希望用DFT(FFT)计算线性卷积。 而DFT只能直接用来计算循环卷积, 为此导出线卷积和循环卷积之间的关系以及循环卷积与线性卷积相等的条件。 假设h(n)和x(n)都是有很长序列, 长度分别是N和M。 它们的线性卷积和循环卷积分别表示如下: (3.4.1) (3.4.2)
其中, L≥max[N, M] 对照式(3.4.1)可以看出, 上式中 (3.4.3)
图 3.4.2 线性卷积与循环卷积
图 3.4.3 用DFT计算线性卷积框图
设序列h(n)长度为N, x(n)为无限长序列。 将x(n)均匀分段, 每段长度取M, 则 于是, h(n)与x(n)的线性卷积可表示为 (3.4.4)
图 3.4.4 重叠相加法卷积示意图
3.4.2 用DFT对信号进行谱分析 所谓信号的谱分析就是计算信号的傅里叶变换。 连续信号与系统的傅里叶分析显然不便于直接用计算机进行计算, 使其应用受到限制, 而DFT是一种时域和频域均离散化的变换, 适合数值运算, 成分分析离散信号和系统的有力工具。 1. 用DFT对连续信号进行谱分析 工程实际中, 经常遇到的连续信号xa(t), 其频谱函数Xa(jΩ)也是连续函数。
设连续信号xa(t)持续时间和Tp, 最高频率为fc, 如图2.4.5所示。 xa(t)的傅里叶变换为 对xa(t)以采样间隔T≤1/2fc(即fs=1/T≥2fc)采样得 a(t)= Xa(nT)。 设共采样N点, 并对Xa(jf)作零阶近似(t=nT, dt=T)得
将f=kF和式(3.4.5)代入X(jf)中可得Xa(jf) 的采样 显然, Xa(jf)仍是f的连续周期函数, a(t)和X (jf)如图3.4.5(b)所示。 对 X(jf)在区间[0, fs]上等间隔采样N点, 采样间隔为F, 如图3.4.5(c)所示。 参数fs 、 Tp、 N和F满足如下关系式: (3.4.5) 由于NT=Tp, 所以 (3.4.6) 将f=kF和式(3.4.5)代入X(jf)中可得Xa(jf) 的采样
0≤k≤N-1 令 则 (3.4.8)
理想低能滤波器的单位冲击响应ha(t)及其频响函数Ha(if)如图3.4.6(a)、 (b)所示。 图中
图 3.4.6 用DFT计算理想低通滤波器频响曲线
现在用DFT来分析ha(t)的频率响应特性。 由于ha(t)的持续时间为无穷长, 所以要截取一段Tp, 假设Tp=8 s, 采样间隔T=0 现在用DFT来分析ha(t)的频率响应特性。 由于ha(t)的持续时间为无穷长, 所以要截取一段Tp, 假设Tp=8 s, 采样间隔T=0.25 s(即采样速度fs=4 Hz), 采样点数N=Tp/T=32。 此时频域采样间隔F=1/NT=0.125 Hz。 则 H(k)=T·DFT[h(n)], 0≤k≤31 其中 h(n)=ha(nT)R32(n) 在已知信号的最高频率fc(即谱分析范围时), 为了避免在DFT运算中发生频率混叠现象, 要求采样速率fs满足下式 fs>2fc (3.4.9)
按照(3.4.5)式, 谱分辨率F=fs/N, 如果保持采样点数N不变, 要提高谱的分辨率(F减小), 必须降低采样速率, 采样速率的降低会引起谱分析范围减少。 如维持fs不变, 为提高分辨率可以增加采样点数N, 因为NT=Tp, T=f-1s, 只有增加对信号的观察时间Tp, 才能增加N。 Tp和N可以按照下式进行选择: (3.4.10) (3.4.11)
例 3. 4. 1 对实信号进行谱分析, 要求谱分辨率F≤10 Hz,信号最高频率fc=2 例 3.4.1 对实信号进行谱分析, 要求谱分辨率F≤10 Hz,信号最高频率fc=2.5 kHz, 试确定最小记录时间TPmin, 最大的采样间隔Tmax, 最少的采样点数Nmin。 如果fc不变, 要求谱分辨率增加一倍, 最少的采样点九和最小的记录时间是多少? 解: 因此TPmin=0.1 s, 因为要求fs≥2fc, 所以
为使频率分辨率提高一倍, F=5 Hz, 要求 2. 用DFT对序列进行谱分析 我们已知道单位圆上的Z变换就是序列傅里叶变换, 即
对周期为N的周期序列 , 由(2.3.10)式知道, 其频谱函数为 用DFT的隐含周期性知道, 截取 的主值序列x(n)= (n)RN(n), 并进行N点DFT得到 其中
如果截取长度M等于 (n)的整数个周期, 即M=mN, m为正整数, 则 令n=n′+rN, r=0, 1, …, m-1, n′=0, 1, …, N-1,则
因为 k/m=整数 k/m≠整数
k/m=整数 k/m≠整数 如果 的周期预先不知道, 可先截取M进行DFT, 即 再将截取长度扩大一倍, 截取
图 3.4.7 单位圆与非单位圆采样
例如, 要求计算序列在半径为r的圆上的频谱, 那么N个等间隔采样点为 , k=0, 1, 2, …, N-1, zk点的频谱分量为 令 则 (3.4.12)
设序列x(n)长度为N, 要分析z平面上M点频谱采样值, 分析点为zk, k=0, 1, 2, …, M-1。 3. ChirpZ变换 设序列x(n)长度为N, 要分析z平面上M点频谱采样值, 分析点为zk, k=0, 1, 2, …, M-1。 设 zk=AW-k, 0≤k≤M-1 式中A和W为复数, 用极坐标形式表示为 (3.4.13) 式中A0和W0为实数。 当k=0时有
将zk代入Z变换公式得到 利用下面的关系式: 得到: 令
(3.4.14) 图 3.4.8 Chrip-Z变换分析频率点分布图
图 3.4.9 Chirp z变换计算框图
图 3.4.10 Chirp-Z变换中hL(n)序列的形成
由(3.4.3)式知, y(n)○h(n)是V(n)的周期延拓序列的主值序列, 延拓周期为L, 即 综上所述, 可归纳出具体计算步骤如下: (1) 形成hL(n)序列 (1) (2) (3)
(4) (5) 计算 (6) (7)
与标准DFT(FFT)算法相比较, Chirp-Z变换有以下特点: (1) 输入序列长度N和输出序列长度不需要相等, 且二者均可以素数。 (2) 分析频率点zk的起始点z0及相邻两点的夹角φ0是任意的(即频率分辨率是任意的), 因此可从任意频率上开始, 对输入数据进行窄带高分辨率的谱分析。 (3) 谱分析路径可以是螺旋形的。 (4) 当A=1,M=N, 时, zk均匀分布在单位圆上, 此时Chirp-Z变换就是序列的DFT。
4. 用DFT进行谱分析的误差问题 DFT(实际中用FFT计算)可用来对连续信号和数字信号进行谱分析。 (1) 混叠现象。 (2) 栅栏效应。 (3) 截断效应。 根据傅里叶变换的频域卷积定理有
其中 幅度谱RN(ω)~ω曲线如图3.4.11所示(RN(ω)以2π为周期, 只画低频部分)。 图中,|ω|<2π/N的部分称为主瓣, 其余部分称为旁瓣。 例如, x(n)=cos(ω0n), ω0=π/4其频谱为
图 3.4.11 矩形窗函数的幅度谱
图 3.4.12 加矩形窗前后的频谱