西安交通大学嵌入式系统专题实验报告5

“嵌入式系统专题实验”实验报告五

实验日期:2015年11月15日提交日期:2015年11月22日

班级:姓名:学号:

一、实验简介与目的

在这一部分中,我们将利用多种不同方法实现FIR滤波器。

实验基本内容:

1.1字长增长

1.2使用FDATool Block设计滤波器

二、实验内容与步骤

为了说明字长效应的影响,我们当然只能选择有限精度的信号。在本例中,我们让输入信号为2位整数。因此信号x[k]的范围在-2和1之间。我们将考虑滤波器系数为8位的情况,即w的范围在-128和+127之间。

2.1 简单FIR滤波器

打开以下系统:\filter\cut_set\FIR1\FIR1.mdl

图2.1.1

2.1.1 关键路径:延迟最长的路径=w0x k+w1x k?1+w2x k?2+w3x k?3,

即左侧第一条链路。

2.1.2 运行该系统并在示波器中观察其冲激响应

2.1.3观察加法链上的字长变化并验证字长由8位增长到10位。

2.1.4 使用System Generator模块生成所需ISE工程文件。打开ISE工程,对该设计经行时序模拟以及布局与布线(Place & Route),然后完成下列表格。

2.2 时序变更

打开以下系统:\filter\cut_set\FIR2\FIR2.mdl

2.2.1运行该系统并在示波器中观察其冲激响应。

2.2.2使用System Generator模块生成所需ISE工程文件。打开ISE工程,对该设计经行时序模拟以及布局与布线(Place & Route),然后完成下列表格。

2.3转置FIR滤波器

打开以下系统:\filter\cut_set\fir_transpose\fir_transpose.mdl

2.3.1运行该系统并在示波器中观察其冲激响应。

2.3.2 使用System Generator模块生成所需ISE工程文件。打开ISE工程,对该设计经行时序模拟以及布局与布线(Place & Route),然后完成下列表格。

2.4减小转置FIR 滤波器的关键路径长度

打开以下系统:\filter\cut_set\fir_transpose2\fir_transpose2.mdl

2.4.1运行该系统并在示波器中观察其冲激响应。

2.4.2 使用System Generator 模块生成所需ISE 工程文件。打开ISE 工程,对该设计经行时序模拟以及布局与布线(Place & Route ),然后完成下列表格。

2.5 减小转置FIR滤波器的关键路径长度

在该实验中,我们将接触到许多种不同设计结构的FIR滤波器。他们的实现结构包括各种不同组合的LUT,Slice逻辑结构,块乘法器,以及不同类型的延迟线。

2.5.1 采用SRL16s延迟线结构的FIR滤波器\filter\fir_srl16\fir_srl16.mdl:

2.5.2采用FF延迟线结构的FIR滤波器\filter\fir_ff\fir_ff.mdl:

2.5.3采用分布式运算核心的FIR 滤波器\filter\fir_ff_da\fir_ff_da.mdl :

2.5.4采用块乘法器的FIR滤波器\filter\fir_block\fir_block.mdl:

2.5.5 采用线性乘加(MAC)和一个块乘法器的FIR滤波器\filter\fir_MAC\fir_MAC.mdl:

利用FDATool 模块能够轻松且快速地设计数字滤波器。FDATool 模块在一般情况下与FIR 滤波器模块一起使用,利用FDATool 设计好的滤波器系数直接可用于FIR 滤波器模块上。

2.6设计低通FIR 滤波器

2.6.1打开以下系统:\FDA_block\FDA_cosim.mdl 2.6.2打开模块并设定参数:(单位:Mhz )

Fs : 1.5(采样频率)Fpass : 0.2(通带频率)Fstop : 0.3(阻带频率)

2.6.3单击Design Filter 后点击

查看冲激响应,显示如下:

2.7将设计好的系数用于FIR 模块

为了要将设计好的系数用于FIR 模块,我们必须要用到MatLab 函数。该函数名称为xlfda_numerator('MyFilter')。调用该函数将返回FDATool 模块(模块名称为‘MyFilter’)的传递函数的分子(FIR 滤波器的传递函数分母为1)。注意模块的名称是可以改变的。

2.7.1 打开FIR 模块并在系数栏输入:xlfda_numerator('MyFilter')并单击键盘回车。此时FIR 窗口将关闭并且FIR 模块上将显示它有39个抽头(38阶)。

2.7.2重新打开FIR 模块并输入以下值然后关闭窗口:

2.8运行系统并观察实际运行中的滤波器

2.8.1 现在运行该系统,输入采用0 –750kHz的Chirp(线性扫频)信号。你将看到处于300kHz频率范围完的频谱部分被极大的衰减(红色)。很明显红色的信号是滤波器的输出。

2.8.2 停止模拟切换输入信号为随机信号源。重新运行该系统,可以观察到滤波器的输出特性与使用FDATool工具设计的特性相一致。

2.9运行硬件协同模拟

2.9.1 生成一个System Generator模块。生成后按下图方式连接:

2.9.2 连线完成后,打开JTAG CO-Sim模块,可以看到它指向由该设计的生成一个比特流文件。当开始模拟时,该比特流文件将被装载至硬件板上同时配置FPGA。

2.9.3 接通板子电源并运行模拟过程。在FPGA配置期间请耐心等待。最终可以看到两个模拟过程被同时进行。Simulink开关可以被切换至任意一种输入信号。

三、结论与感想

本次实验中我掌握了使用不同方法实现滤波器,了解字长效应的影响,还有时序变更、转置对FIR滤波器的影响,以及如何减小转置FIR关键路径的长度,观察它们的冲激反应

并获取相关参数。此外,还学会了使用FDATool Block设计滤波器。

相关文档
最新文档