实验报告
2012 年 04 月 26 日
课程名称: 数字信号处理 实验名称:系统及系统响应
班级: 学号: 姓名:
实验二 系统及系统响应
一、 实验目的
(1) 观察离散系统的频率响应;
(2) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理
的理解;
(3) 利用序列的FT 对连续信号、离散信号及系统响应进行频域分析;
(4) 利用卷积方法观察分析系统的时域特性。
二、 实验内容
(1) 给定一因果系统H(z)= ,求出并绘制H(z)的幅频响应与相频响应;
(2) 对信号x a (t)=Au(n) 0n50 其中A=444.128,a=50,=50, 实现下
列实验内容:
a 、 取采样频率fs=10KHZ,观察所得采样x a (n)的幅频特性|X()|和图中
的|Xa(j)|在折叠频率附近有无明显差别。
b 、 改变采样频率fs=1KHZ,观察|X()|的变化,并作记录:进一步降
低采样频率,fs=300HZ,观察频谱混叠是否明显存在,说明原因,
并记录这时的|X()|曲线。
(3) 给定系统的单位抽样响应为h 1(n)=R10(n)
a 、 利用线性卷积求信号x1(n)=(n),通过该系统的响应y1(n)。比较所
求响应y1(n)和h 1(n)之间有无差别,绘图说明,并用所学理论解
释所得结果。
b 、 利用线性卷积求信号x 2(n)=R10(n),通过该系统的响应y2(n),并
判断y2(n)图形及其非0值序列长度是否与理论结果一致,改变
x 2(n)的长度,取N=5,重复该试验。注意参数变化的影响,说明
变化前后的差异,并解释所得结果。
(4) 求x(n)=11(n+2)+7(n+1)-(n-1)+4(n-2)+2(n-3)通过系统
h(n)=2(n+1)+3(n)-5(n-2)+2(n-3)+(n-4)的响应y(n)。
三、 实验程序及解析
(1)1、 程序
clear; close all ;
b=[1,sqrt(2),1];a=[1,-0.67,0.9];
[h,w]=freqz(b,a);
am=20*log10(abs(h));% am=20*log10(abs(h))为幅频响应取dB
subplot(2,1,1);%将窗口划分为2*1的小窗口并选择第一个显示
plot(w,abs(h));xlabel('w' );ylabel(' 幅频响应' );title(' 系统响应' ) ph=angle(h);
subplot(2,1,2); %选择第二个窗口显示
plot(w,ph);xlabel('w' );ylabel(' 相频响应' );
2、系统响应结果
图1 因果系统的H(z)的系统响应
3、结果分析
分析z 域系统的特性主要是由系统的零点和极点的分布得出结论的。首先求出系统的极点和零点,再画出零极图,由理论得出的结论是:
系统的幅频特性是零极图上各零点到单位圆上某点的向量的积与各极点到单位圆上该点的向量的积之比,而幅频特性曲线就是在单位圆上的那一点从0到2变化的结果。
很显然,从系统的幅频特性响应来看,该系统明显是一个带通滤波器。
(2)1、程序
function X=dtft(x,w)
X=x*exp(-j*[0:(length(x)-1)]'*w);%离散傅立叶变换的函数定义
fs=10000;fs1=1000;fs2=300;%设置三种采样频率
t=0:1/fs:0.1; %采集信号长度为0.1s
A=444.128;a=50*sqrt(2)*pi;b=a;
xa=A*exp(-a*t).*sin(b*t);
k=0:511;f=fs*k/112; %序列长度为512,即N=512,还有模拟频率f
Xa=dtft(xa,2*pi*k/512); %离散傅立叶变换
T1=1/fs1;t1=0:T1:0.1; %采集信号长度为0.1s
x1=A*exp(-a.*t1).*sin(b*t1); %1KHz的采样序列x1(n)
X1=dtft(x1,2*pi*k/512); %x1(n)的512点傅立叶变换
T2=1/fs2;t2=0:T2:0.1; %采集信号长度为0.1s
x2=A*exp(-a.*t2).*sin(b*t2);
X2=dtft(x2,2*pi*k/512);
figure(1);
subplot(6,1,1);
plot(t,xa); %画出原始波形
axis([0,max(t),min(xa),max(xa)]);
title(' 模拟信号' );
xlabel('t(s)');ylabel('xa(t)');
line([0,max(t)],[0,0]);
subplot(6,1,2);
plot(f,abs(Xa));
title(' 模拟信号幅度频谱' );
axis([0,1000,0,max(abs(Xa))]); %坐标轴的刻度及范围
xlabel('f(Hz)');ylabel('|Xa(jf)|');
subplot(6,1,3);stem(t1,x1,'.' );
axis([0,max(t1),min(x1),max(x1)]);
title(' 采样序列x1(n)');
xlabel('n' );ylabel('x1(n)');
line([0,max(t1)],[0,0]);
f=fs1*k/512;
subplot(6,1,4);
% plot(f,abs(X1));
stem(f,abs(X1));
title('x1(n)的幅度频谱' );
axis([0,200,0,max(abs(X1))]);
xlabel('f(Hz)');ylabel('|X1(jf)|');
subplot(6,1,5);stem(t2,x2,'.' );
axis([0,max(t2),min(x2),max(x2)]);
title(' 采样序列x2(n)');
xlabel('n' );ylabel('x2(n)');
line([0,max(t2)],[0,0]);
f=fs2*k/512;
subplot(6,1,6);plot(f,abs(X2));
title('x2(n)的幅度频谱' );
axis([0,300,0,max(abs(X2))]);
xlabel('f(Hz)');ylabel('|X2(jf)|');
2、运行结果
图2 信号的采样前后的频谱变化
3、结果分析
由理论知识可知:时域采样定理:只有采样频率大于等于2倍的模拟信号的最高频率时,才可以在解调时无失真的恢复原始模拟信号
1) 当采样频率fs=10KHz时,频谱不会发生混叠,因为采样频率远远大于2
倍的模拟信号最高频率(此实验中模拟信号为单一频率信号,故只有一个也是最高频率);
2) 当采样频率fs=1KHz时,频谱也不会发生混叠,因为采样频率也是大于2
倍的模拟信号最高频率的;
3) 当采样频率fs=300Hz时,频谱可能会发生混叠,因为采样频率只是稍大
于2倍的模拟信号最高频率,若解调是低通滤波器特性不是很理想的话就会使通过后的信号失真;
4) 时域采样在频域表现出来的是对原模拟信号的频谱的以采样间隔为周期的周期延拓,如果采样频率不够,则会造成采样后的信号的频谱混叠,解调时则无法用低通滤波器分离出一个完整周期的频谱,进而无法恢复原始信号
(3)1、程序
function [y,ny]=convm(x,nx,h,nh)
nyb=nx(1)+nh(1);
nye=nx(length(x))+nh(length(h)); %卷积函数的定义
ny=[nyb:nye];
y=conv(x,h)
function X=dtft(x,w); %傅立叶变换函数定义
X=x*exp(-j*[0:(length(x)-1)]'*w);
x=[11,7,0,-1,4,2];
nx=[-2:3];
h=[2,3,0,-5,2,1];
nh=[-1:4];
[y,ny]=convm(x,nx,h,nh)
subplot(3,1,1);stem(nx,x);
subplot(3,1,2);stem(nh,h);
subplot(3,1,3);stem(ny,y);xlabel('n' );ylabel('y(n)');
2、运行结果
图3 序列的响应
3、结果分析
通过系统的单位脉冲响应h(n),求已知输入x(n)下的输出y(n)有两种方法,一是时域卷积,理论证明:系统的时域输出等于输入与该系统的单位脉冲响应相卷积;二是频域相乘法:由时域卷积定理可知:时域的卷积等于响应输入的频域
的乘积,因此可以通过频域的输出再反变换求得系统的时域输出,其中用z 变换法可以得到很多的简化;
脉冲序列(n)有一些很好的性质,如:任何序列x(n)与(n)卷积都等于x(n)本身,(n)的傅立叶变化为常数1等等。
四、 小结
1、 系统H(z)的响应分为幅频和相频响应,设|X()|为幅频特性,为相频特性,由理论分析可知:|X()|=|A|,
=
其中,c r 为H(z)的零点,dr 为H(z)的极点,B 为z 域单位圆上任意一点,为向量的相位,即该向量与z 域实轴的夹角,为向量,由此可知,从系统函数的零极点便可知道系统的幅频特性与相频特性,当从0到2变化时,点B 也在改变,从而可以分析出幅频与相频特性的曲线。
2、 对模拟信号进行等间隔采样的条件要满足乃奎斯特采样定理,即采样频率应大于2倍的模拟信号的最高频率,只有满足这个条件才可以无失真的由内插公式恢复原始信号,另外,对模拟信号的时域采样就是在频域对原模拟信号的频谱的以采样间隔为周期进行周期延拓的过程,若不满足采样定理,则在频域内会造成频率混叠;
3、 系统的响应可以由输入与该系统的单位脉冲响应卷积得到,如果应用时域卷积定理,看作是输入的傅立叶变换与H ()乘积;
4、 通过此次实验,让我复习了理论知识,并且对理论有了更深的理解,我还了解到用Matlab 处理数字信号的一些函数及方法,学会了调试程序,查找错误及初步的修改程序。
实验报告
2012 年 04 月 26 日
课程名称: 数字信号处理 实验名称:系统及系统响应
班级: 学号: 姓名:
实验二 系统及系统响应
一、 实验目的
(1) 观察离散系统的频率响应;
(2) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理
的理解;
(3) 利用序列的FT 对连续信号、离散信号及系统响应进行频域分析;
(4) 利用卷积方法观察分析系统的时域特性。
二、 实验内容
(1) 给定一因果系统H(z)= ,求出并绘制H(z)的幅频响应与相频响应;
(2) 对信号x a (t)=Au(n) 0n50 其中A=444.128,a=50,=50, 实现下
列实验内容:
a 、 取采样频率fs=10KHZ,观察所得采样x a (n)的幅频特性|X()|和图中
的|Xa(j)|在折叠频率附近有无明显差别。
b 、 改变采样频率fs=1KHZ,观察|X()|的变化,并作记录:进一步降
低采样频率,fs=300HZ,观察频谱混叠是否明显存在,说明原因,
并记录这时的|X()|曲线。
(3) 给定系统的单位抽样响应为h 1(n)=R10(n)
a 、 利用线性卷积求信号x1(n)=(n),通过该系统的响应y1(n)。比较所
求响应y1(n)和h 1(n)之间有无差别,绘图说明,并用所学理论解
释所得结果。
b 、 利用线性卷积求信号x 2(n)=R10(n),通过该系统的响应y2(n),并
判断y2(n)图形及其非0值序列长度是否与理论结果一致,改变
x 2(n)的长度,取N=5,重复该试验。注意参数变化的影响,说明
变化前后的差异,并解释所得结果。
(4) 求x(n)=11(n+2)+7(n+1)-(n-1)+4(n-2)+2(n-3)通过系统
h(n)=2(n+1)+3(n)-5(n-2)+2(n-3)+(n-4)的响应y(n)。
三、 实验程序及解析
(1)1、 程序
clear; close all ;
b=[1,sqrt(2),1];a=[1,-0.67,0.9];
[h,w]=freqz(b,a);
am=20*log10(abs(h));% am=20*log10(abs(h))为幅频响应取dB
subplot(2,1,1);%将窗口划分为2*1的小窗口并选择第一个显示
plot(w,abs(h));xlabel('w' );ylabel(' 幅频响应' );title(' 系统响应' ) ph=angle(h);
subplot(2,1,2); %选择第二个窗口显示
plot(w,ph);xlabel('w' );ylabel(' 相频响应' );
2、系统响应结果
图1 因果系统的H(z)的系统响应
3、结果分析
分析z 域系统的特性主要是由系统的零点和极点的分布得出结论的。首先求出系统的极点和零点,再画出零极图,由理论得出的结论是:
系统的幅频特性是零极图上各零点到单位圆上某点的向量的积与各极点到单位圆上该点的向量的积之比,而幅频特性曲线就是在单位圆上的那一点从0到2变化的结果。
很显然,从系统的幅频特性响应来看,该系统明显是一个带通滤波器。
(2)1、程序
function X=dtft(x,w)
X=x*exp(-j*[0:(length(x)-1)]'*w);%离散傅立叶变换的函数定义
fs=10000;fs1=1000;fs2=300;%设置三种采样频率
t=0:1/fs:0.1; %采集信号长度为0.1s
A=444.128;a=50*sqrt(2)*pi;b=a;
xa=A*exp(-a*t).*sin(b*t);
k=0:511;f=fs*k/112; %序列长度为512,即N=512,还有模拟频率f
Xa=dtft(xa,2*pi*k/512); %离散傅立叶变换
T1=1/fs1;t1=0:T1:0.1; %采集信号长度为0.1s
x1=A*exp(-a.*t1).*sin(b*t1); %1KHz的采样序列x1(n)
X1=dtft(x1,2*pi*k/512); %x1(n)的512点傅立叶变换
T2=1/fs2;t2=0:T2:0.1; %采集信号长度为0.1s
x2=A*exp(-a.*t2).*sin(b*t2);
X2=dtft(x2,2*pi*k/512);
figure(1);
subplot(6,1,1);
plot(t,xa); %画出原始波形
axis([0,max(t),min(xa),max(xa)]);
title(' 模拟信号' );
xlabel('t(s)');ylabel('xa(t)');
line([0,max(t)],[0,0]);
subplot(6,1,2);
plot(f,abs(Xa));
title(' 模拟信号幅度频谱' );
axis([0,1000,0,max(abs(Xa))]); %坐标轴的刻度及范围
xlabel('f(Hz)');ylabel('|Xa(jf)|');
subplot(6,1,3);stem(t1,x1,'.' );
axis([0,max(t1),min(x1),max(x1)]);
title(' 采样序列x1(n)');
xlabel('n' );ylabel('x1(n)');
line([0,max(t1)],[0,0]);
f=fs1*k/512;
subplot(6,1,4);
% plot(f,abs(X1));
stem(f,abs(X1));
title('x1(n)的幅度频谱' );
axis([0,200,0,max(abs(X1))]);
xlabel('f(Hz)');ylabel('|X1(jf)|');
subplot(6,1,5);stem(t2,x2,'.' );
axis([0,max(t2),min(x2),max(x2)]);
title(' 采样序列x2(n)');
xlabel('n' );ylabel('x2(n)');
line([0,max(t2)],[0,0]);
f=fs2*k/512;
subplot(6,1,6);plot(f,abs(X2));
title('x2(n)的幅度频谱' );
axis([0,300,0,max(abs(X2))]);
xlabel('f(Hz)');ylabel('|X2(jf)|');
2、运行结果
图2 信号的采样前后的频谱变化
3、结果分析
由理论知识可知:时域采样定理:只有采样频率大于等于2倍的模拟信号的最高频率时,才可以在解调时无失真的恢复原始模拟信号
1) 当采样频率fs=10KHz时,频谱不会发生混叠,因为采样频率远远大于2
倍的模拟信号最高频率(此实验中模拟信号为单一频率信号,故只有一个也是最高频率);
2) 当采样频率fs=1KHz时,频谱也不会发生混叠,因为采样频率也是大于2
倍的模拟信号最高频率的;
3) 当采样频率fs=300Hz时,频谱可能会发生混叠,因为采样频率只是稍大
于2倍的模拟信号最高频率,若解调是低通滤波器特性不是很理想的话就会使通过后的信号失真;
4) 时域采样在频域表现出来的是对原模拟信号的频谱的以采样间隔为周期的周期延拓,如果采样频率不够,则会造成采样后的信号的频谱混叠,解调时则无法用低通滤波器分离出一个完整周期的频谱,进而无法恢复原始信号
(3)1、程序
function [y,ny]=convm(x,nx,h,nh)
nyb=nx(1)+nh(1);
nye=nx(length(x))+nh(length(h)); %卷积函数的定义
ny=[nyb:nye];
y=conv(x,h)
function X=dtft(x,w); %傅立叶变换函数定义
X=x*exp(-j*[0:(length(x)-1)]'*w);
x=[11,7,0,-1,4,2];
nx=[-2:3];
h=[2,3,0,-5,2,1];
nh=[-1:4];
[y,ny]=convm(x,nx,h,nh)
subplot(3,1,1);stem(nx,x);
subplot(3,1,2);stem(nh,h);
subplot(3,1,3);stem(ny,y);xlabel('n' );ylabel('y(n)');
2、运行结果
图3 序列的响应
3、结果分析
通过系统的单位脉冲响应h(n),求已知输入x(n)下的输出y(n)有两种方法,一是时域卷积,理论证明:系统的时域输出等于输入与该系统的单位脉冲响应相卷积;二是频域相乘法:由时域卷积定理可知:时域的卷积等于响应输入的频域
的乘积,因此可以通过频域的输出再反变换求得系统的时域输出,其中用z 变换法可以得到很多的简化;
脉冲序列(n)有一些很好的性质,如:任何序列x(n)与(n)卷积都等于x(n)本身,(n)的傅立叶变化为常数1等等。
四、 小结
1、 系统H(z)的响应分为幅频和相频响应,设|X()|为幅频特性,为相频特性,由理论分析可知:|X()|=|A|,
=
其中,c r 为H(z)的零点,dr 为H(z)的极点,B 为z 域单位圆上任意一点,为向量的相位,即该向量与z 域实轴的夹角,为向量,由此可知,从系统函数的零极点便可知道系统的幅频特性与相频特性,当从0到2变化时,点B 也在改变,从而可以分析出幅频与相频特性的曲线。
2、 对模拟信号进行等间隔采样的条件要满足乃奎斯特采样定理,即采样频率应大于2倍的模拟信号的最高频率,只有满足这个条件才可以无失真的由内插公式恢复原始信号,另外,对模拟信号的时域采样就是在频域对原模拟信号的频谱的以采样间隔为周期进行周期延拓的过程,若不满足采样定理,则在频域内会造成频率混叠;
3、 系统的响应可以由输入与该系统的单位脉冲响应卷积得到,如果应用时域卷积定理,看作是输入的傅立叶变换与H ()乘积;
4、 通过此次实验,让我复习了理论知识,并且对理论有了更深的理解,我还了解到用Matlab 处理数字信号的一些函数及方法,学会了调试程序,查找错误及初步的修改程序。