《数字信号处理》实验指导书.docx

上传人:b****3 文档编号:11612828 上传时间:2023-06-01 格式:DOCX 页数:34 大小:563.44KB
下载 相关 举报
《数字信号处理》实验指导书.docx_第1页
第1页 / 共34页
《数字信号处理》实验指导书.docx_第2页
第2页 / 共34页
《数字信号处理》实验指导书.docx_第3页
第3页 / 共34页
《数字信号处理》实验指导书.docx_第4页
第4页 / 共34页
《数字信号处理》实验指导书.docx_第5页
第5页 / 共34页
《数字信号处理》实验指导书.docx_第6页
第6页 / 共34页
《数字信号处理》实验指导书.docx_第7页
第7页 / 共34页
《数字信号处理》实验指导书.docx_第8页
第8页 / 共34页
《数字信号处理》实验指导书.docx_第9页
第9页 / 共34页
《数字信号处理》实验指导书.docx_第10页
第10页 / 共34页
《数字信号处理》实验指导书.docx_第11页
第11页 / 共34页
《数字信号处理》实验指导书.docx_第12页
第12页 / 共34页
《数字信号处理》实验指导书.docx_第13页
第13页 / 共34页
《数字信号处理》实验指导书.docx_第14页
第14页 / 共34页
《数字信号处理》实验指导书.docx_第15页
第15页 / 共34页
《数字信号处理》实验指导书.docx_第16页
第16页 / 共34页
《数字信号处理》实验指导书.docx_第17页
第17页 / 共34页
《数字信号处理》实验指导书.docx_第18页
第18页 / 共34页
《数字信号处理》实验指导书.docx_第19页
第19页 / 共34页
《数字信号处理》实验指导书.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《数字信号处理》实验指导书.docx

《《数字信号处理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》实验指导书.docx(34页珍藏版)》请在冰点文库上搜索。

《数字信号处理》实验指导书.docx

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

实验一离散信号产生和基本运算

一、实验目的

(1)掌握MATLAB最基本的矩阵运算语句。

(2)掌握对常用离散信号的理解和运算实现。

二、实验原理

1.向量的生成

a.利用冒号“:

”运算生成向量,其语句格式有两种:

A=m:

n

B=m:

p:

n

第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m。

第二种格式用于生成步长为p的均匀等分的向量。

b.利用函数linspace()生成向量,linspace()的调用格式为:

A=linspace(m,n)

B=linspace(m,n,s)

第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。

第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。

2.矩阵的算术运算

a.加法和减法

对于同维矩阵指令的

A+B

A-B

对于矩阵和标量(一个数)的加减运算,指令为:

A+3

A-9

b.乘法和除法运算

A*B是数学中的矩阵乘法,遵循矩阵乘法规则

A.*B是同维矩阵对应位置元素做乘法

B=inv(A)是求矩阵的逆

A/B是数学中的矩阵除法,遵循矩阵除法规则

A./B是同维矩阵对应位置元素相除

表示矩阵的转置运算

3.数组函数

下面列举一些基本函数,他们的用法和格式都相同。

sin(A),cos(A),exp(A),log(A)(相当于ln)

sqrt(A)开平方abs(A)求模real(A)求实部imag(A)求虚部

式中A可以是标量也可以是矩阵

例:

利用等差向量产生一个正弦值向量

t=0:

0.1:

10

A=sin(t)

plot(A)

这时候即可看到一个绘有正弦曲线的窗口弹出

另:

每条语句后面加“;”表示不要显示当前语句的执行结果

不加“;”表示要显示当前语句的执行结果。

4.二维曲线的绘制plot()函数

plot()函数是将各个数据点通过连折线的方式来绘制二维图形的,其命令格式有以下几种:

c.plot(y)当y为向量时,以y的序号作为X轴,按向量y的值绘制曲线。

d.plot(x,y)x,y均为向量时,以x向量作为X轴,向量y作为Y轴绘制曲线。

e.plot(x,y1,’option1’,x,y2,’option2’,……)以公共的x向量作为X轴,分别以向量y1,y2……的数据绘制多条曲线,每条曲线的属性由相应的‘option’来确定。

Option选项可以是表示曲线颜色的字符、表示线型格式的符号和表示数据点的标记,各个选项有的可以连在一起使用。

f.plot(x1,y1,’option1’,x2,y2,’option2’,……)分别以向量x1,x2,……作为X轴,以y1,y2,……的数据绘制多条曲线,每条曲线的属性由相应的选项‘option’来确定。

