1、数字信号处理实验指导书实验一 基于MATLAB的信号时域的描述及运算一、 实验目的理解时域信号的特点及模拟信号和数字信号的区别,掌握Matlab的基本使用方法,能够运用Matlab软件分别产生常见的连续信号和离散信号,并对其进行一定的运算。二、 预习要求1. 掌握连续信号和离散信号的特点及其运算方法;2. 掌握Matlab的基本编程语言及其变量、数组、向量与矩阵和部分运算符的使用;3. 掌握部分Matlab基本数学函数和作图函数的使用;4. 掌握顺序编程的基本方法。三、 实验所采用的功能函数1. 正弦信号:A*sin(w0*t+phi),A*cos(w0*t+phi),A*sin(omega*
2、n+phi);2. 方波信号:square(w0*t),square(w0*t,DUTY),A*square(omega*n);注意DUTY的取值情况。3. 指数信号:A*exp(a*t);4. 矩形脉冲信号:rectpulse(t),rectpulse(t,w);5. 单位脉冲信号和单位阶跃信号:ones(1,n)和zeros(1,n)。四、 实验原理信号的时域分析就是用不同的时间函数来描述具有不同形态的信号波形。对于连续周期信号,通过傅立叶级数(CTFS)展开,在时域可分解为一系列或无限多具有不同频率的正弦信号和虚指数信号的线性组合;对于连续非周期信号,通过连续时间傅立叶反变换(ICTFT
3、),在时域可以表征为无限多个虚指数信号的线性组合,其频率为无限密集,幅度为无限小;对于离散周期信号,通过离散傅立叶级数(DFS)展开,可以分解为一系列呈谐波关系的虚指数序列之和;对于离散周期信号,通过离散时间傅立叶反变换(IDTFT)可以表征为一系列虚指数信号的线性组合。这些虚指数序列在频率上无限密集,幅度为无限小。五、 实验内容及实验步骤1. 周期连续信号 正弦信号:产生一个幅度为,频率为,相位为/的正弦信号; 周期方波:产生一个幅度为,基频为,占空比为的周期方波。2. 非周期连续信号 阶跃信号; 指数信号:常数一个随机衰减的指数信号; 矩形脉冲信号:产生高度为、宽度为、关于对称的矩形脉冲信
4、号;产生高度为、宽度为w、关于对称的矩形脉冲信号;产生高度为、宽度为、延时为的矩形脉冲信号。3. 周期数字信号 正弦序列:产生一个幅度为2,数字角频率为/6,相位为/6的正弦序列; 常数离散周期方波。4. 非周期数字信号 指数序列:产生x(n)0.5(3/4)n; 单位脉冲序列和单位阶跃序列:生成单位脉冲序列d(n3)和单位阶跃序列u(n3)。六、 实验结果连续信号波形:离散信号波形:七、 问题与思考使用MATLAB产生如下信号:1. x(t)2u(t1),1t52. x(t)e0.1tsin(2/3t),0t303. x(n)2d(n+n0),n024. r(n)nu(n)5.6.7.8.9
5、.10.11.12.13.14.15.16.17.18.5.八、 实验报告要求1. 独立完成以上实验内容;2. 采用标准实验报告纸书写实验报告;3. 实验报告内容包括:实验名称、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析。实验二 基于MATLAB的离散信号的频谱分析一、实验目的理解信号频谱概念和谱分析的原理与方法,了解快速傅立叶变换(FFT)可以提高运算量的特点,并运用Matlab软件分别对离散周期信号和非周期信号进行谱分析,同时绘出幅度频谱和相位频谱。二、预习要求1. 掌握连续周期信号、连续非周期信号、离散周期信号和离散非周期信号的频谱
6、变化规律;2. 掌握DFT运算过程和FFT减少运算量的基本方法;3. 掌握采用Matlab进行离散信号谱分析的方法和Matlab关于信号谱分析的基本函数的使用。三、 实验所采用的功能函数1. FFT函数:fft(x,N);2. IFFT函数:ifft(x,N);3. 作图函数。四、 实验原理对于离散周期信号,其离散傅立叶变换(DFT)和离散傅立叶反变换(IDFT)如下:从理论上可求得离散周期信号的频谱X(k)是周期离散的频谱。由于该信号在时域和频域都是离散的和周期的序列,因而只要正确地在一个周期内选取L(M)=N,就可按上式准确地求得周期序列的频谱。对于离散非周期信号,其离散时间傅立叶变换(D
7、TFT)和离散时间傅立叶反变换(IDTFT)如下:从理论上可求得离散非周期信号的频谱是周期连续的频谱,由于频谱是连续的,需要对频谱进行离散化处理后才能利用DFT进行分析与合成。当序列长度有限时,在正确选取T、M、N的条件下可以求得准确的频谱样值。若序列长度很长或无限时,则由于截断必然产生泄漏误差以及混叠误差,使计算的结果只能是频谱样值的近似值。五、 实验内容及实验步骤1. 利用FFT和IFFT分析与合成离散周期信号 计算周期信号的频谱; 生成幅度A1,周期N50点,脉冲宽度M6点的周期脉冲序列。作N50点的FFT,计算其频谱,并观察直流及各次谐波的波形。 实验步骤:(1) 确定离散周期序列的基
8、本周期N;(2) 使用fft函数作N点FFT计算X(k)。频率分辨率为2/N,为基频的大小;(3) 使用ifft函数计算第k次谐波的时域波形;(4) 使用ifft函数计算前k次谐波合成的周期序列。2. 利用FFT和IFFT分析与合成离散非周期信号 已知一个有限长脉冲序列x(n)1,-4n4,用FFT计算其频谱。 已知一个无限长指数序列,分别截取M10和M=20点,用FFT计算其频谱,并将两者进行比较,同时观察功率泄漏现象。 实验步骤:(1) 确定离散非周期序列x(n)的长度M,根据能量分布,序列为无限长时需要进行截断;(2) 确定作FFT的点数N。根据频域采样定理,为使时域波形不产生混叠,必须
9、取NM;(3) 使用fft函数计算N点FFT,即求得X(k)。六、 实验结果周期信号的频谱:50点FFT的频谱:k0时的直流分量及其合成的波形:k1、3、5和24次谐波及直流分量前1、3、5和24次谐波分量合成的波形:有限长脉冲序列x(n)1,(-4n=Mx+Mh1进行补零,得到和;(2) 利用FFT分别计算和h(n)的DFT,得到X(k)和H(k);(3) 计算Y(k)=x(k)h(k),y(k)即为该系统频域分析的结果;(4) 利用IFFT计算y(k)的IDFT,最后求得时域分析结果y(n)。3. 已知离散系统的特性和输出,求系统的输入。 已知一个LTI离散系统的差分方程为:y(n)-0.
10、9y(n-1)=0.1x(n),其输出为:y(n)=5+0.888sin(/2n-42)-1.06cos(n+ /4)试求输入x(n) 。 实验步骤:(1) 确定系统的输出的N点DFT:;(2) 确定系统函数的N点DFT:,或按照得到;(3) 系统输入为:, 。4. 已知离散系统的输入和输出,求系统的特征函数。 已知一个LTI离散系统的输出为:y(n)=8/30.8nu(n)5/3 0.5nu(n),输入为:x(n)= 0.5nu(n),试计算该系统的脉冲响应h(n)。 实验步骤:(1) 确定系统的输出的N点DFT:;(2) 确定系统输入的N点DFT:;(3) 系统函数为:, 。六、实验结果已
11、知离散系统的特性和输入,求系统的输出: 已知离散系统的特性和输出,求系统的输入:已知离散系统的输入和输出,求系统的特征函数:七、问题与思考对于求取卷积的实验思考:1. 当L=8时,运行结果会怎样?2. 试求不同L取值时的运行结果,回答在什么情况下,结果正确,为什么?八、实验报告要求1. 独立完成以上实验内容;2. 采用标准实验报告纸书写实验报告;3. 实验报告内容包括:实验名称、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析。实验四 基于MATLAB的FIR数字滤波器的设计一、实验目的了解FIR数字滤波器的特点、设计方法和设计过程,掌握Mat
12、lab软件所提供的基本函数,掌握常用窗函数的特性、表示式和Matlab实现,并根据给定的设计要求,运用Matlab软件分别实现基于窗函数法和频率采样法的FIR滤波器设计,求出滤波器的阶数、系统函数,并绘出相应的幅度响应曲线。二、预习要求1. 掌握FIR数字滤波器的特点及设计方法,重点掌握窗函数法,并了解频率采样法;2. 掌握部分Matlab基本数学函数、常用FIR数字滤波器设计函数和作图函数的使用;3. 掌握顺序编程的基本方法。三、实验所采用的功能函数1. fir1窗函数法FIR滤波器设计:低通、高通、带通、带阻、多频带滤波器;2. fir2窗函数法FIR滤波器设计:任意频率响应;3. fft
13、和ifft函数;4. 各类基本信号和运算函数;5. 常用窗函数:boxcar(N)、hanning(N)、hamming(N)、blackman(N)、bartlett(N)和kaiser(N,beta)。四、实验原理窗函数法设计FIR滤波器的过程为:是理想滤波器的频域系统函数,是设计的实际滤波器的频响。加窗的作用是通过把理想滤波器的无限长脉冲响应乘以窗函数来产生一个被截断的脉冲响应,即,并对频响进行平滑。频率采样法设计FIR滤波器的过程:频率采样法的关键是正确确定数字频域系统函数H(k),在)内的N个采样点,其约束条件为(第一类线性相位):频域采样法分为I型和II型,而I型和II型采样又可分
14、为N为奇数和N为偶数两种情况。根据约束条件H(k)可按下面公式给出:N为奇数的I型采样:N为偶数的II型采样:五、实验内容及实验步骤1. 窗函数法设计FIR数字滤波器 分别使用矩形窗和海明窗设计一个具有线性相位的低通数字滤波器: 用fir1函数实现上面滤波器的设计。 设计步骤:(1) 按照IDFT求得理想脉冲响应:(2) 根据线性相位的条件:t(N-1)/2,可求得实际滤波器的脉冲响应的长度为N=25。(3) 使用矩形窗和海明窗对进行截断,得到:(4) 求的DFT变换得到其频率响应:;(5) 求取H(k)的幅频特性,并画出图形。2. 频率采样法设计FIR数字滤波器 使用频率采样法设计一个线性相
15、位低通滤波器,N为奇数且h(n)为偶对称,即采用N为奇数的I型采样。 设计步骤:(1) 因为N为奇数且h(n)为偶对称,故采用N为奇数的I型采用设计方法;(2) 确定N和t,进而计算出omegac和;(3) 求取:ABS_H=ones(1,m),zeros(1,N-2*m+1),ones(1,m-1);(4) 求取:H=ABS_H.*exp(-j*tao.*omega);(5) 对计算IDFT得:ifft(H);(6) 对计算DFT得:fft(h,512);(7) 分别画出、和的幅频响应曲线。六、实验结果分别使用矩形窗和海明窗设计的线性相位低通数字滤波器的幅频特性:用fir1函数设计的线性相位
16、低通数字滤波器的幅频特性:用频率采样法设计的线性相位低通数字滤波器的幅频特性:七、问题与思考八、实验报告要求1. 独立完成以上实验内容;2. 采用标准实验报告纸书写实验报告;3. 实验报告内容包括:实验名称、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析。实验五 基于MATLAB的IIR数字滤波器的设计一、实验目的了解IIR数字滤波器的特点,了解IIR数字低通滤波器的设计方法和设计过程,了解IIR数字高通、带通和带阻滤波器的频率转换设计方法,掌握Matlab软件所提供的各种设计函数,运用Matlab软件分别实现基于脉冲响应不变法和双线性变换法
17、的IIR滤波器设计,求出滤波器的阶数、系统函数,并绘出相应的幅度响应曲线。二、预习要求1. 掌握IIR数字滤波器的特点及设计方法,重点掌握脉冲响应不变法和双线性变换法设计巴特沃斯和切比雪夫滤波器的方法;2. 掌握部分Matlab基本数学函数、常用IIR数字滤波器设计函数和作图函数的使用;3. 掌握顺序编程的基本方法。三、实验所采用的功能函数1. IIR滤波器阶数选择函数:btuuord(巴特沃斯滤波器阶数选择函数)cheb1ord(切比雪夫I型滤波器阶数选择函数)2. 完整滤波器设计函数:butter(巴特沃斯滤波器设计)cheby1(切比雪夫I型滤波器设计)3. 归一化模拟低通滤波器原型设计
18、函数:buttap(巴特沃斯滤波器原型)cheb1ap(切比雪夫I型滤波器原型,通带等波纹)4. 模拟域频率变换函数:lp2bp(模拟低通滤波器变换为模拟带通滤波器)lp2bp(模拟低通滤波器变换为模拟带阻滤波器)lp2bs(模拟低通滤波器变换为模拟高通滤波器)lp2bp(模拟低通滤波器变换为模拟低通滤波器)5. 滤波器离散化函数:bilinear(使用双线性变换法把模拟滤波器转换为数字滤波器)impinvar(使用脉冲响应不变法把模拟滤波器转换为数字滤波器)6. 各类基本信号和运算函数;四、实验原理IIR数字滤波器的人物就是寻求一个因果、物理可实现的系统函数,使它的频率响应满足所希望得到的频
19、域指标,即符合给定的通带衰耗、阻带衰耗、通带截止频率和阻带截止频率。IIR数字滤波器的设计方法有间接法、直接法和计算机辅助优化设计法等。本项实验主要采用间接法计算IIR数字滤波器的设计。该设计方法就是先根据频率响应指标,设计出相应的模拟滤波器H(s),再通过脉冲响应不变法或双线性变换法转换为数字滤波器H(z),其过程如下:五、实验内容及实验步骤1. 模拟滤波器的设计 分别设计BW(巴特沃斯)和CB(切比雪夫)模拟低通滤波器,在0w1000rad/s时衰耗不大于3dB,在w5000rad/s时衰耗不小于50dB。 设计步骤:(1) 确定模拟低通滤波器的设计指标:;(2) 运用函数和分别计算巴特沃
20、斯模拟低通滤波器和切比雪夫模拟低通滤波器的阶数N和归一化3db截止频率; 运用函数和求得模拟低通滤波器的系统函数的分子、分母多项式形式; 作图显示滤波器的幅频特性和相位特性。2. 脉冲响应不变法设计数字滤波器 使用脉冲响应不变法设计一个数字带通滤波器,其指标为:(1)通带中心频率在W0=0.5处;(2)通带上截止频率Wp2=0.55,下截止频率Wp1=0.45,最大衰减为3dB;(3)阻带上截止频率Ws2=0.6,最小衰减为10dB;(4)采样周期为510-6s,要求| W | W0衰减曲线单调增加。 实验步骤:(1) 确定数字频率指标;(2) 采用脉冲响应不变法求得模拟频率指标;(3) 将模
21、拟频率转化为模拟低通滤波器的设计指标;(4) 求得模拟低通滤波器的截止频率;(5) 求得模拟低通滤波器的阶数;(6) 设计归一化模拟低通滤波器;(7) 把归一化模拟低通滤波器转化为模拟带通滤波器;(8) 利用脉冲响应不变法把模拟滤波器转换为数字滤波器;(9) 求得传输函数;(10) 画出幅度响应和相位响应图。六、实验结果分别采样巴特沃斯和切比雪夫(红色)方法设计的模拟低通滤波器的幅频和相位特性:使用脉冲响应不变法设计的数字带通滤波器的幅频特性:使用双线性变换法设计的数字带通滤波器的幅频特性(思考题1):七、问题与思考1. 使用双线性变换法设计上面的数字带通滤波器;2. 采用butter函数直接
22、设计上面的数字带通滤波器。八、实验报告要求1. 独立完成以上实验内容;2. 采用标准实验报告纸书写实验报告;3. 实验报告内容包括:实验名称、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析。实验六 基于DSP的图象处理离散傅立叶分析一、实验目的通过实验学习在CodeComposerStudio2.0IDE环境下使用ICETEK-C6711-USB板设计、调试程序的方法,掌握傅立叶变换、二维傅立叶变换和快速傅立叶变换的原理,学习FFT程序设计和计算方法;了解傅立叶变换的幅度频谱图像特征。二、预习要求1. 了解Code Composer Stud
23、io 2.0软件的操作环境和基本功能,了解TMS320C6xxx软件开发过程;2. 掌握傅立叶变换的基本原理;3. 掌握图象处理的基本方法。三、实验设备计算机,ICETEK-C6711-USB板,仿真电缆,DSP板供电电源。四、实验原理傅立叶变换是一种常见的正交变换,它在一维信号处理中得到了广泛应用。傅立叶变换的基本概念如下:设f(x)为x的函数,且f(x)满足:具有有限个间隔点、具有有限个极点、绝对可积,则f(x)的傅立叶变换公式为:其反变换为:为了在数字图象处理中应用傅立叶变换,必须引入离散傅立叶变换(DFT,Discrete Fourier Transform)的概念。它的数学定义如下:
24、如果为一个长度为N的数字序列,其离散傅立叶变换为:离散傅立叶反变换为:其中:x=0,1,2,N-1如果令,那么上述公式变成:写成矩阵形式为:二维离散函数的傅立叶变换为:傅立叶反变换为:其中:x=0,1,2,M-1 y=0,1,2,N-1在数字图象处理中,图象取样一般是方阵,即M=N,则二维离散傅立叶变换公式为:在数字图像处理中通常将傅立叶变换频谱的原点移动到矩阵MN的中心,以便能清楚地分析傅立叶变换谱的情况。根据傅立叶变换的平移特性,如果要将图像的频谱原点移动到图像中心,只要将f(x,y)乘上因子再进行离散傅立叶变换即可。五、实验内容和实验步骤1 实验准备 连接设备关闭计算机和5v电源。用附带
25、的并口电缆连接计算机并口和ICETEK-C6711-USB板相应接口P1。 开启设备打开计算机电源。连接DSP板供电电源插头到ICETEK-C6711-USB板电源插座P3,ICETEK-C6711-USB板上D12、D13、D14灯亮。 设置Code Composer Studio为Emulator方式,选择“C6711 DSK Port378 EPP”。 启动Code Composer Studio 2.0。2 打开工程并浏览程序。工程目录为ICETEK-C6711-USBlab10-Fourier3 编译并下载程序4 打开工程“Fourier.pjt”中的C语言源程序“Fourier.c
26、”,在程序中有“BreakPoint”注释的语句上加软件断点。5 .设置观察窗口 选择菜单“View”、“Graph”、“Image”,做如下图(1)设置: 选择菜单“View”、“Graph”、“Image”,做如下图(2)设置:图(2)图(1)6 6.运行程序按“F5”键运行到断点,观察图形显示结果。六、实验结果分析:右侧的傅立叶频谱是将频谱原点平移到图像中心后的显示。分析:此图映证了离散傅立叶变换的旋转特性,即如果空间域离散函数旋转角度T0,则在变换域中该离散函数的离散傅立叶变换函数也将旋转同样的角度。请对照上面结果。分析:这是一幅真实图像的傅立叶频谱。七、问题与思考八、实验报告要求1.
27、 独立完成以上实验内容;2. 采用标准实验报告纸书写实验报告;3. 实验报告内容包括:实验名称、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析。实验七、基于DSP的卷积运算一、实验目的了解数字系统的各种描述方式及求解方法,理解卷积的物理意义和实现形式,了解DSP的基本结构、开发工具的使用、开发过程及开发软件编程,熟悉DSP系统所提供的进行卷积运算的函数或指令,并运用这些系统资源编程实现卷积运算,从而实现一定系统的分析和求解。二、预习要求:1. 了解Code Composer Studio 2.0软件的操作环境和基本功能,了解TMS320C6x
28、xx软件开发过程;2. 掌握卷积的基本原理和运算过程。三、实验设备PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装Code Composer Studio 2.0软件。ICETEK-6711-USB目标板。四、实验原理1 卷积的基本原理和公式对离散系统“卷积和”也是求线性时不变系统输出响应(零状态响应)的主要方法。卷积和的运算在图形表示上可分为四步: 翻褶:先在哑变量坐标M上作出x(m)和h(m),将m=0的垂直轴为轴翻褶成h(-m)。 移位:将h(-m)移位n,即得h(n-m)。当n为正整数时,右移n位。当n
29、为负整数时,左移n位。 相乘:再将h(n-m)和x(m)的相同m值的对应点值相乘。 相加:把以上所有对应点的乘积叠加起来,即得y(n)值。依上法,取n=,-2,-1,0,1,2,3,各值,即可得全部y(n)值。2 程序流程图3 程序的自编函数及其功能 processing1(int *input2, int *output2)调用形式:processing1(int *input2, int *output2)参数解释:intput2、output2为两个整型指针数组。返回值解释:返回了一个“TREN”,让主函数的while循环保持连续。功能说明:对输入的input2 buffer波形进行截取
30、m点,再以零点的Y轴为对称轴进行翻褶,把生成的波形上的各点的值存入以OUTPUT2指针开始的一段地址空间中。 processing2(int *output2, int *output3)调用形式:processing2(int *output2, int *output3)参数解释:output2、output3为两个整型指针数组。返回值解释:返回了一个“TREN”,让主函数的while循环保持连续。功能说明:对输出的output2 buffer波形进行作n点移位,然后把生成的波形上的各点的值存入以OUTPUT3指针开始的一段地址空间中。 processing3(int *input1,in
31、t *output2,int *output4)调用形式:processing3(int *input1,int *output2,int *output4)参数解释:output2、output4、input1为三个整型指针数组。返回值解释:返回了一个“TREN”,让主函数的while循环保持连续。功能说明:对输入的input2 buffer波形和输入的input1 buffer作卷积和运算,然后把生成的波形上的各点的值存入以OUTPUT4指针开始的一段地址空间中。 processing4(int *input2,int *output1)调用形式:processing4(int *inpu
32、t2,int *output1)参数解释:output1、input2为两个整型指针数组。返回值解释:返回了一个“TREN”,让主函数的while循环保持连续。功能说明:对输入的input2 buffer波形截取m点,然后把生成的波形上的各点的值存入以OUTPUT1指针开始的一段地址空间中。五、实验内容和实验步骤1. 打开工程,浏览程序,工程目录为lab5-juanjijuanji.pjt2. 编译并下载程序:单击菜单“Pro ject”、“Rebuild All”,执行FileLoad Program ,在随后打开的对话框中选择刚刚建立juanji.out文件。3. 设置输入数据文件:在c程
33、序中的如下两行上设置probe point(光标指示到这一行上,按鼠标右键,从显示的菜单上分别选择probe point):dataIO1();dataIO2();在c程序的“dataIO1();”行上设置break point。4. 打开观察窗口 选择菜单“View”、“Graph”、“Time/Frequency”进行如下设置: 选择菜单“View”、“Graph”、“Time/Frequency”进行如下设置: 选择菜单“View”、“Graph”、“Time/Frequency”进行如下设置: 在弹出的三个图形窗口中单击鼠标右键,选择“Clear Display”。5. 设置波形输入文
34、件 选择“File”菜单中的“File I/O”,打开“File I/O”窗口;单击“Add File”按钮,在“File Input”窗口中选择juanji目录下的sin.dat文件,单击“打开”按钮;在“Address”项中输入inp1_buffer,在“Length”项中输入64,在“Warp Around”项前加上选择标记,单击“Add Probe Point”按钮; 在“Break/Probe/Profile Points”窗口中单击“Probe Point”列表中的“Convolve.c line52 No Connection”,再单击“Connect”项尾部的展开按钮,在显示的
35、展开式列表中选择列表末尾的“FILE IN:C:.SIN.DAT”,单击“Replace”按钮,单击“确定”按钮。 在“File I/O”窗口中单击“确定”,完成设置。 选择“File”菜单中的“File I/O”,打开“File I/O”窗口;单击“Add File”按钮,在“File Input”窗口中选择juanji目录下的sin.dat文件,单击“打开”按钮;在“Address”项中输入inp2_buffer,在“Length”项中输入64,在“Warp Around”项前加上选择标记,单击“Add Probe Point”按钮; 在“Break/Probe/Profile Point
36、s”窗口中单击“Probe Point”列表中的“Convolve.c line53 No Connection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾的“FILE IN:C:.SIN.DAT”,单击“Replace”按钮,单击“确定”按钮。 在“File I/O”窗口中单击“确定”,完成设置。 按F5键运行程序,待程序停留在软件断点;观察刚才打开的三个图形窗口,其中显示的是输入和输出的时域波形; 观察频域波形:在各图形窗口中单击鼠标右键,选择“Properties”,在“Graph Property Dialog”窗口中的第1项“Display Type
37、”项中选择“FFT Magnitude”,单击“OK”完成;这时图形窗口中显示波形的频域图。(也可再打开显示频域图的窗口) 验算结果:在各频域窗口中的波形上单击鼠标左键,将光标停到统一的位置(通过观察窗口状态栏中的第1个浮点数表示其坐标值),读取状态栏中的第2个浮点数,为卷积计算的输入和输出结果,请验算:OutputInput1*Input2。六、实验结果 首先看到两个输入波形,input1是正旋波,input2是同样的正旋波。Output1是对input2进行截取m个点后输出的波形,output2是把output1以零点的y轴为对称轴翻褶后形成的波形,output3是output2位移n位后
38、形成的波形, output4是output1和input1进行卷积和后形成的输出波形。时域图形:频域图形:七、问题与思考可以更改不同的输入波形,检验运算后的结果是否正确?八、实验报告要求1. 独立完成以上实验内容;2. 采用标准实验报告纸书写实验报告;3. 实验报告内容包括:实验名称、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析。实验八、基于DSP的数字滤波器的设计一、实验目的1、握用窗函数法设计FIR数字滤波器的原理和方法;2、熟悉线性相位FIR数字滤波器特性;3、了解各种窗函数对滤波器特性的影响。二、预习要求1. 了解Code Comp
39、oser Studio 2.0软件的操作环境和基本功能,了解TMS320C6xxx软件开发过程;2. 掌握FIR数字滤波器设计的基本原理和过程。三、实验设备PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装Code Composer Studio 2.0软件。ICETEK-6711-USB目标板四、实验原理1. FIR的原理和参数生成公式 N阶有限冲激响应滤波器(FIR)公式: FIR设计原理:根据系数h是偶对称为了简化运算产生如下计算方法如果一个FIR滤波有一个冲激响应,h(0),h(1),h(N-1),和x(
40、n)描绘输入的时常滤波n,输出滤波y(n)的 n给出以下方程式:y(n)=h(0)x(n)+h(1)x(n-1)+h(2)x(n-2)+h(N-1)xn-(n-1) 2. 程序流程图五、实验内容和实验步骤1. 打开工程,浏览程序,工程目录为lab6-f.pjt2. 编译并下载程序:单击菜单“Pro ject”、“Rebuild All”,执行FileLoad Program ,在随后打开的对话框中选择刚刚建立.out文件。3. 输入数据 移动光标到主函数的dataIO1( )这一行, 右击鼠标选择Toggle Probe Point项, 让这两行高亮显示为蓝色。 打开File选单,选择File
41、 I/O选项,打开File I/O对话框,在这个对话框中, 可以选择输入/输出文件。 在File Input属性页下, 点击Add File按钮。选择文件夹下的sine.dat文件, 文件类型应为:(*.dat) 单击打开按钮,把文件添加到File Input 属性页下的列表框中,使“Wrap Around”前的对勾被选中,输入Address为:inp_buffer, 长度为:8。 选择“Add probepoint”进入Break /Probe /Profile Points对话框,在Probe Points属性栏中选中断点,在Connect 的属性框中选择输入波形的位置,单击Replace并单击确定,完成设置。 打开View选单,选择Graph下的Time/Frequency选项。 在Graph Property 对话框中,修改以下选项为当前值:Graph Title : inp Start Address : inp_bufferAcqusition Buffer Size : 8Display Data Size:8DSP Data Type : 32-Bit signal integer 在弹出的inp1图形窗口中,单