基于Matlab与Verilog+HDL的FIR滤波器设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
59.70%
100.oo% 81.54%
从产出方面分析,DEA值较低的原因主要是所获嘉奖等级、次数的 产出不足造成的。
参考文献 [1]魏权龄.评价相对有效性的DEA方法[M].中国人民大学出版 社.1988. [2]苏时光.普主成分分析及其在多指标评价体系中的应用[D].中
国农业大学,2004. [3]樊华.DEA/PCA模型在科技绩效评价中的应用淮海工学院学
II.1995,42:5692577.
(上接第82页)
为进一步分析没有达到DEA有效的派出所存在
的问题,我们借助于投影分析,将非DEA有效的决策单元转变为DEA
有效时,找出在输入、输出方面的改进工作以及应达到的目标,为今后
提高管理效率提供参考信息。
表3简化后的输入输出指标
X,
Y12
Y13
DMUl
55
图7滤波前后的心电波形对比图 由示波器的输出波形可以看到,滤波处理几乎没有延时,此FIR滤 波器对于原始心电信号的50Hz工频干扰、基线漂移、谐波干扰等起到 了一定抑制作用,达到了较好的滤波效果。 4.结论 本系统较好地完成了基于Matlab与Verilog HDL的FIR滤波器的 设计与实现。其中采用的并行流水结构拆分了大的组合逻辑,而未占用 紧缺的内嵌乘法器资源,这对FPGA而言是一种先进的设计结构,提高 了本系统的整体性能,具有较好的工程应用价值。文中的Matlab信号分 析方法可针对不同的输人数据,加大了系统的可移植性,并且滤波器系 数只需在编程时调整即可实现实时滤波处理,因此系统具有较好的灵 活性和实用性。
参考文献 [1]王钿,卓兴旺.基于VerilogHDL的数字系统应用设计(第2版) [M].北京:国防工业出版社,2007. [2]陈怀琛.MATLAB及在电子信息课程中的应用(第三版)[M]. 电子工业出版社,2006.3. [3]江健康.基于Verilog HDL的FIR.数字滤波器设计与仿真[1]微 计算机信息,2007.03—2—0206—02. 1 4 JDemp ster A,Macleod M.Use of Minimum2Adder Multip her Blocks in F IlL Distal Filters LJ J.IEEE Transactions onCircuits and Systems
万方数据
科技信息
高校理科研究
TLC5510,为了提高抗干扰能力,用20MHz有源晶振作为第一级采样控
溪黥 :F群燃I。荆陌塑砟堂P紧 制TLC5510对外围的心电信号高速采样,并将其采样保存到FPGA内
部寄存器;第二级采样为软件采样,即由FPGA采样控制模块从寄存器 中提取第一级采样结果,该级采样率可调,选取为8KHz。
构的方式,用VerilogHDL编程实现对特定心电信号的滤波,取得较好的滤波效果。 [关键词]Maflab 心电滤波FIR并行流水
1.引言
随着数字科技的日益发展,数字滤波器较之传统的由R、L、c元件
和运算放大器组成的模拟滤波器有着无可比拟的优势。常用的数字滤
波器有无限冲击响应(tin)数字滤波器和有限冲击响应(FIR)数字滤波
O.95
4
DMU2
80
0.95
13
DMU3
96
O.99
O
DMU4
67
O.96
24
DMU5
71
1
0
从投入方面分析,非DEA有效的派出所有一个共同特点,就是年度
万方数据 ...——84....——
“使用经费”的投入剩余率为零,这说明派出所的资金利用率较高。 表4
I派出所
A
B
C
D
E
指数
100.00% 75.19%
图5 FIR并行流水滤波器实现结构图 从图5可知,带噪的心电信号数字量按照先后次序进入到17个D 触发器型寄存器中暂存,然后由对称性将前后两个对称值相加,并在加 法器和乘法器后面都插入相应的流水寄存器,相乘后的结果用平行的 加法器树的结构实现相加。由于本系统是17阶的FIR,因此有9阶对 称系数,实现时只需5级流水,亦即:16个输入用8个加法器相加构成 第一级流水;9个并行乘法器构成第二级流水;得到的8个中间值两两 相加构成第三级流水;得到的4个中间值两两相加构成第四级流水;最 后得到的2个中间值两两相加构成第五级流水。使用Verilog HDL语言 分别编写此FIR滤波系统所用到的模块:D触发器型寄存器、加法器、 乘法器和加法器树,然后在Quartus II中按照以上的并行流水实现结构 用版图的方式来构建系统。编译后进行系统仿真得到如图6的仿真结 果。仿真波形显示该FIR滤波器正常工作,并且在一个时钟周期能完成 一次滤波处理。另外,编译综合的结果显示:系统使用了696个LEs(逻 辑单元),没有使用内嵌乘法器,系统运行最高时钟频率是161.63MHz。 把编译生成的sof文件通过rrAG口可以下载到FPGA中。
科技信息
高校理科研究
基于Matlab与Verilog HDL的FIR滤波器设计与实坝
陈新锐1林卿:唐晓虎, 叶志祥1 (1.广西师范大学电子工程学院 2.广西师范大学物理科学与技术学院)
[摘要]本文设计并实现了一种基于Matlab与Verilog HDL的FIR滤波器。借助Maflab强大的数值运算功能,对原始的心电波形 数据进行频谱分析从而确定滤波器的抽头系数,利用FIR具有的严格线性相位、稳定性高等特性,采用加接寄存器形成并行流水结
h(n)-h(N一1一n)
(2)
当N为偶数时,
N/2-1
H(z)=乞h(n)(z、z呻“,
(3)
n=O
当N为奇数时,
(N-Iv2一l
,N-1、
H(z):∑h(n)∽舻-州掣一刊
(4)
n--0
二
简单而言,一个N阶或者长度为N的HR实质就是输入时间序列
x(n)与滤波器脉冲响应h(n)(亦称抽头系数)的有限线性卷积过程,即
报(自然科学版),2005.6,14(2).
图4 FIR心电信号滤波的系统框图 系统的电平转换模块。由于TLC5510信号输出高电平时对应的电 压是+5V,而康草核心板I/O口在高电平状态下为3.3V,接口之间存在 着电压差,因此需采用74HC245进行数据缓冲,以保证系统的安全和 稳定。 系统的FIR滤波模块。FIR滤波器有3种常用的实现方法:串行结 构、并行结构和分布式结构。考虑到本系统的阶数N较大,而且硬件资 源和实现速度要均衡,所以选取了如图5的并行流水的实现结构。
原始语音信号频谱 20
15
10
5 0
1
一
^k.。
0
500
1000
1500 2000
2500
3000
3500
4000
m
图1带噪心电信号的频谱图
频率响应图
已
辄 帕帅 乏
晰 删 洲 rn^胪。
晰
…州
50
O
01
02
ห้องสมุดไป่ตู้
03
O 4 05
06
07
08
09
1
No rmalized Frequency(×m rad/sample)
原始心电信号
滤波后的信号当N}”
图3当N=17时FIR滤波效果图 由图3可以发现当N=17的时候,心电信号已经变得很平缓,噪音 部分被拉得很平,再结合所用硬件资源的考虑,最终选取N=17作为最 逼近理想滤波器特性的滤波器长度即滤波器的阶数。由于此心电信号 是一个频率为2KHz的正弦波,采样频率为8KHz,将奈奎斯特频率 (4KHz)作为参考频率进行归一化处理,则心电信号的归一化频率为0.5, 可以设定带通滤波器的通频带边带频率为1KHz和3KHz,则此滤波器 相对应的归一化频率为Wc。=O.25,Wa=O.75。接下来打开Matlab的 FDATool工具箱,选用汉宁窗进行带通FIR滤波器设计,输入上述已经 设定的滤波器参数,即可生成实际所需的FIR滤波器的17个抽头系数 (单位脉冲响应),由于抽头系数h(n)的值都是些很小的带符号小数,因 此设计中对所得的这些抽头系数采取分别乘以256并取整的方式以得 到能在FPGA中处理的抽头系数。 3.心电信号FIR滤波器的硬件实现 本系统核心是康草V3.0核心板,其主芯片采用Cyclone II—EP2C 20Q240C8N,片上资源包括:18752个LEs,24KbitsRAM,26个内嵌乘法 器,4个锁相环,142个IO脚。选取核心板上的I/O引脚作为AD/DA的 接入、板上电源接出等使用。FIR心电信号滤波系统由4大模块组成, 系统框图如图4所示。 系统的AD模块。采用11公司的8位高阻抗并行A/D采样芯片
图2带噪心电信号的频率响应图
从图1可看出带噪信号中的有效心电信号能量集中在2KHz和
6KHz附近,而系统所用的信号采样的频率为8KHz。因此需要选用带通 滤波器来对信号进行滤波处理(带通滤波器(band—pass filter)是一个允 许特定频段的波形通过同时屏蔽其它频段的器件)。再通过观察信号频 率响应如图2所示,可看出其增益在—40dB左右,这为选取窗函数具体 形式提供了依据。
系统采用窗函数法来设计HR滤波器,由于汉宁窗函数为:
w(n)=丁1{1一cos(;署)l,n=o“1一,N一1
(6)
当N一1一N,其幅度函数
w小)=o.5W舯0.25[Wn(w一簪)栅n(w_等)l
(7)
可看出w—w)由三个部分相加而成,使得能量更集中在主瓣上,且 由于汉宁窗过度频带较宽,旁瓣峰值幅度为一31dB,阻带最小衰减为 一44dB,因此本系统选取汉宁窗设计一个带通滤波器,基本符合设计要 求。用Matlab编写FIR滤波器程序,并不断改变汉宁窗的窗口长度N 可以得到滤波信号波形如图3所示。
图6 FIR滤波器的仿真结果 系统的DA模块。采用双列直插式8位转换器DAC0832,设置其为 单缓冲工作方式,只要有数字信号进入转换电路,就开始D/A转换,无 需启动信号。 综上便构成了完整的FIR滤波系统,在系统音频接口端输入带噪 的心电信号,用示波器在DA输出端可以检测到得到实时的心电信号 滤波输出如图7所示。
逻辑器件(FPGA)的发展迅猛,现多集成了中央处理器(CPU)和数字处
理器(DSP)等硬核,可以很好的解决并行性和速度问题,是现今电子设
计的发展趋势之一。
2.FIR滤波器的原理概述及Matlab分析设计
FIR滤波器的一般形式为
N—l
H(z)=乞h(n)z“
(1)
n=O
它的重要特点是可设计成具有严格线性相位的滤波器,此时n(z) 满足偶对称或奇对称条件。其单位冲击响应有如下特性:
器两种。由于FIR数字滤波器具有在设计任意幅频特性的同时能够保
证严格的线性相位特性、稳定性强、精度高、速度快等特点,因而得到了
较为广泛的应用。Matlab具有强大的数值运算及分析功能,可以对数字
滤波器进行快速精确的设计,因此文中采用它对带噪的心电信号作
FFTI’频谱分析和频谱图显示,从而确定滤波器的相关系数。现场可编程
N—l
y(n)=x(n)xh(n)=乞h(i)x n—i)
(5)
n---O
因此,HR滤波器的参数设计可以归结为阶数N和脉冲响应h(n)的
选取。
本文所用心电数据来自医院临床采集的带噪心电way音频格式数
据,通过使用MATLAB对带噪的单个心电信号取512点数据进行F兀'
分析,得到带噪心电信号的频谱如图l所示。