信号与系统时域及频域响应研究分析.docx

上传人:b****2 文档编号:3312692 上传时间:2023-05-05 格式:DOCX 页数:16 大小:421.79KB
下载 相关 举报
信号与系统时域及频域响应研究分析.docx_第1页
第1页 / 共16页
信号与系统时域及频域响应研究分析.docx_第2页
第2页 / 共16页
信号与系统时域及频域响应研究分析.docx_第3页
第3页 / 共16页
信号与系统时域及频域响应研究分析.docx_第4页
第4页 / 共16页
信号与系统时域及频域响应研究分析.docx_第5页
第5页 / 共16页
信号与系统时域及频域响应研究分析.docx_第6页
第6页 / 共16页
信号与系统时域及频域响应研究分析.docx_第7页
第7页 / 共16页
信号与系统时域及频域响应研究分析.docx_第8页
第8页 / 共16页
信号与系统时域及频域响应研究分析.docx_第9页
第9页 / 共16页
信号与系统时域及频域响应研究分析.docx_第10页
第10页 / 共16页
信号与系统时域及频域响应研究分析.docx_第11页
第11页 / 共16页
信号与系统时域及频域响应研究分析.docx_第12页
第12页 / 共16页
信号与系统时域及频域响应研究分析.docx_第13页
第13页 / 共16页
信号与系统时域及频域响应研究分析.docx_第14页
第14页 / 共16页
信号与系统时域及频域响应研究分析.docx_第15页
第15页 / 共16页
信号与系统时域及频域响应研究分析.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信号与系统时域及频域响应研究分析.docx

《信号与系统时域及频域响应研究分析.docx》由会员分享,可在线阅读,更多相关《信号与系统时域及频域响应研究分析.docx(16页珍藏版)》请在冰点文库上搜索。

信号与系统时域及频域响应研究分析.docx

信号与系统时域及频域响应研究分析

信号与系统时域及频域响应分析

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

 

《数字信号处理》实验报告

 

实验一

信号与系统时域及频域响应分析

1.1实验目的:

●学会运用MATLAB求解离散时间系统的零状态响应;

●学会运用MATLAB求解离散时间系统的单位取样响应;

●学会运用MATLAB求解离散时间系统的卷积和;

●学会运用MATLAB求解离散时间系统的频率响应。

1.2实例分析:

1.2.1离散时间系统的响应

离散时间LTI系统可用线性常系数差分方程来描述,即

(1-1)

其中,

,1,…,N)和

,1,…,M)为实常数。

