Skip to content

数字信号处理复习提纲

本文档仅用于复习蒋武杨老师的课程《数字信号处理》。参考书本为《数字信号处理(第五版)》9787560664828。


绪论


P2

数字信号处理的实现方法,分为软件实现方法和硬件实现方法:

  • 软件实现方法指的是按照原理和算法,自己编写程序或者采用现成的程序在通用计算机上实现;
  • 单片机实现的方法属于软硬结合实现......采用专用的数字信号处理芯片(DSP芯片)是目前发展最快、应用最广的一种方法;
  • 对于更高速的实时系统,DSP的速度也不满足要求时,应采用可编程超大规模器件或开发专用芯片来实现。

第1章

时域离散信号和时域离散系统


P4

如果信号的 自变量 和 函数值 都是 连续值 ,则称这种信号为 模拟信号 ,或者称为 时域连续信号 ,例如语言信号、温度信号等;

如果 自变量 取 离散值 , 而 函数值 取 连续值 , 则称这种信号为 时域离散信号 ,这种信号通常来源于对模拟信号的采样;

如果信号的 自变量 和 函数值 均取 离散值 , 则称为 数字信号


P5

信号有模拟信号时域离散信号数字信号之分,按照系统的输入输出信号的类型,系统也分为模拟系统时域离散系统数字系统

数字信号处理最终要处理的是数字信号,但为简单,在理论研究中一般研究时域离散信号和系统

假设模拟信号xa(t),在离散时间点tn对它进行采样,得到xa(tn)n为整数。xa(tn)是离散时间变量tn的函数,仅在离散时间点tn上有意义,而在其他时间则没有定义。在实际应用中,通常采样间隔为常数Ttn=nT。这种采样称为等间隔采样(均匀采样),采样得到的信号记为

x[n]=xa(t)|t=nT=xa(nT)<n<

按照国际通用惯例,模拟信号的(t)用圆括号,而数字信号的[n]用方括号。方括号用来提醒读者:方括号里的自变量n只取整数。

至于在考试时,圆括号和方括号都算对。

显然x[n]是一个有序的数字集合,因此时域离散信号也可以称为序列。

时域离散信号有三种表示方法

  1. 用集合符号表示序列
  2. 用公式表示序列
  3. 用图形表示序列

P7

单位脉冲序列δ(n)

