第三章离散时间系统 16 Mml=三oy=0s0s=0s5P 当D足够大时,可以使其足够小。 这种稳定但又是反因果的系统在滤波器的设计中常常遇到。传输函数为H(z)的滤波器,其逆滤波 器的传输函数为: 1 Hm-Ha) 这种逆滤波应用于许多不同的场所,如数字数据传输重的通道均衡,其传输函数可能是某个通道 的传输函数或均衡滤波器的传输函数。 逆滤波器相应的冲激响应应该选择使其稳定。但稳定不一定保证其因果特性,因此我们可以采取 近似的渐近/延时方法: hnm.o(n)=hn(n-D)
第三章 离散时间系统 16 ∑ ∑ − − =−∞ ∞ = + + = − = = 1 1 1 (0.5) 1 0.5 1 ( ) (0.5) (0.5) D m D m D D D h m 当 D 足够大时,可以使其足够小。 这种稳定但又是反因果的系统在滤波器的设计中常常遇到。传输函数为 H(z)的滤波器,其逆滤波 器的传输函数为: ( ) 1 H z Hinv = 这种逆滤波应用于许多不同的场所,如数字数据传输重的通道均衡,其传输函数可能是某个通道 的传输函数或均衡滤波器的传输函数。 逆滤波器相应的冲激响应应该选择使其稳定。但稳定不一定保证其因果特性,因此我们可以采取 近似的渐近/延时方法: ( ) ~ ( ) ~ hinv,D n = hinv n − D
Introduction to Signal Processing 1 第四章 FR滤波与卷积 实际的DSP方法可以分为两类: 分批处理方法 样值处理方法。 在分批处理方法当中,数据是分批收集并处理的。分批处理的典型应用包括:有限延时的信号FR 卷积滤波、长延时信号分段快速卷积、DFT/FFT频谱计算、语音分析与合成、图像处理。 样值处理方法中,每一次只处理一个抽样。每一个输入的样本,依据DSP算法将输入抽样信号转 换为输出信号。抽样处理算法主要应用于实时处理中,如长信号实时滤波、数字化音效、数字控制系 统、自适应信号处理。样值处理算法本质上说就是LTI系统的状态空间实现。 本章中,我们将探讨FR滤波的分批处理算法和样值处理算法。我们将讨论卷积方程(3.3.2)式 和(3.3.3)式应用于R滤波和有限延时算法方面的问题,同时给出卷积的不同形式等效描述,包括: Direct Form Convolution Table LTI Form Matrix Form Flip-and-Slip Form Overlap-and Block Convolution Form 每一种方法都有其各自的优点。比方说,LTI form是最基本的一种算法,因为它结合了系统的线 性性质和时不变性质:Direct form直接导出滤波器的分批框图实现方法以及相应的样值抽样处理算 法:卷积表适合于快速的手工计算;Flip-and-slide form可以清楚的表明滤波器输入通、断过渡和稳 态行为:Matriⅸform给出了滤波运算方程式的紧凑形式矢量表示形式,并广泛应用于象图像处理这 类应用当中:Overlap-add form适用于输入信号时延非常长或无限的这类应用当中。 然后,我们将讨论FR滤波的样值处理方法及其框图实现,这种框图提供了样值处理算法机器化 方法。我们将讨论FIR滤波器的direct form实现方法和DSP芯片硬件方面的问题,以及循环寻址的 概念,这种寻址方法使实现延时、FR滤波、R滤波的硬、软件方面都时最新流行的。 §4.1分批处理算法 §4.1.1卷积 许多实际的应用中,我们将模拟信号(根据抽样定理)抽样并且把有限个抽样(L个样本)收集 来表示输入信号在该一段时限内的记录。抽样记录的时间用秒表示就是:
Introduction to Signal Processing 1 第四章 FIR 滤波与卷积 实际的 DSP 方法可以分为两类: 分批处理方法 样值处理方法。 在分批处理方法当中,数据是分批收集并处理的。分批处理的典型应用包括:有限延时的信号 FIR 卷积滤波、长延时信号分段快速卷积、DFT/FFT 频谱计算、语音分析与合成、图像处理。 样值处理方法中,每一次只处理一个抽样。每一个输入的样本,依据 DSP 算法将输入抽样信号转 换为输出信号。抽样处理算法主要应用于实时处理中,如长信号实时滤波、数字化音效、数字控制系 统、自适应信号处理。样值处理算法本质上说就是 LTI 系统的状态空间实现。 本章中,我们将探讨 FIR 滤波的分批处理算法和样值处理算法。我们将讨论卷积方程 (3.3.2) 式 和(3.3.3)式应用于 FIR 滤波和有限延时算法方面的问题,同时给出卷积的不同形式等效描述,包括: Direct Form Convolution Table LTI Form Matrix Form Flip-and-Slip Form Overlap-and Block Convolution Form 每一种方法都有其各自的优点。比方说,LTI form 是最基本的一种算法,因为它结合了系统的线 性性质和时不变性质;Direct form 直接导出滤波器的分批框图实现方法以及相应的样值抽样处理算 法;卷积表适合于快速的手工计算;Flip-and-slide form 可以清楚的表明滤波器输入通、断过渡和稳 态行为;Matrix form 给出了滤波运算方程式的紧凑形式矢量表示形式,并广泛应用于象图像处理这 类应用当中;Overlap-add form 适用于输入信号时延非常长或无限的这类应用当中。 然后,我们将讨论 FIR 滤波的样值处理方法及其框图实现,这种框图提供了样值处理算法机器化 方法。我们将讨论 FIR 滤波器的 direct form 实现方法和 DSP 芯片硬件方面的问题,以及循环寻址的 概念,这种寻址方法使实现延时、FIR 滤波、IIR 滤波的硬、软件方面都时最新流行的。 §4.1 分批处理算法 §4.1.1 卷积 许多实际的应用中,我们将模拟信号(根据抽样定理)抽样并且把有限个抽样(L 个样本)收集 来表示输入信号在该一段时限内的记录。抽样记录的时间用秒表示就是:
第四章FIR滤波与卷积 2 T=LT (4.1.1) 其中,T为抽样周期,抽样率与处样周期的关系是:s=1T。反过来,我们可以根据抽样的时间间隔 来计算抽样数。 L=TLf, (4.1.2) x(n) L个信号样本x(n),n=0,1,2,…,L-1可以看作是一个块: X=[xox2…,xL-] (4.1.3) 可以进一步由滤波器来处理。直接形式和LTI形式由下式给出: ))=∑(m)x(n-m)=∑xm)hn-m) (4.1.4) 卷积表达式中x(m)和h(n-m)的系数是m+(n-m戶n,因此上述方程可以写成: y(n)= ∑h)xU) (4.1.5) i+j=n 也就是说,将满足+j=n的所有项h①)与xG)相乘,然后再求和。和的大小取决于4.1.4式中的m, 或者说与4.1.5式中i、j有关。 §4.1.2 Direct Form 设M阶的因果性FIR滤波器的冲击响应为h(n),n=O,1,2,,M。h(n)也可以表示成块: h=[h,h,h,…,hu] (4.1.6) 向量的长度(滤波器系数的个数)比阶数大一,即: L%=M+1 (4.1.7 长度为L的输入序列x与阶数为M的滤波器系数h的卷积得到输出序列y(n).我们必须首先确定: ☒系数n的取值范围 ☒求和表达式中m的范围 对于直接形式, ))=∑hm)x(n-m 系数m由(4.1.6)式的项数来确定:既:
第四章 FIR 滤波与卷积 2 TL = LT (4.1.1) 其中,T 为抽样周期,抽样率与处样周期的关系是:fs=1/T。反过来,我们可以根据抽样的时间间隔 来计算抽样数。 L s L = T f (4.1.2) x(n) 0 1 2 3 … L-1 n TL L 个信号样本 x(n),n=0,1,2,…,L-1 可以看作是一个块: [ ] = 0 1 2 L−1 x x ,x,x ,L,x (4.1.3) 可以进一步由滤波器来处理。直接形式和 LTI 形式由下式给出: = ∑ − = ∑ − m m y(n) h(m)x(n m) x(m)h(n m) (4.1.4) 卷积表达式中 x(m)和 h(n-m)的系数是 m+(n-m)=n,因此上述方程可以写成: ∑ + = = i j n i j y n h i x j , ( ) ( ) ( ) (4.1.5) 也就是说,将满足 i+j=n 的所有项 h(i)与 x(j)相乘,然后再求和。和的大小取决于 4.1.4 式中的 m, 或者说与 4.1.5 式中 i、j 有关。 §4.1.2 Direct Form 设 M 阶的因果性 FIR 滤波器的冲击响应为 h(n),n=0,1,2,…,M。h(n)也可以表示成块: [ ] h = h0 ,h1 ,h2 ,L,hM (4.1.6) 向量的长度(滤波器系数的个数)比阶数大一,即: Lh = M +1 (4.1.7) 长度为 L 的输入序列 x 与阶数为 M 的滤波器系数 h 的卷积得到输出序列 y(n)。我们必须首先确定: ⌧ 系数 n 的取值范围 ⌧ 求和表达式中 m 的范围 对于直接形式, = ∑ − m y(n) h(m)x(n m) 系数 m 由(4.1.6)式的项数来确定;既:
Introduction to Signal Processing 3 0≤m≤M (4.1.8) 那么,x(n-m)的项数必须符合(4.1.3)式: 0≤n-m≤L-1 (4.1.9) (4.1.9)式又可以写为: m≤n≤L-1+m 结合m取值,n的取值范围为: 0≤m≤n≤L+1+m≤L-1+M 或 0≤n≤L-1+M (4.1.10) 这也就是输出序列y(n)的系数n的取值范围。因此,输出序列可以表示为: y=[Dyoh,2…,yL-+M] (4.1.11) 长度为: Ly=L+M 或者说,输出序列y的长度比输入序列x的长度要大M。这是由于M阶的滤波器有M个存储器 并且将每一个输入抽样保存在存储器内部M个时间单位。设Lx=L,Lh=M+1,式(4.1.12)可以写成为: Ly =L:+Lh-1 (4.1.13) 相对的长度如下图所示! M+1 X- y=h*x M 其次,我们必须确定对于某个值n,y(n)是由哪些项组成的?(m满足什么条件?)m必须满足不 等式(4.1.8)和(4.1.9)。 由4.1.9得到:(改变符号一两边同除-1) -(L-1)≤m-n≤0 上式加上n,得到: n-L+l≤m≤n (4.1.14) 结合(4.1.8)式,0≤m≤M得到: max(0,n-L+l)≤m≤min(n,M) (4.1.15) 因此,对于M阶的FR滤波器和长度为L的输入,卷积的直接形式由下式给出:
Introduction to Signal Processing 3 0 ≤ m ≤ M (4.1.8) 那么,x(n-m)的项数必须符合(4.1.3)式: 0 ≤ n − m ≤ L −1 (4.1.9) (4.1.9)式又可以写为: m ≤ n ≤ L −1+ m 结合 m 取值,n 的取值范围为: 0 ≤ m ≤ n ≤ L +1+ m ≤ L −1+ M 或 0 ≤ n ≤ L −1+ M (4.1.10) 这也就是输出序列 y(n)的系数 n 的取值范围。因此,输出序列可以表示为: [ ] 0 1 2 L 1 M y y y y y = , , ,L, − + (4.1.11) 长度为: Ly = L + M 或者说,输出序列 y 的长度比输入序列 x 的长度要大 M。这是由于 M 阶的滤波器有 M 个存储器 并且将每一个输入抽样保存在存储器内部 M 个时间单位。设 Lx=L,Lh=M+1,式(4.1.12)可以写成为: Ly = Lx + Lh −1 (4.1.13) 相对的长度如下图所示: h= M+1 x= L y=h*x L M 其次,我们必须确定对于某个值 n,y(n)是由哪些项组成的?(m 满足什么条件?)m 必须满足不 等式(4.1.8)和(4.1.9)。 由 4.1.9 得到:(改变符号——两边同除-1) − (L −1) ≤ m − n ≤ 0 上式加上 n,得到: n − L +1≤ m ≤ n (4.1.14) 结合(4.1.8)式, 0 ≤ m ≤ M 得到: max(0,n − L +1) ≤ m ≤ min(n,M ) (4.1.15) 因此,对于 M 阶的 FIR 滤波器和长度为 L 的输入,卷积的直接形式由下式给出:
第四章FR滤波与卷积 4 minn,) y(n)= ∑h(m)xn-m) (4.1.16) m=max(0n-L+1) n可以是n=0,1,2,…,L+M-1。大多数情况下,我们将卷积表达式简写为: y=h*x 例如,3阶滤波器,输入的长度为5时,滤波器、输入、输出块分别为: h=[h,h,h2,h3] X=[x0,X1,X2,x3,x4] y=h*x=[b0,.,y2,y3,y4,5,6.,] 输出块的长度为L=L+M=5+3=8,系数范围为0≤n≤7 卷积方程的各项为: in(n,3) yn= hmxn-m n=0,1,2,…,7 m=max(0,n-4) 对应于n=0,1,2,…,7,和式中各项的下标: max(0,0-4)≤m≤min(0,3)→m=0 max(0,1-4)≤m≤min(1,3)→m=0,1 max(0,2-4)≤m≤min(2,3)-→m=0,l,2 max0,3-4)≤m≤min(3,3)m=0,1,2,3 max(0,4-4)≤m≤min(4,3)→m=0,1,2,3 max(0,5-4)≤m≤min(5,3)→m=1,2,3 max(0,6-4)≤m≤min(6,3)→m=2,3 max(0,7-4)≤m≤min(7,3)-→m=3 n=5,输出y5为: y= ∑hnx-m=hx4+h,x3+hx2 m=1,2,3 所有的输出项为: yo=hoxo y=hox hxo y2 hox2 +hx+hxo y3 hoxs +hx2+hx+hgxo (4.1.18) y=hox+hx3 +h2x2+hx 3=hx4+h2x3+h3x2 yo=h2xs+hgx3 y=hgxs $4.1.3 Convolution table 注意到(4.1.18)式中,y(n)是所有满足i+j=n的h、x项的乘积之和,可以很快导出式(4.1.15)的卷积
第四章 FIR 滤波与卷积 4 ∑= − + = − min( , ) max(0, 1) ( ) ( ) ( ) n m m n L y n h m x n m (4.1.16) n 可以是 n=0,1,2,…,L+M-1。大多数情况下,我们将卷积表达式简写为: y = h ∗ x 例如,3 阶滤波器,输入的长度为 5 时,滤波器、输入、输出块分别为: [ , , , , , , , ] [ , , , , ] [ , , , ] 0 1, 2 3 4 5 6, 7 0 1, 2 3 4 0 1 2 3 y y y y y y y y x x x x x h h h h = ∗ = = = y h x x h 输出块的长度为 Ly=L+M=5+3=8,系数范围为 0≤n≤7 卷积方程的各项为: ∑= − = − min( ,3) max(0, 4) n m n n m n m y h x n=0,1,2,…,7 对应于 n=0,1,2,…,7,和式中各项的下标: max(0,0-4)≤m≤min(0,3)→m=0 max(0,1-4)≤m≤min(1,3)→m=0,1 max(0,2-4)≤m≤min(2,3)→m=0,1,2 max(0,3-4)≤m≤min(3,3)→m=0,1,2,3 max(0,4-4)≤m≤min(4,3)→m=0,1,2,3 max(0,5-4)≤m≤min(5,3)→m=1,2,3 max(0,6-4)≤m≤min(6,3)→m=2,3 max(0,7-4)≤m≤min(7,3)→m=3 n=5,输出 y5 为: 2 3 3 2 1,2,3 5 5 1 4 y h x h x h x h x m = ∑ m m = + + = − 所有的输出项为: 7 3 4 6 2 4 3 3 5 1 4 2 3 3 2 4 0 4 1 3 2 2 3 1 3 0 3 1 2 2 1 3 0 2 0 2 1 1 2 0 1 0 1 1 0 0 0 0 y h x y h x h x y h x h x h x y h x h x h x h x y h x h x h x h x y h x h x h x y h x h x y h x = = + = + + = + + + = + + + = + + = + = (4.1.18) §4.1.3 Convolution table 注意到(4.1.18)式中,y(n)是所有满足 i+j=n 的 hi、xj项的乘积之和,可以很快导出式(4.1.15)的卷积