资源描述
(word完整版)信号与系统matlab实验及答案
产生离散衰减正弦序列, ,并画出其波形图.
n=0:10;
x=sin(pi/4*n).*0。8。^n;
stem(n,x);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;
t0=2;
y=sinc(a*t—t0);
plot(t,y);
t=linspace(—4,7);
a=1;
t0=2;
y=sinc(a*t-t0);
plot(t,y);
三组对比可得a越大最大值越小,t0越大图像对称轴越往右移
某频率为的正弦波可表示为,对其进行等间隔抽样,得到的离散样值序列可表示为,其中称为抽样间隔,代表相邻样值间的时间间隔,表示抽样频率,即单位时间内抽取样值的个数。抽样频率取,信号频率分别取5Hz, 10Hz, 20Hz和30Hz.请在同一张图中同时画出连续信号和序列的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on。
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产生音阶信号,并播放,抽样频率可设为8000 Hz。
利用MATLAB产生信号和,请画出信号和信号的波形图。
clc;close all;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=[x1 x2 x3 x4 x5 x6 x7 x8 ];
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');ylabel('x(n)’);axis([ny_min ny_max 0 max(x)]);
subplot(3,1,2);stem(nh,h);
xlabel(’n');ylabel('h(n)');axis([ny_min ny_max 0 max(h)]);
subplot(3,1,3);stem(ny,y);
xlabel('n’);ylabel(’x(n)*h(n)’);axis([ny_min ny_max 0 max(y)]);
2.,
nx=0:3;x=ones(1,length(nx));
nh=0:9;h=0.8。^nh。*ones(1,length(nh));
y=conv(x,h);ny_min=min(nx)+min(nh);ny_max=max(nx)+max(nh);
ny=ny_min:ny_max;
subplot(3,1,1);stem(nx,x);
xlabel(’n');ylabel('x(n)’);axis([ny_min ny_max 0 max(x)]);
subplot(3,1,2);stem(nh,h);
xlabel('n');ylabel('h(n)');axis([ny_min ny_max 0 max(h)]);
subplot(3,1,3);stem(ny,y);
xlabel(’n’);ylabel('x(n)*h(n)’);axis([ny_min ny_max 0 max(y)]);
展开阅读全文