表1plot函数中option选项的取值和含义

符号

颜色

符号

线型

符号

标记

符号

标记

‘b’

 蓝色

‘-’

实线

‘.’

‘d’

‘g’

绿色

‘:

虚线

‘o’

圆圈

‘ˇ’

‘m’

品红

-.

点画线

‘x’

叉号

‘^’

‘c’

青色

‘--’

双画线

‘+’

加号

‘<’

左三角

‘k’

黑色

‘none’

无线

‘*’

星号

‘>’

右三角

‘r’

红色

‘s’

‘p’

五角星

‘y’

黄色

‘h’

六角星

5.常用离散信号的MATLAB实现函数

1).单位抽样序列

在MATLAB中利用zeros()函数实现

如果

在时间轴上延迟了k个单位,得到

即:

2).单位阶跃序列

在MATLAB中可以利用ones()函数实现。

3).正弦序列

,在MATLAB

4).复指数序列

,在MATLAB中,

5).指数序列

,在MATLAB中,

三、实验内容

(1)熟悉MATLAB的使用环境和方法;

(2)练习使用基本的向量生成、矩阵运算、绘图等语句;

A)利用冒号(:

)生成向量

X1=[12345]

X2=[1.0001.5002.0002.500]

X3=[54321]

B)分别生成3*3,3*4的全0矩阵,全1矩阵和随机矩阵

C)分别输入矩阵

D)分别计算A+B,A-B,A+3,A-4,A*B,A.*B,C=inv(A),A/B,A./B

E)分别计算sin(x1),cos(x1),exp(x1),log(x2),sqrt(x2)

(3)生成以上五种基本离散信号函数;

(4)绘出信号

,当

时、

时的信号实部和虚部图;

(5)绘出信号

的频率是多少?

周期是多少?

产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期?

四、实验预习要求

(1)预习实验原理。

(2)熟悉实验程序。

(3)思考课程设计实验部分程序的编写。

五、实验报告要求

(1)简述实验目的和步骤

(2)写出各步输入语句和输出结果

六、思考题

(1)矩阵的乘法和除法有几种,它们有什么区别?

(2)离散正弦序列的性质。

实验二基于MATLAB的离散系统时域分析

一、实验目的

(1)学习MATLAB语言的编程和调试技巧;

(2)掌握离散卷积方法和MATLAB语言实现。

二、实验原理

时域中,离散时间系统对输入信号或延迟信号进行运算处理,生成具有所需特性的输出信号。

本实验通过MATLAB仿真一些简单的离散时间信号和系统,并研究其时域特性。

涉及到离散时间信号、离散时间系统、系统性质及线性卷积等知识点。

一个离散时间系统,输入信号为x(n),输出信号为y(n),运算关系用T[﹒]表示,则输入和输出的关系可表示为y(n)=T[x(n)]。

(1)线性时不变系统的输入输出关系可通过单位脉冲响应h(n)表示:

式中*表示卷积运算。

(2)线性时不变系统的实现:

可物理实现的线性时不变系统是稳定的、因果的。

这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:

:

在MATLAB语言中采用conv实现卷积运算即:

y=conv(x,h),它默认从n=0开始。

三、实验内容

(1)编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。

要求分别用filter、conv、impz三种函数完成。

给出理论计算结果和程序计算结果并讨论。

四、实验预习要求

(1)预习实验原理。

(2)熟悉实验程序。

(3)思考程序设计实验部分程序的编写。

五、实验报告要求

(1)报告中要给出实验的MATLAB程序,并对每个语句给出注释,说明语句作用;

(2)简述实验目的和原理;

(3)给出用笔算时卷积和conv计算线性卷积对照图;

(4)给出收获和体会。

六、思考题

如何用matlab实现卷积函数?

实验三基于ICETEK-F2812-A教学系统软件的离散系统时域分析

一.实验目的

1.熟悉ICETEK-F2812-A教学系统软件的使用方法。

2.熟悉CCS使用软件

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为

Windows2000),安装CodeComposerStudio3.1软件。

三.实验原理

(一).ICETEK-F2812-A教学系统软件实验设备的安装和设置

A.开发环境

开发TMS320C55xx使用系统一般需要以下设备和软件调试工具:

1.通用PC一台,安装Windows2000或WindowsXP操作系统及常用软件(如:

WinRAR等)。