MATLAB中函数filter可对式(1-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。

函数filter的语句格式为

y=filter(b,a,x)

其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。

【实例1-1】已知某LTI系统的差分方程为

试用MATLAB命令绘出当激励信号为

时,该系统的零状态响应。

解:

MATLAB源程序为

>>a=[3-42];

>>b=[12];

>>n=0:

30;

>>x=(1/2).^n;

>>y=filter(b,a,x);

>>stem(n,y,'fill'),gridon

>>xlabel('n'),title('系统响应y(n)')

程序运行结果如图1-1所示。

图1-1

1.2.2离散时间系统的单位取样响应

系统的单位取样响应定义为系统在

激励下系统的零状态响应,用

表示。

MATLAB求解单位取样响应可利用函数filter,并将激励设为前面所定义的impDT函数。

例如,求解实例1-1中系统的单位取样响应时,MATLAB源程序为

a=[3-42];

b=[12];

n=0:

30;

x=impDT(n);

h=filter(b,a,x);

stem(n,h,'fill'),gridon

xlabel('n'),title('系统单位取样响应h(n)')

程序运行结果如图1-2所示。

图1-2

MATLAB另一种求单位取样响应的方法是利用控制系统工具箱提供的函数impz来实现。

impz函数的常用语句格式为

impz(b,a,N)

其中,参数N通常为正整数,代表计算单位取样响应的样值个数。

【实例1-2】已知某LTI系统的差分方程为

利用MATLAB的impz函数绘出该系统的单位取样响应。

解:

MATLAB源程序为

a=[3-42];

b=[12];

n=0:

30;

impz(b,a,30),gridon

title('系统单位取样响应h(n)')

程序运行结果如图1-3所示

图1-3

1.2.3离散时间信号的卷积和运算

由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。

离散时间信号的卷积定义为

(1-2)

可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。

MATLAB求离散时间信号卷积和的命令为conv,其语句格式为

y=conv(x,h)

其中,x与h表示离散时间信号值的向量;y为卷积结果。

用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。

例如,利用MALAB的conv命令求两个长为4的矩形序列的卷积和,即

,其结果应是长为7(4+4-1=7)的三角序列。

用向量[1111]表示矩形序列,MATLAB源程序为

x1=[1111];

x2=[1111];

g=conv(x1,x2)

运行结果:

如果要绘出图形来,则利用stem命令,即

n=1:

7;

stem(n,g,'fill'),gridon,xlabel('n')

程序运行结果如图1-4所示。

图1-4

对于给定函数的卷积和,我们应计算卷积结果的起始点及其长度。

两个时限序列的卷积和长度一般等于两个序列长度的和减1。

【实例1-3】已知某系统的单位取样响应为

,试用MATLAB求当激励信号为

时,系统的零状态响应。

解:

MATLAB中可通过卷积求解零状态响应,即

由题意可知,描述

向量的长度至少为8,描述

向量的长度至少为4,因此为了图形完整美观,我们将

向量和

向量加上一些附加的零值。

MATLAB源程序为

 

nx=-1:

5;%x(n)ÏòÁ¿ÏÔʾ·¶Î§(Ìí¼ÓÁ˸½¼ÓµÄÁãÖµ)

nh=-2:

10;%h(n)ÏòÁ¿ÏÔʾ·¶Î§(Ìí¼ÓÁ˸½¼ÓµÄÁãÖµ)

x=uDT(nx)-uDT(nx-4);

h=0.8.^nh.*(uDT(nh)-uDT(nh-8));

y=conv(x,h);

ny1=nx

(1)+nh

(1);

ny=ny1+(0:

(length(nx)+length(nh)-2));

subplot(311)

stem(nx,x,'fill'),gridon

xlabel('n'),title('x(n)')

axis([-41603])

subplot(312)

stem(nh,h','fill'),gridon

xlabel('n'),title('h(n)')

axis([-41603])

subplot(313)

stem(ny,y,'fill'),gridon

xlabel('n'),title('y(n)=x(n)*h(n)')

axis([-41603])

 

程序运行结果如图1-5所示。

图1-5

1.2.4离散时间系统的频率响应

若系统函数为

利用[H,w]=freqz(b,a,N)求取系统频率响应,H为频率响应,w为0到pi的均分N点。

【实例1-4】已知某离散系统的系统函数为

H(z)=[1-1.8z-1-1.44z-2+0.64z-3]/[1-1.64853z-1+1.03882z-2-0.288z-3]

求系统的零极点及频率响应,并画图。

解:

运行结果:

图1-6

图1-7

1.3编程练习

1.试用MATLAB命令求解以下离散时间系统的单位取样响应,判断系统的稳定性,并画图。

(1)

 a=[3 4 2]; 

 b=[1 1]; 

n=0:

30; 

x=impDT(n); 

h=filter(b,a,x); 

 stem(n,h,'fill'),grid on 

 xlabel('n'),title('h(n)的单位取样响应') 

图1-

(1)

(2)

a=[5/2 6 10]; 

b=1; 

n=0:

30; 

x=impDT(n); 

h=filter(b,a,x); 

stem(n,h,'fill'),grid on 

xlabel('n'),title('h(n)的单位取样响应')

练习图1-

(2)

2.已知某系统的单位取样响应为

,试用MATLAB求当激励信号为

时,系统的零状态响应,并画图。

nx=-1:

5; 

nh=-10:

10; 

x=uDT(nx)-uDT(nx-4); 

h=(7/8).^nh.*(uDT(nh)-uDT(nh-10)) :

ny=y1+(0:

length(nh)+length(nx)-2); 

y=conv(x,h); 

stem(ny,y); 

练习图1-2

3.已知某离散系统的系统函数为H(z)=[z-1+z-2]/[1-0.9z-1+0.81z-2],试用MATLAB求系统的零极点及频率响应,并画图。

b=[1,1];

a=[1,-0.9,0.8];

rp=roots(a)

rz=roots(b)

[H,w]=freqz(b,a,1024,'whole');

magX=abs(H);angX=angle(H);

figure

(1)

zplane(b,a)

figure

(2)

subplot(2,1,1);plot(w/pi,magX);grid

xlabel('');tltle('幅度部分');ylabel('幅值')

subplot(2,1,2);pilt(w/pi,angX);grid

xlabel('\omega/\pi为单位的频率');tltle('相角部分');ylabel('相角(幅度)')

练习图1-3

1.4实验心得:

通过这次试验这次实验使我进一步熟悉了MATLAB软件的使用。

让我对matlab的编程语言有了更加深入的了解。

在实验的过程中,通过对每一个程序的编程,更深刻的认识到,编程语言的严谨性,所有的代码必须准确无误,哪怕一个标点符号都不可以出现错误,尤其是中英文符号,必须使用英文符号。

Matlab程序的调用也是一个难点,如果调用程序不对,程序就不能运行,得不到想要的结果,还有matlab函数的格式要求,每一个函数都有相应的格式要求,并且在调用的时候函数名必须与函数文件名相同才能调用。

最后,感谢老师的耐心指导。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2