实验一++信号的产生及时间变量的变换
- 格式:doc
- 大小:60.00 KB
- 文档页数:7
一、实验目的1. 了解信号产生的原理和方法;2. 掌握常用信号的产生方法,如正弦波、方波、三角波等;3. 学会使用示波器观察和分析信号波形;4. 培养实验操作技能和数据分析能力。
二、实验原理信号产生实验主要研究信号的生成原理和常用信号的产生方法。
信号是信息传输、处理和存储的基础,分为模拟信号和数字信号。
模拟信号是指连续变化的信号,如正弦波、方波、三角波等;数字信号是指离散变化的信号,如二进制信号。
正弦波是最基本的模拟信号,其数学表达式为:y(t) = A sin(ωt + φ),其中A为振幅,ω为角频率,φ为初相位。
方波是周期性的信号,其在一个周期内取两个值,通常表示为高电平和低电平。
方波可以看作是多个正弦波的叠加。
三角波是一种周期性的信号,其在一个周期内从0变化到最大值,再变化到最小值,最后回到0。
三角波可以看作是多个正弦波的叠加。
三、实验仪器与设备1. 函数信号发生器;2. 示波器;3. 信号线;4. 电源。
四、实验步骤1. 开启函数信号发生器,调整输出频率和振幅,观察示波器上的波形;2. 产生正弦波信号,调整频率和振幅,观察波形变化;3. 产生方波信号,调整频率和振幅,观察波形变化;4. 产生三角波信号,调整频率和振幅,观察波形变化;5. 使用示波器观察不同信号叠加后的波形,分析波形变化规律。
五、实验结果与分析1. 正弦波信号的产生在函数信号发生器上设置频率为100Hz,振幅为5V,观察示波器上的波形。
通过调整频率和振幅,可以观察到正弦波信号的波形变化。
2. 方波信号的产生在函数信号发生器上设置频率为100Hz,振幅为5V,将输出信号切换为方波。
观察示波器上的波形,可以发现方波信号在一个周期内取两个值,表示为高电平和低电平。
3. 三角波信号的产生在函数信号发生器上设置频率为100Hz,振幅为5V,将输出信号切换为三角波。
观察示波器上的波形,可以发现三角波信号在一个周期内从0变化到最大值,再变化到最小值,最后回到0。
三、使用仪器、材料数量及其用途电脑 一台MATLAB2016b 一个Word2016 一个四、实验步骤(含简略步骤、电路图):1、利用MATLAB 产生如下连续信号:打开MATLAB 软件,在M 编辑器中输入以下下代码(代码见实验记录),将程序运行,便可得到实验结果(结果见实验记录)2、利用Matlab 产生如下离散信号打开MATLAB 软件,在M 编辑器中输入以下下代码(代码见实验记录),将程序运行,便可得到实验结果(结果见实验记录)3、已知无限长序列:(1)计算信号总能量;(2)分别计算前10点、前20点和前30点的能量及其占总能量的百分比。
提示:format long 命令,可以将数据转换成双精度数据!打开MATLAB 软件,在M 编辑器中输入以下下代码(代码见实验记录),将程序运行,便可得到实验结果(结果见实验记录)300),3/2sin()()1(1.0<<=-t t e t x t 设 1.01.0),3000cos()100cos()()2(<<-+=t t t t x 设 2000),8.0cos()1.0cos()()3(<<+=t t t t x 设 ππ2020)],25.0cos()25.0[sin()9.0(][≤<-+=k k k k x k 设ππ][5.0][k u k x k =六、实验结果及分析(包括图表、计算、结论与仿真结论)实验结果分析:1、产生连续与离散信号根据MATLAB的计算结果及图像,可看出该图像符合信号表达式的变化规律;能够很好的表现出信号的特征。
表明利用MA TLAB仿真结果能够很好模拟信号的发生。
2、计算信号的能量及占比在计算信号能量的时候,首先采用formatlong将数据精度变为双精度,确保数据精确度,当数据精度取得足够位数时,能够计算出信号的能量,以及部分点所占能量的百分比,且计算结果精度很高,在实验所得的结果的精度,足以满足一般工程技术中的要求,说明利用MA TLAB仿真可以很好的计算信号的能量。
一、实验目的1.熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;2.掌握连续时间和离散时间信号的MA TLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;基本要求:掌握用MA TLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB 程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。
二、实验设备装有MATLAB的计算机。
三、实验原理1.信号的时域表示方法1.1将信号表示成独立时间变量的函数:x(t)=sin(ωt)(连续时间信号) 和x[n]=n(0.5)nu[n](离散时间信号)。
MATLAB中也有这种信号的表达:sin()[正弦],cos()[余弦],exp()[指数]1.2用信号的波形图来描述信号1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=02 用MATLAB仿真连续时间信号和离散时间信号2.1连续时间信号的仿真程序Program1_1是用MA TLAB对一个正弦信号进行仿真的程序,请仔细阅读该程序,并在计算机上运行,观察所得图形。
% Program1_1% This program is used to generate a sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsdt = 0.01; % Specify the step of time variablet = -2:dt:2; % Specify the interval of timex = sin(2*pi*t);plot(t,x)title('Sinusoidal signal x(t)')xlabel('Time t (sec)')2.2离散时间信号的仿真程序Program1_2用来产生离散时间信号x[n]=sin(0.2πn)。
附录MATLAB实验参考源程序实验一信号的产生及时间变量的变换1.lab11a.m的源程序如下:% Impulse sequencesubplot(1,2,1);n=[−10:10];z=(n==0);stem(n,z);title('Impulse sequence');xlabel('n');ylabel('\delta[n]');% Impulse functionsubplot(1,2,2);t=−10:0.1:10;y=(t==0);plot(t,y,'r');title('Impulse function');xlabel('t');ylabel('\delta(t)');注释:subplot(1, 2, 1); %将当前的绘图窗口分成1行2列的两块绘图区域,并选定其中的第1块(即坐标为(1, 1)的一块),准备开始在其上作图;参见第13章中“MATLAB中subplot函数的使用”的介绍n=[−10:10]; % n是一个整数向量(数组),从−10到10,步长为1,共有21个数,维数为1×21z=(n==0); % z是一个与n维数相同的向量,其中的每个数是n中对应位置处的整数与0比较相等与否的结果:比如n的第1个数为−10,与0比较的结果为False(0),因此相对应的z的第1个数为0;又如n的第11个数为0,与0比较的结果为True(1),因此相对应的z的第11个数为1;依此类推。
因为只有n中的0这个元素对应的z中元素值为1,其他n 中元素对应的z中元素值均为0,因此就实现了单位脉冲序列。
注意,n==0是一个向量的运算,即向量中的每个元素都要参与的运算stem(n,z); % 以向量n为横坐标的值序列,以向量z为纵坐标的值序列,分别以n中一元素及z中对应一元素为横、纵坐标确定平面上的一个点,从而可以确定出平面上的一个点·220·的序列。
基本信号分析实验报告一、实验目的掌握基本信号的时域和频域分析方法二、实验原理1. 信号的时域和频域转换:通过Fourier级数展开或变换,可将时域信号变换为频域信号;反之,通过Fourier逆变换可以将频域信号转换为时域信号。
按照时域信号的特点,可以应用不同的方法将其转换为频域信号,分别为:三、实验仪器装有MATLAB软件的计算机1台四、实验内容及结果分析1、产生不同的周期信号,包括正弦信号、方波信号、锯齿波,在时域分析这些波形特征(幅值、频率(周期))产生信号:A=1;f=4;正弦波y=A*sin(2*pi*f*t);方波y=A*square(2*pi*f*t);锯齿波y=A*sawtooth(2*pi*f*t);由时域图也可看出三种信号的幅值均为A=1V,频率为f=4Hz。
2、在Matlab中产生随机噪声、阶跃信号t=0:0.001:3y=randn(size(t));幅值杂乱无绪,为噪声特征。
syms t;f=heaviside(t);ezplot(f,[-1,1]);幅值为A=1V,t<0时为0。
3、对产生的信号进行Fourier级数展开、Fourier变换,从频域分析信号的特征,并说明方波信号和锯齿波信号的带宽。
fs=1000;det=1/fs; t=0:det:6; f=50; A=1;y=A*sin(2*pi*f*t); Y1=fft(y,512); Y2=abs(Y1); Y=Y2/256*4/pi; ff=fs*(0:256)/512; subplot(4,1,1); plot(ff,Y(1:257));分析:正弦波、方波、锯齿波均为时域连续周期性信号,故通过Fourier 级数展开。
正弦信号的Fourier 级数展开为其本身。
在频谱图的正半轴上,正弦波在时,产生一个尖峰,该尖峰的幅值等于正弦函数的幅值。
其他频率上无尖峰。
方波信号的Fourier 级数展开形式为()()004A 1A(f)[sin 2πf t sin 3*2πf t ]π3=++,其幅频谱只包含基波及奇次谐波的频率分量,各次谐波的幅值以1n的规律收敛。
信号与系统实验报告—连续时间信号实验名称:连续时间信号一、实验目的1、熟悉Matlab编程工具的应用;2、掌握利用Matlab进行连续时间信号的绘制、分析和处理。
二、实验原理连续时间信号是指在时间轴上连续存在的信号。
连续时间信号可以用数学函数来描述,并且它们是时间变量t的函数,其幅度可以是任意实数或复数。
连续时间信号可以由物理系统中的物理量得到,比如声音信号、图像信号等。
对于一个连续时间信号x(t),可以对它进行各种变换,如平移、伸缩、反转等,这些操作可以用函数来表示。
其中,平移信号可以用x(t - a)表示,伸缩信号可以用x(at)表示,反转信号可以用x(-t)表示。
另外,通过利用傅里叶变换可以分析连续时间信号的频率构成,了解信号的频域特性,其傅里叶变换公式为:F(jω) = ∫[ -∞ , ∞ ] f(t) · e^(-jωt) · dt其中,F(jω)为信号在频域上的变换值,因此,我们可以通过傅里叶变换来分析信号在频域上的性质。
三、实验内容2、使用Matlab对信号进行平移、伸缩、反转等处理;3、使用Matlab对信号进行傅里叶变换,分析信号的频域特性。
四、实验步骤1、绘制信号首先,我们需要确定信号的形式和表示方法,根据实验要求选择不同的信号进行绘制。
在此以正弦信号为例,使用Matlab中的plot函数绘制正弦函数图形:t = 0: 0.01: 10;x = sin (2* pi* t);plot(t, x);xlabel('Time / s');title('Continuous sinusoidal signal');对信号进行平移、伸缩、反转处理也是十分简单的,只需要在信号函数上添加对应的变换操作即可。
以下是对信号进行平移、伸缩、反转处理的Matlab代码:3、进行傅里叶变换及频域分析Y = fft (x);P2 = abs (Y/L);P1(2:end-1) = 2* P1(2:end-1);title ('Single-Sided Amplitude Spectrum of x(t)');ylabel ('|P1(f)|');根据得到的频域分析结果,我们可以得出连续时间信号的功率、频率等特性。
信号与系统分析实验报告实验名称信号的产生及时间变量的变换实验类型验证班级信息10-1学号************姓名翟彦河实验日期2012-4-101,产生并画出下列信号:a,单位冲击信号δ(t)与单位脉冲序列δ(n); b,单位阶跃信号μ(t)与单位阶跃序列μ(n);(a)%Impulse squencesubplot(1,2,1);n=[-10:10];z=(n==0);stem(n,z);title('µ¥Î»Âö³åÐòÁÐ');xlabel('n');ylabel('\delta[n]');%Impulse functionsubplot(1,2,2);t=-10:0.1:10;y=(t==0);plot(t,y,'r');title('µ¥Î»³å¼¤ÐźÅ');xlabel('t');ylabel('\delta[t]');(b)%Step squencesubplot(1,2,1);n=[-10:10];z=(n>=0);stem(n,z);title('µ¥Î»½×Ô¾ÐòÁÐ'); xlabel('n');ylabel('\u[n]');%Step functionsubplot(1,2,2);t=-10:0.1:10;y=(t>=0);plot(t,y,'b');title('µ¥Î»½×Ô¾ÐźÅ'); xlabel('t');ylabel('\u[t]');2 产生并画出下列信号:a,在【-2π,2π】的范围内,画出正弦信号sin(t);b,利用sawstooth函数,在【-5π,5π】的范围内,画出周期三角波和锯齿波。
实验项目名称:基本信号的产生和时域抽样实验 实验项目性质:普通实验 所属课程名称:信号分析与处理 实验计划学时:2一、实验目的1学习使用matlab 产生基本信号波形、实现信号的基本运算2熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解; 3 加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。
二、实验内容和要求1 用Matlab 产生以下序列的样本,并显示其波形: (a): ()(0.9)cos(0.2/3),020n x n n n ππ=+≤≤(b): )20()5()(---=n u n u n x(c): )n(nx-=*5.0exp()(d): )xπn=1.0sin()(n(e): ||1000)(t a e t x -=(f): )()sin()(0t u t Ae t x t a Ω=-α2 设||1000a )t (x t e -=(a ):求其傅里叶变换)jw (X a ;(b ):用频率Hz s 5000F =对)t (x a 进行采样,求出采样所得离散时间信号]n [x a1的傅里叶变换)(X 1jw a e ;再用频率Hz s 1000F =对)t (x a 进行采样,求出采样所得离散时间信号]n [x a2的傅里叶变换)(X a2jw e ;(c):分别针对(b)中采样所得离散时间信号]n[xa1和]n[xa2,重建出对应的连续时间信号)t(xa1和)t(xa2,并分别与原连续时间信号)t(xa进行比较;根据抽样定理(即Nyquist定理)的知识,说明采样频率对信号重建的影响。
3 已知序列x[k]={1,1,1;k=0,1,2},对其频谱)X进行抽样,分别取( j eN=2,3,10,观察频域抽样造成的混叠现象。
x=[1,1,1];L=3;N=256;omega=[0:N-1]*2*pi/N;X0=1+exp(-j*omega)+exp(-2*j*omega);plot(omega./pi,abs(X0));xlabel('Omega/PI');hold onN=2;omegam=[0:N-1]*2*pi/N;Xk=1+exp(-j*omegam)+exp(-2*j*omegam);stem(omegam./pi,abs(Xk),'r','o');hold off00.20.40.60.81 1.2 1.4 1.6 1.82Omega/PI4、A 编制实验用主程序及相应子程序。
1 实验一常用信号的实现及其运算(设计性实验)一、本次课主要内容主要掌握MATLAB的运行环境和基本操作方法、常用信号的实现及其运算的实现,并要求学生熟练掌握MATLAB软件的使用和相关函数的调用。
二、教学目的与要求1、熟悉MATLAB的基本操作方法;2、掌握基本信号的MATLAB实现;3、掌握基本信号运算的实现方法。
三、教学重点难点1、MATLAB的基本能操作方法2、相关函数的调用方法四、教学方法和手段本次实验共计2课时,课堂讲授、提问、启发及实验操作等教学方式.教师课堂讲授或演示10-20分钟,其余时间学生按要求进行实验操作,.教师随堂对实验遇到困难学生进行指导,实验结束时教师查阅学生实验结果,给出实验课堂成绩。
五、作业与习题布置按验证性实验报告要求写出一份完整的实验报告2 实验一 常用信号的实现及其运算(设计性实验)一. 实验目的(1) 熟悉各种MATLAB 的运行环境和基本操作指令。
(2) 掌握实现基本函数及其运算的函数的使用方法。
(3) 加深对信号基本运算的理解。
二 实验设备与器材实验所用设备与器材如下:(1)电脑一台;(2)MATLAB 软件。
三. 实验原理说明(1)信号的定义信号是随时间变化的物理量,信号的本质是时间函数。
(2)信号的描述信号的描述方法有时域法和变换域法,本次实验主要使用时域法来描述信号。
时域法是将信号表示成时间的函数来对信号进行描述的方法。
信号的时间特性是指信号的波形出现时间的先后,秩序时间的长短,随时间变化的快慢和大小,周期的长短等。
(3)信号的分类信号的分类方法有很多,常见的分类方法将信号分为确知信号和随机信号;连续信号和离散信号;周期信号和非周期信号;能量信号和功率信号。
(4)主要涉及的MALAB 函数plot 函数功能:绘制数值函数在一定范围内的二维图形;调用格式:plot (x,y):绘出x 对y 的线性曲线图。
ezplot 函数功能:绘制符号函数在一定范围内的二维图形;调用格式:ezplot(fun):在[]ππ22-内绘制函数; ezplot(fun,[min,max]):在[min,max]范围内绘制函数。
信号与系统实验报告课程名称:信号与系统实验实验项目名称:连续信号的时域描述与运算专业班级:姓名:学号:完成时间:年月日一、实验目的1.通过绘制典型信号的波形,了解这些信号的基本特征。
2.通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。
二、实验原理1.基于MATLAB的信号描述方法如果一个信号在连续时间范围内(除有限个间断点外)有定义,则称该信号为连续时间信号,简称为连续信号。
从严格意义上讲, MATLAB数值计算的方法并不能处理连续信号,但是可利用连续信号在等时间间隔点的采样值来近似表示连续信号,即当采样间隔足够小时,这些离散采样值能够被MATLAB处理,并且能较好地近似表示连续信号。
(1)向量表示法对于连续时间信号f(t),可以定义两个行向量f和t来表示,其中向量t是形如t=t1:Δt:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为终止时间,Δt为时间间隔;向量f为连续时间信号f(t)在向量t所定义的时间点上的采样值。
(2)符号运算表示法如果信号可以用一个符号表达式来表示,则可用ezplot命令绘制出信号的波形。
2.连续信号的基本运算(1)信号的相加与相乘信号的已知信号f1(t)、f2(t),信号相加和相乘记为f(t)=f1(t)+f2(t)f(t)=f1(t)·f2(t)(2)微分与积分对于连续时间信号,其微分运算是用diff函数来完成的。
其语句格式为:diff(function,’variable’,n);其中function表示需要进行求导运算的信号,或者被赋值的符号表达式;variable为求导运算的独立变量;n为求导的阶数,默认值为求一阶导数。
连续信号的积分运算用int函数来完成。
其语句格式为:int(function,’variable’,a,b);其中function表示被积信号,或者被赋值的符号表达式;variable为积分变量;a,b为积分上、下限,a和b省略时求不定积分。
实验一信号的产生及时间变量的变换一、实验目的1.熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;2.掌握连续时间和离散时间信号的MA TLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;基本要求:掌握用MA TLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。
二、实验原理1. 信号的时域表示方法1.1将信号表示成独立时间变量的函数例如x(t)=sin(ωt) 和x[n]=n(0.5)n u[n]分别表示一个连续时间信号和一个离散时间信号。
在MA TLAB中有许多内部函数,可以直接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。
图1.1 连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=02 用MATLAB 仿真连续时间信号和离散时间信号 在MATLAB 中,无论是连续时间信号还是离散时间信号,MATLAB 都是用一个数字序列来表示信号,这个数字序列在MATLAB 中叫做向量(vector)。
通常的情况下,需要与时间变量相对应。
如前所述,MA TLAB 有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。
2.1连续时间信号的仿真程序Program1_1是用MATLAB 对一个正弦信号进行仿真的程序,请仔细阅读该程序,并在计算机上运行,观察所得图形。
% Program1_1% This program is used to generate a sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsdt = 0.01; % Specify the step of time variablet = -2:dt:2; % Specify the interval of timex = sin(2*pi*t); % Generate the signalplot(t,x) % Open a figure window and draw the plot of x(t)title('Sinusoidal signal x(t)')xlabel('Time t (sec)')常用的图形控制函数axis([xmin,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin 为横轴的显示起点,xmax 为横轴的显示终点,ymin 为纵轴的显示起点,ymax 为纵轴的显示终点。
有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅度大小。
MA TLAB 中的grid on/grid off 可以实现在你的图形中加网格线。
grid on :在图形中加网格线。
grid off :取消图形中的网格线。
x = input(‘Type in signal x(t) in closed form:’)单位阶跃信号u(t) 和单位冲激信号δ(t) 是二个非常有用的信号。
它们的定义如下0,0)(1)(≠==⎰∞-∞=t t dt t t δδ 1.1(a) ⎩⎨⎧≤>=0,00,1)(t t t u 1.1(b) 这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。
产生单位冲激信号的扩展函数为:function y = delta(t)dt = 0.01;y = (u(t)-u(t-dt))/dt;产生单位阶跃信号的扩展函数为:% Unit step functionfunction y = u(t)y = (t>=0); % y = 1 for t > 0, else y = 0请将这二个MA TLAB函数分别以delta 和u为文件名保存在work文件夹中,以后,就可以像教材中的方法使用单位冲激信号δ(t) 和单位阶跃信号u(t)。
2.2离散时间信号的仿真程序Program1_2用来产生离散时间信号x[n]=sin(0.2πn)。
% Program1_2+% This program is used to generate a discrete-time sinusoidal signal and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsn = -10:10; % Specify the interval of timex = sin(0.2*pi*n); % Generate the signalstem (n,x) % Open a figure window and draw the plot of x[n]title ('Sinusoidal signal x[n]')xlabel ('Time index n')请仔细阅读该程序,比较程序Program1_1和Program1_2中的不同之处,以便自己编程时能够正确使用这种方法仿真连续时间信号和离散时间信号。
程序Program1_3用来仿真下面形式的离散时间信号:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=0% Program1_3% This program is used to generate a discrete-time sequence% and draw its plotclear, % Clear all variablesclose all, % Close all figure windowsn = -5:5; % Specify the interval of time, the number of points of n is 11.x = [0, 0, 0, 0, 0.1, 1.1, -1.2, 0, 1.3, 0, 0]; % Generate the signalstem(n,x,'.') % Open a figure window and draw the plot of x[n]grid on,title ('A discrete-time sequence x[n]')xlabel ('Time index n')由于在程序的stem(n,x,'.') 语句中加有'.'选项,因此绘制的图形中每根棒条线的顶端是一个实心点。
如果需要在序列的前后补较多的零的话,可以利用函数zeros(),其语法为:zeros(1, N):圆括号中的1和N表示该函数将产生一个一行N列的矩阵,矩阵中的所有元素均为零。
利用这个矩阵与序列x[n]进行组合,从而得到一个长度与n相等的向量。
例如,当x[n]={ 0.1, 1.1, -1.2, 0, 1.3} 时,为了得到程序Program1_3中的序列,↑n=0可以用这个MA TLAB语句x = [zeros(1,4) x zeros(1, 2)] 来实现。
用这种方法编写的程序如下:% Program1_4% This program is used to generate a discrete-time sinusoidal signal% and draw its plotclear, % Clear all variablesclose all, % Close all figure windows+n = -5:5; % Specify the interval of timex = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; % Generate the sequencestem (n,x,'.') % Open a figure window and draw the plot of x[n]grid on,title ('A discrete-time sequence x[n]')xlabel ('Time index n')离散时间单位阶跃信号u[n]定义为⎩⎨⎧<≥=0,00,1][n n n u 1.2 离散时间单位阶跃信号u[n]除了也可以直接用前面给出的扩展函数来产生,还可以利用MATLAB 内部函数ones(1,N) 来实现。
这个函数类似于zeros(1,N),所不同的是它产生的矩阵的所有元素都为1。
值得注意的是,利用ones(1,N) 来实现的单位阶跃序列并不是真正的单位阶跃序列,而是一个长度为N 单位门(Gate)序列,也就是u[n]-u[n-N]。
但是在一个有限的图形窗口中,我们看到的还是一个单位阶跃序列。
在绘制信号的波形图时,有时我们需要将若干个图形绘制在图一个图形窗口中,这就需要使用MA TLAB 的图形分割函数subplot(),其用法是在绘图函数stem 或plot 之前,使用图形分割函数subplot(n1,n2,n3),其中的参数n1,n2和n3的含义是,该函数将把一个图形窗口分割成n1xn2个子图,即将绘制的图形将绘制在第n3个子图中。
2.3信号的时域变换2.3.1 信号的时移信号的时移可用下面的数学表达式来描述:设一个连续时间信号为x(t),它的时移y(t) 表示为:y(t) = x(t - t 0) 1.3其中,t 0为位移量。
若t 0为正数,则y(t)等于将x(t)右移t 0秒之后的结果。
反之,若t 0为负数,则y(t)等于将x(t)左移t 0秒之后的结果。
在MA TLAB 中,时移运算与数学上习惯表达方法完全相同。
程序Program1_5对给定一个连续时间信号x(t) = e -0.5t u(t),对它分别左移2秒钟和右移2秒钟得到信号x 1(t) = e -0.5(t+2)u(t+2)和x 2(t) = e -0.5(t-2)u(t-2)。
% Program1_5% This program is used to implement the time-shift operation% on a continuous-time signal and to obtain its time-shifted versions% and to draw their plots.clear,close all,t = -5:0.01:5;x = exp(-0.5*t).*u(t); % Generate the original signal x(t)x1 = exp(-0.5*(t+2)).*u(t+2); % Shift x(t) to the left by 2 second to get x1(t)x2 = exp(-0.5*(t-2)).*u(t-2); % Shift x(t) to the right by 2 second to get x2(t)subplot(311)plot(t,x) % Plot x(t)grid on,title ('Original signal x(t)')subplot (312)plot (t,x1) % Plot x1(t)grid on,title ('Left shifted version of x(t)')subplot (313)plot (t,x2) % Plot x2(t)grid on,title ('Right shifted version of x(t)')xlabel ('Time t (sec)')2.3.2 信号的时域反褶对一个信号x[n]的反褶运算在数学上表示为y[n] = x[-n] 1.4 这种反褶运算,用MATLAB实现起来也是非常简单的。