δ(n)={1,n=00,n0 

单位脉冲序列也称为单位采样序列,在《信号与系统》书中成为单位序列。

矩形序列RN(n)

RN(n)={10nN10其他n

P8

正弦序列

x(n)=sin(ωn)

式中,ω称为正弦序列的数字域频率(也称数字频率),单位是弧度(rad),它表示序列变化的速率,或者说表示相邻两个序列值之间相位变化的弧度数。

在《信号与系统》书中,把数字域频率称为数字角频率。

如果正弦序列是由模拟信号xa(t)采样得到的,那么

xa(t)=sin(Ωt)=sin(2πft)x(n)=xa(t)|t=nT=sin(ΩnT)=sin(ωn)

ω与模拟角频率Ω之间的关系为

ω=ΩT

上述公式具有普遍意义,它表示凡是由模拟信号采样得到的序列,模拟角频率Ω与序列的数字域频率ω呈线性关系。由于采样频率Fs与采样周期T互为倒数,因而有

ω=ΩFs=2πfFs

上式表示数字域频率是模拟角频率对采样频率的归一化频率。本书中用ω表示数字域频率,Ωf分别表示模拟角频率和模拟频率。


P9

负指数序列

x(n)=e(σ+jω0)n

式中,ω0为数字域频率。设σ=0,用极坐标和实部虚部表示如下式:

x(n)=ejω0nx(n)=cos(ω0n)+jsin(ω0n)

由于n取整数,下面等式成立:

ej(ω0+2πM)n=ejω0ncos[(ω0+2πM)n]=cos(ω0n)sin[(ω0+2πM)n]=sin(ω0n)

上面公式中M取整数,所以对数字域频率而言,正弦序列和负指数序列都是以2π为周期的。在以后的研究中,在频率域只分析研究其主值区[π,π][0,2π]就够了。

周期序列

如果对所有n,存在一个最小的正整数N,使下面等式成立:

x(n)=x(n+mN)m

则称序列x(n)周期性序列,周期为N

对于一般正弦序列与负指数序列的周期性讨论请查阅书本P9。


P12

系统的输入、输出之间满足线性叠加原理的系统称为线性系统

如果系统对输入信号的运算关系T[ · ]在整个运算过程中不随时间变化,或者说系统对于输入信号的响应与信号加于系统的时间无关,则称这种系统为时不变系统


P13

设系统的输入x(n)=δ(n),系统输出y(n)的初始状态为零,定义这种条件下的系统输出为系统单位脉冲响应

在《信号与系统》书中称为单位序列。


P18

如果系统n时刻的输出只取决于n时刻以及n时刻以前的输入序列,而和n时刻以后得输入序列无关,则称该系统具有因果性质,或称该系统为因果系统


P19

如果对有界输入,系统产生的输出也是有界的,则称该系统具有稳定性质,或称该系统为稳定系统


P24

模拟信号数字处理框图

xa(t)预滤波ADC数字信号处理DAC平滑滤波ya(t)

ADC(Analog/Digital Converter) 模/数转换器
DAC(Digital/Analog Converter) 数/模转换器


P27

总结上述内容,采样定理叙述如下:

(1)对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率 Ωs 为周期进行周期性的延拓形成的,用如下公式表示。

X^a(jΩ)=12πXa(jΩ)Pδ(jΩ)=12π2πTXa(jθ)k=δ(ΩkΩsθ)dθ=1Tk=Xa(jθ)δ(ΩkΩsθ)dθ=1Tk=Xa(jΩjkΩs)

关键符号说明:
X^a(jΩ):采样信号的频谱;
Xa(jΩ):原连续信号的频谱;
Pδ(jΩ):采样脉冲(冲击串)的频谱;
Ωs=2πT:采样角频率(T 为采样周期);
δ():单位冲击函数;
k:整数,代表周期延拓的“副本”序号。

(2)设连续信号 xa(t) 属带限信号,最高截止频率为 Ωc,如果采样角频率 Ωs2Ωc(采样频率Fs2fc),那么让采样信号 x^a(t) 通过一个增益为 T、截止频率为 Ωs/2=π/T 的理想低通滤波器,可以唯一地恢复出原连续信号 xa(t)。否则,Ωs<2Ωc 会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。

实际中对模拟信号进行采样,需根据模拟信号的截止频率,按照采样定理的要求选择采样频率,即 Ωs2Ωc,但考虑到理想滤波器 G(jΩ) 不可实现,要有一定的过渡带,为此可选 Ωs=(2+α)Ωcα>0。另外,可以在采样之前加一抗混叠的低通滤波器,滤除高于 Ωs/2 的一些无用的高频分量和其他的一些杂散信号。这就是在模拟信号数字处理框图中采样之前加预滤波的原因。

平滑滤波器的原因请查阅书本P32第五行


第2章

时域离散信号和系统的频域分析


P79

设系统初始状态为零,系统对输入为单位脉冲序列 δ(n) 的响应输出称为系统的单位脉冲响应 h(n)。对 h(n) 进行傅里叶变换,得到:

H(ejω)=n=h(n)ejωn=|H(ejω)|ejφ(ω)

一般称 H(ejω) 为系统的频率响应函数,或称系统的传输函数,它表征系统的频率响应特性。|H(ejω)| 称为幅频特性函数φ(ω) 称为相频特性函数

h(n) 进行 Z 变换,得到 H(z),一般称 H(z) 为系统的系统函数,它表征了系统的复频域特性。对 N 阶差分方程进行 Z 变换,得到系统函数的一般表示式:

H(z)=Y(z)X(z)=i=0Mbizii=0Naizi

上面提到的 ”对 h(n) 进行傅里叶变换“ 、”对 h(n) 进行 Z 变换“ 等术语,在我们学习时可不用理会,即使不学文中所说的 ”傅里叶变换“、” Z 变换“ ,仍能理解相关知识点。


第3章

离散傅里叶变换(DFT)


P95~P98

x(n) 是一个长度为 M有限长序列,则定义 x(n)N离散傅里叶变换为

X(k)=DFT[x(n)]=n=0N1x(n)WNknk=0,1,,N1

X(k) 的离散傅里叶逆变换(Inverse Discrete Fourier Transform, IDFT)为

x(n)=IDFT[X(k)]=1Nk=0N1X(k)WNknn=0,1,,N1

式中,WN=ej2πNN 称为 DFT 变换区间长度,NM

按照国际通用惯例,DFT的 X[k] 用方括号,表示 k 只取整数。

前面定义的 DFT 变换对中,x(n)X(k) 均为有限长序列,但由于 WNkn 的周期性,使变换式中的 X(k)x(n) 隐含周期性,且周期均为 N。对任意整数 m,总有

WNk=WNk+mNk,m 为整数,N 为自然数

所以离散傅里叶变换式中,X(k) 满足:

X(k+mN)=n=0N1x(n)WN(k+mN)n=n=0N1x(n)WNkn=X(k)

实际上,任何周期为 N 的周期序列 x~(n) 都可以看做长度为 N 的有限长序列 x(n)周期延拓序列,而 x(n) 则是 x~(n) 的一个周期,即

x~(n)=m=x(n+mN)x(n)=x~(n)RN(n)

上述关系如书本P98图 3.1.2(a) 和 (b) 所示。一般称周期序列 x~(n) 中从 n=0N1 的第一个周期为 x~(n)主值区间,而主值区间上的序列称为 x~(n)主值序列。因此 x(n)x~(n) 的上述关系可叙述为:x~(n)x(n)周期延拓序列x(n)x~(n)主值序列


P99

MATLAB 提供了用快速傅里叶变换算法 FFT(算法见第 4 章介绍)计算 DFT 的函数 fft,其调用格式如下:

Matlab
XK = fft(xn, N)

调用参数 xn 为被变换的时域序列向量,N 是 DFT 变换区间长度。当 N 大于 xn 的长度时,fft 函数自动在 xn 后面补零。函数返回 xnN 点 DFT 变换结果向量 Xk,这时,X(k)=DFT[x(n)]N=Xk(k+1)k=0N1。当 N 小于 xn 的长度时,fft 函数计算 xn 的前面 N 个元素组成的 N 长序列的 N 点 DFT,忽略 xn 后面的元素。

ifft 函数计算 IDFT ,其调用格式与 fft 函数相同,可参考 help 文件。


P118

用 DFT 分析连续信号谱的原理示意图
用 DFT 分析连续信号谱的原理示意图


P120

在对连续信号进行谱分析时,主要关心两个问题,这就是谱分析范围频率分辨率

谱分析范围[0,Fs/2],直接受采样频率 Fs 的限制。为了不产生频谱混叠失真,通常要求信号的最高频率 fc<Fs/2

频率分辨率用频率采样间隔 F 描述,F 表示谱分析中能够分辨的两个频率分量的最小间隔。显然,F 越小,谱分析就越接近 Xa(jf),所以 F 较小时,我们称频率分辨率较高。


P125~P126

DFT(实际中用 FFT 计算)可用来对连续信号和数字信号进行谱分析。在实际分析过程中,要对连续信号采样和截断,有些非时限数据序列也要截断,由此可能引起分析误差。下面分别对可能产生误差的三种现象进行讨论。

(1)混叠现象

对连续信号进行谱分析时,首先要对其采样,变成时域离散信号后才能用 DFT (FFT) 进行谱分析。采样速率 Fs 必须满足采样定理,否则会在 ω=π(对应模拟频率 f=Fs/2)附近发生频谱混叠现象。这时用 DFT 分析的结果必然在 f=Fs/2 附近产生较大误差。因此,理论上必须满足 Fs2fcfc 为连续信号的最高频率)。对 Fs 确定的情况,一般在采样前进行预滤波,滤除高于折叠频率 Fs/2 的频率成分,以免发生频谱混叠现象。

(2)栅栏效应

我们知道,N 点 DFT 是在频率区间 [0,2π] 上对时域离散信号的频谱进行 N 点等间隔采样,而采样点之间的频谱是看不到的。这就好比从 N 个栅栏缝隙中观看信号的频谱情况,仅得到 N 个缝隙中看到的频谱函数值。因此称这种现象为栅栏效应

由于栅栏效应,有可能漏掉(挡住)大的频谱分量。为了把原来被“栅栏”挡住的频谱分量检测出来,就必须提高频率分辨率。

  • 对于有限长序列:可以在原序列尾部补零
  • 对于无限长序列:可以增大截取长度及 DFT 变换区间长度。

从而使频域采样间隔变小,增加频域采样点数和采样点位置,使原来漏掉的某些频谱分量被检测出来。对连续信号的谱分析,只要采样速率 Fs 足够高,且采样点数满足频率分辨率要求,就可以认为 DFT 后所得离散谱的包络近似代表原信号的频谱。

(3)截断效应

实际中遇到的序列 x(n) 可能是无限长的,用 DFT 对其进行谱分析时,必须将其截短,形成有限长序列 y(n)=x(n)w(n)w(n) 称为窗函数,长度为 Nw(n)=RN(n),称为矩形窗函数。




由于内容过于繁多,第四章与第七章暂不整理。


部分作业题的解题过程与思路


第1章 13

对于连续信号 xa(t)=cos(2πft+π/2),其基本周期的计算过程如下:

1. 识别角频率

连续标准余弦信号的一般形式为 x(t)=Acos(Ωt+ϕ),其中 Ω 是角频率(单位为弧度/秒),ϕ 是初始相位。

对比题目信号,可以提取出角频率:

Ω=2πf

注:公式中的 π/2 是相位偏移,它只会使波形在时间轴上发生左右平移,不会改变信号的周期。

2. 计算周期

连续余弦信号的周期 T 与角频率 Ω 的基本关系为:

T=2π|Ω|

3. 代入求解

Ω=2πf 代入上述公式中:

T=2π|2πf|=1|f|

结论:

该连续信号的周期为 T=1|f|


对连续信号进行采样,其核心过程就是将连续时间变量 t 替换为离散的时间点 nTs,其中 Ts 是采样间隔,n 是整数(代表采样点序号)。

1. 明确采样关系

已知连续信号:

xa(t)=cos(2πft+π/2)

采样间隔:

Ts=0.02 秒

采样后的离散时间信号 x[n] 可以表示为:

x[n]=xa(nTs)

2. 代入求解

t=n×0.02 代入原信号的表达式中:

x[n]=cos(2πf(0.02n)+π/2)

化简各项相乘的部分:

x[n]=cos(0.04πfn+π/2)

与连续信号不同,离散时间正弦信号不一定都是周期的。它的周期性取决于其角频率与 2π 之间的比值是否为有理数。

我们来一步步推导 x[n] 的周期:

1. 提取离散角频率

已知上一步求得的采样信号为:

x[n]=sin(0.04πfn)

其中,离散角频率(通常用 ω 表示)为:

ω=0.04πf

2. 判定离散周期的条件

一个离散正弦序列具有周期 NN 必须是正整数)的充要条件是,存在一个整数 k,使得:

