长江大学信号与系统matlab实验答案

更新时间:2023-08-27 05:47:01 阅读量: 教育文库 文档下载

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

实验1 信号变换与系统非时变性质的波形绘制

用MATLAB画出习题1-8的波形。 用MATLAB画出习题1-10的波形。 Eg 1.8

代码如下:

function [y]=zdyt(t) %定义函数zdyt

y=-2/3*(t-3).*(heaviside(-t+3)-heaviside(-t)); end

t0=-10;t1=4;dt=0.02; t=t0:dt:t1; f=zdyt(t); y=zdyt(t+3); x=zdyt(2*t-2); g=zdyt(2-2*t); h=zdyt(-0.5*t-1);

fe=0.5*(zdyt(t)+zdyt(-t)); fo=0.5*(zdyt(t)-zdyt(-t)); subplot(7,1,1),plot(t,f); title('信号波形的变化') ylabel('f(t)')

grid;line([t0 t1],[0 0]); subplot(7,1,2),plot(t,y); ylabel('y(t)')

grid;line([t0 t1],[0 0]); subplot(7,1,3),plot(t,x); ylabel('x(t)')

grid;line([t0 t1],[0 0]); subplot(7,1,4),plot(t,g); ylabel('g(t)')

grid;line([t0 t1],[0 0]); subplot(7,1,5),plot(t,h); ylabel('h(t)')

grid;line([t0 t1],[0 0]); subplot(7,1,6),plot(t,fe); ylabel('fe(t)')

grid;line([t0 t1],[0 0]); subplot(7,1,7),plot(t,fo); ylabel('fo(t)')

grid;line([t0 t1],[0 0]); xlabel('Time(sec)')

结果:

信号波形的变化

210-10210-10210-10210-10210-1010.50-1010-1-10f(t

)

-8-6-4-2024

y(t

)

-8-6-4-2024

x(t

)

-8-6-4-2024

g(t

)

-8-6-4-2024

h(t

)

-8-6-4-2024

fe(t

)

-8-6-4-2024

fo(t

)

-8-6

-4-2Time(sec)

024

Eg1.10

代码如下:

function [u]=f(t) %定义函数f(t) u= heaviside(t)-heaviside(t-2); end

function [u] =y(t) %定义函数y(t)

u=2*(t.*heaviside(t)-2*(t-1).*heaviside(t-1)+(t-2).*heaviside(t-2)); end

t0=-2;t1=5;dt=0.01; t=t0:dt:t1; f1=f(t); y1=y(t); f2=f(t)-f(t-2); y2=y(t)-y(t-2); f3=f(t)-f(t+1); y3=y(t)-y(t+1);

subplot(3,2,1),plot(t,f1); title('激励——响应波形图') ylabel('f1(t)')

grid;line([t0 t1],[0 0]);

subplot(3,2,2),plot(t,y1); ylabel('y1(t)')

grid;line([t0 t1],[0 0]); subplot(3,2,3),plot(t,f2); ylabel('f2(t)')

grid;line([t0 t1],[0 0]); subplot(3,2,4),plot(t,y2); ylabel('y2(t)')

grid;line([t0 t1],[0 0]); subplot(3,2,5),plot(t,f3); ylabel('f3(t)')

grid;line([t0 t1],[0 0]); subplot(3,2,6),plot(t,y3); ylabel('y3(t)')

grid;line([t0 t1],[0 0]); xlabel('Time(sec)')

结果:

激励——响应波形图10.50-210-1-210-1-2

y3(t

)

f3(t

)

y2(t

)

f2(t

)

y1(t

)

f1(t

)

210-220-2-220-2-2

02460246

02460246

02460

2Time(sec)

46

实验2 微分方程的符号计算和波形绘制

上机内容

用MATLAB计算习题2-1,并画出系统响应的波形。

注:由于MATLAB版本的不同,求齐次通解和非齐次通解中的常数C可能不同,

这时可令C1=1;C2=1;C3=1;C4=1;yht=subs(yht); yt=subs(yt); 则特解可求出yp=yt-yht

用MATLAB计算习题2-3,并画出系统响应的波形。 Eg2.1

代码如下:

C5=1;C6=1;C8=1;C9=1;

