网上斗牛

2018届优秀毕业论文(一)

作者: 时间:2018-09-12 点击数:

基于FPGA的FIR滤波电路设计

电子科学与技术   201410102   聂言硕

指导教师   张彩珍教授

 要:FPGA内部有着规整的内部逻辑块阵列和丰富的连线资源,适用于解决数字信号处理问题。在数字信号处理中,滤波占据举足轻重的作用。本文在对FIR滤波电路基本工作原理进行深入分析的基础上,选用了全串行直接型结构、可调参数的凯塞窗函数,利用MATLAB软件提供的FDATool工具确定了滤波器的系数,利用QuartusⅡ开发环境,在Altera公司的CycloneII系列FPGA器件中完成了低通FIR滤波器的设计实现。在MATLAB软件中合成了一个采样频率为100KHz的高斯白噪声对设计结果进行仿真测试,仿真结果表明设计的滤波器对20KHz以上的高频分量具有明显的抑制效果,滤波器系数量化位数越大,滤波器的滤波效果越好。

关键词:FPGA数字信号处理,滤波器

1  引言

在数字信号处理中,滤波占据举足轻重的作用。数字信号处理和分析过程中关键的一步是数字滤波,信号在传输过程中极易受到噪声的干扰,所以信号的获取和传输都离不开滤波技术[1]。另外滤波器还被应用于心电信号的降噪处理,滤波电路在医学领域的应用可以帮助医生正确诊断与心脏有关的疾病[2]

采用FPGA 来实现FIR滤波电路,不仅可以实现字长和阶数的提高,而且可以提高实时性,这是因为程序并行执行,使程序运行周期缩短[3]

2  FIR滤波电路硬件设计

2.1  原理分析

