数字信号处理讲义
Matlab信号处理工具箱提供绘制线性离散时间系统零极点图的工具函数zplane.调用格式为:
zplane(z,p) zplane(b,a)
其中,z,p分别为系统零、极点向量;b,a为系统z传递函数分子、分母多项式系数向量。
四.
群延迟
由信号传输不失真条件,滤波器相频特性应该是一条经过原点直线,即
φ(ω)= -ωtd td为常数 (式3-8)
但一般实际系统不满足上述条件,衡量实际滤波器相位平均延迟用群延迟。群延迟定义为信号通过系统的平均延迟对频率的函数,即滤波器相频特性图上切线的负斜率
?g??d?(?) (式3-9) d?Matlab信号处理工具箱提供计算群延迟函数GRPDELAY,调用格式为:
[gd,ω]=grpdelay(b,a,n); [gd,f]=grpdelay(b,a,n,Fs); [gd,ω]=grpdelay(b,a,n,’whole’); [gd,f]=grpdelay(b,a,n,’whole’Fs);
其中,gd为群延迟,其他各项意义同函数freqz。函数输出项缺省时绘制群延迟图。
【例3-4】:编一函数实现:求系统的绝对的和相对的幅度响应,相位响应及群延迟响应。
解:函数freqz_m是对freqz的修正,它给出了系统的绝对的和相
27
数字信号处理讲义
对的幅度响应,相位响应及群延迟响应。程序如下:
%function [db,mag,pha,grd,w]=freqz_m(b,a) % [db,mag,pha,grd,w]=freqz_m(b,a) ?=[0~pi]区间内的相对振幅 %mag=[0~pi]区间内的绝对振幅 %pha=[0~pi]区间内的相位响应 %grd=[0~pi]区间内的群延迟
%w=[0~pi]区间内的501个频率样本向量 %b=H(z)的分子多项式的系数(对FIR:b=h) %a=H(z)的分母多项式的系数(对FIR:a=[1]) [H,w]=freqz(b,a,1000,’whole’); H=(H(1:1:501))’;w=(w(1:1:501))’; mag=abs(H);
db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w);
【例3-5】 已知滤波器的传递函数 H(z)=0.15/(1-0.8z-1) 输入信号为x(t)=2sin(0.05πt)+w(t),w(t)为随机信号,幅值为0.2。试绘出滤波器的输出信号波形。
用两种方法求滤波器的输出,MATLAB编写程序如下: %MATLAB Program 3-3 b=0.15; a=[1 –0.8];
%create input of filter n=[0:100];
x=2*sin(0.05*pi*n)+0.2*randn(1,101);
28
数字信号处理讲义
êlculate response according to convolution imp=[1,zeros(100,1)]; h=impz(b,a,101); yc=conv(h,x); yc=yc(1:101);
êlculate response according to matlab function y1=filter(b,a,x);
plot(n,x,’r’,n,y1,’b’,n,y,’m’);
xlabel(‘n’);ylabel(‘x y yc’);title(‘Time response’); grid;
分析程序执行结果。
实验报告要求
1. 实验报告包括目的、要求、内容、步骤、结果、总结,形成完整实验报告。实验步骤不是书本内容的复制,而是自己结合实验内容进行探索的过程。
2. 提交打印版实验报告,A4纸张打印,并附源程序清单。
3. 提交的报告和源程序中标注清楚姓名学号专业等基本信息,禁止抄袭。
29
数字信号处理讲义
实验四 离散傅立叶变换
实验目的:
理解离散傅立叶变换及其性质,与线性卷积和线性移位相比较掌握循环卷积和循环移位的实现方法。 实验任务:
1. 根据给出的函数,编程实现某一序列DFT, IDFT。
已知x1为5点序列,x2为14点序列,各作15点的DFT,然后两个DFT相乘,再求乘积的IDFT,设结果为y(n),分析y(n)哪些点对应于x1*x2应该得到的点?
2. 编程实现某一序列的循环移位和循环卷积。
已知x1=(n+1)R4(n),h(n)=R4(n-2),试求x1和h(n)的循环卷积,并作图。
3. 线性卷积与循环卷积的关系
已知x1=[1 2 2],x2=[1 2 3 4],试计算并分析结果 (1)x1④x2;(2)x1⑥x2;(3) x1⑦x2;(4)x1*x2.
4.DFT的奇偶虚实性
已知序列x(n)=10(0.8)n,序列长度N=21,绘出x(n)傅立叶变换的实部和虚部并验证其奇偶性。
4. 执行exam41例程序,分析其结果。
【例 4-1】为说明高密度频谱和高分辩频谱之间的差异,考虑 x(n)=cos(0.48πn)+cos(0.52πn) (1)取x(n)(0≤n≤10)时,求x(n)的DFT X(k);
(2)将(1)中的x(n)以补零方式使x(n)加长到0≤n≤100,求X(k) (3)取x(n)(0≤n≤100),求X(k).
30
数字信号处理讲义
解 MATLAB程序为 exam41.m:
%MATLAB Program 4-1 %part 1
%specttum based on the first 10 amples of x(n) n=[0:1:10];x=cos(0.48*pi*n)+cos(0.52*pi*n); figure(1)
n1=[0:1:9];y1=x(1:1:10);
subplot(2,1,1);stem(n1,y1);title('signal x(n),0<=n<=9');xlabel('n') %axis([0,10,-4,4]);
Y1=fft(y1);magY1=abs(Y1(1:1:6)); k1=0:1:5;w1=2*pi/10*k1;
Subplot(2,1,2);stem(w1/pi,magY1);title('Samples of DTET Magnitude');
Xlabel('frequency in pi units') axis([0,1,0,10])
%part 2
%High density spectrum (100 samples )based on the first 10 samples of x(n) figure(2)
n3=[0:1:99];y3=[x(1:1:10)zeros(1,90)]; subplot(2,1,1);stem(n3,y3);title('signal x(n),0<=n<=9+90 zeros'); xlabel('n')
axis([0,100,-2.5,2.5]);
Y3=fft(y3);magY3=abs(Y3(1:1:51)); k3=0:1:50;w3=2*pi/100*k3;
subplot(2,1,2);stem(w3/pi,magY3);title('DTFT Magnitude');
xlabel('frequency in pi units') axis([0,1,0,10])
%part 3
%High resolution spectrum based on 100samples of the signal x(n) figure(3)
31