2.TMS320C28xx评估板及相关电源。

如:

ICETEK–F2812-A评估板。

3.通用DSP仿真器一台及相关连线。

如:

ICETEK-5100USB仿真器。

4.控制对象(选用)。

如:

ICETEK-CTR控制板(在2812实验箱中已包含)。

5.TI的DSP开发集成环境CodeComposerStudio。

如:

CCS3.3。

6.仿真器驱动程序。

7.实验程序及文档。

B.ICETEK-DSP教学实验箱的硬件连接

1.连接电源:

打开实验箱,取出三相电源连接线,将电源线的一端插入实验箱外部左侧箱壁上的电源插孔中。

确认实验箱面板上电源总开关(位于实验箱底板左上角)处于“关”的位置,连接电源线的另一端至220V交流供电插座上,保证稳固连接。

2.使用电源连接线(插头是带孔的)连接各模块电源:

确认实验箱总电源断开。

连ICETEK-CTR板上边插座到实验箱底板上+12V电源插座;ICETEK-CTR板下边插座到实验箱底板上+5V电源插座;如使用PP(并口)型仿真器,则连接仿真器上插座到实验箱底板上+5V电源插座;

连接DSP评估板模块电源插座到实验箱底板上+5V电源插座。

注意各插头要插到底,防止虚接或接触不良。

3.连接DSP评估板信号线:

当需要连接信号源输出到A/D输入插座时,使用信号连接线分别连接相应插座。

4.接通电源:

检查实验箱上220V电源插座(箱体左侧)中保险管是否完好,在连接电源线以后,检查各模块供电连线是否正确连接,打开实验箱上的电源总开关(位于实验箱底板左上角),使开关位于“开”的位置,电源开关右侧的指示灯亮。

C.构造DSP开发软件环境

1.安装CCS软件(此文档假定用户将CCS安装在默认目录C:

\CCStudio_v3.3中,同时也建议用户按照默认安装目录安装):

2.安装DSP通用仿真器驱动

D.设置CCS工作在软件仿真环境

E.启动CCS

1.启动Simulator方式:

双击桌面上图标:

2.启动Emulator方式:

(1)首先将实验箱电源关闭。

连接实验箱的外接电源线。

(2)检查ICETEK-5100USB仿真器的黑色JTAG插头是否正确连接到ICETEK–F2812-A评估板的P5插头上。

注:

仿真器的插头中有一个孔加入了封针,和P5插头上的缺针位置应重合,保证不会插错。

(3)检查是否已经用电源连接线连接了ICETEK–F2812-A评估板上的POW1插座和实验箱底板上+5V电源插座。

注:

新改良的实验箱都不需要额外插电源连接线了。

(4)检查其他连线是否符合实验要求。

检查实验箱上三个拨动开关位置是否符合实验要求。

(5)打开实验箱上电源开关(位于实验箱底板左上角),注意开关边上红色指示灯点亮。

ICETEK–F2812-A评估板上指示灯VCC点亮。

如果打开了ICETEK-CTR的电源开关,ICETEK-CTR板上指示灯POWER点亮。

如果打开了信号源电源开关,相应开关边的指示灯点亮。

(6)用实验箱附带的USB信号线连接ICETEK-5100USB仿真器和PC机后面的USB插座,

注意ICETEK-5100USB仿真器上指示灯Power和Run灯点亮。

⑺双击桌面上仿真器初始化图标:

如果出现下面提示窗口,表示初始化成功,按一下空格键进入下一步操作。

如果窗口中没有出现“按任意键继续…”,请关闭窗口,关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第⑵步重试。

如果窗口中出现“Theadapterreturnedanerror.”,并提示“按任意键继续…”,表示初始化失败,请关闭窗口重试两三次,如果仍然不能初始化则关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第⑵步重试。

⑻双击桌面上图标:

启动CCS3.3:

⑼如果进入CCS提示错误,先选“Abort”,然后用“emurst”初始化仿真器,如提示出错,可多做几次。

如仍然出错,拔掉仿真器上USB接头(白色方形),按一下ICETEK–F2812-A评估板上S1复位按钮,连接USB接头,再做“快捷方式xdsrstusb”。

⑽如果遇到反复不能连接或复位仿真器、进入CCS报错,请打开Windows的“任务管理”,在“进程”卡片上的“映像名称”栏中查找是否有“cc_app.exe”,将它结束再试。

