当前位置:文档之家› 数字信号处理(北航)实验一报告

数字信号处理(北航)实验一报告

《数字信号处理》配套实验指导书

课程名称:数字信号处理(Digital Signal Processing)

实验总学时数:12

实验室地点:北京航空航天大学宇航学院图像中心

实验要求与目的:

《数字信号处理》课程是电子信息、电子信息科学与技术、通信工程等专业的重要专业基础课。本课程以信号与系统、工程数学为基础,要求学生掌握时域离散信号和系统的基本理论、基本分析方法以及 FFT 、数字滤波器等数字信号处理技术。学会综合运用数字信号处理的理论知识进行信号的采样,重构,频谱分析和滤波器的设计,了解几种基本的调制解调原理,掌握用数字信号处理的方法实现模拟电路中信号的调制与解调的方法,并能通过理论推导得出相应结论。在此基础上学会利用Matlab作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。《数字信号处理》是一门理论与实践联系紧密的课程,所以本课程安排3个综合实验,以帮助学生掌握数字信号处理技术,提高学生分析问题和解决问题的能力,并通过实验培养学生的创新意识。本实验课程的基本要求如下:

1 .学习用MATLAB 语言编写数字信号处理的程序,通过实验加深对课堂所学知识的理解;

2 .上机前应按照要求把实验内容准备好,编好程序,了解需要改变的参数,预计结果;

3 .观察实验结果,得出结论;

4 .实验结束后提交实验报告

实验项目与内容提要

实验考核:采用实验操作与实验报告综合评分

MATLAB概述

1.MATL AB简介

实践的需要推动了科技的发展,从而促进了社会的进步。由于与数学经常打交道的科学家,工程技术人员在实际工作中大量数学计算的需要,便促进了具有数值计算强大功能和卓越的数据可视化能力的计算机高级语言MATLAB的出现。MATLAB名字由MATrix和LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一种数学工具软件。到了八十年代初期,由美国的MATHWORKS软件开发公司正式推出的一种数学工具软件。

MATLAB 是以矩阵运算为基础,把计算、可视化、程序设计融合于一个简单的交互式工作环境,具有强大的数值计算和图形处理能力。MATLAB系统由MATLAB内核和其辅助工具箱组成。MATLAB内核是由大量的内部函数构成。通过对这些函数的调用,可以简便的处理具体的技术问题。利用MATLAB可以实现科学计算,符号运算,算法研究,数学建模和仿真,数据分析和可视化,科学工程绘图以及图形用户界面设计等强大功能。

MATLAB经过这些年的不断更新,交互性越来越好,功能也变的越来越强大。现在MATLAB软件已经成为了国际上应用最广泛的,公认的最优秀的数学应用软件之一。MATLAB为用户提供了丰富而实用的资源,它涵盖了许多门类的科学研究,如数学,控制,通信,数字信号处理,数字图像处理,经济和地理等。这极大得方便了社会上各个行业的科技工作者。在国外的大学里,MATLAB是学生必需要掌握的一种基本技能。近年来,它已经由最初在科研单位和高等院校中的仿真研究,逐渐普及到了工业部门,被用来解决实际具体问题。在国内最近几年,也由于MATLAB本身的巨大优势而兴起了学习MATLAB,应用MATLAB的高潮。

现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。我们实验所用的是MATLAB7.0版本。

2.MATLAB的五个主要组成部分

⑴工作环境:提供编程和调试程序的环境,包括一系列的应用工具箱。

⑵编程语言:是以矩阵和数组为基本操作单位的语言。

⑶图形处理:包括绘制二维、三维图形和创建图形用户界面(GUI)等。

⑷数学库函数:包含了大量的数学函数,可实现复杂的功能。

⑸应用程序接口(API):提供接口程序,可使MATLAB与其他语言程序进行交互。

3.MATLAB语言的主要特点

⑴具有丰富的数学功能:包括矩阵各种运算、各种特殊函数和各种数学运算功能;

⑵具有很好的图视系统:可方便地画出二维和三维图形,进行高级图形处理,使用者也可以根据自己的需求编写出满意的图形界面。

⑶程序语言简单易学:语法简单,属于一种解释性语言。

⑷具有若干功能强大的应用工具箱函数库:除内部函数,所有主包文件,工具包文件和函数都是开放原码的。可用type命令查看。

⑸使用方便,具有很好的扩张功能:使用MATLAB语言编写的程序可以直接运行,无需编译。用户可在FORTRAN或C中,把MATLAB当作计算引擎使用。

⑹具有很好的帮助功能: 提供十分详细的帮助文件。

4.MATLAB的主要功能

MATLAB中的核心是一个基于矩阵运算的快速解释程序。它以交互式操作接受用户输入的各项指令,输出计算结果。它提供了一个开放式的集成环境,用户可以运行系统所提供的各种命令,来实现自己所要达到的目标操作。具体说来,MATLAB的主要功能有:强大的数值运算功能;数据可视化功能;动态系统仿真;数据处理;数学计算;数字信号处理及外部应用程序进行动态链接等。

MATLAB在数值运算上有其独到之处,不仅如此,它还提供了非常丰富的图形图像处理功能,对数值计算的结果进行图形化处理,进一步方便了用户的操作,深化了用户的数值处理。而且,MATLAB还提供了句柄这一功能非常强大的面向对象的图形系统概念,实现了对图形更深层次的操作。更重要的是,MATLAB提供了图形用户界面GUI设计功能,用户可以自行设计别具风格的人机交互界面。此外,MATLAB提供了与C语言或FORTRAN语言的交互操作,使用户能通过程序接口方便的进行程序间的调用与转化。

