搜索
您的当前位置:首页正文

离散信号分析

来源:欧得旅游网
实验六 离散信号分析

一、 实验目的:

1、 掌握离散信号的分析方法。

2、 掌握用MATLAB对离散信号的编程方法。

二、 实验内容:

1、 掌握离散信号的MATLAB表述方法。 2、 掌握差分方程的通用递推程序。

题目一:离散信号的MATLAB表述 设计要求:编写MATLAB程序来产生下列基本脉冲序列:

(1) 单位脉冲序列,起点n0,终点nf,在ns处有一单位脉冲(n0(2) 单位阶跃序列,起点n0,终点nf,在ns前为0,在ns后为1(n0(3) 复指数序列。

nsnsnf)。 nf)。

参考程序:clear, n0=0; nf=10; ns=3;

n1=n0:nf; x1=[zeros(1,ns-n0),1,zeros(1,nf-ns)];

n2=n0:nf; x2=[zeros(1,ns-n0),ones(1,nf-ns+1)];

n3=n0:nf; x3=exp((-0.2+0.5j)*n3);

subplot(2,2,1),stem(n1,x1); title('单位脉冲序列')

subplot(2,2,3),stem(n2,x2); title('单位阶跃序列')

subplot(2,2,2),stem(n3,real(x3));line([0,10],[0,0])

title('复指数序列'),ylabel('实部 ')

subplot(2,2,4),stem(n3,imag(x3));line([0,10],[0,0]),

ylabel('虚部 ') 程序运行结果如图7-1

图7-1 程序运行结果

题目二:差分方程的通用递推程序 设计要求:描述线性时不变离散系统的差分方程为

a1y(n)+a2y(n-1)+…+anay(n-na+1)=b1u(n)+b2u(n-1)+…+bnbu(n-nb+1)

编写解上述方程的通用程序。

参考程序:a=input('差分方程左端的系数向量 a=[a(1),...a(na)]= ');

b=input('差分方程右端的系数向量 b=[b(1),...b(na)]= ');

u=input('输入信号序列 u=');

na=length(a); nb=length(b); nu=length(u);

s=['起算点前' ,int2str(na-1), '点y的值 =[y(',int2str(na-2),'), ...,y(0)]='];

ym=zeros(1,na+nu-1); ym(1:na-1)=input(s);

um=[zeros(1,na-2),u];

for n=na:na+nu-1

ys=ym(n-1:-1:n-na+1); us=um(n:-1:n-nb+1);

ym(n)=(b*us'-a(2:na)*ys')/a(1);

end

y=ym(na:na+nu-1); stem(y), grid on

line([0,nu],[0,0])

执行此程序,输入

a=[1,0.1,0.15,-0.225];b=[3,7,1]

u=exp(0.1*[1:20]);及ym=[0,0,0];

程序运行结果如图7-2

图7-2 程序运行结果

注:MATLAB函数filter与此程序等效。键入y1=filter(b,a,u);stem(y1)可得到同样的结果。

三、思考题:

1、总结MATLAB的常用函数。 2、写出本次实验的收获体会。

四、实验报告:

实验名称 班级 姓名 学号 1.实验目的。 2 .实验内容。

3.各题的建模、设计过程。 4.各题的执行参数和运行结果。 5.思考题。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top