1、系统响应及系统稳定性(附程序)

一、实验目的和要求

1、掌握 Matlab 软件绘制波形图的基本命令。

2、理解系统响应求解与系统稳定性分析的原理;

3、掌握系统响应求解的程序设计与波形绘制的方法;

4、掌握系统稳定性分析方法。

二、实验内容和原理

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

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

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

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

   注意:在以下实验中均假设系统的初始状态为零。

三、实验操作方法和步骤

1、运行 matlab 软件,在命令窗口中练习基本命令,熟悉 plot 和 stem 函数的用法。

2、编写常见序列如单位脉冲序列、单边指数序列、正弦序列等的 matlab 程序, 并绘制出信号波形图。

3、编制程序:结合4、5 中的具体示例,绘制用 impz 函数实现单位脉冲响应序列的子程序,用 filter函数(p23)或conv(p16)函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能,并保存输出的波形。

4、给定一个低通滤波器的差分方程为:

y(n) =0.05x(n) +0.05x(n-1) +0.9 y(n-1)

输入信号x1 (n) =R8 (n)       x2 (n)= u(n)

  1. 求出系统的单位冲响应,画出其波形。
  2. 假设系统初始状态为零,分别求出系统对 x1 (n) =R8 (n) 和 x2 (n) =u(n)

的响应序列,并画出其波形。

5、给定系统的单位脉冲响应

用线性卷积法分别求系统h1(n)和h2(n)对 x1 (n) = R8 (n) 的输出响应,并画出波形。

四、实验记录与处理(数据、图表、计算等)

1、系统响应及系统稳定性

A=[1,-0.9];B=[0.05,0.05];%系统差分方程系数向量B和A

x1n=[1 1 1 1 1 1 1 1 zeros(1,50)];%产生信号x1n=R8n;

x2n=ones(1,128);%产生信号x2n=un

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

subplot(2,2,1); y='h(n)';stem(hn,'.'); %调用函数stem绘图

title('(a)系统单位脉冲响应h(n)')

y1n=filter(B,A,x1n);%求系统对xln的响应y1n

subplot(2,2,2); y='y1(n)';stem(y1n,'.');

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

y2n=filter(B,A,x2n);%求系统对x2n的响应y2n

subplot(2,2,4); y='y2(n)';stem(y2n,'.');

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

 

2、用conv函数计算卷积

x1n=[1 1 1 1 1 1 1 1];%产生信号x1n= R8n

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)' ; stem(h1n,'.'); %调用函数stem绘图

title('(d)系统单位脉冲响应h1(n)')

subplot(2,2,2); y='y21(n)'; stem(y21n,'.');

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

subplot(2,2,3); y='h2(n)' ; stem(h2n,'.'); %调用函数stem绘图

title('(f)系统单位脉冲响应h2(n)')

subplot(2,2,4); y='y22(n)'; stem(y22n,'.');

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

3、谐振器分析

un=ones(1,256); %产生信号un

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);%谐振器对un的响应y31n

y32n=filter(B,A,xsin);%谐振器对正弦信号的响应y32n

figure(3)

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

title('(h)谐振器对u(n)的响应y31(n)')

subplot(2,1,2);y='y32(n)';stem(y32n,'.');

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

五、实验结果及分析

(1)综合起来,在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出,注意要合理地选择初始条件;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。用计算机求解时最好使用MATLAB语言进行。

(2)实际中要检验系统的稳定性,其方法是在输人端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。上面第三个实验是稳定的。

(3)谐振器具有对某个频率进行谐振的性质,本实验中的谐振器的谐振频率是0.4 rad,因此稳定波形为sin(0. 4n)。

(4)如果输人信号为无限长序列,系统的单位脉冲响应是有限长序列,可用分段线性卷积法求系统的响应。如果信号经过低通滤波器,则信号的高频分量被滤掉,时域信号的变化减缓,在有阶跃处附近产生过渡变化时间。因此,当输人矩形序列时,输出序列的开始和终了都产生了明显的上升和下降时间,见第一个实验结果的波形。

  • 18
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值