⑾和ccs的以前版本(例如ccs2.21版本)不同的是,仅仅进入ccs3.3软件环境后,CCS软件和2812芯片还无法连接在一起,如下图显示:

⑿此时要按照如下图所示操作,才能把ccs软件和2812芯片连接在一起,然后才能对2812芯片进行控制。

⒀如下图所示,我们就可以确认CCS软件和2812芯片连接在一起了。

F.退出CCS

(二)卷积算法基础理论:

卷积的基本原理和公式:

卷积和:

对离散系统“卷积和”也是求线性时不变系统输出响应(零状态响应)的主要方法。

卷积和的运算在图形表示上可分为四步:

①翻褶先在亚变量坐标M上作出x(m)和h(m),将m=0的垂直轴转为轴翻褶成h(-m)。

②移位将h(-m)移位n,即得h(n-m)。

当n为正整数时,右移n位。

当n为负整数时,左移n位。

③相乘再将h(n-m)和x(m)的相同m值的对应点值相乘。

④相加把以上所有对应点的乘积叠加起来,即得y(n)值。

依上法,取n=…,-2,-1,0,1,2,3,…各值,即可得全部y(n)值。

2.源程序及注释:

*程序的自编函数及其功能:

①processing1(int*input2,int*output2):

调用形式:

processing1(int*input2,int*output2)

参数解释:

intput2、output2为两个整型指针数组。

返回值解释:

返回了一个“TRUE”,让主函数的while循环保持连续。

功能说明:

对输入的input2buffer波形进行截取m点,再以零点的Y轴为对称轴进行翻褶,把生成的波形上的各点的值存入以OUTPUT2指针开始的一段地址空间中。

②processing2(int*output2,int*output3):

调用形式:

processing2(int*output2,int*output3)

参数解释:

output2、output3为两个整型指针数组。

返回值解释:

返回了一个“TRUE”,让主函数的while循环保持连续。

功能说明:

对输出的output2buffer波形进行作n点移位,然后把生成的波形上的各点的值存入以OUTPUT3指针开始的一段地址空间中。

③processing3(int*input1,int*output2,int*output4):

调用形式:

processing3(int*input1,int*output2,int*output4)

参数解释:

output2、output4、input1为三个整型指针数组。

返回值解释:

返回了一个“TRUE”,让主函数的while循环保持连续。

功能说明:

对输入的input2buffer波形和输入的input1buffer作卷积和运算,然后把生成的波形上的各点的值存入以OUTPUT4指针开始的一段地址空间中。

④processing4(int*input2,int*output1):

调用形式:

processing4(int*input2,int*output1)

参数解释:

output1、input2为两个整型指针数组。

返回值解释:

返回了一个“TRUE”,让主函数的while循环保持连续。

功能说明:

对输入的input2buffer波形截取m点,然后把生成的波形上的各点的值存入以OUTPUT1指针开始的一段地址空间中。

四.实验步骤

1.实验准备:

-设置软件仿真模式;

-硬件连接;

-启动CCS。

2.打开工程,浏览程序工程目录

C:

\ICETEK\F2812\Lab0504-Convolve

3.编译并下载程序。

4.设置输入数据文件:

请在volume.c程序中有注释“breakpoint”的两行上设置probepoint和breakpoint:

设置方法是把光标指示到这一行上,按鼠标右键,从显示的菜单上分别选择probepoint和

breakpoint。

5.打开观察窗口:

-选择菜单View->Graph->Time/Frequency…进行如下设置:

-选择菜单View->Graph->Time/Frequency…进行如下设置:

-选择菜单View->Graph->Time/Frequency…进行如下设置:

-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。

6.设置波形输入文件,请按照如下设置:

-选择菜单File->FileI/O…,打开“FileI/O”窗口;单击“AddFile”按钮,在“FileInput”窗口中选择工程目录下的sine11.dat文件,单击“打开”按钮;在“Address”项中输入inp1_buffer,在“Length”项中输入64,在“WarpAround”项前加上选择标记,单击“Add

ProbePoint”按钮;

-在“Break/Probe/ProfilePoints”窗口中单击“ProbePoint”列表中的“Convolve.cline62<

NoConnection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾的“FILEIN:

D:

\..\SIN11.DAT”,单击“Replace”按钮,单击“确定”按钮。

-在“FileI/O”窗口中单击“确定”,完成设置。

