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

z=quad(‘tripuls’, -2 ,2) 返回: z=

0. 5000

3) 调用函数quad积分:(结果见图1—10(b)) t=-2:0.02:2; x=tripuls(t,2,0);

for u=1:length(t);

int_x(u)=quad('tripuls',-2,t(u)); end

subplot(2,1,1); plot(t,x);ylabel('x(t)'); subplot(2,1,2); plot(t,int_x);

ylabel('integral of x(t)');xlabel('time(s)'); title('show the process of integral') ;

图1.10(a) 图1.10(b)

[例1—12]

计算信号x(t)?e?t[u(t)?u(t?1)]在[0,1]时间内的能量。 信号的能量:E???2??x(t)dt?T2T?22????x(t)x(t)*dt

1信号的功率:P?T?1x(t)dt?T?T2T?2x(t)x(t)*dt

解:首先做一个函数powert.m计算信号的瞬时能量 function f=powert(t) f=(abs(exp(-1.*t))).^2; 计算[0,1]时间内的能量

power_t=quad(‘powert’,0,1) power_t=

0.4323

附加实验部分(选做)

实验名称:时域离散时间信号的描述及计算 课时数:2

实验目的:

通过利用MATLAB语言软件实现离散信号的描述和运算练习,熟悉掌握实现基本离散信号时域运算的方法。

实验内容:(请参考实验指导教材第2章2.4小节)

(1)对常见离散时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦序列、周期方波序列、单位脉冲序列、单位阶跃序列、指数序列等常见信号的程序方法,熟悉和掌握对离散时间信号进行离散卷积、自相关函数、移位、翻转、尺度变换等时域运算的程序方法。

(2)编程完成布置的实验练习题。

需要完成的练习题 (写出满足实现题目要求的MATLAB语言程序,并给出执行的结果) 1、使用MATLAB产生下列离散序列并作出一个图形,设?1?n?15 (1)x(n)?2?(n?n0) , n0?2。 (结合例2—5)

(2)x(n)?2[u(n?n1)?u(n?n2)], n1?2 ,n1?8 。 (结合例2—4) (3) x(n)?(0.9)n[sin(0.25?n)?cos(0.25?n)]。 2、已知两信号a??123?,b?[456], (结合表2—1)

(1)求两信号的卷积运算;(2)求出信号a的自相关函数; (3)将信号b进行翻转; (4)求两信号的互相关函数;

实验报告要求:

(1)简要介绍说明实验中用于实现正弦序列、周期方波序列、单位脉冲序列、单位阶跃序列、指数序列等常见信号基本命令。

(2) 简要介绍说明实验中用于实现离散卷积、自相关函数、移位、翻转等时域运算的程序方法基本命令。

(3) 争取独立完成实验练习题,写出满足实现题目要求的MATLAB语言程序或命令,给出相对应的结果。

准备知识

一、 常见离散时间信号 1、正弦序列

A*cos(w0*n+phi) 产生一个频率为w0,相位为phi的余弦信号x(t)?Acos(?0n??)。 A*sin(w0*n+phi) 产生一个频率为w0,相位为phi的正弦信号x(t)?Asin(?0n??)。 [例2—1]

产生一个幅度为2,数字角频率为?/6,相位为?/6的正弦信号。 A=2;phi=pi/6; omega=2*pi/12;

n=-10:10;%时间间隔为单位1 x=A*sin(omega*n+phi); stem(n,x);

ylabel('x(n)');xlabel('Time index n'); title('discrete-time sinusoidal signal')

图2.1 正弦序列

2、离散周期方波 [例2—2]

在n?[?10,10]内产生一个幅度为1,数字角频率为?/4,占空比为50%的离散周期方波。 A=1;

omega=pi/4; duty=50; n=-10:10;

x=A*square(omega*n,duty); stem(n,x);

ylabel('x(n)');xlabel('Time index n'); title('discrete-time square wave');

3、离散指数序列 [例2—3]

图2.2 离散周期方波

3在n?[?10,10]内产生指数序列x(n)?Arn?0.5()n。结果图如图2.3所示。

4A=0.5;r=3/4; n=-10:10; x=A*r.^n; stem(n,x);

ylabel('x(n)');xlabel('Time index n'); title('discrete-time exponential signal'); 图2.3 离散指数序列

4、单位阶跃序列

既可用ones(1,n)和zeros(1,n)命令,也可用逻辑判断命令生成阶跃序列。 [例2—4]

在n?[?2,20]内生成单位阶跃序列u(n?3)。

信号可由两种方法生成,

方法1: 方法2: n0=3; n0=3; n=-2:20; n=-2:20; x=[zeros(1,5),ones(1,18)]; x=(n-n0)>=0; stem(n,x); stem(n,x);

ylabel('x(n)');xlabel('Time index n'); ylabel('x(n)');xlabel('Time index n'); title('unitary step sequence'); title('unitary step sequence');