文档详情

Matlab产生信号的方法.doc

发布:2017-05-27约2.28千字共5页下载文档
文本预览下载声明
实验一 常用信号的Matlab表示及运算 一、实验目的 1、掌握Matlab中表示信号的方法. 2、掌握Matlab中信号运算的实现方法。。x=[1 2 3 5 7]’; 就定义了一个五采样点的离散信号x,以x为基础,可以定义3通道信号 y=[x x/2 2*x]; 结果为 y = 1.0000 0.5000 2.0000 2.0000 1.0000 4.0000 3.0000 1.5000 6.0000 5.0000 2.5000 10.0000 7.0000 3.5000 14.0000 需要注意的是,Matlab约定向量和矩阵的下标从1开始,如果用户要指定信号的真实时间下标,则应另外构造一个向量作为时间轴。例如表示离散信号 x(n)={x(-2) x(-1) x(0) x(1) x(2)}; 则应定义时间轴向量n n=[-2 -1 0 1 2]; 然后定义采样点向量 x=[1 2 3 5 7]; 键入命令 stem(n,x) axis([-3 2 0 8]) 就可以得到具有真实时间下标的信号x(n)的图形,见图1.1。 若要产生具有特定采样频率的信号,也需要定义时间轴向量。例如要产生一个采样频率为1000Hz的采样信号,应先定义时间轴 Fs=1000; t=0:1/ Fs:1; 然后定义采样信号 x=sin(2*pi*50*t)+2*sin(2*pi*120*t); 键入命令 stem(t(1:50),x(1:50)) 就可以画出信号x的前50个采样点的图形,见图1.2。 图1.1 图1.2 若要近似地表示连续信号 x=sin(2*pi*50*t)+2*sin(2*pi*120*t);前面定义时间轴和信号x的语句可保持不变,只需将画图的命令改成 plot(t(1:50),x(1:50)) 即可得到连续的波形,见图1.3。 图1.3 需要说明的是,Matlab中画离散信号的图形用stem命令,例如画图1.1和图1.2,画连续信号的波形用plot命令,例如画图1.3。 表1.1是常用序列的数学描述和Matlab表示。 表1.1 常用序列的数学描述和Matlab表示 名称 数学描述 Matlab表示 单位采样信号 x = zeros(1,N); x(1)=1; 单位阶跃信号 x = ones(1,N); 实指数信号 n=0:N-1; x=a.^n; 复指数信号 n=0:N-1; x=exp((sigema+j*w)*n); 正(余)弦信号 n=0:N-1; x=sin(w*n+sita); MATLAB提供了许多工具箱函数来产生信号,其中大部分函数都需要一个时间向量t作为参数。下面列举几种常用的函数: 正弦信号:用sin( )函数产生。 格式:x=sin(t); 产生周期为的正弦信号。 周期锯齿波或三角波信号:用sawtooth( )函数产生。 格式:x=sawtooth(t) 产生周期为,函数值从-1到+1的锯齿波,在的整数倍处,值为-1,从-1到+1这一段波形的斜率为1/。 x=sawtooth(t,0.5) 产生周期为,函数值从-1到+1的三角波。 方波信号:用square( )函数产生。 格式:x=square(t) 产生周期为,函数值为-1和+1的方波信号。 x=square(t,DUTY) 产生周期为,占空比为DUTY*1%,函数值为-1和+1的方波信号。 例:输入以下语句: t=[-2:0.001:2]; 时间向量作为参数(该句必不可少) x=square(pi*t); 形成周期为2的方波 plot(t,x);显示波形 axis([-2 2 -1.2 1.2]);规定横轴的范围为[-2 2],纵轴的范围为[-1.2 1.2] 显示的波形如图1.4: 图1.4 图1.5 Sinc函数或函数:用sinc( )函数产生。 格式:x=sinc(t) 产生sinc(t)信号,即 例:产生sinc函数波形,结果见图1.5: t=linspace(-5,5); x=sinc(t); plot(t,x) 2、Matlab中信号运算的实现方法 表1.2是信号运算的基本描述和Matlab实现。 表1.2 信号运算的基本描述和Matl
显示全部
相似文档