matlab抽样Word格式文档下载.docx

上传人:b****2 文档编号:5831018 上传时间:2023-05-05 格式:DOCX 页数:22 大小:105.91KB
下载 相关 举报
matlab抽样Word格式文档下载.docx_第1页
第1页 / 共22页
matlab抽样Word格式文档下载.docx_第2页
第2页 / 共22页
matlab抽样Word格式文档下载.docx_第3页
第3页 / 共22页
matlab抽样Word格式文档下载.docx_第4页
第4页 / 共22页
matlab抽样Word格式文档下载.docx_第5页
第5页 / 共22页
matlab抽样Word格式文档下载.docx_第6页
第6页 / 共22页
matlab抽样Word格式文档下载.docx_第7页
第7页 / 共22页
matlab抽样Word格式文档下载.docx_第8页
第8页 / 共22页
matlab抽样Word格式文档下载.docx_第9页
第9页 / 共22页
matlab抽样Word格式文档下载.docx_第10页
第10页 / 共22页
matlab抽样Word格式文档下载.docx_第11页
第11页 / 共22页
matlab抽样Word格式文档下载.docx_第12页
第12页 / 共22页
matlab抽样Word格式文档下载.docx_第13页
第13页 / 共22页
matlab抽样Word格式文档下载.docx_第14页
第14页 / 共22页
matlab抽样Word格式文档下载.docx_第15页
第15页 / 共22页
matlab抽样Word格式文档下载.docx_第16页
第16页 / 共22页
matlab抽样Word格式文档下载.docx_第17页
第17页 / 共22页
matlab抽样Word格式文档下载.docx_第18页
第18页 / 共22页
matlab抽样Word格式文档下载.docx_第19页
第19页 / 共22页
matlab抽样Word格式文档下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab抽样Word格式文档下载.docx

《matlab抽样Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab抽样Word格式文档下载.docx(22页珍藏版)》请在冰点文库上搜索。

matlab抽样Word格式文档下载.docx

y=A*exp(a*t)(例取A=1,a=-0.4)

A=1;

a=-0.4;

t=0:

0.01:

10;

ft=A*exp(a*t);

plot(t,ft);

gridon;

2、正弦信号:

正弦信号Acos(w0t+)和Asin(w0t+)分别由函数cos和sin表示,其调用形式为:

A*cos(w0t+phi);

A*sin(w0t+phi)(例取A=1,w0=2,=/6)

w0=2*pi;

phi=pi/6;

0.001:

8;

ft=A*sin(w0*t+phi);

gridon;

3、抽样函数:

抽样函数Sa(t)在MATLAB中用sinc函数表示,其定义为:

sinc(t)=sin(t)/(t)

其调用形式为:

y=sinc(t)

参考程序:

t=-3*pi:

pi/100:

3*pi;

ft=sinc(t/pi);

plot(t,ft);

4、矩形脉冲信号:

在MATLAB中用rectpuls函数来表示,其调用形式为:

y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围,width的默认值为1。

例:

以t=2T(即t-2T=0)为对称中心的矩形脉冲信号的MATLAB源程序如下:

(取T=1)

t=0:

4;

T=1;

ft=rectpuls(t-2*T,2*T);

axis([04–0.51.5]);

周期性矩形波(方波)信号在MATLAB中用square函数来表示,其调用形式为:

y=square(t,DUTY)用以产生一个周期为2、幅值为1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。

例如频率为30Hz的周期性方波信号的MATLAB参考程序如下:

t=-0.0625:

0.0001:

0.0625;

y=square(2*pi*30*t,75);

plot(t,y);

axis([-0.06250.0625–1.51.5]);

实验二信号的时域表示

实验目的:

利用MATLAB实现信号的时域表示以及图形表示

题目一:

连续信号的MATLAB描述

设计要求:

列出单位冲激函数、单位阶跃函数、复指数函数的MATLAB表达式。

建模:

1、单位冲激函数(t)无法直接用MATLAB描述,可以把它看作是宽度为(程序中用dt表示),幅度为1/的矩形脉冲,即

x1(t)=(t-t1)=1/t1<

t<

t1+

1其余

表示在t=t1处的冲激。

2、单位阶跃函数:

在t=t1处跃升的阶跃可写为u(t-t1).定义为

x2(t)=u(t-t1)=1t1<

1t<

3、复指数函数x3(t)=e(u+j)t

若=0,它是实指数函数,如u=0,则为虚指数函数,其实部为余弦函数,虚部为正弦函数。

本例u=-0.5,=10.

clear,t0=0;

tf=5;

dt=0.05;

