您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页数字信号处理实验指导书2003new

数字信号处理实验指导书2003new

来源:暴趣科技网
数字信号处理实验指导书

实验 一 快速傅立叶变换(FFT)算法

一.实验目的

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

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

二.实验设备

PC 兼容机一台,Code Composer Studio 2.0 软件,DSP实验装置。

三.实验原理

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

rkkX(k)x1(r)WNWNx2(r)WNrkX1(k)WNkX2(k)

r02N12r02NN21k2N2r0N)2N12N12NX(k)x1(r)W2r0Nr(k)2N2Wx(r)WN2r(kkX1(k)WNX2(k)

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,一般来说,输入被假定为连续的。当输入为纯粹的实数的时候,我们就可以利用左右对称的特性更好的计算 DFT。

我们称这样的 RFFT 优化算法是包装算法:首先2N点实数的连续输入称为“进包”。其次N点的 FFT被连续运行。最后作为结果产生的N点的合成输出是“打开”成为最初的与DFT相符合的2N点输入。

使用这战略,我们可以划分FFT的大小,它有一半花费在包装输入O(N)的操作和打开输出上。这样的RFFT算法和一般的FFT算法同样迅速,计算速度几乎都达到了两次DFT的连续输入。

2.程序流程图:

1

开始 初始化变量 调用波形发生子程序 调用FFT子程序 波形发生 计算步长 用标准C的sin函数计算当前波形值(128点) 结束 FFT 倒序输入序列 蝶形计算 计算功率谱 结束 数字信号处理实验指导书

四.实验步骤

1.实验准备:

-设置软件仿真模式,-启动 CCS。

2.打开工程,浏览程序,工程目录为 C:\\ICETEK-VC5509-EDULab\\Lab0503-FFT\\FFT.pjt。 3.编译并下载程序。

4.打开观察窗口:选择菜单 View->Graph->Time/Frequency…进行如下图所示设置。

5.清除显示:在以上打开的窗口中单击鼠标右键,选择弹出式菜单中“Clear Display”功能。 6.设置断点:在程序 FFT.c 中有注释“break point”的语句上设置软件断点。 7.运行并观察结果。

⑴选择“Debug”菜单的“Animate”项,或按 F12 键运行程序。 ⑵观察“Test Wave”窗口中时域图形;

⑶在“Test Wave”窗口中点击右键,选择属性,更改图形显示为 FFT。观察频域图形。 ⑷观察“FFT”窗口中的由 CCS 计算出的正弦波的 FFT。 8.退出 CCS。通过观察频域和时域图,

2

数字信号处理实验指导书

通过观察频域和时域图,程序计算出了测试波形的功率谱,与 CCS 计算的 FFT 结果相近

五 预习内容

(1)快速傅立叶变换中基2FFT算法

(2)C语言编程

六 实验报告内容

(1).目的,仪器,原理和内容.

(2).程序清单,重要说明.如:重要的指令功能,重要的程序段功能. (3)实验结果和数据

(4)实验心得及有意义的建议

七.问题与思考

当输入信号频率(改变C语言源程序)发生改变,观察频域和时域图变化。

3

数字信号处理实验指导书

实验 二 卷积算法

一.实验目的

1.掌握卷积算法的原理和计算方法。 2.熟悉卷积算法特性。 3.学习卷积算法的程序实现。

二.实验设备

PC 兼容机一台,Code Composer Studio 2.0 软件,DSP实验装置。

三.实验原理

1.卷积算法基础理论: 卷积的基本原理和公式:

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

y(n)mx(m)h(nm)x(n)*h(m)

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

①翻褶:先在亚变量坐标 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):

intput2、output2 为两个整型指针数组。返回了一个“TRUE”,让主函数的while循环保持连续。对输入的input2 buffer波形进行截取m点,再以零点的Y轴为对称轴进行翻褶,把生成的波形上的各点的值存入以OUTPUT2指针开始的一段地址空间中。

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

output2、output3 为两个整型指针数组。返回了一个“TREN”,让主函数的while循环保持连续。 对输出的output2 buffer 波形进行作n点移位,然后把生成的波形上的各点的值存入以 OUTPUT3 指针开始的一段地址空间中。

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

