ylabel('x(t)');xlabel('Time(s)'); title('rectangular pulse')
图1.5 矩形脉冲信号
6、取样信号
sin(x) x 它是一个以2?为周期,幅度随x但单调衰减的振荡信号。它在信号分析和通信理论中有着广泛应用,与它变化规律非常相似的有辛格函数,其定义为
sin?x sinc(x)?
?x所以在MATLAB中,可以使用sinc(x)命令得到取样函数信号sa(x)。
取样函数信号定义为:sa(x)?[例1—6]
在时间t?[?10,10]范围内产生取样信号sa(t)?sin(t)。 tt=-10:.01:10;
y=sinc(t/pi); % sa(t)=sin(t)/t plot(t,y);
axis([-10,10,-1,1.5]);
ylabel('x(t)');xlabel('Time(s)'); title('sample function')
图1.6 取样函数信号
7、三角波信号
tripuls(t) 产生高度为1,底边宽度为1、关于t=0位置对称的等腰三角波信号。 tripuls(t,w) 产生高度为1,底边宽度为w、关于t=0位置对称的等腰三角波信号。 tripuls(t,w, s) 产生高度为1,底边宽度为w、底边中心t=0、斜度为s(?1?s?1)的三
角波信号。s=0产生等腰三角波。
[例1—7]
在时间t?[?5,5]范围内产生一个高度为2、宽度为2,底边中心在2.5、斜度为s??1的三角波信号。 t=-5:0.01:5;
x=2*tripuls(t-2.5,2,-1); plot(t,x);
ylabel('x(t)');xlabel('Time(s)'); title('triangle signal')
图1.7 取样函数信号
8、噪声信号
rand 产生在[0,1]区间均匀分布的白噪声。
randn 产生高斯分布(均值为0,协方差为1)的白噪声。 [例1—8]
在时间t?[0,1]范围内产生101个均匀分布的白噪声和高斯分布的白噪声。 t=0:0.01:1;
subplot(2,1,1);
plot(t,rand(1,length(t))); ylabel('x(t)');
title('average distributional noise');
subplot(2,1,2);
plot(t,randn(1,length(t))); ylabel('x(t)');xlabel('Time(s)'); title('guass distributional noise');
图1.8 白噪声信号
二、连续时间信号的常用运算 [例1—9]
在时间t?[0,1]内生成幅度按指数衰减的正弦信号x(t)?Asin(?0t??)e?at=5sin(8?)e?6t。 A=5;f0=4;phi=0; w0=2*pi*f0; a=6;
t=0:0.001:1;
x=A*sin(w0*t+phi).*exp(-a*t); %注意这里是点乘 plot(t,x);
ylabel('x(t)');xlabel('Time(s)');
图1.9
[例1—10]
使用命令tripulse(t)生成一个三角形脉冲x(t),设t??2:0.02:2。 (1)计算该信号的微分
dx(t)并且画出波形。 dt (2)计算该信号在t?[?2,2]内的记分值 (3)计算该信号的积分
?2?2x(?)d?。
?t?2x(?)d?并画出波形
解:1)使用diff函数计算信号的微分并画出波形,结果见图1-10(a) t=-2:0.02:2; % 共有201个数据点
x=tripuls(t); %产生单位高度、底边宽度为1、对称中心在t=0的等腰三角形
y=diff(x); % 共有200个数据点 n=length(t)-1;
subplot(2,1,1); plot(t,x);
ylabel('x(t)'); xlabel('Time(s)'); subplot(2,1,2);plot(t(1:n),y,'r'); ylabel('dx(t)/dt');xlabel('Time(s)');
【例1-11】信号的平移
使用命令tripulse(t)生成一个三角形脉冲x(t),其宽度为2,关于中心t=0对称,利用subs指令实现信号向左平移2个单位。
syms t;
f=sym('tripuls(t,2,0)') f1=subs(f,t,t+2); t=-4:0.001:4; subplot(211)
ezplot(f,[-8,8]),grid subplot(212)
ezplot(f1,[-8,8]),grid title('信号的平移')
tripuls(t, 2, 0)10.50-8-6-4-20t信号的移位246810.50-8-6-4-20t2468
思考:若将上面的f1=subs(f,t,t+2)换成f1=subs(f,t,-2*t+2),结果会怎样? 2)函数quad和quad8都是数值积分函数。使用格式:
Q=quad(‘function_name’,a,b);
Q为定积分返回值, function-name为函数名,a和b指定定积分区间。
调用函数quad积分: