视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
FIR滤波器实验
2025-10-03 04:03:41 责编:小OO
文档
FIR滤波器实验

(一)实验目的

熟悉数字滤波的基本原理和实现方法;

熟悉线性相位FIR数字滤波器特性;

通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。

(二)实验原理

FIR 滤波器算法的函数表达式:

  short oflag = fir (DATA *x, DATA *h, DATA *r, DATA **dbuffer,ushort  nh, ushort  nx)        (定义于 fir.asm)

参数

x[nx]指向输入向量,长度为 nx 

h[nh]指向系数向量,长度为 nx

例如:若 nh=3:

则:H = b0, b1, b2。

●内存对齐:这是一个环行缓冲区,必须起始于k位边界上(就是说起始地址的k个LSB位必须为0)。其中k为大于log2(nh)的整数,具体解释见TMS320C54X DSP Reference Set 第5-15页5.5.3.4小节。

r[nx]指向输出向量,长度为 nx

Dbuffer[nh]延迟缓冲区

●在多重缓冲区方法中,该向量在进行第一次块操作时应该初始化为0;在后面的块操作中,延迟缓冲区保存着计算r所必须的输入值。

●内存对齐:与h向量一致。

Nx输入向量的长度
Nh系数向量的长度
Oflag溢出标志  

●若 oflag = 1, 则运算中产生32位溢出

●若 oflag = 0, 运算中未产生32位溢出

说明

使用系数向量h,计算实数的FIR滤波。输入数据存于向量x中。该例程使用一个缓冲内存d,来保存前一次的输入值。可以进行块滤波操作,或者单个数据滤波(nx=1)。

算法

r[j] =            0 <=j <=nx

(三)实验步骤

(1) 用MATLAB设计软件设计出FIR数据文件,可采用随机光盘里WAVE文件夹中的数据文件。

(2)启动CCS,编写实验程序代码(可参考随机光盘中的alldsp4\\Simulator\\ hpassfir例程),进行编译并加载到DSP中。

    (3)采用单步运行或执行到光标处,或全速运行,并打开波形观察窗口,跟踪观察其执行过程和滤波效果。

此处举例介绍随机光盘里的例程低通滤波器的程序运行,以及如何观察滤波效果:

①先打开项目,然后编译、加载实验程序,然后点击菜单debug—Go main就进入实验程序test.c(如图一)。

                   图 一 程序

②然后我们打开波形观察窗口,路径是View—Graph—Time/Frequence,将出现如下图二所示的图形属性框,因为本程序编写的是输入向量放在x中,而滤波后的输出向量放在r中,因此图形属性框应选择:在Display Type一栏中选择 Dual Time 项;Interleaved Data Sources一栏中选择No项; Start Address-upper display一栏中输入x,

Start Address-upper display 一栏中输入r; Acquistition Buffer Size 一栏中输入256;Display Data Size 一栏中输入256;DSP Data Type一栏中选择16-bit signed integer项;其他为默认值,然后点击“OK”就可打开图形观察窗口如图三。

                  图二  图形属性窗口

                     图三 输入数据波形

③ 输入数据文件,路径是File—Data—Load,将WAVE文件夹的“fwave1k+500.dat数据文件载入,如图四所示设置。然后就会出现如图三所示的输入波形窗口。

                 

图四 加载数据设置

④运行程序,就可观察到输入数据经过FIR滤波后的效果,如图五所示。至此就可观察信号经过FIR滤波后的信号的改变。

   

图五  FIR 滤波后的输出数据

具体实验程序请参考:随机光盘里的lpassfir文件夹。

(六) 实验思考

       根据上述低通FIR滤波器的设计方法设计出高通FIR滤波

实验十一 IIR滤波器实验

(一)实验目的

熟悉设计IIR数字滤波器的原理与方法;

掌握数字滤波器的计算机仿真方法;

通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。

(二)实验设备

计算机;DSP硬件仿真器;SZ-DSPD实验开发系统。

