Matlab产生信号的方法
实验一 常用信号的Matlab 表示及运算
一、实验目的
1、掌握Matlab 中表示信号的方法. 2、掌握Matlab 中信号运算的实现方法。 3、掌握在Matlab 中画信号波形的方法。
二、实验原理
1、Matlab 中表示信号的方法
信号可以分为连续时间信号与离散时间信号,由于Matlab 是通过软件进行信号处理的,所以Matlab 中的信号都是离散时间信号,不过在一定条件下,可以近似地表示连续信号。
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 表示。
MATLAB 提供了许多工具箱函数来产生信号,其中大部分函数都需要一个时间向量t 作为参数。下面列举几种常用的函数:
正弦信号:用sin( )函数产生。
格式:x=sin(t); 产生周期为2π的正弦信号。
周期锯齿波或三角波信号:用sawtooth( )函数产生。
格式:x=sawtooth(t) 产生周期为2π,函数值从-1到+1的锯齿波,在2π的整数倍处,值为-1,从-1到+1这一段波形的斜率为1/2π。
x=sawtooth(t,0.5)
产生周期为2π,函数值从-1到+1的三角波。
方波信号:用square( )函数产生。 格式:x=square(t)
产生周期为2π,函数值为-1和+1的方波信号。
x=square(t,DUTY)
产生周期为2π,占空比为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 函数或
sin(πt )
πt
函数:用sinc( )函数产生。
格式:x=sinc(t)
产生sinc(t)信号,即
⎧1t =0⎪
sin c (t )=⎨sin(πt)
⎪
⎩πt
t ≠0
例:产生sinc 函数波形,结果见图1.5:
t=linspace(-5,5); x=sinc(t); plot(t,x)
2、Matlab 中信号运算的实现方法
表1.2是信号运算的基本描述和Matlab 实现。
三、实验内容和步骤
1、阅读本实验的实验原理。
2、用Matlab 生成以下信号,并画出其图形。 x 1(n ) ={24681012}
↑
n =0
x 2(n ) =0. 5R 3(n )
n
j (
n 6
-π)
x 3(n ) =e 连续信号x 5(n ),
R 8(n )
3π7t -
x 4(t ) =2sin(
π
8
)
, 采样间隔为
0. 1s
x 5(n ) 是对x 4(t ) 采样所得
。
x 6(n ) =x 1(3-n )
四、实验报告要求 1、简述实验原理及目的。
2、给出完成实验内容所需的源程序和生成的信号波形。