t1=1;

t=[t0:

dt:

tf];

st=length(t);

n1=floor((t1-t0)/dt);

x1=zeros(1,st);

x1(n1)=1/dt;

subplot(2,2,1),stairs(t,x1),gridon

axis([0,5,0,22])

x2=[zeros(1,n1-1),ones(1,st-n1+1)];

subplot(2,2,3),stairs(t,x2),gridon

axis([0,5,0,1.1])

alpha=-0.5;

w=10;

x3=exp((alpha+j*w)*t);

subplot(2,2,2),plot(t,real(x3)),gridon

subplot(2,2,4),plot(t,imag(x3)),gridon

程序运行结果:

如图2-1

图2-1程序运行结果

题目二:

LTI系统的零输入响应

描述n阶线性时不变(LTI)连续系统的微分方程为:

a1(dny/dtn)+a2(dn-1y/dt)+…+an(dy/dt)+(an+1)y=b1(dmu/dtm)+…+bm(du/dt)+(bm+1)u,已知y及其各阶导数的初始值为y(0),y

(1)(0),…,y(n-1)(0),求系统的零输入响应。

a=input('

输入分母系数向量a=[a1,a2......]='

);

n=length(a)-1;

Y0=input('

输入初始条件向量Y0=[y0,Dy0,D2y0,....]='

p=roots(a);

V=rot90(vander(p));

c=V\Y0'

;

dt=input('

dt='

tf=input('

tf='

tf;

y=zeros(1,length(t));

fork=1:

ny=y+c(k)*exp(p(k)*t);

end

plot(t,y),grid;

holdon

运行此程序并输入:

a=[3,5,7,1];

dt=0.2;

tf=8;

Y0取[1,0,0];

[0,1,0];

[0,0,1],三种情况,运行结果如图2-2

图2-2程序运行结果

实验三连续信号卷积

掌握使用MATLAB实现信号的卷积运算、卷积的可视化

卷积的计算

某LTI系统的冲激响应h(t)=e-0.1t,输入u(t)如图3-1(a)所示,初始条件为零,求系统的响应y(t).

clear

uls=input('

输入u数组u=(例如ones(1,10))'

lu=length(uls);

hls=input('

输入h数组h=(例如exp(-0.1*[1:

15]))'

lh=length(hls);

lmax=max(lu,lh);

iflu>

lhnu=0;

nh=lu-lh;

elseiflu<

lhnh=0;

nu=lh-lu;

elsenu=0;

lh=0;

输入时间间隔dt=(例如0.5)'

lt=lmax;

u=[zeros(1,lt),uls,zeros(1,nu),zeros(1,lt)];

t1=(-lt+1:

2*lt)*dt;

h=[zeros(1,2*lt),hls,zeros(1,nh)];

hf=fliplr(h);

y=zeros(1,3*lt);

fork=0:

2*lt

p=[zeros(1,k),hf(1:

end-k)];

y1=u.*p*dt;

yk=sum(y1);

y(k+lt+1)=yk;

subplot(4,1,1);

stairs(t1,u)

axis([-lt*dt,2*lt*dt,min(u),max(u)]),holdon

ylabel('

u(t)'

subplot(4,1,2);

stairs(t1,p)

axis([-lt*dt,2*lt*dt,min(p),max(p)])

h(k-t)'

subplot(4,1,3);

stairs(t1,y1)

axis([-lt*dt,2*lt*dt,min(y1),max(y1)+eps])

s=u*h(k-t)'

subplot(4,1,4);

stem(k*dt,yk)

axis([-lt*dt,2*lt*dt,floor(min(y)+eps),ceil(max(y+eps))])

holdon,ylabel('

y(k)=sum(s)*dt'

ifk==round(0.8*lt)disp('

暂停,按任意键继续'

),pause

elsepause

(1),

end

运行结果如图3-1

图3-1程序运行结果

程序2:

u=input('

输入u数组u='

h=input('

输入h数组h='

输入时间间隔dt='

y=conv(u,h);

plot(dt*([1:

length(y)]-1),y),grid

LTI系统的零状态响应

设二阶连续系统,其特性可用常微分方程表示:

d2y/dt2+2(dy/dt)+8y=u

求其冲激响应。

若输入为u=3t+cos(0.1t),求其零状态响应。

clf,clear

多项式分母系数向量a='

b=input('

多项式分子系数向量b='

t=input('

输入时间序列t=[0:

tf]'

输入序列u='

tf=t(end);

dt=tf/(length(t)-1);

[r,p,k]=residue(b,a);

h=r

(1)*exp(p

(1)*t)+r

(2)*exp(p

(2)*t);

subplot(2,1,1),plot(t,h);

grid;

y=conv(u,h)*dt;

subplot(2,1,2);

plot(t,y(1:

length(t)));

grid

运行该程序,取a=[1,2,8],b=1,t=[0:

0.1:

5]及u=3*t+cos(0.1*t),所得结果如图3-2

图3-2冲激响应和卷积法求输出

实验四典型周期信号的频谱表示

用MATLAB分析周期矩形脉冲、三角波脉冲的频谱

周期信号的频谱

周期电流、电压(统称其为信号)f(t)可展开为直流与各次谐波之和,即

式中=2/T是基波角频率,T为周期。

4.1

周期信号的有效值定义为

4.2

若用各谐波有效值

则表示为

全波整流电压Us(t)的波形如图13所示,用傅立叶级数可求得

可写出其展开式为(它只含直流和偶次谐波,令k=2n)

若Um=100V,频率f=50Hz,(相应的T=0.02S,1=100rad/s),分别用式(6.1)和式(6.2)计算其有效值Us1和Us2(取至六次谐波),并求Us2的误差。

clear,formatcompact

Um=100;

T=0.02;

w=2*pi*5

方法一:

按傅立叶分析定义计算

N=input('

取的谐波次数N='

t=linspace(-T/2,T/2);

dt=T/99;

u=Um*abs(sin(w*t));

N

a(k+1)=trapz(u.*cos(k*w*t))*dt/T*2;

b(k+1)=trapz(u.*sin(k*w*t))*dt/T*2;

A(k+1)=sqrt(a(k+1)^2+b(k+1)^2);

[[0:

N]'

[A

(1)/2,A(2:

end)]'

]

stem(0:

N,[a

(1)/2,A(2:

end)])

Usll=sqrt(trapz(u.^2)*dt/T)

Us12=sqrt(A

(1)^2/4+sum(A(2:

end).^2/2))

方法二:

按推导出的全波傅立叶分量公式计算

Us21=Um*sqrt(trapz(sin(w*t).^2)*dt/T)

Us22=4*Um/pi*sqrt(0.5^2+0.5*sum((1./(4*[1:

3].^2-1)).^2))

e=(Us21-Us22)/Us21

运行程序,按提示输入。

取得谐波次数N=10

半波信号的波形图如图4-1所示,半波信号的各谐波分量如图4-2所示

图4-1半波信号的波形图图4-2半波信号的各谐波分量

非周期信号(方波)的频谱分析

如图4-3a的矩形脉冲信号,求其在=-40rad/s~40rad/s区间的频谱。

cleartf=10;

N='

dt=10/N;

t=[1:

N]*dt;

f=[ones(1,N/2),zeros(1,N/2)];

wf=input('

wf='

Nf=input('

Nf='

w1=linspace(0,wf,Nf);

dw=wf/(Nf-1);

F1=f*exp(-j*t'

*w1)*dt;

w=[-fliplr(w1),w1(2:

Nf)];

F=[fliplr(F1),F1(2:

subplot(1,2,1),plot(t,f,'

linewidth'

1.5),grid

subplot(1,2,2),plot(w,abs(F),'

取时间分隔的点数N=256,需求的频谱宽度wf=40,需求的频谱点数Nf=64,得出图4-3b

图4-3a矩形脉冲信号图4-3b程序运行结果

若取时间分隔的点数N=64,需求的频谱宽度wf=40,需求的频谱点数Nf=256,得出图4-4

图4-4程序运行结果

实验五傅立叶变换性质研究

学习用MATLAB的Fourier变换函数,验证Fourier变换的一些性质

方波分解为多次正弦波之和

如图5-1所示的周期性方波,其傅立叶级数为:

f(t)=4/[sint+1/3(sin3t)+…+(1/(2k-1))sin(2k-1)t+…]

k=1,2,…用MATLAB演示谐波合成情况。

2*pi;

y=sin(t);

plot(t,y),figure(gcf),pause

y=sin(t)+sin(3*t)/3;

plot(t,y),pause

y=sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9;

plot(t,y)

y=zeros(10,max(size(t)));

x=zeros(size(t));

2:

19

x=x+sin(k*t)/k;

y((k+1)/2,:

)=x;

pause,figure

(1),plot(t,y(1:

9,:

)),grid

line([0,pi+0.5],[pi/4,pi/4])

text(pi+0.5,pi/4,'

pi/4'

halft=ceil(length(t)/2);

pause,

figure

(2),mesh(t(1:

halft),[1:

10],y(:

1:

halft))

程序运行结果如图5-2

图5-1周期性方波

图5-2程序运行结果

周期信号的滤波

如图5-3滤波电路,已知L=400mH,C=10F,R1=200.如激励电压us(t)为全波整流信号,Um=100V,1=100rad/s,求负载R两端的直流和各次谐波(它只含偶次谐波)分量。

图5-3滤波电路

L=0.4;

C=10e-6;

R=200;

w1=100*pi;

需分析的谐波次数2N=(键入偶数)'

n=1:

N/2;

w=[eps,2*n*w1];

Us=4*Um/pi*[0.5,-1./(4*n.^2-1)];

z1=j*w*L;

z2=1./(j*w*C);

z3=R;

z23=z2.*z3./(z2+z3)

UR=Us.*z23./(z1+z23)

disp('

谐波次数谐波幅度谐趣波相移(度)'

disp([2*[0,n]'

abs(UR)'

angle(UR)'

*180/pi])

根据程序提示:

需分析的谐波次数2N=(键入偶数),如键入10后,得出结果。

实验六系统的零极点分析

学习使用MATLAB绘制连续系统的零极点图,分析系统的零极点

利用MATLAB计算H(Z)的零极点与系统稳定性

已知一离散因果LTI系统的系统函数为:

利用MATLAB画出该系统的零极点分布图,求系统的单位冲激响应h[k]和幅频响应

|H(ej)|,并判断系统是否稳定。

分析:

根据已知的H(z),利用MATLAB中的zplane函数即可画出系统的零极点分布图。

而利用impz函数和freqz函数求系统的单位冲激响应和频率响应时,一般需要将H(z)改写为下列形式:

b=[0121];

a=[1-0.5-0.0050.3];

figure

(1);

zplane(b,a);

num=[0121];

den=[1-0.5-0.0050.3];

h=impz(num,den);

figure

(2);

stem(h);

k'

h[k]'

title('

impulserespone'

[H,w]=freqz(num,den);

figure(3);

plot(w/pi,abs(H));

ang.freq.\Omega(rad/s)'

|H(e^j^\Omega)|'

magnituderesponse'

运行结果如下图:

图6-1系统函数的零极点分布

图6-2系统的幅频响应图6-3系统的单位冲激响应

求离散系统在各种输入下的响应

二阶巴特沃斯低通数字滤波器的频率响应

二阶巴特沃斯低通数字滤波器的系统函数(传递函数)为

求其频率响应并做图(0~2)。

b=[1,2,1];

a=[2+sqrt

(2),0,2-sqrt

(2)];

N='

w=[0:

N-1]*pi/N;

H=polyval(b,exp(i*w))./polyval(a,exp(i*w));

figure

(1)

subplot(211),plot(w,abs(H)),grid

subplot(212),plot(w,unwrap(angle(H))),grid

figure

(2)

subplot(211),semilogx(w,20*log10(abs(H))),grid

subplot(212),semilogx(w,unwrap(angle(H))),grid

运行结果如图6-4

频率频率

图6-4线性频率特性对数频率特性

学习用MATLAB对离散信号分析的方法和编程方法。

离散信号的MATLAB表述

编写MATLAB程序来产生下列基本脉冲序列:

(1)单位脉冲序列,起点n0,终点nf,在ns处有一单位脉冲(n0nsnf)。

(2)单位阶跃序列,起点n0,终点nf,在ns前为0,在ns后为1(n0nsnf)。

(3)复指数序列。

clear,n0=0;

nf=10;

ns=3;

n1=n0:

nf;

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

n2=n0:

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

n3=n0:

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

subplot(2,2,1),stem(n1,x1);

title('

单位脉冲序列'

subplot(2,2,3),stem(n2,x2);

单位阶跃序列'

subplot(2,2,2),stem(n3,real(x3));

line([0,10],[0,0])

复指数序列'

),ylabel('

实部'

subplot(2,2,4),stem(n3,imag(x3));

line([0,10],[0,0]),

虚部'

程序运行结果如图7-1

图7-1程序运行结果

差分方程的通用递推程序

描述线性时不变离散系统的差分方程为

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

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

差分方程左端的系数向量a=[a

(1),...a(na)]='

差分方程右端的系数向量b=[b

(1),...b(na)]='

输入信号序列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];

forn=na:

na+nu-1

ys=ym(n-1:

-1:

n-na+1);

us=um(n:

n-nb+1);

ym(n)=(b*us'

-a(2:

na)*ys'

)/a

(1);

y=ym(na:

na+nu-1);

stem(y),gridon

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程序运行结果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2