实验一(系统响应及系统稳定性) 下载本文

内容发布更新时间 : 2024/5/19 5:36:26星期一 下面是文章的全部内容请认真阅读。

本文档如对你有帮助,请帮忙下载支持!

第十章 上机实验

数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。

实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。

实验三 用FFT对信号作频谱分析。

实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现

实验六 应用实验——数字信号处理在双音多频拨号系统中的应用

任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。

10.1 实验一: 系统响应及系统稳定性

1.实验目的

(1)掌握 求系统响应的方法。

(2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法

在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。

系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。

系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。

实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当n??时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。

注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤

(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。

(2)给定一个低通滤波器的差分方程为

输入信号 x1(n)?R8(n)

a) 分别求出系统对x1(n)?R8(n)和x2(n)?u(n)的响应序列,并画出其波形。

本文档如对你有帮助,请帮忙下载支持!

b) 求出系统的单位冲响应,画出其波形。 (3)给定系统的单位脉冲响应为

用线性卷积法分别求系统h1(n)和h2(n)对x1(n)?R8(n)的输出响应,并画出波形。 (4)给定一谐振器的差分方程为

令 b0?1/100.49,谐振器的谐振频率为0.4rad。

a) 用实验方法检查系统是否稳定。输入信号为u(n)时,画出系统输出波形。

b) 给定输入信号为

求出系统的输出响应,并画出其波形。 4.思考题

(1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求?

(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面 第一个实验结果进行分析说明。

5.实验报告要求

(1)简述在时域求系统响应的方法。

(2)简述通过实验判断系统稳定性的方法。分析上面第三个实验的稳定输出的波形。 (3)对各实验所得结果进行简单分析和解释。 (4)简要回答思考题。

(5)打印程序清单和要求的各信号波形。

10.1.2 实验程序清单

%实验1:系统响应及系统稳定性 close all;clear all

%======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n)

hn=impz(B,A,58); %求系统单位脉冲响应h(n)

subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图 title('(a) 系统单位脉冲响应h(n)');box on

y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y);

title('(b) 系统对R8(n)的响应y1(n)');box on

y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y);

title('(c) 系统对u(n)的响应y2(n)');box on

%===内容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n);

本文档如对你有帮助,请帮忙下载支持!

y22n=conv(h2n,x1n); figure(2)

subplot(2,2,1);y='h1(n)';tstem(h1n,y); %调用函数tstem绘图 title('(d) 系统单位脉冲响应h1(n)');box on subplot(2,2,2);y='y21(n)';tstem(y21n,y);

title('(e) h1(n)与R8(n)的卷积y21(n)');box on

subplot(2,2,3);y='h2(n)';tstem(h2n,y); %调用函数tstem绘图 title('(f) 系统单位脉冲响应h2(n)');box on subplot(2,2,4);y='y22(n)';tstem(y22n,y);

title('(g) h2(n)与R8(n)的卷积y22(n)');box on

%=========内容3:谐振器分析======================== un=ones(1,256); %产生信号u(n) n=0:255;

xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号

A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n) y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n) figure(3)

subplot(2,1,1);y='y31(n)';tstem(y31n,y);

title('(h) 谐振器对u(n)的响应y31(n)');box on subplot(2,1,2);y='y32(n)';tstem(y32n,y);

title('(i) 谐振器对正弦信号的响应y32(n)');box on

?

function tstem(xn,yn) %时域序列绘图函数

% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)

n=0:length(xn)-1; stem(n,xn,'.');box on xlabel('n');ylabel(yn);

axis([0,n(end),min(xn),1.2*max(xn)])

10.1.3 实验程序运行结果及分析讨论

程序运行结果如图

实验内容(2)系统的单位冲响应、系统对x1(n)?R8(n)和x2(n)?u(n)的响应序列