output2、output4、input1 为三个整型指针数组。返回了一个“TRUE”,让主函数的 while 循环保持连续。

4

数字信号处理实验指导书

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

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

output1、input2 为两个整型指针数组。返回了一个“TRUE”,让主函数的 while 循环保持连续。 :对输入的 input2 buffer 波形截取 m 点,然后把生成的 波形上的各点的值存 入以 OUTPUT1 指针开始的一段地址空间中。

实验程序流程图:

开始

初始化 No

While(TRUE) Yes 执行 dataIO1( )子程序 结束 执行 dataIO2( )子程序

子程序 执行 processing4()

执行 processing1()子程序

执行 processing2( )子程序 子程序 执行 processing3( )

四.实验步骤

1.实验准备:

-设置软件仿真模式,-启动 CCS。

2.打开工程,浏览程序工程目录 C:\\ICETEK-VC5509-EDULab\\Lab0504-Convolve\\Convolve.pjt。 3.编译并下载程序。

5

数字信号处理实验指导书

4.设置输入数据文件:

请在 volume.c 程序中有注释“break point”的两行上设置 probe point 和 break point:设置方法是把光标指示到这一行上,按鼠标右键,从显示的菜单上分别选择 probe point 和break point。

5.打开观察窗口:

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

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

在弹出的图形窗口中单击鼠标右键,选择“Clear Display”。 6.设置波形输入文件,请按照如下设置:

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

在“Break/Profile Points”窗口中单击“Probe Point”列表中的“Convolve.c line52 No Connection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾 的“FILE IN:D:\\..\\SIN11.DAT”,单击“Replace”按钮,单击“确定”按钮。

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

选择“File”菜单中的“File I/O…”,打开“File I/O”窗口;单击“Add File”按钮,在“File Input”窗口中选择工程目录下的 sine11.dat 文件,单击“打开”按钮;“在Address”6

数字信号处理实验指导书

项中输 入 inp2_buffer,在“Length”项中输入 ,在“Warp Around”项前加上选择标记,单击“Add Probe Point”按钮;在“Break/Profile Points”窗口中单击“Probe Point”列表中的“Convolve.c line53 No Connection”,再单击“Connect”项尾部的展开按钮,在显示的展开式列表中选择列表末尾 的“FILE IN:D:\\..\\SIN11.DAT”,单击“Replace”按钮,单击“确定”按钮。在“File I/O”窗口中单击“确定”,完成设置。

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

-按 F5 键运行程序,待程序停留在“Dis-Assembly”窗口中的“abort”标号处时程序运行结 束;观察刚才打开的三个图形窗口,其中显示的是输入和输出的时域波形;

8.输入波形文件改成其他波形,如:sin22.dat 等,观察运行结果。在修改输入波形文件时须 首先将原文件删除;在重新运行程序时,先选择菜单“Debug”的“Reset CPU”“、Restart”、 “Go Main”,再选择“Debug”中“Run”或按一下 F5 即可。

当输入波形均为 sin11.dat 时,得到的卷积时域图为:

五 预习内容

(1)数字信号处理中线性时不变系统输入与输出之间的关系 (2)C语言编程

六 实验报告内容

(1).目的,仪器,原理和内容.

(2).程序清单,重要说明.如:重要的指令功能,重要的程序段功能. (3)实验结果和数据

(4)实验心得及有意义的建议

七.问题与思考

当两路输入信号改变时注意观察输出信号变化。

7

数字信号处理实验指导书

实验 三 采样定理

一.实验目的

1.熟悉 A/D 转换的基本过程和程序处理过程。 2.熟悉 FFT 的应用。

3.掌握抽样定理的内容和其在实际中的运用。

二.实验设备

计算机,ICETEK-VC5509-EDU 实验箱(或 ICETEK 仿真器+ICETEK-VC5509-A 系统板+相 关连线及电源)。示波器。

三.实验原理

1.采样定理:

在应用 DSP 进行信号处理过程中,经常需要对信号进行采集,而采集工作一般通过 AD 转 换器件完成,AD 器件在工作时不可能取得连续的值,只能间隔一段时间进行一次转换,得到 转换结果后再进行下一次转换。这样,对连续变换的信号只能在离散时间点上进行取样,这也 叫抽样过程。 抽样是在离散时间间隔对连续时间信号(例如模拟信号)的采集,它是实时信号处理中的基本 概念。模拟信号由一些离散时间的值来代表,这些抽样的值等于原始的模拟信号在离散时间点 的取值。

DSP 器件只能通过抽样的方法得到离散的信号,我们如何对信号进行采样才能获得原有信 号所具备所有频率特征,这是采样定理所涉及的问题。采样定理规定对模拟信号应该以多大的 速率抽样,以保证能够捕捉到包含在信号中的相关信息或者经过抽样后能够保留相关的信息。 抽样定理:如果信号的最高频率分量是 f max ,为了使抽样值能够完整地描述信号,那么至

少应该以 2 f max 的速率进行抽样。即 F ≥ 2 f max ,其中 F 是抽样频率或抽样率。 因此,如ss果模拟信号中的最大频率分量为 4kHz,那么,为了保留或捕捉信号中的所有信息, 应该以 8kHz 或者更高的抽样率进行抽样。小于抽样定理规定的抽样率进行抽样将导致频谱折 叠,或者相频混叠进入到希望的频带内,以至于我们在把抽样的数据转回到模拟信号时不能恢 复出原始信号。

信号有很多能量常常在感兴趣的最高频率之外或者包含噪声,信号的能量在很宽的频率范围 内是不变的。例如,在电话中感兴趣的最高频率是大约 3.4kHz,而语音信号可能超过 10kHz。 因此,如果我们没有将感兴趣的带宽之外的信号和噪声移去,那么将违反抽样定理。在实际应 用中,让信号通过一个模拟抗混叠滤波器,可以达到移去感兴趣频带之外信号的目的。

2.AD 原理:略。 3.快速傅立叶变换应用:

通过 FFT 计算,我们能直观地分析信号的频率特征,了解信号中的主要频率分量的频点。 4.分析及程序设计: 程序流程图:

8

数字信号处理实验指导书

开始 初始化:EMIF、CPU 频率、AD时钟控制寄存器、ICETEK-CTR 初始化循环变量(256 次)

启动转换:通道 0 读取AD转换器状态

ADC 忙? 否 是

保存结果到 nADC0[0..255]

循环结束? 是 否

四.实验步骤

1.实验准备: ⑴连接实验设备:

⑵准备信号源进行 AD 输入。

①取出 1 根实验箱附带的信号线(如右图,两端均为单声道语音插头)。

②用信号线连接实验箱底板上信号源 I 模块(下图中单实线框中部分)的“波形输出”插座 (下图中的 3 )和“A/D 输入”模块(下图中虚线框中部分)的“ADCIN2”插座(下图中的 A),注意插头要插牢、到底。这样,信号源 I 的输出波形即可送到 ICETEK-VC5509-A 板 的 AD 输入通道 0。

③设置信号源 I:

调整拨动开关“频率选择”(下图中的 5)拨到“1KHz-10KHz”档(下图中的 9)。 将“频率微调”(下图中的 6)逆时针调到头(最小)。

调整拨动开关“波形选择”(下图中的 7)拨到“正弦波”档(下图中的 11)。 将“幅值微调”(下图中的 8)顺时针调到头(最大)。 ④将信号源 I 的电源开关(下图中的 2)拨到“开”的位置。 2.设置 Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行。 3.启动 Code Composer Studio 2.21。

9

数字信号处理实验指导书

选择菜单 Debug→Reset CPU。

5 6 1 2 6

9

7 8 3 10 4 11

A B

4.打开工程文件:

工程目录为:C:\\ICETEK-VC5509-EDULab\\Lab0506-Nyquist\\AD.pjt。

5.编译、下载程序,选择菜单 Debug->Go Main,使程序运行到 main 函数入口位置。 6.设置软件断点和观察窗口:

-打开源程序 main.c,在有注释“break point”的行上加软件断点。 -选择菜单 View->Graph->Time/Frequency…进行如下设置:

