基于FPGA的FIR滤波器设计_图文_第1页
基于FPGA的FIR滤波器设计_图文_第2页
基于FPGA的FIR滤波器设计_图文_第3页
基于FPGA的FIR滤波器设计_图文_第4页
基于FPGA的FIR滤波器设计_图文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本科生毕业论文(设计 题目 :基于 FPGA 的 FIR 滤波器设计学 院 电子信息工程学院 学科门类专 业学 号姓 名指导教师2015年 05月 06日摘 要随着数字技术的发展,数字滤波器广泛应用于语音与图像处理、模式识别、雷达信号 处理、频谱分析等领域,它具有精度高、灵活性大等突出特点,而现场可编程门阵列器件 (FPGA有着规整的内部逻辑阵列和丰富的连线资源, 特别适合于数字信号处理任务,通过 FPGA 实现 FIR 数字滤波具有实时性高、处理速度快、精度高的特点。本文研究的是基于 FPGA 实现一个 16阶的 FIR 数字低通滤波器的设计。 本次设计首先利 用 MATLAB 中滤波器设

2、计工具 FDAtool 工具设计 FIR 滤波器系数,再利用 Matlab 中的 Simulink 库文件下的 DSP Builder库中的各个模块搭建 FIR 滤波器系统,然后在 Simulink 里进 行了仿真,并编译生成 VHDL 语言,再通过 Quartus II 软件对生成的 VHDL 程序进行编译和 仿真, 并利用 Matlab 对仿真结果进行了分析, 证明所设计的 FIR 滤波器功能的正确性, 最后 通过硬件实现时。本次硬件设计中,采用 Altera 公司的 FPGA 器件作为核心器件,此外,由于整个系统的 输入输出全部是数字信号,因此需要添加 AD (模数转换模块和 DA (数

3、模转换模块。关键词:FPGA ; FIR 滤波器; FDAtool ; Simulink ; VHDLAbstractWith the rapid development of digital technology, digital filter had widely used in voice and image processing and model recognizing and radar signal processing and frequency analysis filed and so on. It is very precise and flexible. There a

4、re regular logical array and rich wire resource in FPGA. It is very suitable for digital signal processing. And it is very good for designing digital filter by using FPGA.In this paper, this design is the 16 order FIR low-pass filter based on FPGA. First, we use FDAtool to design the value of filter

5、. Then, we build up the filter system by using DSP Builder. And then we simulate this system to verify it s validity.During the hardware design, what we use core device is from Altera company. In addition, we need add AD and DA model for the system because the input and output of this system is digi

6、tal signal.Key Words:FPGA; FIR filter; FDAtool; Simulink; VHDL目 录摘要 . I Abstract . I I 1. 引言 . . 1 1.1研究背景及意义 . 1 1.2国内外研究现状 . 11.3本论文的研究内容及主要工作 . 24. FIR 滤波器的硬件实现 . . 19 4.1系统硬件 . 19 4.2硬件调试 . 234.3数据误差分析 . 255. 总结 . . 错 误!未定义书签。 参考文献 . 27致谢 . 281. 引言滤波技术是非常重要的一门技术,它在信号的分析和处理过程中都是必不可少的部 分。而当今由于数字信号

7、的发展,使得滤波技术更是得到进一步发展,也就产生了数字滤 波器,数字滤波器是现代信号处理研究和发展不可或缺的因素,数字滤波器相对模拟滤波 器精度高,灵活性大,可靠性好等优点 1。此外,由于数字信号的发展,它不仅能够处理数字信号,而且能够处理模拟信号。在 处理模拟信号时,可以通过 AD 和 DA 转换,在信号形式上进行匹配,也就达到了数字滤 波器对模拟信号的滤波的功能。1.1研究背景及意义在现代通信信号处理领域中,随着各种精密计算和快速计算的发展对信号处理的实时 性、快速性的要求越来越高。以往的模拟滤波器无法克服电压漂移、温度漂移和噪声等问 题, 从而带来了许多误差和不稳定因素。 而数字滤波器具

8、有稳定性高、 精度高、 设计灵活、 实现方便等突出优点。随着数字技术的发展,数字滤波器广泛应用于语音与图像处理、模式识别、雷达信号 处理、频谱分析等领域,它有精度高、灵活性大等突出特点。FPGA 元器件在高速并行处理和数据传输中有独特优势, FPGA 正在前端信号处理中 越来越多地代替 ASIC 和 DSP 。我们需要的就是这种设计周期短,功能密度高,重组时间 短的元器件 2。1.2国内外研究现状在国内外的研究中, FIR 滤波器设计中的乘法算法有并行乘法、串行乘法和采用分布 式算法的乘法 3。其中,分布式算法既可以全并行实现,又可以全串行实现,还可以串并 行结合实现,因此是当今研究的主要方法

9、。实现 FIR 滤波器,主要有软件实现和硬件两种方法来实现。软件实现方法也就是在计 算机上通过编程来实现,这种方式简单,可移植性高。硬件实现即是设计专门的数字滤波 硬件来实现滤波, 可以使用 DSP 处理器实现, 也可以采用固定功能的专用信号处理器来实 现。但是在当今,由于大规模集成电路的发展,使可编程的集成电路成为一种新的方案,采用现场可编程门阵列 FPGA 来实现 FIR 数字滤波器, 可以利用 FPGA 设计的产品具有规 模小、速度快、重量轻、可靠性高、成本低等优点,既能兼顾 ASIC 器件的实时性、又具 有 DSP 处理器的灵活性。1.3本论文的研究内容及主要工作本论文研究的是 FIR

10、 低通数字滤波器的研究与设计以及硬件实现的方法,具体内容分 为五节:第一部分引言主要介绍了本课题的背景及研究意义、国内外现状。第二部分主要介绍了 FIR 数字滤波器的简介以及线性相位 FIR 滤波器的结构和设计方 法。第三部分首先介绍如何利用 Matlab 制定设计指标,提取 16阶 FIR 低通数字滤波器的 抽头数并进行量化,然后利用 DSP Builder 设计滤波器模型,最后生成 VHDL 语言并利用 Quartus II软件进行综合系统仿真和验证。第四部分主要介绍 AD (模数和 DA (数模转换部分电路和原理,以及如何利用硬 件实现 FIR 滤波器。第五部分总结本次设计。2. FIR

11、 数字滤波器设计2.1数字滤波器基础所谓数字滤波器,是指输入、输出均为数字信号,通过数值运算来滤除某些频率成分 的数字滤波器件或者程序。数字滤波器按照不同的分类方法有许多种类,但总的可以分为两大类:经典滤波器和 现代滤波器。本文做研究的属于经典滤波器范畴,经典滤波器从滤波特性上可分为低通、 高通、带通、带阻等滤波器。数字滤波器从实现的网络结构或者从单位脉冲响应长度分类,可以分为无限长单位脉 冲响应(IIR 滤波器和有限长单位脉冲响应(FIR 滤波器 4。FIR 是 Finite Impulse Response是缩写, 是指有限长脉冲响应, 也即指经过 FIR 系统的 单位脉冲响应是一个有限长

12、的序列, H(z为该数字滤波系统的单位脉冲响应 h(n的 Z 变换, 即:-=-=n nzn h z H ( ( (2-1若 h(n为无限长序列,则得到的数字滤波器为 IIR 数字滤波器,又称递归滤波器;反 之,若 h(n为有限长序列,则得到的数字滤波器为 FIR 滤波器,也称非递归滤波器。一个 线形时不变因果滤波器可表示为:-=-=1( (N n n z n h z H (2-2其中 N 为 h(n的长度,即滤波器的长度。FIR 滤波器可以把相位特性设计成线性,因此, FIR 数字滤波器在信号无失真传输、 数据通信、图像传输与处理、语音信号处理等有线性相位要求的领域应用广泛。由于 FIR 数

13、字滤波器实现算法的不同,我们可以把 FIR 滤波器的结构划分为直接型、 级联型、频率采样型和快速卷积型四种基本形式 6。(1直接型按照 (z H 或者卷积公式直接可以画出结构图如图 2-1所示, 这种结构我们称之为直接 型结构网络或者卷积型结构。这是一种最简单的 FIR 滤波器结构,即方便理解,也方便搭 建其模型。1-1-1 -图 2-1 直接型结构(2级联型对 (z H 进行因式分解, 并将共轭成对的零点放在一起, 形成一个系数为实数的二阶形 式。 FIR 数字滤波器的级联型结构如图 2-2所示。其系统函数 (z H 可以表示为:=-+=Ll z a z a h z H 1212111 1(

14、 0( ( (2-3x (z -z y(n 图 2-2 级联型结构级联型的最大特点是可以分别独立调整每个子系统的零点之值,当需要精确控制滤波 器的零点位置时,往往采用这种结构。2.2 FIR 数字滤波器设计方法FIR 数字滤波器的设计方法主要有三种:窗函数法、频率采样法和等波纹逼近法 6。一个理想低通滤波器的幅频特性如图 2-3所示。 (jw d e H 的表达式为:1, ( 0,cjwd c w w H e w w =< (2-4 图 2-3 理想低通滤波器频谱图对 (jw d e H 进行离散时间傅里叶逆变换,得:-=dw e e H n h jwn jw d d (21 ( -=c

15、cw w c jwn nn w dw e sin(21 (2-5 由于该系统是非因果的,为了能够得到一个可实现的系统,可以将 (n h d 截取一部分, 并顺序右移, 使之成为一个因果的有限长序列。 这种方法就好比在时域打开一个窗口一样,因而称为窗函数法。常见的时窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗、凯塞窗等7,常见的六种窗函数特性如表 2-1所示。表 2-1 六种窗函数参数表的比较 频率采样法是一种基于频率域抽样来逼近所要设计的 FIR 滤波器的频率特性的一种方 法 9。频率设计法的基本设计流程如图 2-4所示。 图 2-4 频率设计法流程为了保证 (z H 具有线性相位条件,其单位采

16、样响应 (n h 是实序列,且满足条件1( (-±=n N h n h 。对于 (n h 偶对称的情况来说,线性相位条件如下:( ( (w j g jw d e w H e H = (2-6 w N w 1(21(-= (2-7令 N k w /2=代入式(2-6 、 (2-7 ,得到( ( (k j g d e k H k H = (2-8式中, N k w g g w H k H /2| ( (=, N k w w k /2| ( (=,( (k N H k H g g -=, N 为奇数 ( (k N H k H g g -=, N 为偶数。过渡带的采样点个数 m 与所设计的滤

17、波器的阻带最小衰减 s 有关, 具体如表 2-2所示。 此外过渡带的带宽与采样点数 m 之间的关系为:N m B / 1(2+ (2-9表 2-2 过渡带采样点数与阻带最小衰减的关系 等波纹最佳逼近法是根据最大误差最小化的设计原则。等波纹逼近法所设计的 FIR 滤 波器的幅度特性在通带和阻带范围内是等波纹的,且可以分别独立控制通带和阻带的波纹 幅度,并且在滤波器长度给定的情况下,加权的幅度波纹误差最小 10。定义加权幅度误差函数为:( ( (w H w H w W w e d -= (2-10式中 (w W 为幅度误差加权函数,用来控制不同频带的幅度逼近误差。 一般地,在要求 逼近精度高的频带

18、, (w W 取值大, 而要求逼近误差精度低的频带, (w W 取值小。 对于 FIR 数字低通滤波器,常取 :<=w w k w w k w W p p, 0, / (12 (2-11 式中, 1和 2分别为滤波器设计指标中通带和阻带的振荡波纹幅度, k 为正的系数。 滤波器的通带最大衰减 p 和阻带最小衰减 s 与通带和阻带的振荡波纹幅度 1和 2的 换算关系为:11011020/20/1+-=p p (2-1220/210s-= (2-13在等波纹逼近法的设计中,如果能够找到滤波器的系数 (n h 使得在通带 , 0p w 和阻带, s w 频带内的最大绝对值幅度误差 (w e 为

19、最小,就能够很好的实现滤波器的设计, 而找 到该系数的算法就是基于交替定理的雷米兹交替算法。3. 基于 FPGA 的 FIR 滤波器设计本章为全文的核心内容, 首先确定基于 Matlab 的 FIR 数字低通滤波器的指标系数, 再 利用 DSP Builder搭建 FIR 滤波器结构,编译生成 VHDL 硬件语言进行仿真,最后实现硬 件系统以及硬件测试。使用 FPGA 器件设计数字电路, 不仅使得电路简化, 而且可以减少所设计系统的体积, 增加系统的可靠性, 从而较少开发费用。 它们无需花费大量时间和精力, 避免了投资风险, 成为电子器件行业中发展最快的一个系列 11。3.1 基于 Matla

20、b 的 FIR 数字低通滤波器抽头系数的提取FIR 滤波器的系数也即 FIR 滤波器系统的冲击响应系数,想要得到 FIR 滤波器系数可 以利用 Matlab 中的 FDAtool 工具进行设计,然后搭建 MatlabFIR 滤波器系统进行仿真。在 Matlab 命令编辑窗口输入 FdAtool 指令, 再点回车即可打开 Filter Design & Analysis Tool 窗口。 Fdatoold 的界面有两大部分,一部分是 Design filter,这部分可以设置滤波器的 各种参数,另一部分是滤波器的特性区,这部分可以显示滤波器的各种特性图 12。Design filter部

21、分主要分为:(1 Response Type(响应类型选项:Response Type选项包括 Lowpass (低通 、 Highpass (高通 、 Bandpass (带通 、 Bandstop (带阻和特殊的滤波器。在本次设计中,该选项中选择 Lowpass 选项。(2 Design Method(设计方法选项:Design Method选项包括 IIR 滤波器和 FIR 滤波器, 本次设计的是 FIR 滤波器, 而设计 该滤波器使用方法是窗函数法, 因此, 我们选择 FIR 滤波器的 Window 窗函数法进行设计。 选定窗函数法后,会在右侧出现 Options 区域,这部分区域是用

22、来设置窗函数的相关参数, 其中窗函数的类型选择 Kaiser 窗,并设置 Beta 为:0.5。(3 Filter Order(滤波器阶数选项:Filter Order 选项是定义滤波器的阶数,包括 Specify order 和 Minimum order 。 Specify order 是指滤波器的阶数(specify order=n-1, n 为滤波器阶数 ,本次设计是 16阶滤波器,所以选定 Specify order并填入 15。(4 Frequency Specifications(频率定义选项:Frequency Specifications 选项主要包括采样频率 Fs 和通带频

23、率以及截止频率。由于我 们所设计的是低通滤波器, 因此我们不需要通带频率这个参数, 这里的采样频率 Fs 我们填 为 80KHz ,截止频率填为 Fc=5KHz。 图 3-1 FDAtool 工具上述的参数设计结束后,点击 Design Filter 按钮,就可以把我们所需要的 FIR 滤波器 的参数计算出来。并且在 FDAtool 特性区可以看到所设计的滤波器的响应特性,如幅频响 应(如图 3-2 、相频响应(如图 3-3 、冲激响应(如图 3-4等等其他响应特性图。该滤 波器各特性图如下:图 3-2 幅频响应曲线 图 3-3 相频响应曲线 图 3-4 冲激响应然后,我们可以把刚刚设计好的滤

24、波器系数进行导出,我们选择 Export 打开 Export 对话框 (如图 3-5 , 然后可将设计好的滤波器系数导出来, 我们可以通过 Command Window查看该系数。 图 3-5 冲激系数及其输出对话框在 Command Window命令编辑区输入 Num 可得到 FDAtool 工具的计算结果,结果如 图 3-6所示。 图 3-6 输出在 Matlab 的冲激系数由于 FDAtool 工具导出的系数是很小的数,不方便我们处理,因此,我们将改系数进 行放大, 并进行整数化操作。 操作后可得到滤波器整数化的系数为 7 23 41 60 77 92 103 109 109 103 9

25、2 77 60 41 23 7,如图 3-7所示: 图 3-7 整数化后的冲激系数3.2 DSP Builder搭建 FIR 模型DSP Builder是一个系统级 (或算法级 设计工具, 它架构在多个软件工具之上, 并把系 统级和 RTL 级两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。 由于在 FPGA 上设计一个 DSP 模块的复杂性,设计的性能 (包括面积、速度、可靠性、 设计周期 对于不同的应用目标将有不同的要求,涉及的软件工具也不仅仅是 Simulink 和 Quartus II , DSP Builder 针对不同情况提供了两套设计流程,即自动流程和手动流程。图

26、 3-8是利用 DSP Builder进行 DSP 设计的流程框图 13。 图 3-8DSP Builder设计流程3.2利用 DSP Builder设计 FIR 滤波器使用 DSP Builder 可以方便地在图形化环境中设计 FIR 数字滤波器,而且滤波器系数 的计算可以借助 Matlab 强大的计算能力和现成的滤波器设计工具来完成。在此用以下示例来说明利用 DSP Builder设计滤波器的整个设计过程 14。假定一个 3阶的 FIR 滤波器,其可以表示为 :h(n= Cq(h(0x(n+h(1x(n-1 +h(2x(n-2 +h(3x(n-3其中:h(0=63, h(1=127, h(

27、2=127, h(3=63,是量化时附加的因子。这里采用直接 I 型来实现该 FIR 滤波器。设计好的 3阶直接 I 型 FIR 滤波器模型图可 以参见图 3-9。图 3-9 3阶 FIR 滤波器图中模块的参数作如下设置:xin 模块:(Altbus库:Altera DSP Builder中 Bus Manipulation库参数“ Bus Type”设为“ signed Integer”参数“ Node Type”设为“ Input port”参数“ number of bits”设为“ 8”yout 模块:(Altbus库:Altera DSP Builder中 Bus Manipulat

28、ion库参数“ Bus Type”设为“ signed Integer”参数“ Node Type”设为“ Output port”参数“ number of bits”设为“ 8”Parallel Adder Subtractor模块:(Parallel Adder Subtractor库:Altera DSP Builder中 Arithmetic 库“ Add(+Sub(-”设为“ +” Delay1、 Delay2、 Delay3模块:(Delay库:Altera DSP Builder中 Storage 库参数“ Depth ”设为“ 1”参数“ Clock Phase Select

29、ion”设为“ 1”h0模块:(Gain库:Altera DSP Builder中 Arithemtic 库参数“ Gain Value”设为“ 63”参数“ Map Gain Value to Bus Type”设为“ Signed Integer”参数“ Gate Value number of bits”设为“ 8”参数“ Number of Pipeline Levels”设为“ 0”h1模块:(Gain参数“ Gain Value”设为“ 127”其余同 h0模块h2模块:(Gain参数“ Gain Value”设为“ 127”其余同 h0模块h3模块:(Gain参数“ Gain V

30、alue”设为“ 63”其余同 h0模块由于 FIR 滤波器的系数已经给定,是一个常数,从图中看到, DSP Builder 中可以用 Gain (增益 模块来实现的运算,用延时 Delay 模块来实现输入信号序列的延时。设计完 3阶 FIR 滤波器模型,就可以添加 Simulink 模块进行仿真了,如图 3-10所示。 图 3-10 带仿真模块的 3阶 FIR 滤波器 新增的仿真模块的参数作如下设置:Chirp Signal模块:(Chirp Signal库:Simulink 中 Sources 库参数“ Initial Frequency(Hz”设为“ 0.1”参数“ Target tim

31、e”设为“ 10”参数“ Frequency at target time(Hz”设为“ 1”参数“ Interpret vectors parameters as 1-D”选中Gain 模块:(Gain库:Simulink 中 Math Operations库参数“ Gain ”设为“ 127”参数“ Multiplication ”设为“ Element wise(K.*u”Scope 模块:(Scope库:Simulink 中 sinks 库参数“ Number of Axes”为“ 2”其中, Chirp Signal 模块为线性调频信号发生模块,生成一个线性调频信号 0.1Hz 1H

32、z 。 在该模型仿真中,使用默认的仿真参数。仿真结果如图 3-11所示。显然,一个线性调频信 号通过 3阶 FIR 滤波器后幅度发生了变化,频率较高部分的幅度被衰减了。图 3-11 FIR 滤波器仿真结果 按照上节滤波器的设计流程,本节可设计 16阶 FIR 滤波器,根据前面利用 Matlab 中 的 FDAtool 工具得到的 FIR 滤波器系数进行设计,设计图如图 3-12所示。 图 3-12 16阶 FIR 滤波器结构由图可以看出, 此系统是按照 FIR 滤波器的直接型结构进行搭建的, 主要包括延时器、乘法器和加法器。其输入信号是一个 9位的数字信号,经过系统之后,得到的输出信号是 一个

33、 20位的数字信号。经过 Simulink 仿真后得到仿真结果,仿真结果图如图 3-13所示。 图 3-13 仿真结果从仿真结果可以看出,高频的信号不能通过该系统而已经被滤除,只有低于截止频率 一下的信号才可以输出,但是由于滤波的阶数有限,所以效果不是特别明显,但是基本上 能够实现滤波功能。下一步将该模型编译后生成 VHDL 语言,然后在 Quartus II软件中进行仿真。 图 3-14 编译生成 VHDL 语言打开 Quartus II软件,调入刚刚生成的 VHDL 语言的工程, 先进行编译, 编译通过后, 然后利用 Quartus II中的 Simulation Waveforms进行仿

34、真, 首先设置时钟信号为 50ns , 复位信号为高电平,输入信号为一个无符号型的序列,输出信号的为无符号型数据,存盘后进 行仿真,仿真结果如图 3-15所示。 图 3-15Quartus II仿真结果从上图可以看出,给定时钟信号后,给一串序列作为输人,然后就可以在得到输出, 该输出信号也为一串序列,这串序列也就是卷积得到的结果。为了验证其正确性,我们利 用 Matlab 进行验证,打开 Matlab 后,在其 Command Window中利用卷积函数进行运算来 验证上述结果是否正确,其卷积结果如图 3-16所示。图 3-16Matlab 卷积结果从上图可以看出,利用 Matlab 中卷积函

35、数的运算的结果和 Quartus II对 FIR 滤波器仿 真的结果是完全一样,因此,可以断定此次设计的滤波器是正确的,接下来就是要进行硬 件实现。4. FIR 滤波器的硬件实现4.1系统硬件前面已经设计好 FIR 滤波器系统,并且都已经仿真验证了其系统的正确性,接下来就 要进行硬件电路的设计。由于我们是对模拟信号进行滤波,于是,我们添加了 AD 和 DA 转换电路,这可将模拟信号进行数字化,然后再由 FIR 滤波器系统处理,得到的输出仍是 数字信号,再加上 DA 转换电路就可以将该数字信号转换成模拟信号。硬件实现框图如图 4-1所示。 图 4-1硬件实现框图硬件系统主要由 FPGA 、 JT

36、AG 、 A/D转换和 D/A转换四部分组成。本次硬件部分的核 心芯片 FPGA 是 Altera 公司的 Cyclone 系列的 EP1C3T144C8, AD 转换芯片选择的是TLC549, DA 转换芯片选择的是 DAC7512。各部分硬件如下:1. FPGA 芯片 图 4-2FPGA 芯片 2. JTAG 下载JTAG 是英文 Joint Test Action Group(联合测试行为组织 的词头字母的简写, 该组织 成立于 1985年,是由几家主要的电子制造商发起制订的 PCB 和 IC 测试标准。 JTAG 建议 于 1990年被 IEEE 批准为 IEEE1149.1-1990

37、 测试访问端口和边界扫描结构标准。 JTAG 主 要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。 JTAG 下载口如图 4-3所示。 图 4-3 JTAG 下载口3. AD 转换本次使用的 AD 转换芯片 TLC549有一个片内的 4MHz 系统时钟, 该时钟与 I/O CLOCK是独立工作的,该时钟用于片内的系统控制,包括提供转换时的时钟, TLC549芯片有一 个模拟输入端口, 3态的数据串行输出接口可以方便的和微处理器或外围设备连接。 TLC549只需要使用时钟(I/O CLOCK 和芯片选择信号(CS 来控制数据,转换输出是 8位串行输出,最大的时钟(I/O CLOCK输入为

38、 1.1MHz 。在图上能看到 I/O CLOCK那 有一段标注为“ Dont Care” , 该段是转换时间段,在该段时间内的时钟就是由内部时钟提 供。 图 4-4 TLC549芯片TLC549转换时序如下图: 图 4-5 AD 转换时序图4. DA 转换DAC7512是一种低功耗, 12位缓冲电压输出数字到模拟转换器(DAC 。其内置的精 密输出放大器允许轨到轨 (即最大输出可达到参考电压 输出摆幅。 DAC7512采用多功能 三线串行接口,运行在高达 30MHz 的时钟速率,并与标准的 SPI , QSPI ,微丝和 DSP 的接口兼容。DAC7512的 SOT-23-6封装的引脚图如下

39、: 图 4-6 DAC7512芯片DAC7512采用三线制(SYNC , SCLK 及 D IN 串行接口,其串行写操作时序如下图所 示: 图 4-7 DA 转换时序图22写操作开始前, SYNC 要置低。 D IN 的数据在串行时钟 SCLK 的下降沿依次移入 DAC7512的 16位输入数据寄存器(DAC 是在下降沿的时候采数据, 所以我们应该在上升 沿的时候把数据发出 。输入数据寄存器格式(输入的数据被装到这个寄存器里如下: 其中第 12位和第 13位是模式控制位,模式如表 4-1所示。表 4-1:DA 转换芯片模式选择 在此次设计中选择正常模式,因此 DB13和 DB12均为 0。DA

40、C7512的输入数据寄存器宽度为 16位, 其中 DB15、 DB14是空闲位, DB13、 DB12是工作模式选择位、 DB11DB0是数据位。器件内部带有上电复位电路。上电后,寄存 器置 0,所以 DAC7512处于正常工作模式,模拟输出电压为 0V 。输入数字量与输出模拟量的对应关系如下:V out=VDD *D/4096其中 D 为输入数字量(DB11DB0是数据位 , 4096是 2的 12次方(因为数据有效 位就是后 12位 , V DD 就是 DAC7512的电源电压,也是其参考电压。4.2硬件调试将程序编写好,设置好相关参数,然后将程序下载到 FPGA 芯片中,然后利用实验室

41、的信号发生器和示波器进行测试。其中,由于 AD 转换芯片只能输入正值,因此,为了便 于 AD 芯片转换数据,我们将信号发生器的输入信号调节为向上偏移,偏移量为输入信号 幅值的一半,这样就刚刚好可以将输入信号全部变为正值。硬件测试如图 4-8所示。23图 4-8 硬件测试图1,测试一:输如信号为 300Hz 的正弦波,幅值为 2V ,向上位移 1V 。如图 4-9所示,其中左边为 输入信号波形,右边为输出信号波形。 图 4-9 输入 300Hz 信号及输出从图中我们能看出,输出信号和输入信号的频率几乎相同,因此可以判定,当输入信 号低于低通滤波器的截止频率时,经过滤波器系统后,可以得到原输入信号

42、。2,测试二:输入信号为 8KHz 的正弦波,幅值 2V ,向上位移 1V 。如图 4-10所示,其中左边为输 入信号波形,右边为输出信号波形。24 图 4-10 输入 8Khz 信号及其输出观察上图,我们发现输入信号为 8KHz 时,输出信号有明显的衰减,这就说明当输入 信号大于低通滤波器的截止频率时,就会使得信号衰减。3,测试三:输入信号为 10KHz 的正弦波,幅值 2V ,向上平移 1V 。如图 4-11所示,其中左边为输 入信号波形,右边为输出信号波形。 图 4-11输入 10KHz 信号及其输出观察上图,可以看出,当输入信号为 10KHz 时,几乎没有输出,这就说明输入信号远 大与低通滤波器的截止频率时,该信号不会被输出。通过观察上述三组测试,可以看出当输入信号的频率低于低通滤波器的截止频率时 , 输入信号能正常输出;当输入信号的频率高于低通滤波器的截止频率时,输出就会开始衰 减;当输入信号远大于低通滤波器的截止频率时,几乎没有输出,这说明该滤波器能正常 工作,达到了滤波的功能,也就是说本次设计完成了。4.3数据误差分析FIR 数字滤波器的滤波系数,输入输出序列值和运算过程中的中间结果,都是用有限

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论