-选择“File”菜单中的“FileI/O…”,打开“FileI/O”窗口;单击“AddFile”按钮,在“FileInput”窗口中选择工程目录下的sine11.dat文件,单击“打开”按钮;在“Address”项中输入inp2_buffer,在“Length”项中输入64,在“WarpAround”项前加上选择标记,单击“AddProbePoint”按钮;

-在“Break/Probe/ProfilePoints”窗口中单击“ProbePoint”列表中的“Convolve.cline63<

NoConnection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾的“FILEIN:

D:

\..\SIN11.DAT”,单击“Replace”按钮,单击“确定”按钮。

-在“FileI/O”窗口中单击“确定”,完成设置。

7.运行程序,观察结果:

-在“jishu++;//在此处加断点”上设置break断点。

-按F5键运行程序,待程序停留上面那条语句处;观察刚才打开的三个图形窗口,其中显示的是输入和输出的时域波形;

8.输入波形文件改成其他波形,如:

sin22.dat等,观察运行结果。

在修改输入波形文件时须首先将原文件删除;在重新运行程序时,先选择菜单“Debug”的“ResetCPU”、“Restart”、“GoMain”,再选择“Debug”中“Run”或按一下F5即可。

五、实验报告要求

(1)初步了解教学软件使用方法。

(2)对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现模拟。

六、思考题

思考线性卷积和圆周卷积的区别。

实验四基于MATLAB的FFT算法的使用

一、实验目的

(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FPT的运算结果必然满足DFT的基本性质)。

(2)熟悉FFT算法原理和FFT子程序的使用。

(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确使用FFT。

二、实验原理

N点序列的DFT和IDFT变换定义式如下:

利用旋转因子

具有周期性,可以得到快速算法(FFT)。

在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。

三、实验内容和方法

1.对连续的单一频率周期信号按采样频率

采样,截取长度N分别选N=20和N=16,观察其DFT结果的幅度谱。

2.2N点实数序列

N=64。

用一个64点的复数FFT程序,一次算出

,并绘出

3.已知某序列

在单位圆上的N=64等分样点的Z变换为

用N点IFFT程序计算

,绘出和

四、实验预习要求

(1)预习实验原理。

(2)熟悉实验程序。

(3)思考课程设计实验部分程序的编写。

五、实验报告要求

(1)简述实验原理及目的。

(2)结合实验中所得给定典型序列幅频特性曲线,和理论结果比较,并分析说明

误差产生的原因以及用FFT作谱分析时有关参数的选择方法。

(3)总结实验所得主要结论。

(4)简要回答思考题。

六、思考题

如果周期信号的周期预先不知道,如何使用FFT进行谱分析?

实验五基于ICETEK-F2812-A的FFT算法分析

一、实验目的

1.掌握用窗函数法设计FFT快速傅里叶的原理和方法;

2.熟悉FFT快速傅里叶特性;

3.了解各种窗函数对快速傅里叶特性的影响。

二.实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装CodeComposerStudio3.1软件。

三.实验原理

1.FFT的原理和参数生成公式:

FFT并不是一种新的变换,它是离散傅立叶变换(DFT)的一种快速算法。

由于我们在计算DFT时一次复数乘法需用四次实数乘法和二次实数加法;一次复数加法则需二次实数加法。

每运算一个X(k)需要4N次复数乘法及2N+2(N-1)=2(2N-1)次实数加法。

所以整个DFT运算总共需要4N^2次实数乘法和N*2(2N-1)=2N(2N-1)次实数加法。

如此一来,计算时乘法次数和加法次数都是和N^2成正比的,当N很大时,运算量是可观的,因而需要改进对DFT的算法减少运算速度。

根据傅立叶变换的对称性和周期性,我们可以将DFT运算中有些项合并。

先设序列长度为N=2^L,L为整数。

将N=2^L的序列x(n)(n=0,1,……,N-1),按N的奇偶分成两组,也就是说我们将一个N点的DFT分解成两个N/2点的DFT,他们又重新组合成一个如下式所表达的N点DFT:

四.实验步骤

1.实验准备:

-设置软件仿真模式;

-启动CCS。

2.打开工程,浏览程序,工程目录为

C:

\ICETEK\F2812\DSP281x_examples\lab0503-FFT

3.编译并下载程序。

4.打开观察窗口:

*选择菜单View->Graph->Time/Frequency…进行如下图所示设置。

*选择菜单View->Graph->Time/Frequency…进行如下图所示设置。

*选择菜单View->Graph->Time/Frequency…进行如下图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2