ωN=2πk

或者写成比值的形式:

ω2π=kN

也就是说,ω2π 必须是一个有理数。如果比值是无理数,则该离散信号是非周期的。

3. 代入已知参数

将我们的 ω=0.04πf 代入比值公式中:

ω2π=0.04πf2π=0.02f=f50

以上内容均由ai生成,答案正确,但过程略显繁琐,实际计算无需这么多步骤,可以自行化简。



第3章 18

已知条件:

  • 谱分辨率要求:F50 Hz

  • 信号最高频率:fmax=1 kHz=1000 Hz

1. 最小记录时间 Tp min

根据频率分辨率与记录时间的关系 F=1Tp,为了满足 F50 Hz

1Tp50Tp150=0.02 s

答:最小记录时间 Tp min=0.02 s (即 20 ms)。

2. 最大取样间隔 Tmax

根据奈奎斯特采样定理,采样频率 fs 必须满足:

fs2fmax=2×1000 Hz=2000 Hz

因此,最低的采样频率为 fs min=2000 Hz。 取样间隔 T=1fs,显然当 fs 取最小值时,T 取得最大值:

Tmax=1fs min=12000=0.0005 s

答:最大取样间隔 Tmax=0.0005 s (即 0.5 ms)。

3. 最少采样点数 Nmin

总记录时间等于采样点数乘以取样间隔,即 Tp=NT。 为了求最少采样点数,我们需要使用最小记录时间和最大取样间隔(或最低采样频率):

Nmin=Tp minTmax=Tp minfs minNmin=0.02 s×2000 Hz=40

答:最少采样点数 Nmin=40 (注:在实际的微处理机工程应用中,为了使用快速傅里叶变换(FFT)算法提高计算效率,通常会将 N 向上取为 2 的整数次幂,例如 N=64。但从纯理论计算最小满足条件的角度,答案为 40。)

4. 频率分辨率提高1倍的 N

题目要求:“在频带宽度不变的情况下,使频率分辨率提高1倍(即 F 缩小一半)”。

  • 频带宽度不变:意味着分析信号的最高频率不变,即采样频率 fs 保持不变(仍取 2000 Hz)。

  • 频率分辨率提高1倍:新的频率分辨率 F=F225 Hz

根据公式 N=fsF: 新的采样点数 N 为:

N=fsF=2000 Hz25 Hz=80

(直观理解:既然采样频率不变,要让分辨率翻倍,就必须让观察信号的时间翻倍,因此采样点数也需要直接翻倍。 40×2=80)

答:使频率分辨率提高 1 倍的 N 值为 80


第4章 1

