信号与系统,MATLAB实验

合集下载

信号与系统实验指导书信号与系统matlab实验

信号与系统实验指导书信号与系统matlab实验

信号与系统实验指导书信号与系统matlab实验信号与系统实验指导书一、实验目的1、掌握用Matlab绘制波形图的方法,学会常见波形图的绘制。

2、掌握用Matlab编写函数的方法3、通过对周期信号和非周期信号的观察,加深对周期信号的理解。

二、实验内容1、实验原理与计算实例1.1 绘制波图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。

它不仅有强大的计算功能,还有各种各样的画图功能。

这里主要介绍信号与系统分析中常见的几个Matlab函数,包括Matlab提供的内部函数和自定义函数。

我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文,供以后执行;或是生成一个函数,在命令窗口中执行。

下面介绍几个基本函数。

(1)单位阶跃函数 M文名:u.m%单位阶跃函数(连续或离散)%调用格式 y=u(t)产生单位阶跃函数 function y=u(t) y=(t>=0)(2)门函数 M文名:rectplus.m,是Matlab的内部函数。

调用格式 y=rectplus(t)产生高度为1,宽度为1的门函数调用格式y=rectplus(t,W) 产生高度为1,宽度为W的门函数(3)三角脉冲函数 M文名:tripuls.m,是Matlab的内部函数。

调用格式 y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数调用格式 y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数调用格式 y=tripuls(t,w,s)产生高度为1,宽度为w的三角脉冲函数,-1<s<1。

当s=0时,为对称三角形;当S=-1时,为三角形顶点左边。

(4)抽样函数 M文名:Sa.m %抽样函数(连续或者离散)% 高度为1 % 调用格式 y=Sa(t),产生高度为1,第一个过零点为π function f=Sa(t)f=sinc(t./pi) %sinc(t)=sin(πt)/(πt)是MATLAB函数(5)符号函数 M文名:sign.m是Matlab的内部函数。

信号与系统matlab实验及答案

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ⎛⎫= ⎪⎝⎭, 010n ≤≤,并画出其波形图。

n=0:10;x=sin(pi/4*n).*0.8.^n;stem(n,x);xlabel( 'n' );ylabel( 'x(n)' );用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。

观察并分析a 和0t 的变化对波形的影响。

t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=2;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1s f T=表示抽样频率,即单位时间内抽取样值的个数。

抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。

请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。

可能用到的函数为plot, stem, hold on 。

fs = 40;t = 0 : 1/fs : 1 ;% ƵÂÊ·Ö±ðΪ5Hz,10Hz,20Hz,30Hz f1=5;xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;plot(t, xa) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('t(s)') ;ylabel('Xa(t)') ;line([0, max(t)],[0,0]) ; subplot(1, 2, 2) ;stem(t, xa, '.') ;line([0, max(t)], [0, 0]) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('n') ;ylabel('X(n)') ;频率越高,图像更加密集。

信号与系统 MATLAB综合实验

信号与系统    MATLAB综合实验

信号与系统MATLAB综合实验一、实验目的:1、学习MATLAB语言的编程方法及熟悉MATLAB指令。

2、掌握连续时间信号的卷积运算方式,分析建立信号波形间的联系。

3、通过使用MATLAB函数研究线性时不变离散时间系统的时域特性,以加深对线性时不变离散时间系统的时不变性的理解。

二、实验仪器1、计算机2、MATLAB 软件三、实验原理一个离散时间系统是将输入序列变换成输出序列的一种运算。

若以T[•]表示这种运算,则一个离散时间系统可由图1-1来表示,即→∙→(1-1)x n T y n()[]()图1-1 离散时间系统离散时间系统中最重要的、最常用的是“线性时不变系统”。

