matlab抽样Word格式文档下载.docx
- 文档编号:5831018
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:22
- 大小:105.91KB
matlab抽样Word格式文档下载.docx
《matlab抽样Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab抽样Word格式文档下载.docx(22页珍藏版)》请在冰点文库上搜索。
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程序运行结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 抽样