7.运行程序,测算 AD 采样频率: 按“F5”键运行,用示波器测试采样频率:示波器探头可以连接到“测试点”(下图中的 4 ),调节示波器旋钮,测出频率,这一频率是 AD 采样频率的 1/2,现假设 测得的频率为 10182.4Hz,那么 AD 的采样频率为 203.8Hz。

选择菜单 Debug->Halt,停止程序运行。将示波器探头改到测试信号源 I 的输出,可以连接到“测试点”模块的“ADCIN2”上。

8.打开观察窗口观察波形的频域统计结果

-选择菜单 View->Graph->Time/Frequency…进行如下设置: -注意在打开窗口中的横轴单位实际上应该是 kHz。

-在 main.c 程序中有注释“break point”的语句上加注软件断点。

10

数字信号处理实验指导书

9.运行程序观察显示:

-按“F12”运行程序,观察两个窗口中的显示。

-观察示波器的频率统计,对照“FFT”窗口的尖峰指示(可以用鼠标将光标移动到尖峰位置, 再从状态条读出频率值,如图),看是否相近。

当前频率为3.795Hz -顺时针微调信号源 I 的“频率微调”旋钮,使频率增大,观察到“FFT”尖峰向频率高端(右 侧)移动。对照频率测量值和 FFT 计算值。

10.观察混叠现象:

-将信号源 I“频率微调”旋钮逆时针调到头;“频率选择”旋钮切换到“10kHz-100kHz”档。

--顺时针微调信号源 I 的“频率微调”旋钮,使频率增大,对照频率测量值和 FFT 计算值。 11.选择菜单 File→workspace→save workspacs As…,输入文件名 SY.wks 。 12.退出 CCS:

在实验步骤 9 以前,“FFT”窗口峰值频率随频率值的微调增大,但到了步骤 10 中,到达某个频率后,“FFT”窗口峰值频率不随频率值的微调增大,反而有减小(向左移动)的现象,这就是信号频率超越了奈奎斯特(Nyquist)频率(也就是采样频率的 1/2)后发生的频率混叠现象,这时“FFT”窗

11

数据回 读光标 波形的能量尖峰 数字信号处理实验指导书

口的频率计算值已经无法正确得到实际信号的频率值。

五 预习内容

(1)数字信号处理中模拟信号数字处理方法 (2)A/D转换原理

六 实验报告内容

(1).目的,仪器,原理和内容.

(2).程序清单,重要说明.如:重要的指令功能,重要的程序段功能. (3)实验结果和数据

(4)实验心得及有意义的建议

七.问题与思考

为何在固定的采样频率 203.8Hz 所能测量的信号最高频率不能高于 10182.4Hz?要测量高频率在 10182.4Hz 的信号,必须保证采样频率大于 Nyquist 频率=2*10182.4Hz 才能得到 不失真的结果?

12

数字信号处理实验指导书

实验四 FIR 滤波器的信号滤波

一.实验目的

1.掌握 A/D 转换的基本过程和程序处理过程; 2.学习通过对采样值进行计算产生混频波形; 3.熟悉 FIR 滤波器及其参数的调整。

二.实验设备

计算机,ICETEK-VC5509-EDU 实验箱(或 ICETEK 仿真器+ICETEK-VC5509-A 系统板+相 关连线及电源)。

三.实验原理

1.AD 原理:略。 2.模数转换工作过程:

-模数转换模块接到启动转换信号后,按照设置进行相应通道的数据采样转换。 -经过一个采样时间的延迟后,将采样结果放入 AD 数据寄存器中保存。 -等待下一个启动信号。

3.模数转换的程序控制: 模数转换相对于计算机来说是一个较为缓慢的过程。一般采用中断方式启动转换或保存结 果,这样在 CPU 忙于其他工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如 何与模数转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结 果。

由于 TMS320VC5509DSP 片内的 A/D 转换精度是 10 位的,转换结果(16 位)的最高位(第 15 位)表示转换值是否有效(0 有效),第 14-12 位表示转换的通道号,低 10 位为转换数值,所以 在保留时应注意取出结果的低 10 位,再根据高 4 位进行相应保存。

4.混频波形产生:

将接收到的两路 AD 采集信号进行相加,并对结果的幅度进行,从而产生混合后的输出 波形。实验中采用了同相位混频方法,也可修改程序完成异相混频法。

