实验一信号的时域实现与运算 下载本文

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积分: