整理信号与系统matlab实验及答案Word文件下载.docx
《整理信号与系统matlab实验及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《整理信号与系统matlab实验及答案Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
xlabel(’n’);
ylabel(’x(n)'
);
用MATLAB生成信号
,
和
都是实数,
,画波形图。
观察并分析
的变化对波形的影响.
t=linspace(—4,7);
a=1;
t0=2;
y=sinc(a*t-t0);
plot(t,y);
t=linspace(—4,7);
a=2;
y=sinc(a*t—t0);
t=linspace(-4,7);
a=1;
t0=2;
y=sinc(a*t—t0);
plot(t,y);
三组对比可得a越大最大值越小,t0越大图像对称轴越往右移
某频率为
的正弦波可表示为
,对其进行等间隔抽样,得到的离散样值序列可表示为
其中
称为抽样间隔,代表相邻样值间的时间间隔,
表示抽样频率,即单位时间内抽取样值的个数。
抽样频率取
,信号频率
分别取5Hz,10Hz,20Hz和30Hz。
请在同一张图中同时画出连续信号
和序列
的波形图,并观察和对比分析样值序列的变化。
可能用到的函数为plot,stem,holdon。
fs=40;
t=0:
1/fs:
1;
%Æ
µ
Â
Ê
·
Ö
±
ð
Î
ª
5Hz,10Hz,20Hz,30Hz
f1=5;
xa=cos(2*pi*f1*t);
subplot(1,2,1);
plot(t,xa);
axis([0,max(t),min(xa),max(xa)]);
xlabel(’t(s)'
);
ylabel(’Xa(t)'
);
line([0,max(t)],[0,0]);
subplot(1,2,2);
stem(t,xa,'
。
’);
line([0,max(t)],[0,0]);
axis([0,max(t),min(xa),max(xa)]);
xlabel('
n’);
ylabel('
X(n)’);
频率越高,图像更加密集。
用MATLAB产生音阶信号
并播放,抽样频率可设为8000Hz。
利用MATLAB产生信号
,请画出信号
和信号
的波形图。
clc;
closeall;
clear;
f1=262;
fs=8000;
f2=293;
f3=329;
f4=349;
f5=392;
f6=440;
f7=493;
f8=523;
N_zeros=300;
n=0:
(fs/2-N_zeros-1);
x1=[sin(n*2*pi*f1/fs)zeros(1,N_zeros)];
x2=[sin(n*2*pi*f2/fs)zeros(1,N_zeros)];
x3=[sin(n*2*pi*f3/fs)zeros(1,N_zeros)];
x4=[sin(n*2*pi*f4/fs)zeros(1,N_zeros)];
x5=[sin(n*2*pi*f5/fs)zeros(1,N_zeros)];
x6=[sin(n*2*pi*f6/fs)zeros(1,N_zeros)];
x7=[sin(n*2*pi*f7/fs)zeros(1,N_zeros)];
x8=[sin(n*2*pi*f8/fs)zeros(1,N_zeros)];
notes=[x1x2x3x4x5x6x7x8];
sound(notes,fs);
习题:
计算下列信号
的卷积和。
1。
;
nx=0:
9;
x=ones(1,length(nx));
nh=0:
4;
h=ones(1,length(nh));
y=conv(x,h);
%下限=下限1+下限2
ny_min=min(nx)+min(nh);
%上限=上限1+上限2
ny_max=max(nx)+max(nh);
ny=ny_min:
ny_max;
subplot(3,1,1);
stem(nx,x);
xlabel(’n’);
x(n)'
);
axis([ny_minny_max0max(x)]);
subplot(3,1,2);
stem(nh,h);
n’);
ylabel(’h(n)'
);
axis([ny_minny_max0max(h)]);
subplot(3,1,3);
stem(ny,y);
xlabel(’n'
x(n)*h(n)'
axis([ny_minny_max0max(y)]);
2。
3;
x=ones(1,length(nx));
h=0。
8.^nh。
*ones(1,length(nh));
ny_min=min(nx)+min(nh);
ny_max=max(nx)+max(nh);
ny_max;
subplot(3,1,1);
stem(nx,x);
xlabel(’n’);
ylabel(’x(n)'
axis([ny_minny_max0max(x)]);
subplot(3,1,2);
h(n)’);
axis([ny_minny_max0max(h)]);
subplot(3,1,3);
stem(ny,y);
n'
axis([ny_minny_max0max(y)]);