5.FIR 滤波器工作原理及参数计算:

滤波器参数:采样频率 203.8Hz,带通滤波 500Hz-5kHz,增益 40dB,阶数 。 6.源程序及注释:

本实验程序在主循环中对 AD 进行连续采样,每次采样首先设置 AD 转换控制寄存器 (ADCCTL),发送转换通道号和启动命令,然后循环等待转换结果,最后将结果保存。由于需 要进行实时混频,所以交替转换通道 0 和通道 1(ICETEK-VC5509-EDU 实验箱上 ADCIN2 和 ADCIN3)。混频的波形通过 FIR 滤波器,得到输出波形。

由于采用了带通滤波,输入频率在 500Hz-5kHz 之间的才能通过滤波器。 程序流程图:

13

数字信号处理实验指导书

开始 初始化:EMIF、CPU频率、ICETEK-CTR、AD时钟控制寄存器 初始化循环变量(256 次) 启动转换:通道 0 读取 AD 转换器状态 是

ADC 忙? 否

保存结果到 nADC0[0..255] 启动转换:通道 1 读取 AD 转换器状态 ADC忙? 否是

保存结果到 nADC1[0..255] 通过 FIR 带通滤波产生输出波形 否

循环结束? 是

四.实验步骤

1.实验准备: ⑴连接实验设备:

⑵准备信号源进行 AD 输入。

①取出 2 根实验箱附带的信号线(如右图,两端均为单声道语音插头)。

②用 1 根信号线连接实验箱底板上信号源 I 模块(下图中单实线框中部分)的“波形输出” 插座(下图中的 3 或 4)和“A/D 输入”模块(下图中虚线框中部分)的“ADCIN2”插座(下图 中的 A),注意插头要插牢、到底。这样,信号源 I 的输出波形即可送到 ICETEK-VC5509-A 板的AD输入通道 0。

③用 1 根信号线连接实验箱底板上信号源 II 模块下图中双实线框中部分)的“波形输出” 插座(下图中的 c 或 d)和“A/D 输入”模块的“ADCIN3”插座(下图中的 B),注意插头要 插牢、

14

数字信号处理实验指导书

到底。这样,信号源 II 的输出波形即可送到 ICETEK-VC5509-A 板的 AD 输入通道

④设置信号源 I:

-调整拨动开关“频率选择”(上图中的 5)拨到“100Hz-1KHz”档(上图中的 10)。 -将“频率微调”(上图中的 6)顺时针调到头(最大)。

-调整拨动开关“波形选择”(上图中的 7)拨到“正弦波”档(上图中的 11)。 -将“幅值微调”(上图中的 8)顺时针调到头(最大)。 ⑤设置信号源 II:

-调整拨动开关“频率选择”(上图中的 e)拨到“10Hz-100Hz”档(上图中的 i)。 -将“频率微调”(上图中的 f)顺时针调到头(最大)。

-调整拨动开关“波形选择”(上图中的 g)拨到“正弦波”档(上图中的 k)。 -将“幅值微调”(上图中的 h)顺时针调到头(最大)。

⑤ 将两个信号源的电源开关(上图中的 2 和 b)拨到“开”的位置。

2.设置 Code Composer Studio 2.21 在硬件仿真(Emulator)方式下运行。 3.启动 Code Composer Studio 2.21。 选择菜单 Debug->Reset CPU。 4.打开工程文件:

工程目录:C:\\ICETEK-VC5509-EDULab\\Lab0507-MixerFIR\\AD.pjt。

5.编译、下载程序,选择菜单 Debug->Go Main,使程序运行到 main 函数入口位置。 6.设置软件断点和观察窗口:

-打开源程序 main.c,在有注释“在此加软件断点”的行上加软件断点。 -选择菜单 View->Graph->Time/Frequency…进行如下设置:

k i j g h c d B A 11 e f a b 9 10 7 8 3 4 5 6 1 2 15

数字信号处理实验指导书

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

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

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

7.运行程序观察结果:

按“F5”键运行到断点,注意观察窗口“AD0”和“AD1”中的输入波形,同时分析“Mixing” 窗口中混频合成的波形与输入波形的关系。

