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、给出完成实验内容所需的源程序和生成的信号波形。

实验一 常用信号的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、给出完成实验内容所需的源程序和生成的信号波形。


相关内容

  • 信号与系统实验报告
  • 本科生实验报告 实验课程 信号与系统 学院名称 信息科学与技术学院 专业名称 信息工程 学生姓名 杨海洋 学生学号 [1**********]1 指导教师 杨斯涵 实验地点 6A502 实验成绩 二〇一四年11月二〇一四年12月 实验一 MATLAB 编程初步应用及产生典型信号 一.实验目的及要求: ...

  • 数字信号处理课程设计
  • 数字信号处理课程设计报告 题目3 运用matlab 的数字音效处理系统设计 系 (院): 电子信息工程学院 专 业: 通信工程班 级: 13通信 学 号:xxx 姓 名:xxx 2015年12月19日 一.摘要 数字信号处理(Digital Signal Processing)技术,从20世纪60年 ...

  • MATLAB在信号频谱分析中的应用
  • 摘要:利用matlab 对信号频谱进行分析,通过两种方法将频谱横轴的快速傅里叶变换点数转换成频率.以常见信号频谱分析为例,将结果以图形化的方式显示出来.通过matlab 仿真,使以往抽象的内容具体化. 关键词:频谱分析:matlab :快速傅里叶变换:仿真 中图分类号:tn911.6 文献标识码:a ...

  • 常见信号的傅里叶变化
  • 题目: 用MATLAB对常见信号的Fourier变换分析 姓 名:学 号:专 业:电子信息科学与技术年 级:院 系:完成日期:指导教师: 王聪 [1**********]6 2006级 物理与电子工程学院 2010年5月 潘孟美 本科生毕业论文(设计)独创性声明 本人声明所呈交的毕业论文(设计)是本 ...

  • FIR数字带通滤波器的设计
  • 课程设计 题 目 数字FIR带通滤波器的设计 学生姓名 黄迎旭 学号 1110064036 所在院(系) 物电学院 专业班级 电信1102班 指导教师 井敏英 完成地点 陕西理工学院 2014年 9月26日 数字FIR带通滤波器的设计 黄迎旭 (陕西理工学院物电学院电子信息科学与技术专业1102班) ...

  • 语音信号的采集
  • 摘要 语音信号的采集与分析技术是一门涉及面很广的交叉科学,它的应用和发展 与语音学.声音测量学.电子测量技术以及数字信号处理等学科紧密联系.该设计主要介绍语音信号的采集与分析方法,通过PC 机录制自己的一段声音,运用Matlab 提供的函数进行仿真分析,并画出采样后语音信号的时域波形和频谱图,对所采 ...

  • 电机故障加速度数据统计与分析
  • 摘 要 随着科技的发展,越来越多的领域涉及到电机,例如交通.生产.建筑等.当然,电机的普及使用也使电机故障日益增多,其故障原因也日渐复杂.如何快速有效地检测电机所发生的故障也成为了某些领域的研究热点. 电机运转的振动信号包含了很多丰富的信息,这就是我们能获得电机信息的最有效途径.同时,这些信号也成为 ...

  • 基于MATLAB 的信号时域采样及频率混叠现象分析
  • 摘要:频率混叠是数字信号处理中特有的现象,发生频率混叠后,信号会分析出错误的结果.而采样过程中,由于频率不够高,采样出的点不仅代表了信号中低频信号的样本值,也代表了高频信号的样本值.信号重构时,高频信号被低频信号所代替,两种波形完全重叠在一起,产生了严重失真.因此,文章基于MATLAB,对信号时域采 ...

  • 信号与系统实验指导全部实验答案
  • 实验一 连续时间信号的MATLAB 表示 实验目的 1.掌握MATLAB 语言的基本操作,学习基本的编程功能: 2.掌握MATLAB 产生常用连续时间信号的编程方法: 3.观察并熟悉常用连续时间信号的波形和特性. 实验原理: 1. 连续信号MA TLAB 实现原理 从严格意义上讲,MATLAB 数值 ...