《基于-MATLAB的信号和系统实验指导》编程练习(4)

2020-04-21 07:44

>> ylabel('f(t)'),xlabel('Time(s)') >> title('激励信号的波形') >> subplot(212) >> plot(t,y),grid on

>> ylabel('y(t)'),xlabel('Time(s)') >> title('稳态响应的波形')

(2)频率响应为

MATLAB源程序:

>> t=0:0.01:20; >> w1=2;w2=5;

>> H1=((-i*w1+2)./((i*w1)^2+2*i*w1+3)); >> H2=(-i*w2+2)./((i*w2)^2+2*i*w2+3); >> f=3+cos(2*t)+cos(5*t);

>> y=3+abs(H1)*cos(w1*t+angle(H1))+abs(H2)*cos(w2*t+angle(H2)); >> subplot(211); >> plot(t,f);grid on

>> ylabel('f(t)'),xlabel('Time(s)') >> title('激励信号的波形') >> subplot(212); >> plot(t,y),grid on

>> ylabel('y(t)'),xlabel('Time(s)') >> title('稳态响应的波形')

第9章 信号抽样及抽样定理

9.1设有三个不同频率的正弦信号,频率分别为f=100Hz,f=200Hz,f=3800Hz。现在用抽样频率fs=4000Hz对这

1

2

3

三个正弦信号进行抽样,用MATLAB命令画出各抽样信号的波形及其频谱,并分析其频率混叠现象。

解:>> Ts=0.00025; >> dt=0.0001; >> t1=-0.1:dt:0.1; >> ft=sin(200*pi*t1);

>> subplot(221)

>> plot(t1,ft),grid on

>> axis([-0.01 0.01 -1.1 1.1])

>> xlabel('Time(sec)'),ylabel('f(t)') >> title('f1信号') >> N=100; >> k=-N:N;

>> W=pi*k/(N*dt);

>> Fw=ft*exp(-i*t1'*W)*dt; >> subplot(222)

>> plot(W,abs(Fw)),grid on >> axis([-5000 5000 -0.1 0.2]) >> t2=-0.1:Ts:0.1; >> fst=sin(200*pi*t2); >> subplot(223)

>> plot(t1,ft,':'),hold on >> stem(t2,fst),grid on >> axis([-0.01 0.01 -1.1 1.1])

>> xlabel('Time(sec)'),ylabel('fs(t)') >> title('抽样后的信号'),hold off >> Fsw=fst*exp(-i*t2'*W)*Ts; >> subplot(224)

>> plot(W,abs(Fsw)),grid on >> axis([-5000 5000 -0.1 0.2])

>> xlabel('\\omega'),ylabel('Fs(w)') >> title('抽样信号的频谱')

9.2结合抽样定理,用MATLAB编程实现Sa(t)信号经冲激脉冲抽样后得到的抽样信号fs(t)及其频谱,并利用fs(t)重构Sa(t)信号。

解:首先,画出Sa(t)信号的波形和频谱: >> syms t;

>> Sa(t)=(sin(t))/t; >> subplot(211)

>> ezplot(Sa(t)),grid on

>> xlabel('Time(sec)'),ylabel('Sa(t)') >> title('Sa(t)的波形')

>> Fw=simplify(fourier(Sa(t))); >> subplot(212)

>> ezplot(abs(Sa(t))),grid on

>> xlabel('\\omega'),ylabel('H(jw)') >> title('Sa(t)的频谱')

由图可知,Sa(t)的频谱大部分集中在[0,6]之间,设其截止频率为 ,因而奈奎斯特间

隔 ,采用截止频率 的低通滤波器对抽样信号滤波后重建信号 ,并计算重建信号与原Sa(t)信号的绝对误差: >> wm=6;

>> wc=1.2*wm; >> Ts=0.4; >> n=-100:100; >> nTs=n*Ts;

>> fs=sinc(nTs/pi); >> t=-6:0.1:6;

>> ft=Ts*wc/pi*fs*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); >> t1=-6:0.1:6; >> f1=sinc(t1/pi); >> subplot(311)

>> plot(t1,f1,':'),hold on >> stem(nTs,fs),grid on >> axis([-6 6 -0.5 1])

>> xlabel('nTs'),ylabel('f(nTs)');

>> title('抽样间隔Ts=0.4时的抽样信号f(nTs)') >> hold off >> subplot(312) >> plot(t,ft),grid on >> axis([-6 6 -0.5 1]) >> xlabel('t'),ylabel('f(t)');

>> title('由f(nTs)信号重建得到Sa(t)信号') >> error=abs(ft-f1); >> subplot(313)

>> plot(t,error),grid on

>> xlabel('t'),ylabel('error(t)');

>> title('重建信号与原信号的绝对误差')


《基于-MATLAB的信号和系统实验指导》编程练习(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:塑料模模拟试卷 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: