1、tripuls(t,w) 产生高度为1,底边宽度为w、关于t=0位置对称的等腰三角波信号。tripuls(t,w, s) 产生高度为1,底边宽度为w、底边中心t=0、斜度为s()的三角波信号。s=0产生等腰三角波。例17在时间范围内产生一个高度为2、宽度为2,底边中心在2.5、斜度为的三角波信号。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 产生高斯分布(均值为
2、0,协方差为1)的白噪声。例18 在时间范围内产生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 白噪声信号二、连续时间信号的常用运算例19在时间内生成幅度按指数衰减的正弦信号=。A=5;f0=
3、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 例110使用命令tripulse(t)生成一个三角形脉冲,设。 (1)计算该信号的微分并且画出波形。 (2)计算该信号在内的记分值。 (3)计算该信号的积分并画出波形解:1)使用diff函数计算信号的微分并画出波形,结果见图2-10(a)t=-2:0.02:2; % 共有201个数据点x=tripuls(t); %产生单位高度、底边宽度为1、对称中心在t=0的等腰三
4、角形y=diff(x); % 共有200个数据点subplot(2,1,1); plot(t,x);ylabel(x(t); xlabel(Time(s);subplot(2,1,2);plot(t(1:200),y,r);ylabel(dx(t)/dt);xlabel(Time(s);2)函数quad和quad8都是数值积分函数。使用格式:Q=quad(function_name,a,b);Q为定积分返回值, function-name为函数名,a和b指定定积分区间。调用函数quad积分:z=quad(tripuls, -2 ,2)返回: z=0. 50003) 调用函数quad积分:(结果
5、见图210(b))t=-2:0.02:2;x=tripuls(t,2,0);for u=1:length(t); int_x(u)=quad(tripuls,-2,t(u);endsubplot(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)例111计算信号在时间内的能量。信号的能量:信号的功率:解:首先做一个函数powert.m计算信号
6、的瞬时能量function f=powert(t) f=(abs(exp(-1.*t).2;计算时间内的能量power_t=quad(powert,0,1)power_t=0.4323实验二实验名称:时域离散时间信号的描述及计算 课时数:2实验目的:通过利用MATLAB语言软件实现离散信号的描述和运算练习,熟悉掌握实现基本离散信号时域运算的方法。实验内容: (1)对常见离散时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦序列、周期方波序列、单位脉冲序列、单位阶跃序列、指数序列等常见信号的程序方法,熟悉和掌握对离散时间信号进行离散卷积、自相关函数、移位、翻转、尺度变换等时域运算的程序
7、方法。(2)编程完成布置的实验练习题。 需要完成的练习题 (写出满足实现题目要求的MATLAB语言程序,并给出执行的结果)1、使用MATLAB产生下列离散序列并作出一个图形,设 (1) , 。 (结合例25) (2), , 。 (结合例24) (3) 。 2、已知两信号,, (结合表21)(1)求两信号的卷积运算;(2)求出信号a的自相关函数;(3)将信号b进行翻转; (4)求两信号的互相关函数;实验报告要求:(1)简要介绍说明实验中用于实现正弦序列、周期方波序列、单位脉冲序列、单位阶跃序列、指数序列等常见信号基本命令。 (2) 简要介绍说明实验中用于实现离散卷积、自相关函数、移位、翻转等时域
8、运算的程序方法基本命令。 (3) 争取独立完成实验练习题,写出满足实现题目要求的MATLAB语言程序或命令,给出相对应的结果。准备知识一、 常见离散时间信号1、正弦序列A*cos(w0*n+phi) 产生一个频率为w0,相位为phi的余弦信号。A*sin(w0*n+phi) 产生一个频率为w0,相位为phi的正弦信号。例21产生一个幅度为2,数字角频率为,相位为的正弦信号。 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
9、n); title(discrete-time sinusoidal signal) 图2.1 正弦序列2、离散周期方波例22在内产生一个幅度为1,数字角频率为,占空比为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); 图2.2 离散周期方波3、离散指数序列例23在内产生指数序列。结果图如图2.3所示。A=0.5;r=3/4;n=-10:10;x=A*r.
10、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)命令,也可用逻辑判断命令生成阶跃序列。例24在内生成单位阶跃序列。信号可由两种方法生成,方法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);