8.观察动态效果:

选择菜单 Debug->Animate,运行程序,同时改变信号源输入的波形、频率参数,观察动态 效果。

9.调节信号源输出,观察滤波器输出:

-将信号源 I 的“频率选择”旋钮调节到“100Hz-1kHz”档,调节“频率微调”旋钮到最大, 这时,信号源 I 的输出波形保持 1kHz 左右的频率。

16

数字信号处理实验指导书

-将信号源 II 的“频率选择”旋钮调节到“10Hz-100Hz”档,调节“频率微调”旋钮到最大, 这时,信号源 I 的输出波形保持 100Hz 左右的频率。

-观察“Mixing”窗口中的混叠波形,再观察“Output”窗口中的输出。输出的波形与“AD0” 窗口中波形的频率相同,而滤除了“AD1”窗口的波形。

-将信号源 II 的“频率选择”旋钮调节到“1kHz-10kHz”档,调节“频率微调”旋钮到最小, 这时,信号源 I 的输出波形保持 1kHz 左右的频率。

-这时,两个波形均能通过滤波器,逐渐顺时针旋转信号源 II 的“频率微调”旋钮,当其超 过某一值(5kHz)后,波形输出中 AD1 波形被滤除。

-随意调整两个信号源频率,只要频率超出 500Hz-5kHz 范围就被滤除。

-将“AD0”和“AD1”窗口属性的“Display Type”项改成“FFT Magnitude”,将“Sampling

Rate (Hz)”改成 204.8,观察频域上的效果。

-试用观察窗口观察滤波器系数(数组 h[])的时域和频域图形。

10.将工作区保留,以便下次使用:选择菜单 File->Workspace->Save Workspace As,起个易记 的文件名 ,将环境 设置保存 在工程目 录中。下 次若需调 入工作区 ,可选 择菜 单 File->Workspace->Load Workspace…再选择工作区文件即可恢复现场。

11.退出 CCS。

17

数字信号处理实验指导书

五 预习内容

(1)数字信号处理中数字滤波器设计 (2)A/D转换原理

六 实验报告内容

(1).目的,仪器,原理和内容.

(2).程序清单,重要说明.如:重要的指令功能,重要的程序段功能. (3)实验结果和数据

(4)实验心得及有意义的建议

七.问题与思考

采样频率 203.8Hz,将带通滤波改变为低通、高通滤波 出波形变化。

18

40dB,阶数 ),注意观察输(增益数字信号处理实验指导书

实验五 有限冲击响应滤波器(FIR)算法实验

一.实验目的

1.掌握用窗函数法设计 FIR 数字滤波器的原理和方法。 2.熟悉线性相位 FIR 数字滤波器特性。 3.了解各种窗函数对滤波器特性的影响。

二.实验设备

PC 兼容机一台,操作 系统为 Windows2000( 或 Windows98 , WindowsXP ,以下默认为 Windows2000),安装 Code Composer Studio 2.21 软件。

三.实验原理

1.有限冲击响应数字滤波器的基础理论(请参考相关书籍)。

2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3.数字滤波器系数的确定方法。 4.根据要求设计低通 FIR 滤波器。

要求:通带边缘频率 10kHz,阻带边缘频率 22kHz,阻带衰减 75dB,采样频率 50kHz。 设计:

过渡带的宽度=

带限频率(3dB截止频率)fc= 数字频率c2fcfs=

理想低通滤波器脉冲响应 hd(n)

根据要求(阻带衰减)选择窗函数为: 过渡带宽度= 窗长度 N= 窗函数w(n)

所设计滤波器脉冲响应(非因果)h(n) 所设计滤波器脉冲响应(因果) h(n) 系统输出 y(n)5.程序流程图:

N1m0h(m)x(nm)=

四.实验步骤

1.实验准备:-设置软件仿真模式。-启动 CCS。

2.打开工程,浏览程序:工程目录为 C:\\ICETEK-VC5509-EDULab\\Lab0501-FIR\\Fir.pjt。 3.编辑Fir.c文件,设置数字滤波器,编译并下载程序。 4.打开观察窗口。

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

19

数字信号处理实验指导书

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

在弹出的图形窗口中单击鼠标右键,选择“Clear Display”。 5.设置断点:在有注释“break point”的语句设置软件断点。 6.运行并观察结果:

⑴选择“Debug”菜单的“Animate”项,或按 F12 键运行程序。 ⑵观察“Input”“Output”窗口中时域图形;观察滤波效果。 、

⑶鼠标右键单击“Input”和“Output”窗口,选择“Properties…”项,设置“Display Type” 为“FFT Magitude”,再单击“OK”按钮结束设置。

⑷观察“Input”“Output”窗口中频域图形;理解滤波效果。 、

五 预习内容

(1)数字信号处理中有限冲击响应数字滤波器设计的基础理论 (2)模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器) (3)数字滤波器系数的确定方法。 (4)C语言编程

