北京理工大学信号与系统实验报告1 信号的时域描述与运算 下载本文

内容发布更新时间 : 2024/5/18 22:06:38星期一 下面是文章的全部内容请认真阅读。

实验1 信号的时域描述与运算

(基础型实验)

一、

1. 2. 3. 二、

1.

实验目的

掌握信号的MATLAB表示及其可视化方法。 掌握信号基本时域运算的MATLAB实现方法。

利用MATLAB分析常用信号,加深对信号时域特性的理解。 实验原理及方法

连续时间信号的MATLAB表示

连续时间信号在连续时间范围内除若干不连续点外在任何时刻都有定义,在MATLAB中的表示法包括向量表示法和符号对象表示法。 1) 向量表示法

MATLAB从严格意义上来说并不能处理连续时间信号,但可以通过等时间间隔采样后的采样值来近似表示,如果采样间隔足够小,则采样值就可以很好地近似表示出连续时间信号。这种方法称为向量表示法。

表示一个连续时间信号需要用到两个向量,一个表示时间范围,另一个表示连续时间信号在相对应时间范围内的采样值。 2) 符号对象表示法

如果连续时间信号可以用表达式来描述,则可以采用符号对象表达法。

例:对于余弦信号,采用两种方式来表示: >> t=0:0.01:10; >> x=sin(t); >> subplot(121) >> plot(t,x)

>> title('向量表示法') >> clear >> syms t >> x=sin(t); >> subplot(122) >> ezplot(x)

>> title('符号对象表示法')

向量表示法10.80.60.40.20-0.2-0.4-0.6-0.8-10246810-1-50t5-0.500.51符号对象表示法

常用信号产生函数 函数名 heaviside sin cos sinc exp 2. 连续时间信号的时域运算

连续时间信号的运算包括两信号相加、相乘、微分、积分,以及移位、反转、尺度变换等。

1) 相加和相乘

信号的相加和相乘指两信号对应时刻值相加或相乘。两个采用向量表示法的信号可以直接使用‘+’和‘*’进行运算,此时要求二者的向量时间范围以及采样间隔相同。两个采用符号对象表示法的信号,可直接依据符号对象的运算规则运算。 2) 微分和积分

对于向量表示法表示的连续时间信号,可以通过数值计算的方法计算信号的微

分和积分。这里微分是通过差分来近似求取的,由时间向量[t1,t2,…,tN]和采样值向量[x1,x2,…,xN]表示的连续时间信号,其微分可以通过下式求得。

功能 单位阶跃函数 正弦函数 余弦函数 sinc函数 指数函数 函数名 rectpuls tripuls square sawtooth 功能 门函数 三角脉冲函数 周期方波 周期锯齿波或三角波 x'(t)|t?tk?xk?1?xk,k?1,2,...,N?1 t其中t表示采样间隔。MATLAB中用diff函数来计算差分xk?1?xk。

连续时间信号的定积分可以由MATLAB的quad函数实现,调用格式为 quad(‘function_name’,a,b)

其中function_name为被积函数名,a、b为积分区间。

对于符号对象表示的连续时间信号,MATLAB提供了diff函数和quad函数分别用于求微分、积分。 3) 移位、反转和尺度变换

移位:信号x(t)的自变量t更换为(t-t0),表示x(t)波形在t轴上整体移动, t0>0时整体右移,t0<0时整体左移。

反转:自变量t换为-t,x(-t)的波形相当于x(t)的波形以t=0为轴反转过来。 尺度变换:信号自变量t换为at,x(at)表示信号压缩(a>1)或拉伸(a<1)。

3. 离散时间信号的MATLAB表示

离散时间信号仅在一些离散时刻有定义。在MATLAB中离散时间信号需要使用两个向量来表示,其中一个向量用于表示离散的时间点,另一个向量表示在这些点上的值。

例:x(n)?{?3,2,?1,2,1,?1,2,3}

?

>> n=-3:4;

>> x=[-3 2 -1 2 1 -1 2 3]; >> stem(n,x,'filled'); >> xlabel('n'); >> title('x(n)')

x(n)3210-1-2-3-3-2-10n1234

4. 离散时间信号的时域运算

离散时间信号的相加、相乘是将两个信号对应的时间点上的值相加或相乘,可以直接使用算数的运算符‘+’或‘*’来计算。

离散时间信号的移位,可以看做是将表示时间的向量平移,而表示对应时间点上的值的向量不变。

离散时间信号的反转,可看做将表示时间的向量和表示对应时间点上的值的向量以零点为基准点,以纵轴为对称轴反折,向量的反折可以利用fliplr函数实现。

三.实验内容

(1)利用MATLAB绘制下列连续时间信号波形 1)x(t)?(1?e?0.5t)u(t)

10.80.6x(t)-heaviside(t) (exp(-t/2) - 1)>> syms t

>> x=(1-exp(-0.5*t))*heaviside(t); >> ezplot(x,[-5,15]) >> ylabel('x(t)') >> grid on

2)x(t)?cos(?t)[u(t)?u(t?2)] >> syms t

>> x=cos(pi*t)*(heaviside(t)-heaviside(t-2)); >> ezplot(x,[-1,3]) >> ylabel('x(t)') >> grid on

0.40.20-505t1015

-cos(? t) (heaviside(t - 2) - heaviside(t))10.80.60.40.2x(t)0-0.2-0.4-0.6-0.8-1-1-0.500.51t1.522.53