如果某通用单片计算机的速度为平均每次复数乘需要 4 μs,每次复数加需要 1 μs,用来计算 N=1024 点 DFT,问直接计算需要多少时间?用 FFT 计算呢?

已知条件:

  • 计算点数:N=1024

  • 复数乘法耗时:tmul=4 μs

  • 复数加法耗时:tadd=1 μs

1. 直接计算 DFT 耗时

根据 DFT 定义公式 X(k)=n=0N1x(n)WNnk,直接计算 N 点 DFT 的计算量为:

  • 复数乘法次数N2

  • 复数加法次数N(N1)

代入 N=1024

  • 复数乘法次数 =10242=1,048,576

  • 复数加法次数 =1024×1023=1,047,552

直接计算总耗时 TDFT

TDFT=1048576×4 μs+1047552×1 μsTDFT=4,194,304 μs+1,047,552 μs=5,241,856 μs

换算成秒:TDFT5.24

2. 用 FFT (基-2) 计算耗时

采用基-2 FFT 算法时(设 N=2M,则 M=log2N=log21024=10),整个蝶形图有 M 级,每级有 N2 个蝶形运算。每个基-2蝶形运算包含 1 次复数乘法和 2 次复数加法。因此整体计算量为:

  • 复数乘法次数N2log2N

  • 复数加法次数Nlog2N

代入 N=1024

  • 复数乘法次数 =10242×10=5120×10=5,120

  • 复数加法次数 =1024×10=10,240

FFT 计算总耗时 TFFT

TFFT=5120×4 μs+10240×1 μsTFFT=20,480 μs+10,240 μs=30,720 μs