(三)实验硬件设置

在做实验之前,需要接通该实验所需的硬件电路,本实验为:先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板左上角红色按钮按下接通+/-5V电源;SZ-5416D主控模块上的J7,J9短接;然后开始做实验,注意在做DSP实验时开始按SZ-5416D主控模块上的K1硬件复位后,实验中不要再按复位键,以免实验由于DSP复位而失败。

(四)实验原理

IIR滤波器的函数表达式:

short oflag = iirlat (DATA *x, DATA *h, DATA *r, DATA **d, int nh, int nx)    (定义于iirlat.asm)

参数

x [nx]指向长度为nx的输入向量。

h[nh]指向lattice滤波系数向量,格式如下:

h = b0, b1, b2, b3…

●内存对齐:这是一个环行缓冲区,必须起始于k位边界上(就是说起始地址的k个LSB位必须为0)。其中k为大于log2(nh)的整数,具体解释见TMS320C54X DSP Reference Set 第5-15页5.5.3.4小节。

r[nx]指向实数输出向量。(r 可以等于 x)

d[nh]指向延迟缓冲区。

●在多重缓冲区方法中,该向量在进行第一次块操作时应该初始化为0;在后面的块操作中,延迟缓冲区保存着计算r所必须的输入值。

●内存对齐:这是一个环行缓冲区,必须起始于k位边界上(就是说起始地址的k个LSB位必须为0)。其中k为大于log2(nh)的整数,具体解释见TMS320C54X DSP Reference Set 第5-15页5.5.3.4小节。

nx输入输出向量长度
nh系数向量长度
oflag溢出标志  

●若 oflag = 1, 则运算中产生32位溢出

●若 oflag = 0, 运算中未产生32位溢出

说明

使用储存于向量h中的系数计算实IIR lattice滤波。输入数据存于向量x中,输出存于向量r中。该例程的延迟缓冲单元保存着继续进行操作所必须的数据,可以进行块滤波操作,也可以进行单个数据滤波(nx=1)。

算法

eN[n] = x[n]

ei-1[n] = ei[n] + hie’i-1[n-1],            i = N, (N-1), …., 1

e’i[n] = -kie i-1 [n] + e’i-1[n-1],            i = N, (N-1), …., 1

y[n] = e0[n] = e’0[n]

(五)实验步骤

(1)启动CCS,编写实验程序代码(可参考随机光盘中的alldsp4\\Simulator\\iirlat例程),进行编译并加载到DSP中。

   (2)全速运行,并打开波形观察窗口,跟踪观察其执行过程和滤波效果。

此处举例介绍随机光盘里的例程LATTICE IIR滤波器的程序运行,以及如何观察滤波效果:

①先打开项目,然后编译、加载实验程序.                   

②全速运行实验程序,然后我们打开波形观察窗口,路径是View—Graph—Time/Frequence,将出现如下图一所示的图形属性框,因为本程序编写的是输入量放在0x2000中,而滤波后的输出向量放在地址0x100中,因此图形属性框显示输入数据波形是应选择如图二所示,当观察滤波后的波形是只需在图一的基础上在Start Address一栏中输入0x100,然后点击“OK”就可打开图形观察窗口如图二。

 同样为了更直观的观察其滤波效果,可以观察信号的频谱图。方法是如打开波形观察窗口一样只需在图一所示的Display Type一栏中选择FFT Magnitude,然后在signal type一栏中选择real即可,得出的频谱图如图三所示,同样输出数据的波形也只需再修改一下地址0x100即可。

图一  图形属性窗口

                      图二 输入数据波形

       

图三 输入数据的FFT频谱图

图四  输出数据波形

          图五 输出数据的FFT频谱图                 

具体实验程序请参考:随机光盘里的文件夹。

 (六) 实验思考

根据上述低通IIR滤波器的设计方法设计使用5个参数的IIR滤波器。下载本文

显示全文
专题