信 号 实 验 报 告
信息科学与工程学院 电子信息工程 姓 名 : 学 号 :
实验一
一、实验内容:
1、连续信号的MATLAB表示:
MATLAB提供了大量的产生基本信号的函数。最常用的指数信号、正弦信号是MATLAB的内部函数,即不安装任何工具箱就可调用的函数。 2、编程实现题
2-2已知信号x(t)如图m2-2图所示,分别用MATLAB表示信号x(t)、x(t)cos(50t),并画出波形,程序如下: function yt=x2_2(t)
yt=1*(t>=-1&t<0)+4*t.*(t>=0&t<=0.5)+(-4)*(t-1).*(t>0.5&t<=1); %example2_2 t=-2:0.001:2; subplot(2,1,1) plot(t,x2_2(t)) title('x(t)') subplot(2,1,2) A=1;w0=50;
t=-2:0.001:2;phi=0;
xt=[A*cos(w0*t+phi)].*[1*(t>=-1&t<0)+4*t.*(t>=0&t<=0.5)+(-4)*(t-1).*(t>0.5&t<=1)];
plot(t,xt)
title('x(t)cos(50t)') 运行结果如图所示:
2-3(1)编写表示题M2-3图所示的信号波形x(t)的MATLAB函数(2)试画出x(t)、x(0.5t)、和x(2-0.5t)的波形图。程序如下: function yt=x2_3(t)
yt=1*t.*(t>=0&t<2)+2*(t>=2&t<3)+(-1)*(t>=3&t<5); %example2_3 t=-4:0.01:10; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)')
axis([-4,10,-2,3]) t=-4:0.01:10; subplot(3,1,2)
plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([-4,10,-2,3]) t=-6:0.01:8; subplot(3,1,3)
plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,8,-2,3] 运行结果如有右图:
2-4 画出题M2-4图所示信号的奇分量和偶分量。程序如下:
2-7已知连续信号x1(t)=cos(6∏t)、x2(t)=cos(14∏t)、x3(t)=cos(26∏t),以抽样函数fs=10Hz对这三个信号进行抽样得离散序列x1[k]、x2[k]、x3[k].试在同一图上画出连续信号和其他对应的离散序列。程序如下: %program2-7
A=1;w1=6*pi;phi=0;
t1=0:0.0001:1;
xt1=A*cos(w1*t1+phi); subplot(2,3,1) plot(t1,xt1) title('x1(t)') k1=0:20;
xk1=cos(3*pi/5*k1); subplot(2,3,4) stem(k1,xk1) title('x1[k]')
A=1;w2=14*pi;phi=0; t2=0:0.0001:1;
xt2=A*cos(w2*t2+phi); subplot(2,3,2) plot(t2,xt2) title('x2(t)')
k2=0:20;
xk2=cos(7*pi/5*k2); subplot(2,3,5) stem(k2,xk2) title('x2[k]')
A=1;w3=26*pi;phi=0; t3=0:0.0001:1;
xt3=A*cos(w3*t3+phi); subplot(2,3,3) plot(t3,xt3) title('x3(t)')
k3=0:20;
xk3=cos(13*pi/5*k3); subplot(2,3,6) stem(k3,xk3) title('x3[k]')
运行结果如右上图:
2-8分别用square函数和 Swtooth画出题M2-8图所 示的离散周期序列。 程序如下:
%program2-81 k=0:1:40;
A=1;T=20;w0=2*pi/T;
xk=A*sawtooth(w0*k,0.5); stem(k,xk)
运行结果如右图所示:
%program2-82 k=0:1:40;
A=-1;T=10;w0=2*pi/T; xk=A*square(w0*k,50); stem(k,xk)
运行结果如右图:
实验二
3-1一个连续时间LTI 系统满足的微分方程为: y″(t)+3y′(t)+2y(t) =2x′(t)+x(t) %program3_1
ts=0;te=10;dt=0.001; sys=tf([2 1],[1 3 2]); t=ts:dt:te;
x=1*exp(-3*t)*1; y=lsim(sys,x,t); plot(t,y);
xlabel('Time(sec)') ylabel('y(t)')
3-2程序如下: %program3-2
ts=0;te=5;dt=0.01; sys=tf([6],[1 3]); t=ts:dt:te;
y=impulse(sys,t); plot(t,y);
xlabel('Time(sec)') ylabel('h(t)')
运行结果如有图所示:
%program3-2
ts=0;te=5;dt=0.01; sys=tf([6],[1 3]); t=ts:dt:te; y=step(sys,t); plot(t,y);
xlabel('Time(sec)') ylabel('h(t)')
运行结果如有图所示:
3-4程序如下: %program3_4
x=[0.85,0.53,0.21,0.67,0.84,0.12]; y=[0.68,0.37,0.83,0.52,0.71]; z=conv(x,y); n=length(z); stem(-3:n-4,z);
运行结果如有图所示:
3-7某离散时间LTI系统 满足差分方程
Y[k]+0.42y[k-1]-0.19y [k-2]=0.31x[k]+0.68x [k-1],若x(t)=0.6ku(k) 试求系统的零状态响应 Yzs(k),并画出前20点图。 程序如下 %program3_7 k=0:100;
a=[1,0.42,-0.19]; b=[0.31,0.68]; A=1;a=0.6; xk=A*a.^k; stem(k,xk)
y=filter(b,a,xk); axis([0,20,0,1]) xlabel('k'); ylabel('Yzs[k]')
运行结果如右图所示:
3-8某离散时间LTI系统 满足差分方程
Y[k]+0.7y[k-1]-0.45y [k-2]-0.6y[k-3]=0.8x[k] -0.44x[k-1]+0.36x[k-2] +0.02x[k],
试利用impz函数求其单位
脉冲响应,,并画出前30点图。 程序如下: %program3_8 k=0:100;
a=[1 0.7 0.45 0.6];
b=[0.8 -0.44 0.36 0.02]; h=impz(b,a,k); stem(k,h)
axis([0,30,-1,0.8]) 运行结果如右图所示:
实验三
M4-1 试求题M4-1图所示周期矩形信号和周期三角波信号的频谱,并画出频谱图,取A=1,T=2。
得如下程序 4_1_1程序如下 k=-4:0.01:4;
A=1;T=2;w0=2*pi/T;
xk=A*square(w0*k,50); k1=-4:4;N=length(k);k1=(0:N)*0.5*T; x=A*square(w0*k1,50); X=fft(x);
subplot(3,1,1) stem(k1,real(X)) xlabel('k');
title('X[k]的实部'); axis([0,40,-20,60]) subplot(3,1,2) stem(k1,imag(X)); xlabel('k');
title('X[k]的虚部'); axis([0,40,-20,60]) xr=ifft(X); subplot(3,1,3)
stem(k1,xr)
axis([0,40,-2,2]) xlabel('k');
title('重建的X[k]'); 4-1-2 程序如下:
k1=-4:0.001:4;N=length(k);k1=(0:N)*0.5*T; x=0.5*sawtooth(w0*k1,0.5)+0.5; X=fft(x);
subplot(3,1,1) stem(k1,real(X)) xlabel('k');
title('X[k]的实部'); axis([0,40,-20,60]) subplot(3,1,2) stem(k1,imag(X)); xlabel('k');
title('X[k]的虚部'); axis([0,40,-20,60]) xr=ifft(X); subplot(3,1,3) stem(k1,xr)
axis([0,40,-2,2]) xlabel('k');
title('重建的X[k]'); 运行结果如有图所示:
M4-4 试利用MATLAB计算下列连续信号的频谱X(jw),画出频谱图 4-4-1程序如下:
(1)x(t)?u(t)?u(t?2);(2)x(t)?cos(2t)[u(t)?u(t?2)];function yt=u(t)
yt=0*(t<0)+1*(t>=0); function yt=xx1(t,w);
yt=(u(t)-u(t-2)).*exp(-j*w*t); w=linspace(-6*pi,6*pi,512); N=length(w);X=zeros(1,N); for k=1:N
X(k)=quadl('xx1',0,2,[],[],w(k)); end
plot(w,real(X)); xlabel('\\omega'); ylabel('X(j\\omega)'); 运行结果如有图所示:
4-4-2程序如下: function yt=u(t) yt=0*(t<0)+1*(t>=0); function yt=xx2(t,w);
yt=cos(2*t).*(u(t)-u(t-2)).*exp(-j*w*t); w=linspace(-6*pi,6*pi,512); N=length(w);X=zeros(1,N); for k=1:N
X(k)=quadl('xx2',0,2,[],[],w(k)); end
plot(w,real(X)); xlabel('\\omega'); ylabel('X(j\\omega)'); 运行结果如下图所示: M4-2 (1)若以
|C0|?2?|Cn|2n?12NPM4-1图所示信号的有效带宽
??0.90定义信号的有效带宽,试确定题
Nw0,取A=1,T=2;
(2)画出有效带宽内有限项谐波合成的近似波形,并对结果加以讨论和比较; (3)增加谐波的项数,观察其合成的近似波形,并对结果加以讨论和比较;
得如下程序: :
function y=x1(t,w);
y=cos(2*t).*(t>=0&t<=2).*exp(-j*w*t); w=linspace(-6*pi,6*pi,1024); N=length(w); X=zeros(1,N); for k=1:N
X(k)=quadl('x1',0,2,[],[],w(k)); end
figure(1)
plot(w,real(X)); xlabel('\\omega'); ylabel('X(j\\omega)' 运行结果如右图所示:
M4-3 求题M4-3图所示周期矩形信号的幅度频谱,并画出频谱图。分别取
T?2?,T?4?和T?8?,讨论周期T与频谱的关系。
得如下程序:
function y=x2(t,w); y=1*exp(-j*w*t);
w=linspace(-6*pi,6*pi,512); N=length(w); X=zeros(1,N); for k=1:N
X(k)=quadl('x2',-0.001,9999,[],[],w(k)); end
plot(w,real(X)); xlabel('\\omega'); ylabel('X(j\\omega)'); 运行结果如右图所示:
题4-5: 已知连续三角波x(t)=1-|t|, |t|<1,试计算其在0~fm(Hz)范围内信号的能量。取fm=0.1~10HZ 该题程序如下:
function yt=x4_5_1(t);
yt=2*sinc(t).*sinc(t).*sinc(t).*sinc(t); fm=linspace(0.1,10,256); N=length(fm);E=zeros(1,N); for k=1:N
E(k)=quadl('x4_5_1',0,fm(k)); end
plot(fm,E); xlabel('Hz'); ylabel('E');