文档介绍:《信号与系统仿真实验》
指导书
李远禄编著
信息与控制学院测控技术及仪器系
2011年4月修订
实验一
信号的产生与时域运算
一、实验目的
,理解其数学表达式和波形表示。
。
、相乘、移位、反褶等基本运算及计算机实现与作用。
。
。
,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理
连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应,这种信号就是连续信号。
严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。
常用信号有:指数信号、正弦信号、抽样信号、矩形脉冲信号、三角波脉冲信号、正弦型序列等。
序列的运算包括移位、反褶、和、积、标乘、累加、微积分分运算等。
连续信号的卷积积分定义为:,一般情况下的解析表达式不好得到,因此采用数字积分的方式来求两个信号的卷积。
这里的依然是连续的,而我们要把它的波形画出来,是采用描点法来做的,因此时间也要离散。
当然这里的要求趋于零,实际中取足够小就可近似了。
(一)产生信号波形的方法
利用Matlab软件的信号处理工具箱(Signal Processing Toolbox)中的专用函数产生信号并绘出波形。
t=0::3*pi;
y=sin(2*t);
plot(t,y)
t=0::3*pi;
y=10*sin(2*t);
s=y+randn(size(t));
plot(t,s)
c. 产生周期方波
t=0::1;
y=square(4*pi*t);
plot(t,y)
d. 产生周期锯齿波
t=(0::);
y=sawtooth(2*pi*30*t);
plot(t,y),axis([0 -1 1])
x=linspace(-5,5);
y=sinc(x);
plot(x,y)
x=linspace(0,1,100);
(或x=0::1;)
y=exp(-x);
plot(x,y)
(二)信号的运算
(减)、乘运算
t=0::2;
f1=exp(-3*t);
f2=*sin(4*pi*t);
f3=f1+f2;
f4=f1.*f2;
subplot(2,2,1);plot(t,f1);title('f1(t)');
subplot(2,2,2);plot(t,f2);title('f2(t)');
subplot(2,2,3);plot(t,f3);title('f1+f2');
subplot(2,2,4);plot(t,f4);title('f1*f2');
、移位、尺度变换.
由f(t)到f(-at+b)(a>0)步骤:
例:已知f(t)=sin(t)/t,试通过反褶、移位、尺度变换由f(t)的波形得到f(-2t+3) 的波形.
syms t;
f=sym('sin(t)/t'); %定义符号函数f(t)=sin(t)/t
f1=subs(f,t,t+3); %对f进行移位
f2=subs(f1,t,2*t); %对f1进行尺度变换
f3=subs(f2,t,-t); %对f2进行反褶
subplot(2,2,1);ezplot(f,[-8,8]);grid on;
% ezplot是符号函数绘图命令
subplot(2,2,2);ezplot(f1,[-8,8]);grid on;
subplot(2,2,3);ezplot(f2,[-8,8]);grid on;
subplot(2,2,4);ezplot(f3,[-8,8]);grid on;
(注:也可用一条指令:subs(f,t,-2*t+3)实现f(t)到f(-2t+3)的变换)
(三) 卷积运算
Y=conv(x,h)
实现x,h二个序列的卷积,假定都是从n=,h序列的长度之和再减1.
例1:二个方波信号的卷积.
y1=[ones(1,20),zeros(1,20)];