MATLAB实验报告(5-9)

更新时间:2024-04-26 17:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五次MATLAB实验报告

一. 实验报告

1. 学会运用MATLAB分析连续系统的频率特性; 2. 学会运用MATLAB进行连续系统的频域分析;

二. 实验任务

熟练运用MATLAB进行连续时间LTI系统的频率特性及频率分析,

三. 实验内容

(1).MATLAB信号处理工具箱提供的freqs函数可直接计算系统的频率响应的数值解,其语句格式为

H=freqs(b,a,w)。

b,a分别表示H(w)的分子和分母多项式的系统向量; w为系统频率响应的频率范围,其一般形式为w1:p:w2, w1为频率起始值,w2位频率终止值,p为频率取样间隔, H返回的样值可能包括实部和虚部的复数。

因此,如果想要得到系统的幅频特性或相频特性,还需利用abs和angle函数来分别求得。

(2).连续LTI系统的频域分析法也称傅里叶变换分析法。

四. 实验小结

该实验让我们学会了在MATLAB软件上用傅里叶分析法对连续系统进行频率特性和频域的分析,并输出相应的图形。

五. 实验作业

(1).实例8-1

实例8-4

六.

第六次MATLAB实验报告

一、 实验目的

1. 学会运用MATLAB求拉普拉斯变换。 2. 学会运用MATLAB求拉普拉斯反变换。 3. 学会运用MATLAB求解系统函数的零极点。

4. 学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系。 5. 学会运用MATLAB分析系统函数的极点分布与系统稳定性的分布。 6. 学会运用MATLAB绘制波特图。

二、 实验任务

熟练运用MATLAB进行一系列的编程输出结果和输出图形。

三、 实验内容

1. 拉普拉斯变换:

利用MATLAB的符号数学工具箱中laplace函数来实现拉布拉斯变换,语句格式:L=laplace(f);

2. 拉普拉斯反变换:

(1).语句格式:f=ilaplace(L);

(2).用MATLAB函数residue可以得到复杂有理分式F(s)的部分分式展开式,语句格式:[r,p,k]=residue(B,A); 例题:

format rat;

B=[3]; A=[1,7,10]; [r,p,k]=residue(B,A)

这里k=0。

(3).BA分别表示F(s)的分子和分母多项式的系数向量;r为部分分式的系数;p为极点;k为F(s)中整式部分的系数。 3.系统函数及其零极点的求法:

H(s)零极点的计算可应用MATLAB中的roots函数,分别求出分子和分母多项式的根。

4.系统函数的零极点分布与其时域特性的关系:

已知系统函数H(s),系统单位冲激响应h(t)的求解可利用impulse函数。

四、 实验小结

此次实验,应熟练运用laplace、ilaplace、residue函数。

五、 实验作业

第十章:

T1.(1)

f=sym(t*exp(-3*t));

L=laplace(f)

T2.(2)

format rat; B=[3]; A=[1,7,10]; [r,p]=residue(B,A)

第十一章: 例11-2:

b1=[1]; a1=[1,0];

sys1=tf(b1,a1); subplot(121) pzmap(sys1); axis([-2,2,-2,2]); subplot(122); impulse(b1,a1); figure;

b2=[1]; a2=[1,-1]; sys2=tf(b2,a2); subplot(121); pzmap(sys2); axis([-2,2,-2,2]); subplot(122);

impulse(b2,a2);

b3=[1]; a3=[1,1]; sys3=tf(b3,a3); subplot(121); pzmap(sys3); axis([-2,2,-2,2]); subplot(122); impulse(b3,a3);

b4=[1]; a4=[1,-2,50]; sys4=tf(b4,a4); subplot(121); pzmap(sys4); axis([-2,2,-2,2]); subplot(122); impulse(b4,a4);

b5=[1]; a5=[1,2,50]; sys5=tf(b5,a5); subplot(121); pzmap(sys5); axis([-2,2,-2,2]); subplot(122); impulse(b5,a5);

b6=[1]; a6=[2,0,1]; sys6=tf(b6,a6); subplot(121); pzmap(sys6); axis([-2,2,-2,2]); subplot(122); impulse(b6,a6);

第七次MATLAB实验报告

一、实验目的

1.学会运用MATLAB完成信号抽样及对抽样信号的频谱进行分析。 2.学会运用MATLAB改变抽样间隔观察抽样后的信号的频谱变化。 3.学会运用MATLAB对抽样后的信号进行重建。 4.学会运用MATLAB表示的常用离散时间信号。 5.学会运用MATLAB实现离散时间信号的基本运算。

二、实验任务

此次实验旨在让我们学习有关抽样信号的各种编程和离散时间信号的一些运算,同时明白例题的编程并举一反三完成作业习题。

三、实验内容

