实验2_连续时间信号的Matlab表示与计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.6 矩形脉冲信号 矩形脉冲信号在 MATLAB 中用 rectpuls 函数来表示,其调用形式为:
y = rectpuls(t, width)
用以产生一个幅值为 1、宽度为 width、相对于 t=0 点左右对称的矩形波信号。该函数的横 坐标范围由向量 t 决定,是以 t=0 为中心向左右各展开 width/2 的范围。width 的默认值为 1。
用命令:plot(t,f)可得如下图形,显然显示效果较差,这是因为 t 的间隔过大,只要改 变为:t=-10:0.5:10;可得图 1.2。
图 1.1
图 1.2
1. 信号的时域表示方法
MATLAB 提供了大量用以生成基本信号的函数,比如最常用的指数信号、正弦信号等就
是 MATLAB 的内部函数,即不需要安装任何工具箱就可以调用的函数。
1、初步学习 MATLAB 语言,熟悉 MATLAB 软件的基本使用。 2、掌握用 MATLAB 描述连续时间信号方法,能够编写 MATLAB 程序,实现各种信号的时 域变换和运算,并且以图形的方式再现各种信号的波形。
二、实验原理
连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不 连续点之外,信号都有确定的值与之对应。严格来说,MATLAB 并不能处理连续信号,而 是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值 就能较好地近似连续信号。
PDF 文件使用 "pdfFactory Pro" 试用版本创建
图 1-5 抽样函数
图 1-6 矩形波信号
周期性矩形波(方波)信号在 MATLAB 中用 square 函数来表示,其调用形式为:
y=square(t,DUTY)
用以产生一个周期为 2π 、幅值为 ±1的周期性方波信号,其中的 DUTY 参数表示占空比(duty
指数信号 Aeat 在 MATLAB 中可以用 exp 函数表示,其调用形式为:
y=A*exp(a*t) 例如图 1-3 所示指数衰减信号的 MATLAB 源程序如下(取 A=1,a=-0.4): %program7_1 Decaying expponential signal A=1;a=-0.4; t=0:0.01:10; ft=A*exp(a*t); plot(t,ft);grid on; 1.4正弦信号
其中的 p1,p2,...为需要传送给 func 函数的额外输入参数值(除时间变量 t 之外),如上述的 Rectpuls 函数需要 width 这个额外参数,tripuls 函数需要 width 和 skew 这两个额外参数,即 整个 pulstran 函数的返回值实际上相当于 :
y = func(t − d (1), p1, p1,...) + func(t − d (2), p1, p2,...) + ...
正弦信号 A cos(ωot + ϕ) 和 Asin(ωot + ϕ) 分别用MATLAB的内部函数cos和sin表示,其
调用形式为:
A* cos(ωo *t + phi)
A*sin(ωo *t + phi)
例如图1-4所示MATLAB源程序如下(取A=1,ω0 = 2π ,ϕ = π / 6 ):
例如图 1-10 所示周期性矩形脉冲信号和周期性三角波脉冲信号的 MATLAB 源程序如 下:
%program7_8 Periodic pulse generator T=0:1/1E3:1;% 1kHz sample freq for 1 sec D=0:1/3:1;% 3Hz repetition freq Y=pulstran(T,D,'rectpuls',0.1); figure(1);plot(T,Y);grid on;axis([0,1,-0.1,1.1]); T=0:1/1E3:1; % 1kHz sample freq for 1sec D=0:1/3:1;% 3Hz repetition freq Y=pulstran(T,D,'tripuls',0.1,-1); figure(2);plot(T,Y);grid on;axis([0,1,-0.1,1.]);
%program7_2 Sinusoidal signal A=1;w0=2*pi;phi=pi/6; t=0:0.01:8; ft=A*sin(w0*t+phi); plot(t,ft);grid on;
PDF 文件使用 "pdfFactory Pro" 试用版本创建
图 1-3 单边指数衰减信号
图 1-4
正弦信号
除了内部函数外,在信号处理工具箱(Signal Processing Toolbox)中还提供了诸如抽样
函数、矩形波、三角波、周期性矩形波和周期性三角波等在信号处理中常用的信号。
1.5.抽样函数
抽样函数 Sa(t)在 MATLAB 中用 sinc 表示,其定义为:
PDF 文件使用 "pdfFactory Pro" 试用版本创建
图 1-7 周期性方波信号
图 1-8 三角波信号
周期性方波信号在 MATLAB 中用 sawtooth 函数来表示,其调用形式为:
y = sawtooth(t,WIDTH )
用以产生一个周期为 2π 、最大幅度为 1、最小幅度为-1 的周期性方波信号(锯齿波)信号, 其 中 的 WIDTH 参 数 表 示 最 大 幅 度 出 现 的 位 置 : 在 一 个 周 期 内 , 信 号 从 t = 0 到 WIDTH × 2π 时函数值是从-1 到 1 线性增加的,而从WIDTH × 2π 到 2π 时函数值又是从 1
y = tripuls(t, width, skew)
用以产生一个最大幅度为 1、宽度为 width、斜度为 skew 的三角波信号。该函数的很坐标范
围由向量 t 决定,是以 t=0 为中心向左右各展开 width/2 的范围。斜度 skew 是一个介于-1 和 1 之间的值,它表示最大幅度 1 出现所对应的横坐标位置,比如 skew = 0 表示一个左右对称
(2)两个连续信号的相乘
在 MATLAB 中要实现两个连续信号 f1(t)、f2(t)的相乘,可用如下语句:
x=symmul(f1,f2) 或 x=f1*f2
% x(t)= f1(t) f2(t)
(3)连续信号的平移
要实现连续信号 f(t)向右平移 t0,MATLAB 语句格式为:
x=subs(f,t,t-t0) (4)连续信号的反转
在 MATLAB 可视化绘图中,对于以 t 为自变量的连续信号,在绘图时统一用 plot 函数。 对于连续时间信号 f(t),可用 f、t 两个行向量来表示。 例:t=-10:1.5:10; f=sin(t)./ t ;
可以产生 t= -10~10,间隔 1.5 的序列以及 f = sin(t) 的值。 t
PDF 文件使用 "pdfFactory Pro" 试用版本创建
dt=0.01; t=t1:dt:t2; n=length(t); x=zeros(1,n); x(1,(t0-t1)/dt+1)=1/dt; stairs(t,x); %以阶梯方式绘画 axis([t1,t2,0,1.1/dt]) 或 function y = delta(t) dt = 0.01; y = (heaviside (t)- heaviside (t-dt))/dt; 1.3 指数信号
y = func(t − d (1)) + func(t _ d (2) + ...
从而实现一个周期性脉冲信号的产生。Pulstran 函数的更一般的调用形式为:
y = pulstran(t, d , ' func', p1, p2...)
PDF 文件使用 "pdfFactory Pro" 试用版本创建
pdf文件使用pdffactorypro试用版本创建图13单边指数衰减信号图14正弦信号除了内部函数外在信号处理工具箱signalprocessingtoolbox中还提供了诸如抽样函数形波三角波ห้องสมุดไป่ตู้期性形波和周期性三角波等在信号处理中常用的信号
实 验二 连续时间信号的 Matlab 表示与计算
一、实验目的
sin c(t) = sin(πt) /(πt)
其调用形式为:
y = sin c(t)
例如图 1-5 所示抽样函数的 MATLAB 源程序如下: %program7_3 Sample function t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft);grid on;
的三角波信号,最大幅度 1 出现在 t = 0 处;一般地,最大幅度 1 出现在t = (width / 2) × skew
的横坐标位置。例如图 1-8 所示三角的 MATLAB 源程序如下: %program7_6 Triangular pulse signal t=-3:0.001:3; ft=tripuls(t,4,0.5); plot(t,ft);grid on;axis([-3 3 -0.5 1.5]);
1.1 单位阶跃信号 u(t)
function y=heaviside(t) %阶跃信号
y = (t>=0); % y = 1 for t > 0, else y = 0
1.2 单位冲激信号δ(t)
function chongji(t1,t2,t0) %冲激信号δ(t- t0),t1 和 t2 分为起始时间和终止时间
例如图 1-6 所示以 t=2T(即 t − 2 ×T = 0 )为对称中心的矩形脉冲信号的 MATLAB 源程序
如下(取 T=1): %program7-4 Rectangular pulse signal t=0:0.001:4; T=1; ft=rectpuls(t-2*T,2*T); plot(t,ft);grid on;axis([0 4 -0.5 1.5]);
cycle),即在信号的一个周期中正值所占的百分比。例如图 1-7 所示频率为 30Hz 的周期性
方波信号的 MATLAB 源程序如下:
%program1_7 Periodic rectangular pulse signal
t=-0.0625:0.0001:0.0625; y=square(2*pi*30*t,75);%DUTY=75(percent) plot(t,y);axis([-0.0625 0.0625 -1.5 1.5]);grid on; 1.7 三角波脉冲信号 三角波脉冲信号在 MATLAB 中用 tripuls 函数来表示,其调用形式为:
y = pulstran(t, d , ' func')
该函数基于一个名为 func 的连续函数并以之为一个周期,从而产生一串周期性的连续函数 (func 函数可自定义)。该 pulstran 函数的 横坐标范围由向量 t 指定,而向量 d 用于指定周 期性的偏移量(即各个周期的中心点),这样这个 func 函数会被计算 length(d)次,并且整 个 pulstran 函数的返回值实际上就相当于:
到-1 线性递减的;在其他周期内依次类推。例如图 1-9 所示的周期性三角波信号的 MATLAB 源程序如下:
%program1-9 Periodic triangular pulse signal
t=-5*pi:pi/10:5*pi;
x=sawtooth(t,0.5);
plot(t,x);axis([-16 16 -1.5 1.5]);grid on; 1.8 一般周期性脉冲信号 一般周期性脉冲信号在 MATLAB 中用 pulstran 函数来表示,其调用形式为:
图 1-10 周期性矩形脉冲信号和三角波脉冲信号
2.连续信号的相加、相乘、时移、反转和尺度变换等基本运算
(1)两个连续信号的相加
在 MATLAB 中要实现两个连续信号 f1(t)、f2(t)的相加,可用如下语句:
x=symadd(f1,f2) 或 x=f1+f2
% x(t)= f1(t)+f2(t)
% x(t)= f(t-t0)
PDF 文件使用 "pdfFactory Pro" 试用版本创建
对一个信号 x(t)的反褶运算在数学上表示为:y (t)=x(-t) 使用 MATLAB 内部函数 fliplr()来实现信号的反褶运算。其用法如下:y = fliplr(x):其中 x 为原信号 x(t),而 y 则为 x 的时域反褶。而翻转后的信号的坐标则可由-fliplr(t)得到。
相关文档
最新文档