第三章学习目标 1.理解傅里叶变换的几种形式 2.理解离散傅里叶变换及性质,掌握圆周移位、共轭对称性,掌握圆周卷积、线性卷积及两者之间的关系 3.了解频域抽样理论 4.理解频谱分析过程
第3章 离散傅里叶变换(DFT) 复习 3.1离散傅里叶变换的定义 3.2离散傅里叶变换的基本性质 3.3频率域采样 3.5与本章有关的MATLAB文件
一、Fourier变换的几种可能形式 时间函数 频率函数 连续时间、连续频率—傅里叶变换 连续时间、离散频率—傅里叶级数 时间函数 频率函数 连续时间、连续频率—傅里叶变换 连续时间、离散频率—傅里叶级数 离散时间、连续频率—序列的傅里叶变换 离散时间、离散频率—离散傅里叶变换
连续时间、连续频率—傅里叶变换 时域连续函数造成频域是非周期的谱, 而时域的非周期造成频域是连续的谱密度函数。
连续时间、离散频率—傅里叶级数 时域连续函数造成频域是非周期的谱,而频域的离散对应时域是周期函数。
离散时间、连续频率—序列的傅里叶变换 时域的离散化造成频域的周期延拓,而时域的非周期对应于频域的连续
离散时间、离散频率—离散傅里叶变换 一个域的离散造成另一个域的周期延拓,因此离散傅里叶变换的时域和频域都是离散的和周期的
四种傅里叶变换形式的归纳 时间函数 频率函数 连续和非周期 非周期和连续 连续和周期(T0) 非周期和离散(Ω0=2π/T0) 周期(Ωs=2π/T)和连续 离散(T)和周期(T0) 周期(Ωs=2π/T)和离散(Ω0=2π/T0)
二 、周期序列的DFS及其性质 常系数线性差分方程
周期序列的DFS正变换和反变换: 其中:
可看作是对 的一个周期 做 变换然后将 变换在 平面 单位圆上按等间隔角 抽样得到
傅里叶变换是ω的周期函数,周期为2π,所以得出的序列是k的周期函数,周期为N DFS与序列傅里叶变换的关系 考虑一个有限长非周期序列x(n),其傅里叶变换为X(ejω),且假定序列是周期序列 的一个主值周期,所以 是通过对X(ejω)在ωk=2πk/N频率处采样得到的,即 傅里叶变换是ω的周期函数,周期为2π,所以得出的序列是k的周期函数,周期为N
DFS的性质 1、线性: 若 则 其中, 为任意常数
2、序列的移位 3、调制特性
4、周期卷积和 若 则
0 … 0 5 4 3 2 1 … 4 3 2 1 5 … 5 4 3 2 1 0 … 3 2 1 0 4 … 4 3 2 1 0 5 … 2 1 0 5 3 … 3 2 1 0 5 4 … 1 0 5 4 2 … 2 1 0 5 4 3 … 0 5 4 3 1 … 1 0 5 4 3 2 … 5 4 3 2 1 2 3 4 5 0 … 3 4 5 0 1 1 1 1 0 0 … 1 1 0 0 6 … 0 1 2 3 4 5 …-4 -3 -2 -1 10 8 6 14 12
为什么要由DFS过渡到DFT? 但DFT并不是“第五种”傅立叶变换! 从原理上, 和 的各自一个周期即可表示完整的序列; 从原理上, 和 的各自一个周期即可表示完整的序列; 从实际上,当我们在计算机上实现信号的频谱分析时,要求:时域、频域都是离散的;时域、频域都是有限长; FT、FS、 DTFT、 DFS 都不符合要求 但利用DFS的时域、频域的周期性,各 取一个周期,就形成新的变换对: 但DFT并不是“第五种”傅立叶变换!
3.1 离散傅里叶变换的定义 1.有限长序列与 周期序列的关系 实际上, 任何周期为N的周期序列 都可以看作长度 3.1 离散傅里叶变换的定义 1.有限长序列与 周期序列的关系 实际上, 任何周期为N的周期序列 都可以看作长度 为N的有限长序列x(n)的周期延拓序列,而x(n)则是 的一个周期, 即 常系数线性差分方程 x((n))N表示x(n)以N为周期的周期延拓序列, ((n))N表示n对N求余,即如果 n=MN+n1,0≤n1≤N-1, M为整数,则 ((n))N=n1
同样:X(k)也是一个N点的有限长序列
2.有限长序列的DFT正变换和反变换: 常系数线性差分方程 其中:
IDFT[X(k)]=x(n), 0≤n≤N-1 由此可见, (3.1.2)式定义的离散傅里叶变换是唯一的。 把X(k) 式代入IDFT式有 由于 M为整数 M为整数 所以, 在变换区间上满足下式: IDFT[X(k)]=x(n), 0≤n≤N-1 由此可见, (3.1.2)式定义的离散傅里叶变换是唯一的。
x(n)的FT在区间[0,2π]上的N点等间隔抽样。 x(n)的N点DFT是 x(n)的z变换在单位圆上的N点等间隔抽样; x(n)的FT在区间[0,2π]上的N点等间隔抽样。
例1. 已知序列x(n)=δ(n),求它的N点DFT。 解 单位脉冲序列的DFT很容易由DFT的定义式得到: k=0, 1, …, N-1 δ(n)的X(k)如图。这是一个很特殊的例子,它表明对序列δ(n)来说,不论对它进行多少点的DFT,所得结果都是一个离散矩形序列。
图 序列δ(n)及其离散傅里叶变换
3.1.3 DFT的隐含周期性 1.X(k) 的周期性 由于 的周期性, 使(3.1.1)式和(3.1.2)式中的X(k)隐含周期性, 且周期均为N。 即对任意整数m, 总有 均为整数 所以(3.1.1)式中, X(k)满足 同理可证明(3.1.2)式中 x(n+mN)=x(n)
结论:有限长序列的离散傅里叶变换X(k)正好是x(n)的周期延拓 3.离散傅里叶变换与离散傅里叶级数之间的关系 如果x(n)的长度为N, 且 =x((n))N, 则可写出 的离散傅里叶级数表示为 式中 结论:有限长序列的离散傅里叶变换X(k)正好是x(n)的周期延拓 序列x((n))N的离散傅里叶级数系数 的主值序列。
3.2 离散傅里叶变换的基本性质 DFT正变换和反变换: 常系数线性差分方程
1. 线性性质 循环移位性质 循环卷积定理 复共轭序列的DFT DFT的共轭对称性
1、线性性质: 若 则 这里,序列长度及DFT点数均为N 若不等,分别为N1,N2,则需补零使两序列长度相等,均为N,且
2、序列的循环(圆周)移位 (1) 序列的循环移位 定义:
循环移位的实质是将x(n) 左移m位,而移出主值区间的(0≤n≤N-1)的序列值又依次从右侧进入主值区间。
(2) 时域循环移位定理 这表明,有限长序列的圆周移位在离散频域中引入一个和频率成正比的线性相移 ,而对频谱的幅度没有影响。
证明: 令n+m=n′, 则有 由于上式中求和项x((n′))NWNkn′以N为周期, 所以对其在任一周期上的求和结果相同。 将上式的求和区间改在主值区则得
根据DFT与DFS之间的关系证明
(3)频域循环移位定理 时域序列的调制等效于频域的圆周移位
(4)课后练习 1.证明:频域循环移位定理 2.证明如下两式
3、循环卷积定理 (1)时域循环卷积定理 若 则
证明: 令n-m=n′, 则有 因为上式中x2((n′))NWNkn′,以N为周期,所以对其在任一个周期上求和的结果不变。 因此
为什么有循环卷积 ? DFT对应周期信号,所以, , 及 都是周期的! 循环矩阵
(2)循环卷积的过程 1)补零 2)周期延拓 3)翻褶,取主值序列 4)圆周移位 5)相乘相加 N N N
用图表求解圆卷积 x(n)={5,4,3,2,1},h(n)={1,2,3},同上求N=7点的圆卷积。 解:(1)将x(n)补零加长为x(k)={5,4,3,2,1,0,0}, (2)将h(n)补零加长至N=7,并周期延拓, (3)反折得到:h(-k)={1,0,0,0,0,3,2} (4)作图表
思考:N=5时的结果是?与N=7时比较? 两个序列的线性卷积? 能不能用循环卷积求解线性卷积?
…-3 -2 -1 0 1 2 3 4 5 6 7… 5 4 3 2 1 0 1 1 1 1 0 0 … 1 0 0 1 1… … 1 1 1 1 0 0 1 1 1 1 0… 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 8 10 12 14 6
(3)频域循环卷积定理 若 则
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) 证明
证明1: 又由X(k)的隐含周期性有X(N)=X(0)
证明2: 用同样的方法可以证明 DFT[x*(N-n)]=X*(k)
4、复共轭序列
5、共轭对称性 任意序列可表示成 和 之和: 其中: (1)有限长(圆周)共轭对称序列和共轭反对称序列 序列的Fourier变换的对称性质中提到: 其中: 任意序列可表示成 和 之和:
任意周期序列:
其中: 共轭对称分量: 共轭反对称分量:
定义: 圆周共轭对称序列: 圆周共轭反对称序列: 则任意有限长序列:
圆周共轭对称序列满足:
圆周共轭反对称序列满足:
同理: 其中:
(2)DFT的共轭对称性 序列 DFT
将序列x(n)分成实部xr(n)与虚部xi(n) x(n)=xr(n)+jxi(n) 其中 xr(n)=Re[x(n)]=1/2[x(n)+x*(n)] jxi(n)=jIm[x(n)]=1/2[x(n)-x*(n)] 可得 DFT[jxi(n)] =1/2DFT[x(n)-x*(n)] =1/2[X(k)-X*(N-k)] =Xop(k) DFT[xr(n)] =1/2DFT[x(n)+x*(n)] =1/2[X(k)+X*(N-k)] =Xep(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)的共轭反对称分量
将序列分成共轭对称部分xep(n)和共轭反对称部分xop(n) x(n)=xep(n)+xop(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)的共轭反对称分量 可得 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)) 其中 XR(k)=Re[X(k)]=DFT[xep(n)] jXI(k)=jIm[X(k)]=DFT[xop(n)]
实数序列的共轭对称性 序列 DFT
纯虚序列的共轭对称性 序列 DFT
例:设x1(n)和x2(n)都是N点的实数序列,试用一次N点DFT运算来计算它们各自的DFT:
时域抽样定理:在满足奈奎斯特定理条件下,时域抽样信号可以不失真地还原原连续信号。 3.3频率域采样 时域抽样定理:在满足奈奎斯特定理条件下,时域抽样信号可以不失真地还原原连续信号。 频域抽样呢? 抽样条件? 常系数线性差分方程 内插公式?
(1)频率域抽样
由频域抽样序列 还原得到的周期序列是原非周期序列 的周期延拓序列,其周期为频域抽样点数N。 所以:时域抽样造成频域周期延拓 同样,频域抽样造成时域周期延拓 x(n)为无限长序列—混叠失真 x(n)为有限长序列,长度为M
频率采样定理 若序列长度为M,则只有当频域采样点数: 时,才有 即可由频域采样 不失真地恢复原信号 ,否则产生时域混叠现象。
(2)用频域采样 表示 的内插公式
3.4 DFT的应用举例 DFT的快速算法FFT的出现, 使DFT在数字通信、 语言信号处理、 图像处理、 功率谱估计、 仿真、 系统分析、 雷达理论、 光学、 医学、 地震以及数值分析等各个领域都得到广泛应用。
3.4.1 用DFT计算线性卷积 1.循环卷积的频域计算方法 如果 0≤k≤L-1 则由时域循环卷积定理有 Y(k)=DFT[y(n)]=X1(k)X2(k), 0≤k≤L-1
图 3.4.1 用DFT计算循环卷积
2、有限长序列的线性卷积与圆周卷积 N点圆周卷积: N 线性卷积:
讨论圆周卷积和线性卷积之间的关系: 对x1(n)和x2(n)补零,使其长度均为N点; 对x2(n)周期延拓: 圆周卷积:
N
图 3.4.2 线性卷积与循环卷积
小结:线性卷积求解方法 时域直接求解 z变换法 DFT法 补N-N1个零 x(n) N点DFT 补N-N2个零 h(n) N点IDFT y(n) = x(n)*h(n)
圆 周 卷 积 与 线 性 卷 积 的 性 质 对 比
3.分段重叠法计算线性卷积 设序列h(n)长度为N, x(n)为无限长序列。 将x(n)均匀分段, 每段长度取M, 则 于是, h(n)与x(n)的线性卷积可表示为
图 3.4.4 重叠相加法卷积示意图
5.分段保留法计算线性卷积 这种方法相当于一个长度为N的有限长序列h(n)和一 个长度为M的有限长序列x(n) ,求其L点的循环卷积 由前分析可得 但是L< N+M-1,然后确认出在该循环卷积中对应线性 卷积的那一部分。最后将所得到的输出序列“补在一起” 形成最后的输出序列。 下面,首要的问题是要确定在L点的循环卷积中,那些 对应线性卷积的数值。
通过分析,可得在L个点的循环卷积中,前L-(N+M-1)个 点是不正确的,而后边的点是等于其线性卷积的。 如果L=M,则前N-1个点是不正确的
因此,我们可以将长序列分为长度为M的序列段,使得每个 序列段与先前的序列段重叠N-1 个点,即
每个输出段在区间0<n<N-2的部分是必须去掉的,最后把来 自后续序列段的样本值连接起来就是输出序列 其中 Ykp(n)是h(n)与xk(n)的M点 循环卷积
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)采样得 xa(t)= Xa(nT)。 设共采样N点, 并对Xa(jf)作零阶近似(t=nT, dt=T)得
将f=kF和式(3.4.5)代入X(jf)中可得Xa(jf) 的采样 显然, Xa(jf)仍是f的连续周期函数, x 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 加矩形窗前后的频谱
3.5与本章有关的 MATLAB 文件 (1)在MATLAB中,对形式为 的DFT可以用函数H=Freqz(num,den,w)计算; 可以用函数U=fft(u,N)和u=ifft(U,N)计算N 点序列的DFT正、反变换。 (2)直接计算DFT clear;close all; xn=input('请输入序列x='); N=length(xn); n=0:N-1;k=n;nk=n'*k; WN=exp(-j*2*pi/N); Wnk=WN.^nk; Xk=xn*Wnk; stem(n,Xk);
(4)fftfilt.m 用叠接相加法实现卷积。格式是 y=fftfilt(h,x) 或 y=fftfilt(h, x,N) 记 的长度为 , 的长度为 。 若采用第一个调用方式,程序自动地确定对 分段的长度 及做FFT的长度 , 显然, 是最接近 的2的整次幂。分的段数 为 。采用第二个调用方式,使用者可自己 指定做FFT的长度。建议使用第一个调用方式。
作业 P93 1.(3)(5)(9) 2.(1) 3. 4. 8. 11. 14.