y=dsolve('D2y+3*Dy+2*y=4*exp(-3*t)','y(0)=3,Dy(0)=4') yht=dsolve('D2y+3*Dy+2*y=0')

yt=dsolve('D2y+3*Dy+2*y=4*exp(-3*t)') yp=yt-yht yh=y-yp

yzi=dsolve('D2y+3*Dy+2*y=0','y(0)=3,Dy(0)=4')

yzs=dsolve('D2y+3*Dy+2*y=4*exp(-3*t)','y(0)=0,Dy(0)=0') t=linspace(0,4,300);figure(1)

y_n=subs(y);yh_n=subs(yh);yp_n=subs(yp);

plot(t,y_n,t,yh_n,'m:',t,yp_n,'r-.','linewidth',2) xlabel('Time(sec)'),title('全响应,自由响应,强迫响应') legend('全响应','自由响应','强迫响应',0) figure(2)

yzi_n=subs(yzi);yzs_n=subs(yzs);

plot(t,y_n,t,yzi_n,'m:',t,yzs_n,'r-.','linewidth',2) xlabel('Time(sec)'),title('全响应,零输入响应,零状态响应') legend('全响应','零输入响应','零状态响应',0)

结果: >> eg2_1 y =

12*exp(-t) - 11*exp(-2*t) + 2*exp(-3*t)

yht =

C5*exp(-t) + C6*exp(-2*t) yt =

2*exp(-3*t) + C8*exp(-t) + C9*exp(-2*t) yp =

2*exp(-3*t) - C5*exp(-t) - C6*exp(-2*t) + C8*exp(-t) + C9*exp(-2*t) yh =

12*exp(-t) - 11*exp(-2*t) + C5*exp(-t) + C6*exp(-2*t) - C8*exp(-t) - C9*exp(-2*t)

yzi =

10*exp(-t) - 7*exp(-2*t)

yzs =

2*exp(-t) - 4*exp(-2*t) + 2*exp(-3*t)

全响应,自由响应,强迫响应

43.532.521.510.500

0.511.5

2Time(sec)

2.533.54

全响应,零输入响应,零状态响应

43.532.521.510.500

0.511.5

2Time(sec)

2.533.54

Eg2.3

代码如下:

y1zi=dsolve('D2y+5*Dy+6*y=0','y(0)=2,Dy(0)=-1') y2zi=dsolve('D2y+4*Dy+4*y=0','y(0)=3,Dy(0)=-4') y3zi=dsolve('D2y+4*Dy+13*y=0','y(0)=5,Dy(0)=8') y4zi=dsolve('D3y+D2y=0','y(0)=4,Dy(0)=3,D2y(0)=-1') y1zi_n=subs(y1zi);y2zi_n=subs(y2zi); y3zi_n=subs(y3zi);y4zi_n=subs(y4zi); t=linspace(0,6,300);

subplot(4,1,1),plot(t,y1zi_n); title('D2y+5*Dy+6*y=Df+f的零输入响应') subplot(4,1,2),plot(t,y2zi_n); title('D2y+4*Dy+4*y=Df的零输入响应') subplot(4,1,3),plot(t,y3zi_n); title('D2y+4*Dy+13*y=D2f的零输入响应') subplot(4,1,4),plot(t,y4zi_n); title('D3y+D2y=D2f+2*f的零输入响应') xlabel('Time(sec)')

结果如下: eg2_3 y1zi =

5*exp(-2*t) - 3*exp(-3*t)

y2zi =

3*exp(-2*t) + 2*t*exp(-2*t)

y3zi =

5*cos(3*t)*exp(-2*t) + 6*sin(3*t)*exp(-2*t)

y4zi =

2*t - exp(-t) + 5

D2y+5*Dy+6*y=Df+f的零输入响应

21

042

0100

-102010

00

1

2

3Time(sec)

4

5

6

1

234D3y+D2y=D2f+2*f的零输入响应

5

6

1

234

D2y+4*Dy+13*y=D2f的零输入响应

5

6

1

234D2y+4*Dy+4*y=Df的零输入响应

5

6

实验3 绘制连续系统的四幅图

上机内容