(1).信号抽样:从数学上讲,抽样过程就是抽样脉冲P(t)和原连续信号f(t)相乘的过程,即fs(t)=f(t)p(t);

例9-1: Ts=1; dt=0.1; t1=-4:dt:4;

ft=((1+cos(t1))/2).*(uCT(t1+pi)-uCT(t1-pi)); subplot(221) plot(t1,ft),grid on axis([-4,4,-0.5,1.2])

xlabel('Time(sec)'),ylabel('f(t)'); title('升余弦脉冲信号') N=500; k=-N:N; W=pi*k/(N*dt); Fw=dt*ft*exp(-j*t1'*W); subplot(222)

plot(W,abs(Fw)),grid on axis([-10,10,-1,1.1*pi]); title('升余弦脉冲信号的频谱'); xlabel('\\omega'),ylabel('F(w)') t2=-4:Ts:4;

fst=(1+cos(t2)/2).*(uCT(t2+pi)-uCT(t2-pi)); subplot(223) plot(t1,ft,':'),hold on stem(t2,fst),grid on axis([-4,4,-0.5,1.2]);

title('抽样后的信号'),xlabel('Time(sec)'),ylabel('fs(t)')

hold off

Fsw=Ts*fst*exp(-j*t2'*W); subplot(224)

plot(W,abs(Fsw)),grid on axis([-10,10,-1,1.1*pi]); xlabel('\\omega'),ylabel('Fs(w)'); title('抽样信号的频谱')

(2).抽样定理:若f(t)是带限信号,带宽为Wn,则信号f(t)可以用等间隔的臭氧治来唯一标示,f(t)经抽样后的频谱Fs(w)就是将f(t)的频谱F(w)在频率轴上以抽样频率ws为间隔进行周期延拓。

(3).信号重建:抽样定理表明,当抽样间隔笑语奈奎斯间隔时,可以用抽样信号fs(t)唯一的表示原信号f(t),即信号重建。为了从频谱中无失真地恢复原信号,可以采用截止频率wc>=wm的理想低通滤波器。 例9-4:

wm=2; wc=wm; Ts=2.5; n=-100:100; nTs=n*Ts;

fs=((1+cos(nTs))/2).*(uCT(nTs+pi)-uCT(nTs-pi)); t=-4:0.1:4;

ft=fs*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); t1=-4:0.1:4;

f1=((1+cos(t1))/2).*(uCT(t1+pi)-uCT(t1-pi)); subplot(311); plot(t1,f1,':'),hold on axis([-4,4,-0.1,1.1]) xlabel('nTs'),ylabel('f(nTs)');

title('抽样间隔Ts=2时的抽样信号f(nTs)') hold off subplot(312) plot(t,ft),grid on axis([-4,4,-0.1,1.9]) xlabel('t'),ylabel('f(t)');

title('由f(nTs)信号重建得到有失真的升余弦脉冲信号') error=abs(ft-f1);

subplot(313) plot(t,error),grid on xlabel('t'),ylabel('error(t)');

title('重建信号与原升余弦脉冲信号的绝对误差')

(4).离散时间信号在MATLAB中的表示:

离散时间信号是指在离散时刻才有定义的信号,简称离散信号或者序列。离散序列通常用x(n)表示,自变量必须是整数。离散时间信号的波形绘制在MATLAB中,一般用stem函数,stem函数的基本用法和plot函数一样,亚绘制的波形的每个样本上都有一个小圆圈,默认是空心的。

1. 单位取样序列:

Function y =impDT(n)

Y=(n==0); //当参数为0时候的冲激为1,否则为0;

调用此函数的时候,n必须为整数或者整数向量。 例题12-1:

n=-3:3; x=impDT(n);

stem(n,x,'fill'),xlabel('n'),grid on title('单位冲击序列') axis([-3,3,-0.5,1])

2. 单位阶跃序列:

Function y = Udt(n)

Y=n>=0; //当参数为非负时输出为1; 调用此函数的时候,n必须为整数或者整数向量。 例12-2:

n=-3:5;

x=uDT(n);

stem(n,x,'fill'),xlabel('n'),grid on title('单位阶跃序列') axis([-3,5,-0.5,1.5])

3. 矩形序列

例12-3:

n=-3:8;

x=uCT(n)-uCT(n-5);

stem(n,x,'fill'),xlabel('n'),grid on title('矩形序列') axis([-3,8,-1,2])

4. 单边指数序列 5. 正弦序列

(5). 离散时间信号的基本运算

对离散时间序列实型基本运算可得到新的序列,这些基本运算包括加减乘除、、移位和反折等。

例12-7:

a=0.8;N=8;n=-12:12; x=a.^n.*(uCT(n)-uCT(n-N)); n1=n;n2=n1-3;n3=n1+2;n4=-n1; subplot(411) stem(n1,x,'fill'),grid on

title('x1(n)'),axis([-15,10,0,1]) subplot(412) stem(n2,x,'fill'),grid on title('x2(n)'),axis([-15,15,0,1]) subplot(413) stem(n3,x,'fill'),grid on title('x3(n)'),axis([-15,15,0,1]) subplot(414) stem(n4,x,'fill'),grid on title(['x4(n)']),axis([-15,15,0,1])

四、实验小结

做完该实验,对离散时间信号的一些知识和抽样信号的知识有一定的巩固的同时也学会了怎样在MATLAB上进行编程。

五、实验作业

为实验内容中的例题。

第8次MATLAB实验报告

一、 实验目的

1. 学会运用MATLAB求解离散时间系统的零状态响应; 2. 学会运用MATLAB求解离散时间系统的单位取样响应; 3. 学会运用MATLAB求解离散时间系统的卷积和。

二、实验任务

学会使用MATLAB软件编程学习关于离散时间系统的一系列求值求图,

三、实验内容及步骤

1. 离散时间系统的响应:

MATLAB中的函数filter对差分方程的式子在指定时间范围内的输入序列所产生的

响应求解。函数filter的格式:

Y=filter(b,a,x);

其中,x是输入的离散序列,y为输出的离散序列;y和x的长度是一样的,b与a分别为差分方程右端与左端的系数向量。 2. 离散时间系统的单位取样响应:

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

Impz(b,a,N)

参数N通常为正整数,代表计算单位取样响应的样值个数。 3. 离散时间信号的卷积和运算:

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

Y=conv(x,h)

X和h表示离散时间信号值的向量,y为卷积结果。

四、实验小结

学会了MATLAB的三个函数,不同情况下函数的使用。

五、实验作业 例13-2:

a=[3,-4,2]; b=[1,2]; n=0:30;

impz(b,a,30);grid on title('系统单位取样响应')

例13-3

nx=-1:5; nh=-2:10;

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'),grid on xlabel('n'),title('x(n)')

axis([-4,16,0,3]); subplot(312);

stem(nh,h','fill'),grid on xlabel('n'),title('h(n)'); axis([-4,16,0,3]); subplot(313)

stem(ny,y,'fill'),grid on xlabel('n'),title('y(n)=x(n)*h(n)'); axis([-4,16,0,3])

第九次MATLAB实验报告

一、 实验目的

1. 学会运用MATLAB求离散时间信号的z变换和z反变换; 2. 学会运用MATLAB分析离散时间系统的系统函数的零极点; 3. 学会运用MATLAB分析系统函数的极点分布与其时域特性的关系; 4. 学会运用MATLAB进行离散时间系统的频率特性分析。

二、 实验任务

能够学会运用MATLAB软件编程求得离散时间信号的z变换和z反变换,并求解系统函数的零极点与其分布。并编程老师布置的习题。

三、实验内容

1.z的正变换

(1).MATLAB符号工具箱中提供了计算离散时间信号单边z变换的函数ztrans和z反变换函数iztrans,语句格式分别是:

Z=ztrans(x) X=iztrans(z)

x和Z分别为时域表达式和z域表达式的符号表示,课通过sym函数来定义。

例14-2: (1)

(2)

(2).MATLAB信号处理工具箱提供了一个对X(z)进行部分分式展开的函数

residuez,其语句格式为:

[R,P,K]=residuez(B,A)

其中B、A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;K为多项式的系数。若X(z)为有理真分式,K=0。

2.系统函数的零极点分析

(1).MATLAB中,系统韩式的零极点就可以通过函数roots得到,也可以借助函数得到,ft2zp的语句格式为:

[Z,P,K]=tf2zp(B,A)

B与A分别表示H(z)分子与分母多项式的系数向量。

(2).若要获得此函数H(z)的零极点分布图,可直接应用zplane函数,其语句格式为:

Zplane(B,A)

B和A分别表示H(z)的分子与分母多项式的系数向量,她的作用是在Z平面上画出单位圆、零点和极点。

3.系统函数的零极点分布与其时域特性的关系。 4.离散时间LTI系统的频率特性分析

MATLAB提供了求离散时间系统频响特性的函数freqz,调用freqz的格式主要有两种形式。

一种形式为:[H,w]=freqz(B,A,N)

B和A分别表示H(z)的分子和分母多项式的系数向量;N为正整数;默认值为512;返回值为w为包含[0,π]范围内的N个频率等分点;返回值H则是离散时间系统频率响应H(ejw)在0~π范围内的N个频率处的值。

另一种形式为:[H,w]=freqz(B,A,N,’whole’) 与第一种不同的是角频率的范围扩展到了[0,2π];

四、实验总结

从该实验中学会了运用MATLAB软件编程求得离散时间信号的z变换和z反

变换,并求解系统函数的零极点与其分布。

五、实验作业

例14-6:

(1):

本文来源:https://www.bwwdw.com/article/lkup.html

Top