换算成毫秒:TFFT=30.72 毫秒 (约 0.03 秒)。


第4章 图4.2.4默写

本节内容请参考课本对应图片

要看懂或画出 8点 DIT-FFT(按时间抽选的基-2快速傅里叶变换)运算流图,我们需要从最基础的知识点开始“搭积木”。

1. 核心思想:分治法 (Divide and Conquer)

DIT-FFT 的核心思路是:将一个长序列的 DFT,不断地拆分成两个短序列的 DFT。 具体做法是按时间序列索引的奇偶性进行拆分:

  • 第一步拆分:将 N=8 拆成两个 N=4 (偶数索引 x(0,2,4,6) 构成一个,奇数索引 x(1,3,5,7) 构成一个)。

  • 第二步拆分:将每个 N=4 再拆成两个 N=2

  • 第三步拆分N=2 本身就是最基础的单元。 由于 8=23,所以整个运算流图需要经过 M=3 的运算。

2. 基础建筑模块:蝶形运算 (Butterfly Operation)

流图中最基本的交叉结构像一只蝴蝶,被称为“蝶形运算”。 一个标准的基-2蝶形运算包含两个输入端(设为 AB)和两个输出端(设为 XY),以及一个“旋转因子”(WNk)。它的数学本质是:

  • 上端输出:X=A+BWNk

  • 下端输出:Y=ABWNk

图解提示:在流图中,两根线相交并带有箭头,WNk 通常标注在交叉点前的下分支上,下分支连接到下输出端时通常会带有一个 1 的系数(表示相减)。

3. 第一步:输入端序列的“倒位序” (Bit-Reversal)

因为我们在推导中不断按“奇偶”将时间序列(Time)抽选打乱,最终送入流图第一级的输入信号不再是 x(0),x(1),x(2)... 这样的自然顺序,而是发生了码位倒置。 什么是倒位序?把自然索引的二进制码颠倒过来:

  • 0 (000) 颠倒后还是 (000) 0 x(0)

  • 1 (001) 颠倒后变成 (100) 4 x(4)

  • 2 (010) 颠倒后还是 (010) 2 x(2)

  • 3 (011) 颠倒后变成 (110) 6 x(6)

  • 4 (100) 颠倒后变成 (001) 1 x(1)

  • 5 (101) 颠倒后还是 (101) 5 x(5)

  • 6 (110) 颠倒后变成 (011) 3 x(3)

  • 7 (111) 颠倒后还是 (111) 7 x(7)

所以,运算流图最左侧的输入端,从上到下的顺序固定为:x(0),x(4),x(2),x(6),x(1),x(5),x(3),x(7)

4. 第二步:逐级分析运算流图 (3级流水线)

对于 8 点 DIT-FFT,一共有 log2(8)=3 级(列)蝶形运算。每一级有 8/2=4 个蝶形。

第 1 级 (运算单元距离为 1)

  • 计算内容:计算 4 个 2点DFT。

  • 连线规律:相邻的两个点交叉组合形成一个蝶形。

    • 蝶形1:x(0)x(4) 交叉

    • 蝶形2:x(2)x(6) 交叉

    • 蝶形3:x(1)x(5) 交叉

    • 蝶形4:x(3)x(7) 交叉

  • 旋转因子:所有蝶形的下支路均乘以 W80=1

第 2 级 (运算单元距离为 2)
  • 计算内容:将前一级输出的 2点DFT 组合成 2 个 4点DFT。

  • 连线规律:跨越 1 个节点(即距离为 2)进行交叉。分成上下两大组(前四个点一组,后四个点一组)。

    • 上半组蝶形1:第1条线与第3条线交叉。

    • 上半组蝶形2:第2条线与第4条线交叉。

    • 下半组蝶形1:第5条线与第7条线交叉。

    • 下半组蝶形2:第6条线与第8条线交叉。

  • 旋转因子:每组里的两个蝶形,下支路依次乘以 W80W82