MATLAB有着功能强大,丰富的函数工具箱,这是整个MATLAB语言得以如此快速发展的重要因素之一。

5.MATLAB的应用窗口

⑴MATLAB桌面平台的菜单栏和工具栏

启动MATLAB后,将打开一个MATLAB的欢迎界面,随后打开的就是MATLAB的桌面系统。MATLAB的桌面系统由桌面平台及其主要组件组成。主要包括:命令窗口,历史命令窗口,组件平台窗口,工作空间窗口,当前路径窗口,以及菜单栏和工具栏。

图1 MA TLAB启动后的桌面系统

①菜单栏

如图1 MATLAB启动后的桌面系统和工具栏,与标准的Windows 窗口类似,用户可以通过它们来执行某些命令。

②命令窗口:

在图1所示的右边空白部分,是MATLAB的命令窗口。

③工作空间及当前路径窗口

图2所示主窗口左上部分是MATLAB的工作空间及当前路径窗口。

④历史命令窗口

图2 MA TLAB 7.0的工作空间和当前路径窗口

⑵MATLAB桌面平台的组件窗口

①命令窗口

MATLAB的命令窗口是用户使用MATLAB进行工作的窗口,同时也是实现MATLAB各种功能的主窗口,MA TLAB的各种操作命令都是由命令窗口开始的。用户可以直接在

MATLAB命令窗口输入MATLAB命令,实现其相应的功能。

图3 MA TLAB命令窗口

②M文件编辑/调试器窗口

③图形窗口

④历史命令窗口

⑤组件平台窗口

⑥路径浏览器窗口

⑦工作空间浏览器窗口

⑶MATALB帮助系统

MATLAB为用户提供了非常丰富的帮助信息,如联机帮助(On-line Konwledge Base)、M文件帮助(M-file Help)等,极大地完善了该应用软件地功能。MATLAB在命令窗口提供了可以获得帮助的命令,用户可以很容易地获得联机帮助信息。帮助命令列表在此就不表示出来,可以查阅相关书籍。

实验一 离散信号的产生及运算

一.实验目的:

1.复习和巩固数字信号处理中离散信号的产生和运算 2.学习和掌握用MATLAB 产生离散信号的方法 3.学习和掌握用MATLAB 对离散信号进行运算

二.实验原理

1. 用MATLAB 函数产生离散信号

信号是数字信号处理的最基本内容。没有信号,数字信号处理就没了工作对象。MATLAB7.0内部提供了大量的函数,用来产生常用的信号波形。例如,三角函数(sin,cos ),指数函数(exp ),锯齿波函数(sawtooth ), 随机数函数(rand )等。 ⑴ 产生被噪声污染的正弦信号

用随机数函数产生污染的正弦信号。 ⑵ 产生单位脉冲序列和单位阶跃序列

按定义,单位脉冲序列为

001,()0,n n n n n n σ=?-=?≠?

单位阶跃序列为

00

1,()0,n n u n n n n ≥?-=?

⑶ 矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为:

y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。

例:以t=2T(即t-2×T=0)为对称中心的矩形脉冲信号的MATLAB 源程序如下:(取T=1)

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 中用square 函数来表示,其调用形式为:

y=square(t,DUTY),用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz 的周期性方波信号的MATLAB 参考程序如下:

t=-0.0625:0.0001:0.0625;

y=square(2*pi*30*t,75);

plot(t,y);axis([-0.0625 0.0625 –1.5 1.5]);grid on ;

2.MATLAB中信号的运算

乘法和加法:离散信号之间的乘法和加法,是指它的同序号的序列值逐项对应相乘和相加。

三.实验步骤及内容

内容:

1.产生噪声污染的正弦信号

2.产生以下信号,并作图

(1)幅度为5,频率为3Hz的正弦信号

(2)幅度为13,脉宽为2,时间范围为-6~6s的矩形脉冲信号

(3)幅度为1,占空比为70,周期为8的周期三角波脉冲信号

(4)幅度为1,脉冲宽度占空比为30,周期为6的周期方波信号

3.信号的基本运算:

(1)作图:y=sin(π*t/5)+4cos(π*t/4)

(2)在同一幅图中画出以下三个函数

=

x k pi k fs

1()sin(2**100*/)

=

x k pi k fs

2()sin(2**10*/)

=

()1()*2()

y k x k x k

其中,采样频率fs=1000,k为采样点,从1取到500。

实验步骤:

1.认真复习离散信号的产生和运算

2.编写实验所用的程序

⑴产生被噪声污染的正弦信号要用到:

rand()——随机函数

sin() ——正弦函数

zeros()——零矩阵

length()——长度函数

⑵产生矩形脉冲,周期方波,周期三角波信号要用到:自定义函数function[]

rectpuls() ——矩形脉冲函数

square()——周期方波函数

sawtooth()——周期三角波函数

⑶信号运算

两个函数相乘,要用到点乘运算符“.*”

画子图要用到的subplot。如:subplot(131)表示所产生的一行三列的图中的第一个。subplot(235) 表示所产生的两行三列的图中的第五个。

相关主题
文本预览
相关文档 最新文档