毕业论文-基于fpga的iir数字滤波器的实现内容摘要:

1 3 1 0 7 1 1 3 2 5 2 4 3 6 2 5 2( ) ( ) ( ) 1 1 6 1 8 6 6 2 1 1 8 1 8 9 1 3z z z zH z H Z H z z z z z                ( ) 滤波器系数的验证 另外我们采用高级编程 C语言进行编程、仿真、验证其输出结果 [13]。 以下为用 C语言所编写滤波器级联结构源程序: include include include include include include include include include void main() { int i。 本科毕业设计说明书 第 12 页 共 32 页 int x0,x1,x2,y0,y1,y2,q0,q1,q2。 FILE *fp。 x0=0。 x1=0。 x2=0。 y0=0。 y1=0。 y2=0。 q0=0。 q1=0。 q2=0。 system(cls)。 fp=fopen(d:\\,wt)。 printf(Press any key to continue when ready\n)。 printf(or Press ESE to Cancel\n)。 getch()。 for(i=0。 i500。 i++) {x2=1600。 if(i==200) x2=3200。 if(i==350) x2=800。 y2=(113*x2107*x1+113*x0+1618*y1662*y0)/1024。 q2=(252*y2436*y1+252*y0+1818*q1913*q0)/1024。 y0=y1。 y1=y2。 x0=x1。 x1=x2。 q0=q1。 q1=q2。 printf(%d %d\n ,x2/16,q2/16)。 fprintf(fp,%d %d\n ,x2/16,q2/16)。 } fclose(fp)。 } 该验证过程的输入信号是一个直流信号 100,在直流信号输出稳定后加上一个高脉冲 200,一个低脉冲 50,在初始状态时,信号的值初始化为 0,当 X信号经过连续的输入,信号逐渐稳定,并输入 IIR滤波器的差分方程进行滤波,将干扰 脉冲滤掉,输出直流。 程序首先进行系统清零,打开 D盘 data0 文本文件,当准备好时,按任意键开始程序,也可按 ESE 键退出,程序编译、仿真的结果输出到 观察。 通过编译、仿真的输入输出数据如下表所示: 本科毕业设计说明书 第 13 页 共 32 页 表 部分仿真数据 输入数据 输出数据 输入数据 输出数据 输入数据 输出数据 100 4 100 101 200 102 100 8 100 100 100 101 100 14 100 100 100 103 100 21 100 100 100 105 100 30 100 99 100 106 100 40 100 99 100 108 100 51 100 98 100 109 100 62 100 98 100 110 100 74 100 98 100 110 100 85 100 98 100 111 100 95 100 98 100 110 100 104 100 98 100 109 100 110 100 98 100 107 100 114 100 99 100 105 100 116 100 99 100 103 100 116 100 99 100 101 100 114 100 99 100 99 100 111 100 99 100 97 100 107 100 99 100 96 100 102 100 99 100 95 经过验证可知,滤波器的级联系数符合设计要求,并且 IIR系数正确。 本科毕业设计说明书 第 14 页 共 32 页 3 IIR 数字滤波器的设计与实现 系统原理图 根据需要设计的 IIR 原理框图 如下 图 IIR原理框图 选用器件介绍以及各部分原理说明 A/D 转换器 MAX153 它 是采用半闪存技术的高速 8位模数转换器,在本设计中 它 将经过放大的模拟信号由 Vin 输入,经过转换由 D0~ D7 输出 8位数据到 FPGA 的 I/O 口, 它的芯片图以及在本设计的接法如下图 : 图 MAX153 主要引脚介绍 VIN 模拟电压输入 , DDV VREF VI N VREF    D0~ D7 数据输出端口 ,与 FPGA 的 I\O引脚相连 /WR RDY 写控制输入 /准备状态输出 A\D MAX153 CLK 四阶 IIR FPGA 设计 DIN DOUT DO 90 A180 存储芯片 DAC0808 模拟 信号 模拟 信号 本科毕业设计说明书 第 15 页 共 32 页 MODE 状态选择输入 ,MODE=0 读状态 , MODE=1 读 /写状态 ,本设计是将 MODE置为高电平 1。 RD 读输入 ,低电平有效 INT 中断输出 , 低电平有效 GND 接地引脚 VREF 参考电压 ,Vss VREF VREF    VREF 参考电压 , DDV R E F V R E F V    CS 片选端 , 低电平有效 VSS 单极 VSS=0,双极 VSS=1,本设计 VSS=0 VDD VDD=+5V FPGA 芯片 以下是在本设计中用到的 FPGA 芯片是 EPF10K10LC84 它的连接图如下图 : 图 FPGA电路 本科毕业设计说明书 第 16 页 共 32 页 FPGA 配置芯片- EPC2LC20 EPC2LC20 是 Altera 公司 FLEX10K 系列器件的 EPROM 配置芯片,具有低功耗,并且在等待状态下消耗几乎是零的优点, 5V 或者 供电,在软件方面由 Altera公司的 MAX+PLUS II 进行烧录程序,封装采用 PLCC20 或者 TQFP32,本设计采用 5V供电。 以下是它的芯片图以及与 FLEX 10K 芯片的配置图。 图 EPC2LC20芯片图 图 配置图 选通器 74HC245 它是双向总线数据缓冲器又称选通器 ,芯片图和具体 功能表如下 : 图 74HC245 本科毕业设计说明书 第 17 页 共 32 页 表 模式功能表 该芯片是由方向控制引脚 DIR 和输出使能端 OE(低电平有效 )的高低电平进行控制可以使数据从 A 总线到 B 总线 ,也可以从 B 总线带 A 总线进行传输。 VCC 是供电端 ,电压从 2V 到 6V。 DAC0808(D/A)转换器 DAC0808 是一个 16 引脚的 8 位数模 (D/A)转换器 ,它的一些参数如下 解析度: 1/256 精确度: % 安定時間: 150ns 线性度: 177。 1LSB 输出形态:电流输出 图 DAC0808芯片图 DAC0808 的引脚功能介绍 : A1~ A8: 数据输入引脚,其中 A1 是最高位, A8 是最低位。 Vref(+): 参考电压 ,串联一个电阻 (R1)外接一正电源,以便产生参考电流输 入 端 功 能 OE DIR L L 数据由 B 到 A L H 数据由 A 到 B H  不传输 DAC 0808CO MPE NV ref ()V ref (+)V ccA8A7A6A5161514131211109A4A3A2A1IoV EEGNDNC876543。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。