班级学号 姓名实验二 离散时间系统的时域分析
一、实验目的
(1)加深对时域信号抽样与恢复的基本原理的理解; (2)掌握应用线性卷积求解离散时间系统响应的基本方法;
(3)掌握求解离散时间系统冲击响应和频率响应程序的编写方法,了解常用子
函数。 二、实验内容
1. 已知一个连续时间信号ftsin2πf0tsin6πf0t,f01Hz,取最高有限带宽频率fh5f0。分别显示f(t)的波形和fs2fh选fs3fh,fs2fh,
1
3
fs2fh选fsfh三种情况下抽样信号波形,并尝试用内插公式重建原信号。
(内插恢复参考程序如示例所示) 程序代码: f0=1; t0=1/f0;
t=0:0.01:3*t0;
f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); %产生连续时间信号 subplot(7,1,1); plot(t,f);
fh=5*f0; %最高有限带宽频率 for i=1:3 fs=i*fh; ts=1/fs; n=0:ts:3*t0;
f1=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); %采样
subplot(7,1,i+1); %利用循环,分别画fs=3fh,fs=2fh,fs=fh的波形 stem(n,f1,'filled');
f=interp1(n,f1,t,'spline'); %调用内插函数以恢复连续时间信号 subplot(7,1,i+4); plot(t,f); end
运行结果:
1
0-1
2
0-210-110-1
00.511.522.53
00.51
1.522.53
00.511.522.53
2. 在MATLAB中利用内部函数conv来计算两个有限长序列的卷积。给出两个序列,试求其卷积结果。
xn5,9,3,6,83n1hn18,7,5,20,11,14,91n5 ynxnhn
程序代码:
x=[5 9 3 6 -8];
h=[18 7 5 20 11 14 9];
n=-4:1:6; %对y中的n的取值重新定义 y=conv(x,h); %调用conv函数计算卷积 stem(n,y); xlabel('n'); ylabel('y(n)'); 运行结果:
3. 在MATLAB中利用filter函数在给定输入和差分方程时求差分方程的解。给出如下差分方程:
yn0.9yn10.5yn2xn (1)计算并画出冲击响应hn,
10n10
(2)由此hn确定系统是否稳定。
(1) 程序代码:
a=[1 -0.9 0.5]; %输出及其移位的各项系数 b=1; %输入及其移位的各项系数 x=[zeros(1,10) 1 zeros(1,10)];
y=filter(b,a,x); %调用filter函数 n=-10:1:10;
stem(n,y,'filled') xlabel('n'); ylabel('h(n)');
title('冲击响应h(n)');
运行结果:
(2) 根据冲激响应图像可看出,当n
4. 系统函数表达式如下,试分析系统的频率响应并画出图形(幅频、相频)。
Hz
程序代码:
(1ez1)(1e
jπ4
1
j
π2
-π2
z1)
-jπ4
(10.8ez)(10.8e
a1=[exp(j*pi/2) exp(-j*pi/2)]; b=poly(r1); a=poly(r2);
z)
1
,与课本上例2-9进行对比。
%分子的零点
%调用poly,求出分子多项式系数 %调用poly,求出分母多项式系数
%取绝对值 %取相角
a2=[0.8*exp(j*pi/4) 0.8*exp(-j*pi/4)]; %分母的零点 [h,w]=freqz(b,a,'whole'); Hf=abs(h); Hx=angle(h); figure(1) subplot(211);
plot(w,Hf); title('离散系统幅频特性曲线'); subplot(212);
plot(w,Hx); title('离散系统相频特性曲线'); 运行结果:
%画相频特性曲线
%画幅频特性曲线
%调用freqz函数,求出频率响应及其相频
三、思考题
1. 奈奎斯特抽样定理的内容是什么?
答:奈奎斯特抽样定理:若频带宽度有限的,
要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱产生混叠失真。
2. 什么是内插公式?在MATLAB中内插公式可以用什么函数来编写程序? 答:内插公式:
可以利用interp1函数来编写程序。
3. 离散线性时不变系统中的差分方程和系统函数有何联系?公式中的系数在编写程序时须注意什么问题?
答: 差分方程中输入及输入的移位的系数是系统函数中分子各项的系数,输出及输出的移位的系数是系统函数中分母各项的系数。应该按降次的顺序来写,没有的项补零。
4. MATLAB中提供的conv卷积子函数使用中须满足什么条件?如果条件不满足应如何处理?
答:conv中卷积的子函数n值是从零开始的,如果不满足此条件,需从新定义n的取值范围。 四、实验总结
1、通过此次实验加深对信号采样及恢复的原理的理解,熟悉stem, conv, filter, freqz, abs, angle等函数的使用; 2、可使用循环,产生多个类似的函数;
3、应当注意差分方程的系数要从高阶到低阶写,没有的项要补零。
班级学号 姓名实验二 离散时间系统的时域分析
一、实验目的
(1)加深对时域信号抽样与恢复的基本原理的理解; (2)掌握应用线性卷积求解离散时间系统响应的基本方法;
(3)掌握求解离散时间系统冲击响应和频率响应程序的编写方法,了解常用子
函数。 二、实验内容
1. 已知一个连续时间信号ftsin2πf0tsin6πf0t,f01Hz,取最高有限带宽频率fh5f0。分别显示f(t)的波形和fs2fh选fs3fh,fs2fh,
1
3
fs2fh选fsfh三种情况下抽样信号波形,并尝试用内插公式重建原信号。
(内插恢复参考程序如示例所示) 程序代码: f0=1; t0=1/f0;
t=0:0.01:3*t0;
f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); %产生连续时间信号 subplot(7,1,1); plot(t,f);
fh=5*f0; %最高有限带宽频率 for i=1:3 fs=i*fh; ts=1/fs; n=0:ts:3*t0;
f1=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); %采样
subplot(7,1,i+1); %利用循环,分别画fs=3fh,fs=2fh,fs=fh的波形 stem(n,f1,'filled');
f=interp1(n,f1,t,'spline'); %调用内插函数以恢复连续时间信号 subplot(7,1,i+4); plot(t,f); end
运行结果:
1
0-1
2
0-210-110-1
00.511.522.53
00.51
1.522.53
00.511.522.53
2. 在MATLAB中利用内部函数conv来计算两个有限长序列的卷积。给出两个序列,试求其卷积结果。
xn5,9,3,6,83n1hn18,7,5,20,11,14,91n5 ynxnhn
程序代码:
x=[5 9 3 6 -8];
h=[18 7 5 20 11 14 9];
n=-4:1:6; %对y中的n的取值重新定义 y=conv(x,h); %调用conv函数计算卷积 stem(n,y); xlabel('n'); ylabel('y(n)'); 运行结果:
3. 在MATLAB中利用filter函数在给定输入和差分方程时求差分方程的解。给出如下差分方程:
yn0.9yn10.5yn2xn (1)计算并画出冲击响应hn,
10n10
(2)由此hn确定系统是否稳定。
(1) 程序代码:
a=[1 -0.9 0.5]; %输出及其移位的各项系数 b=1; %输入及其移位的各项系数 x=[zeros(1,10) 1 zeros(1,10)];
y=filter(b,a,x); %调用filter函数 n=-10:1:10;
stem(n,y,'filled') xlabel('n'); ylabel('h(n)');
title('冲击响应h(n)');
运行结果:
(2) 根据冲激响应图像可看出,当n
4. 系统函数表达式如下,试分析系统的频率响应并画出图形(幅频、相频)。
Hz
程序代码:
(1ez1)(1e
jπ4
1
j
π2
-π2
z1)
-jπ4
(10.8ez)(10.8e
a1=[exp(j*pi/2) exp(-j*pi/2)]; b=poly(r1); a=poly(r2);
z)
1
,与课本上例2-9进行对比。
%分子的零点
%调用poly,求出分子多项式系数 %调用poly,求出分母多项式系数
%取绝对值 %取相角
a2=[0.8*exp(j*pi/4) 0.8*exp(-j*pi/4)]; %分母的零点 [h,w]=freqz(b,a,'whole'); Hf=abs(h); Hx=angle(h); figure(1) subplot(211);
plot(w,Hf); title('离散系统幅频特性曲线'); subplot(212);
plot(w,Hx); title('离散系统相频特性曲线'); 运行结果:
%画相频特性曲线
%画幅频特性曲线
%调用freqz函数,求出频率响应及其相频
三、思考题
1. 奈奎斯特抽样定理的内容是什么?
答:奈奎斯特抽样定理:若频带宽度有限的,
要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱产生混叠失真。
2. 什么是内插公式?在MATLAB中内插公式可以用什么函数来编写程序? 答:内插公式:
可以利用interp1函数来编写程序。
3. 离散线性时不变系统中的差分方程和系统函数有何联系?公式中的系数在编写程序时须注意什么问题?
答: 差分方程中输入及输入的移位的系数是系统函数中分子各项的系数,输出及输出的移位的系数是系统函数中分母各项的系数。应该按降次的顺序来写,没有的项补零。
4. MATLAB中提供的conv卷积子函数使用中须满足什么条件?如果条件不满足应如何处理?
答:conv中卷积的子函数n值是从零开始的,如果不满足此条件,需从新定义n的取值范围。 四、实验总结
1、通过此次实验加深对信号采样及恢复的原理的理解,熟悉stem, conv, filter, freqz, abs, angle等函数的使用; 2、可使用循环,产生多个类似的函数;
3、应当注意差分方程的系数要从高阶到低阶写,没有的项要补零。