信号与系统仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信号与系统仿真

电气工程学院09级1班

2009302540017

于岳川

综述:本仿真课共有五个试验内容,内容涉及到冲击响应,阶跃响应,DFT,FFT,IFFT等内容。本人通过所学知识和查阅相关资料,对每个试验都进行了扩展试验,写在解题分析部分,目的在于验证仿真结果的准确性并同时对题目进行更深入的分析。其中一些试验,本人运用了对比的方法,验证了课本上所学的一些知识,对理论进行了验证和巩固。由于本人水平有限,时间仓促,谬误之处在所难免,请老师批评指正,如果时间允许,希望能得到老师的评价。本人邮箱:yuyuechuan1990@

实验一

一、实验题目:

求三阶系统H(s)=5(s^2+5s+6)/(s^3+6s^2+10s+8)的单位阶跃相应,并绘制响应波形图。

二、Matlab编程

b=[5 25 30];

a=[1 6 10 8];

sys=tf(b,a);%求传递函数

t=0:0.01:10;

u=step(sys,t); %绘制输出函数图象

plot(t,u),grid;

title('单位阶跃响应')

三.改进方法

同样对于此题,可以用simulink进行仿真,仿真结果如下:

可见结果一致,且使用起来比编程方便一些。

四.解题分析:

对令分母=0.解此方程,得到:

>> p=[1 6 10 8];

>> x=roots(p)

x =

-4.0000

-1.0000 + 1.0000i

-1.0000 - 1.0000i

可见系统的极点都在左半开平面,因此系统是稳定的,这在两张阶跃响应的图上也得到了验证。

另外,在编程中使用了tf求传递函数。

实验二

一、实验题目

一个因果线性移不变系统求:y(n)=0.81y(n-2)+x(n)-x(n-2) (1)H(z);(2)冲激响应;(3)单位阶跃响应;(4)H(e^jw),并绘出幅频和相频特性

二.Matlab编程

b=[1 0 -1];

a=[1 0 -0.81];

figure(1);

subplot(2,1,1);

dimpulse(b,a),grid %求冲击响应

title('冲击响应')%求阶跃响应

subplot(2,1,2);

dstep(b,a) %求阶跃响应

title('阶跃响应')

w=[0:0.01:1]*pi;

figure(2);

freqz(b,a,w) %求频率特性

title(‘频率响应’)

图2.1

图2.2

三.改进方法

1.在第一次编程时,没有设置单位冲击响应和阶跃响应的时间(dimpulse(b,a),grid;dstep(b,a),grid)所以所绘制的图

2.1在30秒和50秒后图象基本与横轴重合,无法辨认,因此重设响应时间为30s和50s,重新运行结果如下:

可见图形更加容易辨认

2.前边程序还有也缺点就是不能输出H(z)的表达式,使用符号变量可以实现,故加写程序如下:

syms z

Hz=(1-z^-2)/(1-0.81*z^-2)

pretty(Hz)

运行结果:

Hz =

(1/z^2 - 1)/(81/(100*z^2) - 1)

1

-- - 1

2

z

----------

81

------ - 1

2

100 z

四.解题分析

此题分析了差分方程描述的单位冲击响应和单位阶跃响应,学习了绘制频率特性的函数freqz. 此函数将幅频特性和相频特性分开绘制。

此外,本人还由系统函数Z反变换求解了h(n)的表达式,具体办成如下:

syms n z

Hz=((1-z^-2)/(1-0.81*z^-2));%定义系统函数

fn=iztrans(Hz,n)%求Z反变换

pretty(fk);%美化输出表达式

运行结果如下:

fn =

(100*kroneckerDelta(n, 0))/81 - (19*(9/10)^n)/162 -

(19*(-9/10)^n)/162

/ 9 \k / 9 \k

19 | -- | 19 | - -- |

100 kroneckerDelta(k, 0) \ 10 / \ 10 /

------------------------ - ---------- - ------------

81 162 162

关于上边出现的kroneckerDelta函数,我再网上找到一些资料,但是还是没弄清楚。可能是我做的有错误。

实验三

一、实验题目:

模拟信号x(t)=2sin(4pi*t)+5cos(8pi*t),求N=64的DFT的幅值谱和相位谱。二.Matlab编程:

N=64;%采样点数

N=64;%计64点DFT

t=(0:N-1)*0.1;

x=2*sin(4*pi*t)+5*cos(8*pi*t);

xk=fft(x,N);

k=t*2*pi/N;

subplot(2,1,1),stem(k,abs(xk)),title('64点DFT的幅值谱');

subplot(2,1,2),stem(k,angle(xk)),title('64点DFT的相位谱');

相关文档
最新文档