第 3 级 (运算单元距离为 4)
  • 计算内容:将前一级输出的 4点DFT 组合成最终的 1 个 8点DFT。

  • 连线规律:跨越 3 个节点(即距离为 4)进行交叉。所有 8 个点都在一组内进行交叉运算。

    • 第1条线与第5条线交叉。

    • 第2条线与第6条线交叉。

    • 第3条线与第7条线交叉。

    • 第4条线与第8条线交叉。

  • 旋转因子:四个蝶形的下支路依次乘以 W80,W81,W82,W83

5. 总结:如何默写 N 点 DIT-FFT 流图?

  1. 确定级数:画 M=log2N 列蝶形。

  2. 确定输入:将输入序列按照倒位序排布在左侧。输出端在最右侧,为自然顺序 X(0)X(N1)

  3. 蝶形跨度:第 m 级的跨距为 2m1。(例如第1级相邻跨1,第2级跨2,第3级跨4)。

  4. 旋转因子种类:第 m 级需要用到 2m1 种旋转因子。对于最后级(第3级),旋转因子按顺序为 WN0,WN1,WN2WNN/21。前面级别的旋转因子可以通过公式等效替换(如 W41=W82)。


第7章 1

已知 FIR 滤波器的单位脉冲响应为:h(n) 长度 N=5,依次为 1,2,7,2,1。求幅度特性、相位特性和群延时。

已知条件:

  • h(0)=1

  • h(1)=2

  • h(2)=7

  • h(3)=2

  • h(4)=1

1. 观察对称性

首先观察给定序列,不难发现它满足:h(n)=h(4n)。 这种以中心点对称,且长度 N 为奇数(N=5)的 FIR 滤波器,属于典型的第一类线性相位 FIR 滤波器。其对称中心位于 α=N12=2 处。

2. 求系统的频率响应 H(ejω)

系统的频率响应是单位脉冲响应的离散时间傅里叶变换(DTFT):

H(ejω)=n=0N1h(n)ejωn

将已知的 h(n) 代入展开:

H(ejω)=1+(2)ejω+7ej2ω+(2)ej3ω+1ej4ω

为了利用对称性,我们强制提取出中心相移因子 ej2ω(因为对称中心在 n=2):

H(ejω)=ej2ω[1ej2ω2ejω+72ejω+1ej2ω]

将括号内正负指数项重新进行配对:

H(ejω)=ej2ω[(ej2ω+ej2ω)2(ejω+ejω)+7]

根据欧拉公式 cos(θ)=ejθ+ejθ2,有 ejθ+ejθ=2cos(θ),将其代入上式得:

H(ejω)=ej2ω[2cos(2ω)4cos(ω)+7]

3. 求幅度特性 |H(ejω)|

从上面的公式可以看出,H(ejω) 由两部分组成:相移项 ej2ω (模为 1)和一个纯实数函数 A(ω)=2cos(2ω)4cos(ω)+7

我们来判断一下 A(ω) 的正负号。将 cos(2ω)=2cos2(ω)1 代入:

A(ω)=2(2cos2(ω)1)4cos(ω)+7A(ω)=4cos2(ω)4cos(ω)+5

配方得到:

A(ω)=(2cos(ω)1)2+4

显然,对于任意的 ω,都有 (2cos(ω)1)20,因此 A(ω)4>0。 由于该实函数恒为正,幅度特性就直接等于该实函数本身(如果存在负值,需要加绝对值,并发生 π 的相位跳变,这里不需要)。

答:幅度特性为

|H(ejω)|=2cos(2ω)4cos(ω)+7

(或写成 4cos2(ω)4cos(ω)+5 亦可)

4. 求相位特性 θ(ω)

由于上述的幅度函数 A(ω) 恒大于零,没有引发符号改变的额外相位(跳变),因此系统的总体相位完全由之前提取出的复指数项 ej2ω 决定。

答:相位特性为

θ(ω)=2ω

(注意这是一个关于 ω 的线性函数,因此得名“线性相位”。)

