
用 MATLAB 演示何谓相时延-何谓群时延.doc
7页何谓相时延?何谓群时延? (数字系统的相延迟和群延迟特性对系统输出的影响) (作者:王大伦) (本文选自王大伦著《数字信号处理—理论与实践》)2.8.6 系统无失真传输条件简单地说,有用信号通过滤波器后,允许有一定的延时,但不希望波形失真为此,系统首先要保证没有非线性失真,即输出不会产生新的频率分量与模拟系统不同,LTI系统在进行数字处理时,并未使用诸如晶体管之类的有源器件,因而不会产生非线性失真,即不会产生新的频率分量但它应保证没有频率失真频率失真取决于系统的模频特性和相频特性如前所述,LTI系统的频率响应为 (2.8.29)为了保证无失真传输,在通带内,应使滤波器的模频特性 现在,我们来看看对相频特性的要求假设输入信号包含两个频率各为和的正弦分量:它们通过系统后,每个分量的幅度都变为原值的倍,此外,各自引入相位移和故输出为 式中,和分别是频率为和的正弦波到达输出端的延迟样点数(代表时间)。
显然,为了得到无失真传输,应保证因为信号输出总是滞后的,故延迟时间和总是正值于是,从这个例子可知,为了实现无失真传输,要保证在通带内,l 幅频特性 (2.8.30)l 相频特性 (为负值) (2.8.31)称为相时延(phase delay),它代表曲线上的一点与原点连线的斜率根据相位,数字频率,故,所以曲线上的任意点与坐标原点的连线斜率具有时间的量纲,其值为图2.8.7示出低通滤波器的模频特性和相频特性在通带内满足了无失真传输条件,即式(2.8.30)和式(2.8.31) 图2.8.7 低通滤波器的频率特性 图2.8.9 窄带带通滤波器的频率特性 此外,相频曲线的斜率被定义为群时延(group delay),记为: (2.8.32)群时延作为曲线上的任意点的微商显然也具有时间量纲,上式的负值代表时间延迟。
在图2.8.6的低通相频特性上,群时延即是相时延图2.8.9示出带通滤波器的频率特性如通带很窄,则子图B上的a、b两点连线line2逼近该处的切线,这连线的斜率近似于群时延但直线line1是曲线上一点与原点的连线,它代表相时延可见,对于该带通滤波器来说,通带内的群时延为常数,但相时延是变化的既然定义了相时延,为什么还要定义群时延呢?问题是我们不可能设计滤波器,使它的相时延在极宽频带内保持常数,而且也没有必要高频载波被调幅后,得到调幅波调幅波通过带通滤波器时,希望滤波器输出端的调幅波包络线形状不变,即能量不散开,而高频载波波形是否改变,是无关重要的因此,要求带通滤波器通带内的群时延为常数,而无需关注相时延【解说020803】MATLAB程序M020803.M和M020804.M分别演示相时延与群时延对滤波器输出波形的影响请参看图2.8.10和图2.8.11 图2.8.10 系统相时延特性对输出的影响 (A) 系统相时延为零时的输出(无延时,无波形失真); (B) 系统相时延为常数时的输出(有延时,无波形失真) (C) 系统相时延不是常数时的输出(有延时,有波形失真) 图2.8.11 系统群时延特性对输出的影响 (A) 系统群时延为零时的输出(无延时,包络线无波形失真); (B) 系统群时延为常数时的输出(有延时,包络线无波形失真) (C) 系统群相时延不是常数时的输出(有延时,包络线有波形失真)% M020803% 演示相时延对信号波形的影响% set(gcf, 'color', 'w')n = 0:30;fs = 1000S11=2*sin(2*pi*50*(1/fs)*n); S12=2*sin(2*pi*100*(1/fs)*n); S13=2*sin(2*pi*150*(1/fs)*n)S21=2*sin(2*pi*50*(1/fs)*n - 0.3*pi); S22=2*sin(2*pi*100*(1/fs)*n - 0.6*pi);S23=2*sin(2*pi*150*(1/fs)*n - 0.9*pi)S31=2*sin(2*pi*50*(1/fs)*n - 0.3*pi); S32=2*sin(2*pi*100*(1/fs)*n - 0.7*pi); S33=2*sin(2*pi*150*(1/fs)*n - 0.8*pi)s1 = S11 + S12 + S13; s2 = S21 + S22 + S23; s3 = S31 + S32 + S33subplot(2,2,1)plot(n,s1); grid;xlabel('n'); ylabel('s1(n)'); title('原来的合成信号 1 ', 'fontsize', 8)subplot(2,2,2)plot(n,s2); grid;1xlabel('n'); ylabel('s2(n)'); title('合成信号 2 -- 相位移与频率成正比 ', 'fontsize', 8)subplot(2,2,3) plot(n,s3); grid; axis([1 30 -5 5]);xlabel('n'); ylabel('s3(n)'); title('合成信号 3 -- 相位移与频率不成正比 ', 'fontsize', 8)% M020804% 演示群时延对调幅波包络线的影响%set(gcf, 'color', 'w');f1 = 0.3; f2 = 0.8; f3 = 1.2; fc = 10; fs = 200;n = 1 : 2000;d1 = 0.3; d2 = 0.6; d3 = 1.2;s1 = 1 + 0.6 * cos(2*pi*(f1/fs)*n + d1);s2 = 1 + 0.2 * cos(2*pi*(f2/fs)*n + d2); s3 = 1 + 0.5 * cos(2*pi*(f3/fs)*n + d3); c = cos(2*pi*(fc/fs)*n)sm = (s1 + s2 + s3) .* c;subplot(321);plot(n, 3+0.4 * cos(2*pi*(f1/fs)*n + d1)+0.2 * cos(2*pi*(f2/fs)*n+d2) + 0.5 * cos(2*pi*(f3/fs)*n+d3)); gridxlabel('n'); ylabel('s1(n)'); title('原来的调幅波包络线 1 ');axis([0, 2000, 2, 5]);subplot(322);plot(n, sm); gridxlabel('n'); ylabel('sm(n)'); title('原来的调幅波 1 ')subplot(323);d1 = 0.9; d2 = 1.8; d3 = 3.6; % d1 = 0.1; d2 = -0.4; d3 = 1.0;plot(n, 3+0.4 * cos(2*pi*(f1/fs)*n + d1)+0.2 * cos(2*pi*(f2/fs)*n+d2) + 0.5 * cos(2*pi*(f3/fs)*n+d3)); gridxlabel('n'); ylabel('s1(n)'); title('无失真的调幅波包络线 2 ');axis([0, 2000, 2, 5]);subplot(324);s1 = 1 + 0.6 * cos(2*pi*(f1/fs)*n + d1);s2 = 1 + 0.2 * cos(2*pi*(f2/fs)*n + d2); s3 = 1 + 0.5 * cos(2*pi*(f3/fs)*n + d3); c = cos(2*pi*(fc/fs)*n)sm = (s1 + s2 + s3) .* c;plot(n, sm); gridxlabel('n'); ylabel('sm(n)'); title('调幅波 2 ')subplot(325);d1 = 0.1; d2 = -0.4; d3 = 1.0;plot(n, 3+0.4 * cos(2*pi*(f1/fs)*n + d1)+0.2 * cos(2*pi*(f2/fs)*n+d2) + 0.5 * cos(2*pi*(f3/fs)*n+d3)); gridxlabel('n'); ylabel('s1(n)'); title('有失真的调幅波包络线 3 ');axis([0, 2000, 2, 5]);subplot(326);s1 = 1 + 0.4 * cos(2*pi*(f1/fs)*n + d1);s2 = 1 + 0.2 * cos(2*pi*(f2/fs)*n + d2); s3 = 1 + 0.5 * cos(2*pi*(f3/fs)*n + d3); c = cos(2*pi*(fc/fs)*n)sm = (s1 + s2 + s3) .* c;plot(n, sm); grid xlabel('n'); ylabel('sm(n)'); title('调幅波 3 ')。