FIR滤波器,即有限脉冲响应滤波器,LFIR滤波器的单位取样响应为[4]

                               式(2.1

LFIR滤波器的输出y(n)可表示为输入时间序列x(n)与单位取样响应h(n)的离散线性卷积:    

                    式(2.2

对滤波器的单位取样响应h(n)进行Z变换,作频域分析,当FIR滤波器单位取样响应h(n)满足对称条件时FIR滤波器系统具有严格地线性相位特性。

2.2  实现结构

滤波器的直接型结构可以根据式2.2分析得出,其结构如图1所示,图中 表示信号延迟一个采样周期。

1  直接型结构

MATLAB设计的滤波器系数自动具有对称特性,这样就可以对直接型结构进行简化,使x(n)项与x(L-n)项预相加,这样增加5个加法器但可以省去4个乘法器,简化后的结构如图2所示。

程序的执行方式会影响资源占用与速度,并行方式会占用大量的硬件资源;串行方式下可以节省大量硬件资源,但速度较慢。由于FPGA本身具有高频率的时钟,所以这次设计选择了全串行直接型结构。

2  简化后的直接型结构

2.3  系统组成框图

从图2中可以看到完成卷积计算需要一个计数器模块完成时序控制、一个移位寄存模块完成数据输入和移位、一个滤波器系数预置模块完成输入序列预相加的选择和系数的选择、一个加法器模块完成输入序列的预相加、一个乘法器模块和一个累加器模块,系统组成框图如图3所示。

3  系统组成框图

2.4  窗函数和系数的确定

窗函数用于对模拟滤波器的冲激响应进行截取,理想的窗函数应该具有最小的主瓣宽度和最小的阻带衰减。通常在选取窗函数时应遵循以下几点原则:具有较低的旁瓣幅度,尤其是第一旁瓣幅度;旁瓣幅度下降速率要大,以利于增加阻带衰减;主瓣的宽度要窄,以获得较窄的过渡带。通常情况下上述几点是很难同时满足的所以,在窗函数的选取是往往是以上几点的折中,以达到最好的滤波效果。表1 是几种常用窗函数的参数表。

1  几种常用窗函数的参数表

窗函数

旁瓣峰值幅度(dB)

归一化过渡带

最小阻带衰减(dB)

矩形窗

-13

4/N

-21

汉宁窗

-31

8/N

-44

海明窗

-41

8/N

-53

布拉克曼窗

-57

12/N

-74

凯塞窗(β=0.7856)

-57

10/N

-80

凯塞窗是一种可调参数的窗函数,过渡带可控。β=0.7856时,与布拉克曼窗相比,凯塞窗在过渡带和阻带衰减方面都要优于布拉克曼窗。

确定滤波器的设计参数就可以通过MATLAB软件提供的滤波器设计分析工具FDATool[5]来确定滤波器的系数,表2为低通FIR滤波器的设计参数,表3MATLAB导出的8FIR滤波器量化后的系数。

2  低通FIR滤波器的设计参数

采样频率

截止频率

窗函数

最小阻带衰减

阶数

输入数据位宽度

输出数据位宽度

100KHz

20KHz

Kaiser

20dB

8

4

11

3  8FIR滤波器系数

滤波器系数

h0

h1

h2

h3

h4

h5

h6

h7

h8

量化系数值(补码)

F

F

2

5

7

5

2

F

F

2.5  设计实现和仿真

子模块和顶层的设计、编译和仿真都是在Quartus [6-7]环境中完成的,使用VHDL语言进行子模块和顶层的设计。顶层编译成功就会生成8FIR滤波器的RTL图,如图4所示 。

4  8FIR滤波器的RTL

为了验证设计的FIR滤波电路是否满足设计要求,在MATLAB软件中仿真合成了一个采样频率为100KHz的高斯白噪声、10KHz正弦信号和30KHz正弦信号的测试信号,图5为测试信号量化前后的时域波形图。从图5(a)(b)的频谱图对比可以看到测试信号中的两个主频率为12KHz32KHz,与目标信号有所偏差,这是采样频率较低造成的,但这不影响进行仿真。表4为测试信号量化后的部分采样点数据。

(a) 量化前的测试信号                             (b)  量化后的测试信号

5  测试信号量化前后的时域波形图

4  量化后的采样点数据

采样点

1

2

3

4

5

6

7

8

9

10

11

12

131

14

15

16

量化后的采样值

1

5

1

1

5

0

-5

-1

-1

-4

0

5

1

1

4

0

采样点

17

18

19

20

21

22

23

24

25

26

27

28

29

3031

31

32

量化后的采样值

-5

-1

-1

-4

0

5

0

1

4

0

-4

-1

-1

-5

1

5

采样点

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

量化后的采样值

1

1

4

0

-4

-1

-2

-4

0

4

2

1

5

0

-4

-1

将量化得到的波形采样点数据编辑到波形仿真文件中进行功能仿真,仿真结果如图6所示6Yout即为滤波器的输出,表5为滤波器的部分输出数据点,为了能够清楚的看到波形变化,在MATLAB将滤波后的输出数据绘制成了波形图,如图7所示

6  仿真结果

.5  输出数据点

输出点

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

输出值

-1

-6

-4

13

28

42

54

52

28

-1

-3

-5

-5

-2

6

输出点

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

输出值

320

556

523

22

-6

-32

-55

-51

-21

4

27

47

46

22

1

输出点

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

输出值

-24

-53

-25

7

35

57

51

24

0

-27

-54

-57

-31

-1

30

                                               

3  系数量化位数对精度的影响

                                               

4  结论

MATLAB中的验证结果看,所设计的滤波电路对20KHz以上的高频分量具有明显的抑制效果,所以设计的滤波器是满足频率要求的。另外滤波器系数量化位数以及输入数据量化位数的提高可以提高滤波器的精度;采样频率较低不能模拟波形的真实变化,采样频率较高会影响运算速度以及资源占用,所以选择一个合适的采样频率是非常关键的。

参考文献

[1] ()谷荻隆嗣.数字滤波器与信号处理[M].北京:科学出版社,2003.

[2] Surender Kumar,Rajesh Mehra,Chandni.Implementation and Designing of FIR Filters using Kaiser Window for De-Noising of 斗牛lectrocardiogram Signals on FPGA[C].I斗牛斗牛斗牛 Power India International Conference.2016:1-6.

[3] 刘福泉.基于FPGAFIR数字滤波器实现[D].北京:北京邮电大学,2012.

[4] ()Won Y.Yang,Tae G.Chang,Ik H.Song.信号与系统(MATLAB)[M].北京:电子工业出版社,2012.

[5].MATLAB建模与仿真[M].北京:清华大学出版社,2013.

[6] 潘松,黄继业.斗牛DA技术与VHDL(第四版)[M].北京:清华大学出版社,2013.

[7] 杜勇,路建功,李元洲.数字滤波器的MATALABFPGA实现[M].北京:电子工业出版社,2013.

Design of FIR Filters Based on FPGA

斗牛lectronic science and technology   201410102   Nie Yanshuo

Instructor   Zhang Caizhen(Professor)

Abstract: There are regular internal logic block array and abundant connection resources in FPGA, so it is especially suitable for digital signal processing tasks. Filters play an important role in digital signal processing. In the paper, on the basis of the deeply analysis on the basic working principles of FIR filters, the structure of all-serial direct type and Kaiser window with adjustable parameters were  selected, FDATool in MATLAB software was adopted to confirm the coefficients of the filter, a low-pass FIR filter in Cyclone II devices of Altera was designed by means of the QuartusII developing environment. A white Gaussian noise with sampling frequency of 20KHz was composed in MATLAB to simulate and test the design results. The simulation results show that the designed filter has a significant suppression effect on high frequency components above 20 KHz, and the larger the quantization bits of the coefficient of filters, the better the performance of the filter.

Keyword:FPGADigital Signal ProcessingFilter

Copyright ? 2017   Powered by    兰州交通大学网上斗牛   All Rightseserved.

地址:兰州交通大学电信学院办公楼    邮编:730070