5. 求群延时 τg(ω)

群延时的定义是相位特性对角频率 ω 的负导数:

τg(ω)=dθ(ω)dω

θ(ω)=2ω 代入求导:

τg(ω)=d(2ω)dω=2

答:群延时为恒定值 2。 (物理意义:这意味着所有不同频率的信号分量通过该滤波器时,都会被一致地延迟 2 个采样周期,从而保证信号的波形不会发生色散失真。)

以上内容均由ai生成,答案正确,但过程略显繁琐。在我看来,第三步得出 H(ejω)=ej2ω[2cos(2ω)4cos(ω)+7] 后,可以直接注意到 θ(ω) (相位特性),Hg(ω) (幅度特性),以及群延时( θ(ω) 的导数)的表达式或值了。


第7章 10

利用布莱克曼窗(Blackman Window)设计线性相位 FIR 低通滤波器。要求希望逼近的理想低通滤波器通带截止频率 ωc=π/4 rad,滤波器长度 N=21。求对应的单位脉冲响应 h(n) 的表达式。

已知条件:

  • 理想低通截止频率:ωc=π4

  • 滤波器长度:N=21

  • 所用窗函数:布莱克曼窗(Blackman window)

1. 确定理想低通滤波器的单位脉冲响应 hd(n)

一个零相位的理想低通滤波器(截止频率为 ωc)在时域的单位脉冲响应为:

hd,zero(n)=sin(ωcn)πn

为了设计一个因果的线性相位 FIR 滤波器,我们需要将这个非因果的响应向右平移。平移量(群延时)取决于滤波器的长度 N

α=N12=2112=10

将响应向右平移 α=10 个单位,得到因果的理想低通脉冲响应 hd(n)

hd(n)=sin[ωc(nα)]π(nα)=sin[π4(n10)]π(n10)(n10)

n=10 时,利用极限法则 limx0sin(ax)x=a 可以求出中心点的值:

hd(10)=ωcπ=π/4π=0.25

2. 写出布莱克曼窗 w(n) 的表达式

对于长度为 N 的布莱克曼窗,其标准数学定义式为:

w(n)=0.420.5cos(2πnN1)+0.08cos(4πnN1),0nN1

N=21 代入该公式并化简:

w(n)=0.420.5cos(2πn20)+0.08cos(4πn20)w(n)=0.420.5cos(πn10)+0.08cos(πn5),0n20

3. 计算最终的滤波器单位脉冲响应 h(n)

根据窗函数法的设计原理,实际滤波器的单位脉冲响应 h(n) 就是理想滤波器的响应与窗函数在时域相乘(即对理想响应进行“截断”和平滑):

h(n)=hd(n)w(n),0n20

我们将前两步的结果合并,分情况写出最终的 h(n) 表达式:

1) 当 n10 (即 0n20 n10)时:

h(n)=sin[π4(n10)]π(n10)[0.420.5cos(πn10)+0.08cos(πn5)]

2) 当 n=10 时: 我们需要分别代入 n=10

  • hd(10)=0.25

  • w(10)=0.420.5cos(π)+0.08cos(2π)=0.420.5(1)+0.08(1)=0.42+0.5+0.08=1

因此:

h(10)=0.25×1=0.25

4. 结论总结

答:利用布莱克曼窗设计的线性相位 FIR 低通滤波器,其单位脉冲响应 h(n) 的表达式为:

h(n)={sin[π4(n10)]π(n10)[0.420.5cos(πn10)+0.08cos(πn5)],0n20, n100.25,n=100,其他

以上内容均由ai生成,答案正确,但过程略显繁琐。实际只用到了 hd(n)w(n) , 以及 h(n) 的公式(还有一个高等数学的求极限)。甚至只需要记住 h(n)=hd(n)w(n) 即可。

理解公式中每个符号的意义对于解题来说是很有帮助,强烈建议仔细阅读课本的第7章第2节开头部分的内容。