时不变系统系统的运算关系T[•]在整个运算过程中不随时间(也不随序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。

这个性质可用以下关系表示:若输入)(ny,则将输入序列移动任意位后,其输出序列除了跟着x的输出为)(n移位外,数值应保持不变,即若)ynm[mT--(m为任意整数)=(xn(()]()][nT=,则)yxn满足以上关系的系统就称为时不变系统。

四、实验内容及结论1、连续时间系统的时域分析已知微分方程: )(2)(3)(2)(3)(t f t f t y t y t y +'=+'+'',1)0(-='-y , 2)0(=-y 若激励信号为)()(t u t f =,利用阶跃响应函数step(sys,t) 求解画波形;利用零状态响应函数lsim 求解画波形;利用卷积函数求解画波形;比较结果。

程序如下:dt=0.001;t1=0:dt:10;f1=-1*exp(-t1)+4*exp(-2*t1);t2=t1;f2=u(t2);f=conv(f1,f2);f=f*dt;t3=0:dt:20;subplot(311)plot(t3,f);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(卷积法)');b=[3 2];a=[1 3 2];sys=tf(b,a);t=0:0.01:10;x=stepfun(t,0);y=lsim(sys,x,t);subplot(312)plot(t,y);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(阶跃函数求法)');sys=tf(b,a);t=0:0.1:10;y=step(sys,t);subplot(313)plot(t,y);xlabel('时间t)');ylabel('y(t)');title('阶跃响应');结论:上述三种方法求得的都是输入为阶跃函数时候的零状态响应,也为阶跃响应,通过图形我们可以看出,利用卷积法求出的零状态和另外两种方法求出的零状态响应图形有一点差别,三者在0到10区间上响应都一致,而利用卷积法求的响应却在下面的区间内发生了变化,我试图修改程序,无论怎么改,发现只要调用了卷积函数,求得的图形就像上述的卷积法求的图形一样,不得解。

matlab信号与系统实验报告

matlab信号与系统实验报告

matlab信号与系统实验报告Matlab信号与系统实验报告引言:信号与系统是电子工程、通信工程等领域中的重要基础课程,对于理解和应用各种信号处理技术具有重要意义。

本实验报告旨在通过使用Matlab软件,对信号与系统的基本概念和实验进行探讨和分析。

实验一:信号的基本特性分析在信号与系统的研究中,我们首先需要了解信号的基本特性。

通过Matlab软件,我们可以方便地对不同类型的信号进行分析和处理。

在本实验中,我们选择了常见的正弦信号和方波信号进行分析。

首先,我们生成了一个频率为1kHz,幅度为2V的正弦信号,并绘制了其时域波形图和频谱图。

通过观察时域波形图,我们可以看到正弦信号具有周期性和连续性的特点。

而通过频谱图,我们可以看到正弦信号在频域上只有一个峰值,说明其是单频信号。

接下来,我们生成了一个频率为1kHz,幅度为2V,占空比为50%的方波信号,并绘制了其时域波形图和频谱图。

与正弦信号不同,方波信号具有分段常值的特点。

通过频谱图,我们可以看到方波信号在频域上存在多个谐波分量,说明其是由多个频率的正弦信号叠加而成。

实验二:系统的时域响应分析在信号与系统中,系统的时域响应是描述系统对输入信号进行处理的重要指标。

通过Matlab软件,我们可以方便地分析和绘制系统的时域响应。

在本实验中,我们选择了一个一阶低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。

通过绘制输入信号和输出信号的时域波形图,我们可以观察到系统对输入信号进行了滤波处理,输出信号的幅度和相位发生了变化。

此外,我们还可以通过改变系统的参数,如截止频率和阶数,来观察系统的时域响应的变化。

通过对比不同参数下的输出信号波形图,我们可以得出不同参数对系统响应的影响。

实验三:系统的频域响应分析除了时域响应,频域响应也是描述系统特性的重要指标。

通过Matlab软件,我们可以方便地进行系统的频域响应分析。

在本实验中,我们选择了一个二阶巴特沃斯低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。

信号与系统MATLAB常见信号的表示及运算

信号与系统MATLAB常见信号的表示及运算

信号与系统——实验指导实验一 常见信号的表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2. 掌握用matlab软件产生基本信号的方法.3. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。

