MATLAB与信号与系统实验指导书(李敏 教改版)(4)

2019-05-17 12:31

《MATLAB&信号与系统》实验指导书

title('被调信号'); axis([0 0.1 -1 1]) Nfft=1024;

window=hamming(512); noverlap=256; dflag='none';

[Pxx,f]=psd(x,Nfft,Fs,window,noverlap,dflag); subplot(222) plot(f,Pxx) xlabel('频率(Hz)');

ylabel('功率谱(X)');

title('被调信号的功率谱') grid

y=modulate(x,Fc,Fs,'am'); subplot(223) plot(t,y) xlabel('t(s)'); ylabel('y'); axis([0 0.1 -1 1]) title('已调信号')

[Pxx,f]=psd(y,1024,Fs,window,noverlap,dflag); subplot(224) plot(f,Pxx) xlabel('频率(Hz)');

ylabel('功率谱(Y)');

乐山师范学院.物理与电子工程学院

《MATLAB&信号与系统》实验指导书

title('已调信号的功率谱'); grid

2、内容2的MATLAB参考程序如下:

R=0.005;t=-1.2:R:1.2;

f=Heaviside(t+1)-Heaviside(t-1); f1=f.*cos(10*pi*t); subplot(221) plot(t,f) xlabel('t'); ylabel('f(t)'); subplot(222); plot(t,f1); xlabel('t');

ylabel('f1(t)=f(t)*cos(10*pi*t)'); W1=40; N=1000; k=-N:N; W=k*W1/N; F=f*exp(-j*t'*W)*R; F=real(F);

F1=f1*exp(-j*t'*W)*R; F1=real(F1); subplot(223); plot(W,F); xlabel('w'); ylabel('F(jw)'); subplot(224); plot(W,F1); xlabel('w');

乐山师范学院.物理与电子工程学院

《MATLAB&信号与系统》实验指导书

ylabel('F1(jw)');

实验四 连续时间信号与系统的频域分析

一、 实验目的

1、学会用MATLAB实现连续时间信号傅里叶变换 2、学会用MATLAB分析LTI系统的频域特性 3、学会用MATLAB分析LTI系统的输出响应 二、实验原理

1.傅里叶变换的MATLAB求解

MATLAB的symbolic Math Toolbox 提供了直接求解傅里叶变换及逆变换的函数fourier()及ifourier()两者的调用格式如下。 Fourier 变换的调用格式

F=fourier(f):它是符号函数f的fourier变换默认返回是关于w的函数。

F=fourier(f,v):它返回函数F是关于符号对象v的函数,而不是默认的w,即

F(v)??????f(x)e?jvxdx

Fourier逆变换的调用格式

f=ifourier(F):它是符号函数F的fourier逆变换,默认的独立变量为w,默认返回是

关于x的函数。

f=ifourier(f,u):它的返回函数f是u的函数,而不是默认的x.

注意:在调用函数fourier()及ifourier()之前,要用syms命令对所用到的变量(如t,u,v,w)进行说明,即将这些变量说明成符号变量。 例4-1 求f(t)?e?2t的傅立叶变换 解: 可用MATLAB解决上述问题: syms t

Fw=fourier(exp(-2*abs(t))) 例4-2 求F(jw)?1的逆变换f(t) 1??2解: 可用MATLAB解决上述问题 syms t w

ft=ifourier(1/(1+w^2),t)

2.连续时间信号的频谱图

例4-3 求调制信号f(t)?AG?(t)cos?0t的频谱,式中

A?4,?0?12?,??1??,G?(t)?u(t?)?u(t?) 222解:MATLAB程序如下所示

ft=sym('4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4))');

乐山师范学院.物理与电子工程学院

《MATLAB&信号与系统》实验指导书

Fw=simplify(fourier(ft)) subplot(121)

ezplot(ft,[-0.5 0.5]),grid on subplot(122)

ezplot(abs(Fw),[-24*pi 24*pi]),grid

4 cos(2 ? 6 t) (Heaviside(t+1/4)-Heaviside(t-1/4))43210-1-20.2-3-4-0.50t0.50.10-500w5010.90.80.70.60.50.40.38 abs(w sin(1/4 w)/(w2-144 ?2))

用MATLAB符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示出错,这时用MATLAB的数值计算也可以求连续信号的傅里叶变换,计算原理是

F(j?)??f(t)e????j?tdt?lim?f(n?)e?j?n??

??0n????当?足够小时,近似计算可满足要求。若信号是时限的,或当时间大于某个给定值时,信号已衰减的很厉害,可以近似地看成时限信号时,n的取值就是有限的,设为N,有

F(k)??f(n?)e?j?kn??n?0N?1,0?k?N,?k?2?k 是频率取样点 N?时间信号取样间隔?应小于奈奎斯特取样时间间隔,若不是带限信号可根据计算精度要求确定一个频率 W0为信号的带宽。

例4-4 用数值计算法求信号f(t)?u(t?1)?u(t?1)的傅里叶变换

解,信号频谱是F(j?)?2Sa(?),第一个过零点是?,一般将此频率视为信号的带宽,若将精度提高到该值的50倍,既W0=50?,据此确定取样间隔,??1?0.02 2F0乐山师范学院.物理与电子工程学院

《MATLAB&信号与系统》实验指导书

R=0.02;t=-2:R:2;

f=Heaviside(t+1)-Heaviside(t-1); W1=2*pi*5;

N=500;k=0:N;W=k*W1/N; F=f*exp(-j*t'*W)*R; F=real(F);

W=[-fliplr(W),W(2:501)]; F=[fliplr(F),F(2:501)]; subplot(2,1,1);plot(t,f); xlabel('t');ylabel('f(t)'); title('f(t)=u(t+1)-u(t-1)'); subplot(2,1,2);plot(W,F); xlabel('w');ylabel('F(w)'); title('f(t)的付氏变换F(w)');

3.用MATLAB分析LTI系统的频率特性

当系统的频率响应H(jw)是jw的有理多项式时,有

jwM)?1?L?b1jw(?)b0B(w)bM(jw)M?bM?1( H(jw)? ?A(w)aN(jw)N?aN?1(jw)N?1?L?a1(jw)?a0MATLAB信号处理工具箱提供的freqs函数可直接计算系统的频率响应的数值解。其调用格式如下

H=freqs(b,a,w)

其中,a和b分别是H(jw)的分母和分子多项式的系数向量,w为形如w1:p:w2的向量,定义系统频率响应的频率范围,w1为频率起始值,w2为频率终止值,p为频率取样间隔。H返回w所定义的频率点上,系统频率响应的样值。

例如,运行如下命令,计算0~2pi频率范围内以间隔0.5取样的系统频率响应的样值 a=[1 2 1]; b=[0 1];

h=freqs(b,a,0:0.5:2*pi)

例 4-5 三阶归一化的butterworth 低通滤波器的频率响应为

H(jw)?1 32(jw)?2(jw)?2(jw)?1 试画出该系统的幅度响应H(jw)和相位响应?(?)。 解 其MATLAB程序及响应的波形如下 w=0:0.025:5; b=[1];a=[1,2,2,1]; H=freqs(b,a,w); subplot(2,1,1);

plot(w,abs(H));grid; xlabel('\\omega(rad/s)');

乐山师范学院.物理与电子工程学院


MATLAB与信号与系统实验指导书(李敏 教改版)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:知识产权法试题

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

马上注册会员

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