六 实验报告内容

(1).目的,仪器,原理和内容.

(2).程序清单,重要说明.如:重要的指令功能,重要的程序段功能.

20

数字信号处理实验指导书

(3)实验结果和数据

(4)实验心得及有意义的建议

七.问题与思考

用汉宁窗设计FIR低通滤波器,设N=11, c2fc

fs0.2rad注意观察输出波形的变化。

21

数字信号处理实验指导书

实验六 无限冲激响应滤波器(IIR)算法

一.实验目的

1.掌握设计 IIR 数字滤波器的原理和方法。 2.熟悉 IIR 数字滤波器特性。 3.了解 IIR 数字滤波器的设计方法。

二.实验设备

PC 兼容机一台,操作 系统为 Windows2000( 或 Windows98 , WindowsXP ,以下默认为 Windows2000),安装 Code Composer Studio 2.0 软件。

三.实验原理

1.无限冲激响应数字滤波器的基础理论。

2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。 3.数字滤波器系数的确定方法。 4.根据要求设计低通 IIR 滤波器:

要求:低通巴特沃斯滤波器在其通带边缘 1kHz 处的增益为-3dB,12kHz 处的阻带衰减为 30dB,采样频率 25kHz。设计:

数字低通滤波器指标:

确定通带截止频率fp= 阻带截止频率fs= 阻带最小衰减s= 采样频率f= 数字频率p2fpf= 数字频率s2fsf=

通过双线性变换法,模拟低通指标:

11p2ftanp s2ftans

2210p1= sps/p= ksp0.1s101Nlogksplogsp

0.1模拟低通巴特沃斯滤波器的传输函数H(s) 通过双线性变换法s2f(z1)z1得到数字低通巴特沃斯滤波器系统函数:

H(z)

系统输出y(n)

22

数字信号处理实验指导书

5.程序流程图:

四.实验步骤

1.实验准备:-设置软件仿真模式。-启动 CCS。

2.打开工程,浏览程序,工程目录为 C:\\ICETEK-VC5509-EDULab\\Lab0502-IIR\\IIR.pjt。 3.编辑iir.c文件,设置数字滤波器,编译并下载程序。

4.打开观察窗口:选择菜单 View->Graph->Time/Frequency…进行如下图所示设置。

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

5.清除显示:在以上打开的窗口中单击鼠标右键,选择弹出式菜单中“Clear Display”功能。 6.设置断点:在程序 iir.c 中有注释“break point”的语句上设置软件断点。 7.运行并观察结果:

⑴选择“Debug”菜单的“Animate”项,或按 F12 键运行程序。 ⑵观察“IIR”窗口中时域图形;观察滤波效果。 8.退出 CCS。

五 预习内容

(1)数字信号处理中无限冲击响应数字滤波器设计的基础理论 (2)模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器) (3)数字滤波器系数的确定方法。 (4)C语言编程

六 实验报告内容

(1).目的,仪器,原理和内容.

(2).程序清单,重要说明.如:重要的指令功能,重要的程序段功能. (3)实验结果和数据

23

数字信号处理实验指导书

(4)实验心得及有意义的建议

七.问题与思考

设计数字带同切比雪夫滤波器在其通带范围 0.3到0.4rad,通带最大衰减3dB,

0.2以下0.5rad以上为阻带 阻带最小衰减为18dB。注意观察滤波器波形和输出波形变化。

24

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务