二、实验原理1. 信号的表示方法● 常用信号:连续函数()θω+=t t f sin )(, at Ae t f =)(,ttt Sa sin )(= 离散信号()n n f 0sin )(ω=,njw e n f 0)(=,)()(n u a n f n =● 奇异信号:连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n fm f n g )()()(21三、实验要求1.预习实验原理;2.对实验内容编写程序(M文件),上机运行;3.绘出运算或变换后信号的波形.四.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。

图1 matlab工作环境(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。

其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。

程序的运行也可以在命令窗口进行。

程序调试的信息显示在命令窗口。

(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。

图2 M文件编辑器(4) 在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。

如果所定义的是函数文件,则要求函数名为M文件名。

信号与系统MATLAB实验-实验二 Matlab中信号的运算

信号与系统MATLAB实验-实验二 Matlab中信号的运算

1、运用funtool对f(x)=sin(x)/x分别进行信号的尺度变换f(2x)、f(0.5x)和信号的移位运算f(x+1)、f(x-1)操作以及f(0.5x+1),分别记录相应波形。

f(x)=sin(x)/x f(x+1)f(2x) f(x-1)f(0.5x) f(0.5x+1)2、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。

(设定取样时间间隔为dt )【实验思考】:通过不断改变dt 的取值并对比所得到的实验效果,观察当取样时间dt 为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?3、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式;2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。

(设定取样时间间隔为dt)【实验思考】:不断改变dt的取值并对比实验效果,当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?clear alldt = 0.01;t1 = -3:dt:3;f1 = 2*(u(t1+1) - u(t1-1));figure;stairs(t1,f1);hold allgrid ont2 = -3:dt:3;f2 = u(t2+2)-u(t2-2);stairs(t2,f2)[fn, tn] = conv_cs(f1, t1, f2, t2, dt);plot(tn, fn)grid onlegend('f1', 'f2', 'f1*f2')。

信号与系统实验MATLAB实验代码

信号与系统实验MATLAB实验代码

1-1clear all;close all;t=0:0.01:10;A= 1;a=-0.4;ft=A*exp(a*t); plot(t,ft);1-2clear all;close all;t=-3:0.001:3;ft=tripuls(t,4,0.5); plot(t,ft);ft1=tripuls(t,4,1); figure,plot(t,ft1);1-3clear all;close all;t=0:0.001:4;T= 1;Ft=rectpuls(t-2*T,T); plot(t,Ft);1-4clear all;close all;k=-50:50;delta=[zeros(1,50),1,zeros(1,50)]; stem(k,delta);1-5clear all;close all;k=-50:50;uk=[zeros(1,50),ones(1,51)]; stem(k,uk);2-1clear all;close all;t=-3:0.001:3;ft=tripuls(t,4,0.5); subplot(3,1,1);plot(t,ft);title('f(t)');ft1=tripuls((2*t),4,0.5); subplot(3,1,2);plot(t,ft1);title('f(2t)');ft2=tripuls((2-2*t),4,0.5); subplot(3,1,3);plot(t,ft2);title('f(2-2t)');2-2clear all;close all;h=0.001;t=-3:h:3;ft=tripuls(t,4,0.5);subplot(3,1,1);plot(t,ft);title('f(t)');y1=diff(ft)*1/h;subplot(3,1,2);plot(t(1:length(t)-1),y1);title('the differentiation of f(t)');3-1clear all;close all;t=-10:0.01:10;A= 1;a=-0.4;ft=A*exp(a*abs(t)); plot(t,ft);3-2clear all;close all;r=0.02;t=-5:r:5;f1=1/2*exp(-2*t).*stepfun(t,0);f2=1/2*exp(-2*(t-1)).*stepfun(t-1,0); ft1=diff(f1)*1/r;ft2=diff(f2)*1/r;subplot(3,1,1);plot(t,f1);grid on;xlabel('t');ylabel('f(t)');title('f(t)');subplot(3,1,2);plot(t(1:length(t)-1),ft1);title('diff1');subplot(3,1,3);plot(t(1:length(t)-1),ft2);title('diff2');4-1clear all;close all;syms t f;f= fourier(exp((-2)*abs(t))); ezplot(f);4-2clear all;close all;syms t w;f=ifourier(1/(1+(w^2)),t); ezplot(f);a ns1/2*exp(-t)*heaviside(t)+1/2*exp(t)*heaviside(-t) 4-3clear all;close all;r=0.02;t=-5:r:5;N=200;w=2*pi;k=-N:N;w=k*w/N;f1=1/2*exp(-2*t).*stepfun(t,0);F=r*f1*exp(-j*t'*w);F1=abs(F);P1=angle(F);subplot(3,1,1);plot(t,f1);grid on;xlabel('t');ylabel('f(t)');title('f(t)');subplot(3,1,2);plot(w,F1);xlabel('w');grid on;ylabel('F(jw)');subplot(3,1,3);plot(w,P1*180/pi);grid;xlabel('w');ylabel('W');4-4clear all;close all;R=0.02;t=-2:R:2;f=stepfun(t,-1)-stepfun(t,1); f1=f.*exp(-j*5*t);f2=f.*exp(j*5*t);W1=pi*5;N=500;k=-N:N;W=k*W1/N;F1=f1*exp(-j*t'*W)*R;F2=f2*exp(-j*t'*W)*R;F1=real(F1);F2=real(F2); subplot(2,1,1); plot(W,F1); xlabel('w'); ylabel('F1(jw)'); title('频谱F1(jw)'); subplot(2,1,2); plot(W,F2); xlabel('w'); ylabel('F2(jw)'); title('频谱F2(jw)');。

信号与系统实验(MATLAB 西电版)实验8 离散LTI系

信号与系统实验(MATLAB 西电版)实验8  离散LTI系
离散LTI系统的差分方程为6y(k)-5y(k-1)+y(k-2)= cos(kπ/4)ε(k),初始条件为y(0)=0,y(1)=1,试画出该系统的 全响应y(k)
实验8 离散LTI系统的时域分析
MATLAB 程序:
y0=0;
%初值y(0)=0
y(1)=1; y(2)=5/6*y(1)-1/6*y0+cos(2*pi/4)/6;
实验8 离散LTI系统的时域分析
(1) 在计算机中输入程序,验证实验结果,并将实验结 (2) 对于程序设计实验,要求通过对验证性实验的练习, 自行编制完整的实验程序,实现对信号的模拟,并得出实验 (3) 在实验报告中写出完整的自编程序,并给出实验结
实验8 离散LTI系统的时域分析
(1) 试用卷积求离散时间系统y(k)-5y(k-1)+6y(k-1)= f(k),y(-1)=0,y(-2)=1
实验8 离散LTI系统的时域分析
一、实验目的 二、实验原理 三、涉及的MATLAB函数 四、实验内容与方法 五、实验要求 六、思考题
实验8 离散LTI系统的时域分析
(1) 熟悉离散时间序列卷积和、离散系统单位序 列响应的MATLAB实现方法;
(2) 掌握函数conv、impz的调用格式及功能; (3) 熟悉差分方程迭代解法的MATLAB实现方 法; (4) 通过该实验,掌握离散LTI系统的时域根本
离散系统的全响应如图8.2
实验8 离散LTI系统的时域分析 图 8.2 离散系统的全响应
实验8 离散LTI系统的时域分析
(3) 采用函数impz编程,求离散时间系统的单位序列响
某离散LTI系统的差分方程为y(k)-y(k-1)+0.9y(k-2)f(k), 那么对应的向量为 a=[1,-1,0.9],b=[1]。试画出该 系统的单位序列响应h(k)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

y = func(t − d (1)) + func(t _ d ( 2) + ...
从而实现一个周期性脉冲信号的产生。Pulstran 函数的更一般的调用形式为:
y = pulstran(t , d , ' func' , p1, p 2...)
其中的 p1,p2,...为需要传送给 func 函数的额外输入参数值(除时间变量 t 之外) ,如上述的 Rectpuls 函数需要 width 这个额外参数,tripuls 函数需要 width 和 skew 这两个额外参数,即 整个 pulstran 函数的返回值实际上相当于 :
图 1-10 周期性矩形脉冲信号和三角波脉冲信号
2.连续信号的相加、相乘、时移、反转和尺度变换等基本运算
(1)两个连续信号的相加 在 MATLAB 中要实现两个连续信号 f1(t)、f2(t)的相加,可用如下语句: x=symadd(f1,f2) (2)两个连续信号的相乘 在 MATLAB 中要实现两个连续信号 f1(t)、f2(t)的相乘,可用如下语句: x=symmul(f1,f2) (3)连续信号的平移 要实现连续信号 f(t)向右平移 t0,MATLAB 语句格式为: x=subs(f,t,t-t0) (4)连续信号的反转
% x(t)= f(t-t0)

x=f1+f2
% x(t)= f1(t)+f2(t)

x=f1*f2
% x(t)= f1(t) f2(t)
对一个信号 x(t)的反褶运算在数学上表示为:y (t)=x(-t) 使用 MATLAB 内部函数 fliplr()来实现信号的反褶运算。其用法如下:y = fliplr(x):其中 x 为原信号 x(t),而 y 则为 x 的时域反褶。而翻转后的信号的坐标则可由-fliplr(t)得到。 (5)连续信号的尺度变换 要实现连续信号 f(t)的尺度变换,MATLAB 语句格式为: x=subs(f,t,a*t)
图 1-3
单边指数衰减信号ຫໍສະໝຸດ 图 1-4正弦信号
除了内部函数外,在信号处理工具箱(Signal Processing Toolbox)中还提供了诸如抽样 函数、矩形波、三角波、周期性矩形波和周期性三角波等在信号处理中常用的信号。 1.5.抽样函数 抽样函数 Sa(t)在 MATLAB 中用 sinc 表示,其定义为:
y = pulstran (t , d , ' func' )
该函数基于一个名为 func 的连续函数并以之为一个周期,从而产生一串周期性的连续函数 (func 函数可自定义) 。该 pulstran 函数的 横坐标范围由向量 t 指定,而向量 d 用于指定周 期性的偏移量(即各个周期的中心点) ,这样这个 func 函数会被计算 length(d)次,并且整 个 pulstran 函数的返回值实际上就相当于:
y = rectpuls (t , width )
用以产生一个幅值为 1、宽度为 width、相对于 t=0 点左右对称的矩形波信号。该函数的横 坐标范围由向量 t 决定, 是以 t=0 为中心向左右各展开 width/2 的范围。 width 的默认值为 1。 例如图 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]);
实验一
一、实验目的
连续时间信号的 Matlab 表示与计算
1、初步学习 MATLAB 语言,熟悉 MATLAB 软件的基本使用。 2、掌握用 MATLAB 描述连续时间信号方法,能够编写 MATLAB 程序,实现各种信号的时 域变换和运算,并且以图形的方式再现各种信号的波形。
二、实验原理
连续信号是指自变量的取值范围是连续的, 且对于一切自变量的取值, 除了有若干个不 连续点之外,信号都有确定的值与之对应。严格来说,MATLAB 并不能处理连续信号,而 是用等时间间隔点的样值来近似表示连续信号。 当取样时间间隔足够小时, 这些离散的样值 就能较好地近似连续信号。 在 MATLAB 可视化绘图中, 对于以 t 为自变量的连续信号, 在绘图时统一用 plot 函数; 而对 n 为自变量的离散序列,在绘图时统一用 stem 函数。 对于连续时间信号 f(t) ,可用 f、t 两个行向量来表示。 例:t=-10:1.5:10; f=sin(t)./ t ; 可以产生 t= -10~10,间隔 1.5 的序列以及 f =
y = (t>=0); % y = 1 for t > 0, else y = 0 1.2 单位冲激信号δ(t)
function chongji(t1,t2,t0) 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);
信号与系统实验指导书
现代通信与电子技术示范中心


实验一 连续时间信号的 Matlab 表示与计算 实验二 连续时间系统的时域分析 实验三 连续时间信号的频域分析 实验四 抽样定理 实验五 连续时间 LTI 系统的频域分析 实验六 连续时间 LTI 系统的复频域分析 附录 MATLAB 主要命令函数表
图 1-7
周期性方波信号
图 1-8
三角波信号
周期性方波信号在 MATLAB 中用 sawtooth 函数来表示,其调用形式为:
y = sawtooth (t , WIDTH )
用以产生一个周期为 2π 、最大幅度为 1、最小幅度为-1 的周期性方波信号(锯齿波)信号, 其 中 的 WIDTH 参 数 表 示 最 大 幅 度 出 现 的 位 置 : 在 一 个 周 期 内 , 信 号 从 t = 0 到 而从 WIDTH × 2π 到 2π 时函数值又是从 1 WIDTH × 2π 时函数值是从-1 到 1 线性增加的, 到-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 函数来表示,其调用形式为:
y = tripuls (t , width , skew)
用以产生一个最大幅度为 1、宽度为 width、斜度为 skew 的三角波信号。该函数的很坐标范 围由向量 t 决定,是以 t=0 为中心向左右各展开 width/2 的范围。斜度 skew 是一个介于-1 和 1 之间的值, 它表示最大幅度 1 出现所对应的横坐标位置, 比如 skew = 0 表示一个左右对称 的三角波信号, 最大幅度 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-5 抽样函数
图 1-6
矩形波信号
周期性矩形波(方波)信号在 MATLAB 中用 square 函数来表示,其调用形式为: y=square(t,DUTY) 幅值为 ± 1 的周期性方波信号, 其中的 DUTY 参数表示占空比 (duty 用以产生一个周期为 2π 、 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 函数来表示,其调用形式为:
A * cos(ωo * t + phi ) A * sin(ωo * t + phi)
: 例如图1-4所示MATLAB源程序如下(取A=1, ω0 = 2π , ϕ = π / 6 ) %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;
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.6 矩形脉冲信号 矩形脉冲信号在 MATLAB 中用 rectpuls 函数来表示,其调用形式为:
y = func(t − d (1), p1, p1,...) + func(t − d ( 2), p1, p 2,...) + ...
相关文档
最新文档