实验一、时域连续信号的描述及计算 课时数:2
实验目的:
通过利用MATLAB语言软件实现连续信号的描述和运算练习,熟悉掌握实现基本连续信时域运算的方法。
实验内容:(请参考课本第2章第六节)
(1)对常见连续时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦连续信号、方波信号、阶跃信号、白噪声、矩形脉冲等常见信号的基础程序方法,熟悉和掌握对连续信号进行移位、翻转、尺度变换等时域运算的程序方法。 (2)编程完成练习题
需要完成的练习题 (写出满足实现题目要求的MATLAB语言程序或命令)
1、 结合后文准备内容中例1—3、在时间?1?t?5内,编程实现信号x(t)??2u(t?1),并绘出结果图。
2、 结合例1—9,在时间0?t?30内,编程实现信号,并绘出结果图。
23、 在时间?1?t?3内,编程实现信号x(t)?[u(t)?u(t?2)]cos10t,x(t)?e?0.1tsin(t)并
3绘出结果图。
4、 结合例1—7,用tripluls函数生成右图所示的三角波,并进一步作如下信号变换,并绘
出结果图。参考【例1-11】 1)x(?2t?1)
2)x(3t)?x(3t?2)
5、 使用下面的信号合成公式,看看合成的信号是什么类型,并分析随着加入的谐波增加,
信号波形有什么变化?
f(t)?A2A111?[cos?t?cos3?t?cos5?t?cos7?t?...] 2?357参考程序:
t=-8:0.01:8;
w=input('方波的频率w='); A=input('幅值A=');
n=input('需要的谐波n=');
y=A/2; for k=1:n
y=y+(-1)^(k-1)*cos((2*k-1)*w*t)*2*A/(pi*(2*k-1)); end
plot(t,y),grid
实验报告要求:
独立完成实验练习题,写出满足实现题目要求的MATLAB语言程序或命令,给出相对应的结果图。
准备知识
一、常用连续时间信号 1、正弦信号
A*cos(w0*t+phi) 产生一个频率为w0,相位为phi的余弦信号x(t)?Acos(?0t??)。 A*sin(w0*t+phi) 产生一个频率为w0,相位为phi的正弦信号x(t)?Asin(?0t??)。 [例1—1]
在时间t?[0,1]范围内产生一个幅度为2,频率为4Hz,初相位为?/6的正弦信号。 clear all; clc
%正弦信号 x(t)=A*sin(w0*t+phi)
A=2; %信号幅度 f0=4; %信号频率 phi=pi/6; %信号初相位 w0=2*pi*f0; %信号角频率 t=0:0.01:1; %连续时间离散化
x=A*sin(w0*t+phi); %求出正弦信号
plot(t,x); %画出信号波形 ylabel('x(t)');xlabel('Time(s)');
title('sinusoidal signal');
图1.1 正弦信号
2、周期方波信号
square(w0*t) 产生基本频率为w0(周期为T?2?/w0)的周期方波。
*100T的周期方波。?为一个周期中信号为正的时间长度。当?/t?0.5,DUTY=50,square(w0*t,
square(w0*t,DUTY) 产生基本频率为w0(周期为T?2?/w0)、占空比DUTY=
?
50)= square(w0*t)。
[例1—2]
在时间t?[0,2.5]范围内产生一个幅度为1,基频为3Hz,占空比为20%的周期方波。 A=1; % 幅度 f0=3;
t=0:0.001:2.5; % 连续时间离散化(产生时间点), w0=2*f0*pi;
duty=20; % 占空比为20% y=A*square(w0*t,duty);
plot(t,y);
axis([0,2.5,-1.5,1.5]);
ylabel('x(t)');xlabel('Time(s)'); title('square wave')
图1.2 周期方波信号
3、单位阶跃信号u(t)
[例1—3]
在时间t?[?2,6]范围内产生阶跃信号2u(t)。 t=-2:0.02:6; x=2*(t>=0);
stairs(t,x);-1
axis([-2,6,0,2.5]);
ylabel('x(t)'); xlabel('Time(s)'); title('step signal');
图1.3 阶跃信号
4、单位冲激信号?(t)
[例1—4]
在时间t?[?2,6]范围内产生一个冲激信号2?(t?2)。
t=-2:0.02:6; x=2*((t-2)==0);
stairs(t,x);
axis([-2,6,0,2.5]);
ylabel('x(t)'); xlabel('Time(s)'); title('impulse signal');
图1.4 冲激信号
5、矩形脉冲信号
rectpulse(t)产生高度为1、宽度为1、关于t=0对称的矩形脉冲信号。 rectpulse(t, w)产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号。 rectpulse(t-t0, w)产生高度为1、宽度为w、关于t=t0对称的矩形脉冲信号。 [例1—5]
在时间t?[?2,6]范围内产生一个高度为1、宽度为3、延时2秒的矩形脉冲信号。 t=-2:0.02:6;
y=rectpuls(t-2,3);%对称中心在t=2处
plot(t,y);
axis([-2,6.5,0,1.5]);