用MATLAB计算习题3-28(3)。画出四幅图 用MATLAB计算习题3-29(a)。画出四幅图 Eg3.28(3) 代码如下:

num=[1 0 0]; a=[1 1];b=[1 4 16]; c=conv(a,b); den=c;

subplot(3,1,1); pzmap(num,den); t=0:0.02:5; subplot(3,1,2); impulse(num,den,t); subplot(3,1,3); step(num,den,t); figure(2) freqs(num,den); figure(3) bode(num,den);

结果:

-1Imaginary Axis (seconds)

Pole-Zero Map

-210-10

0.5

1

1.5

22.53Time (seconds)Step Response

3.5

4

4.5

5

-1.8

-1.6

-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

-1

Real Axis (secondsImpulse Response)

AmplitudeAmplitude

0.20-0.2

0.5

1

1.5

22.53Time (seconds)

3.54

4.55

10Magnitude

1010

-2

-4

10

-210Phase (degrees)

-6

10

-1

10

Frequency (rad/s)

10

1

10

2

-210

10

-1

10

Frequency (rad/s)

10

1

10

2

Magnitude (dB)

Bode Diagram

Phase (deg)

-210

10

-1

10

Frequency (rad/s)

10

1

10

2

Eg3.29(a) 代码如下:

b=[0 1]; n=[1 3];m=[1 6]; c=conv(n,m); a=c; figure(1)

w=linspace(0,200,200); zpplot(b,a) freresp(b,a,w) figure(2) t=0:0.02:5; subplot(1,2,1); impulse(b,a,t); subplot(1,2,2); step(b,a,t); figure(3) bode(b,a);

结果:

零极点分布图

0.06

6

0.05

4

0.04

2

幅频特性图

0-20

-40-60

相频特性图

相位(度)

100

200

j)||F(

0.03

-80-100-120-140-160

-2

0.02

-4

0.01

-6

-5

5

-180

100

200

Impulse Response

Step Response

0.090.08

0.06

0.05

0.070.06Amplitude

0.04Amplitude

0.050.040.030.02

0.03

0.02

0.01

0.0100

1

234Time (seconds)

5

00

1

234Time (seconds)

5

-20Magnitude (dB)

Bode Diagram

-40-60-80-100-120

Phase (deg)

-110

10

10

Frequency (rad/s)

1

10

2

10

3

实验4离散信号波形绘制和迭代法计算

上机内容

用MATLAB计算习题4-4。

用MATLAB计算习题4-6。并显示前15项数值,画出其波形。 Eg4.4

代码如下:

function [y]=f(k) %定义函数f(k)

y=-((k-3)/3).*(u(k)-u(k-4))+delta(k+1)+delta(k+2); end

k=-5:6; y=f(k); y1=f(k+2);

y2=f(k+2).*u(-k-2); y3=f(-k+2);

y4=f(-k+2).*u(k-1);

subplot(5,1,1),ylabel('f(k)') mystem(k,y),title('信号f(k)的波形图'); subplot(5,1,2),ylabel('f(k+2)')

mystem(k,y1),title('信号f(k+2)的波形图'); subplot(5,1,3),ylabel('f(k+2)ε(-k-2)')

mystem(k,y2),title('信号f(k+2)ε(-k-2)的波形图'); subplot(5,1,4),ylabel('f(-k+2)')

mystem(k,y3),title('信号f(-k+2)的波形图'); subplot(5,1,5),ylabel('f(-k+2)ε(k-1)') mystem(k,y4),title('信号f(-k+2)ε(k-1)的波形图');

结果:

信号f(k)的波形图

-5-5-5

-4-3-2-1

信号f(k+2)的波形图

0123456

-4-3-2

信号f(k+2)ε(-k-2)的波形图

-10123456

信号f(-k+2)的波形图

信号f(-k+2)ε(k-1)的波形图

-4-3-2-10123456

Eg4.6

代码如下:

k=-2:20;n=length(k)-2;

y=[2,3,zeros(1,n)];f=(3.^k).*u(k); fori=1:n

y(i+2)=-3*y(i+1)-2*y(i)+f(i+2)+3*f(i+1)+3*f(i); end

clf;stem(k,y);xlabel('y');ylabel('y(k)'); disp('k y');disp((num2str([k',y'])));

结果:

43.532.52y(k)

x 10

9

1.510.50-0.5-5

05

y

101520

实验5 绘制离散系统的四幅图

上机内容

用MATLAB计算习题5-8。画出四幅图 用MATLAB计算习题5-18。画出四幅图

注:四幅图为:零极点图,冲激响应和阶跃响应图(两个响应竖排),零输入响应和零状态响应图(两个响应竖排),频率响应(幅频响应和相频响应竖排)。 Eg5.8

代码如下:

a=[2 -3 1];b=[4 -3 0];

k=0:20;x=zeros(1,21);f=(4.^-k).*u(k); zi=filtic(b,a,[0 -1],[0 0]); yzi=filter(b,a,x,zi) figure(1),

subplot(2,1,1),mystem((0:20),yzi) xlabel('k'),title('零输入响应') yzs=filter(b,a,f);

subplot(2,1,2),mystem(k,yzs) xlabel('k'),title('零状态响应') figure(2),

subplot(2,1,1),impz(b,a,21); xlabel('k'),title('冲激响应') subplot(2,1,2),stepz(b,a,21); xlabel('k'),title('阶跃响应') figure(3),

zplane(b,a); figure(4), [H,w]=freqz(b,a);

subplot(2,1,1),myplot(w/pi,abs(H))

xlabel('频率\omega(x\pi rad/sample'),title('幅度响应') subplot(2,1,2),myplot(w/pi,unwrap(angle(H)*180/pi)) xlabel('频率\omega(x\pi rad/sample'),title('频率')

结果:

零输入响应

2

4

6

8

10k

12

14

16

18

20

零状态响应

k

冲激响应

Amplitude

2

4

6

8

1012k阶跃响应

14

16

18

20

Amplitud

e

02468

10k

12141618

20

10.80.60.4Imaginary Part

0.20-0.2-0.4-0.6-0.8-1

-1

-0.5

0Real Part

0.5

1

幅度响应

150

100

50

00.10.20.3

0.50.6

频率 (x rad/sample

0.40.70.80.9

相位响应

8060

402000

0.1

0.2

0.3

0.50.6

频率 (x rad/sample0.4

0.7

0.8

0.9

Eg5.18(1) 代码如下:

b=[1 0];a=[1 0.9]; figure(1);zplane(b,a); n=0:40;figure(2); subplot(2,1,1)

h=impz(b,a,n);mystem(n,h) xlabel('k') title('冲激响应') subplot(2,1,2)

g=stepz(b,a,n);mystem(n,g) xlabel('k') title('阶跃响应') [H,w]=freqz(b,a); figure(3);subplot(2,1,1) myplot(w/pi,abs(H));

xlabel('频率\omega(x\pi rad/sample)') title('幅度响应') subplot(2,1,2)

myplot(w/pi,unwrap(angle(H)*180/pi)) xlabel('频率\omega(x\pi rad/sample)') title('相位响应')

结果:

10.8

0.60.4Imaginary Part

0.20-0.2-0.4-0.6-0.8-1

-1

-0.5

0Real Part

冲激响应

5

10

15

20k

25

30

35

40

0.51

阶跃响应

5

10

15

20k

25

30

35

40

幅度响应

108

64200

0.10.20.3

0.50.6

频率 (x rad/sample)

0.40.70.80.9

相位响应

6040

2000

0.1

0.2

0.3

0.50.6

频率 (x rad/sample)0.4

0.7

0.8

0.9

Eg5.18(2) 代码如下:

b=[1 0];a=[1 -0.9]; figure(1);zplane(b,a); n=0:40;figure(2); subplot(2,1,1)

h=impz(b,a,n);mystem(n,h) xlabel('k') title('冲激响应') subplot(2,1,2)

g=stepz(b,a,n);mystem(n,g) xlabel('k') title('阶跃响应') [H,w]=freqz(b,a); figure(3);subplot(2,1,1) myplot(w/pi,abs(H));

xlabel('频率\omega(x\pi rad/sample)') title('幅度响应') subplot(2,1,2)

myplot(w/pi,unwrap(angle(H)*180/pi)) xlabel('频率\omega(x\pi rad/sample)') title('相位响应')

结果:

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

Top