基于fpga的雷达中心控制器的设计(编辑修改稿)内容摘要:

实现同步或异步FIFO,具体的设计时可采用两种方式,一是在原理图或 VHDL 语言输入方式下调用库元件 LPM_FIFO+,再对端口和参数进行编辑即可。 方法二是对 FIFO进行 编程,完成相应的功能。 图 为向导生成的 FIFO 符号, FIFO 深度为 1024,宽度为 8。 4 图 FIFO 原理图 FIFO 只是对数据的一个缓存作用,进取什么数据,出来什么数据,对其进行功能仿真,仿真图如图 所示,当进去 10101111 八位数据时,出来 q也是八位 10101111 数据。 图 FIF0 功能仿真 A/D 转换器 A/D转换器 要用 AD9059芯片, 采样时间长度 ts=512us。 于 AD9059 的介绍, AD9059 5 是 8 位单片双通道模数转换器,主要由 2个跟踪 /保持电路 (T/H)、 2 个模数转换器 (ADCA、 ADCB)和一个 的基准电源等组成,具有高速、高性能、低功耗及易使用等特性, 60MSPS 的编码速率和 120MHz 的最大功率模拟带宽使其在多路数据采样系统中表现出优秀的动态性能。 大部分情况下, AD9059 仅需要一个单极性的 5V 电源和一个编码时钟即能正常工作 . 这是主要关于 A/D转换器方面的要求。 FIR滤波器 滤波器 目的 :对于理想的线性相位滤波器,滤波器输出等于输入在时间上的移位,可达到无失真传输 .介绍关于 FIR滤波器相关的知识: 3 FIR 滤波器 滤波器的原理 数字滤波器通常都是应用于修正或改变时域或频域中信号的属性。 最为普通的数字滤波器就是线性时间不变量 (linear timeinvariant, LTI)滤波器。 LTI与其输入信号之间相互作用,经过一个称为线性卷积的过程。 表示为 y f x,其中 f是滤波器的脉冲响应, x是输入信号,而 y是卷积输出。 线性卷积过程的正式定义如下: [ ] [ ] [ ] [ ] [ ] [ ] [ ]kky n x n f n x n f n k x n k f n      ( 31) LTI 数字滤波器通常分成有限脉冲响应 (finite impulse response,也就是FIR)和无限脉冲响应 (infinite impulse response,也就是 IIR)两大类。 顾名思义, FIR 滤波器由有限个采样值组成,将上述卷积的数量降低到在每个采用时刻为有限个。 而 IIR 滤波器需要执行无限数量次卷积。 研究数字滤波器的动机就在于它们正日益成为一种主要的 DSP 操作。 数字滤波器正在迅速的代替传统的模拟滤波器,后者是利用 RLC 元器件和运算放大器实现的。 模拟原型设计只能应用在 IIR 设计之中,而 FIR 通常采用直接的计算机规范和算法进行分析的。 6 滤波器的实现 原理图法设计 FIR 滤波器 其中我们要用到的是 线性相位滤波器,实现的方法主要有两种方法:一是原理图法;二是编程法 :原理图法:调用 加法器 LPM ADD_SUB 和乘法器 LPM_ MuLT ,其中原理图如图。 图 FIR 滤波器 原理图 两路数据经过乘法器,再进行扩展 2 位数据,这是为了防止数据溢出,在经过加法器,截取累加和的高 8位,作为滤波器的最终结果。 编程法设计 FIR 滤波器 编程法:对滤波器进行编程,完成实验目的。 以下是实验源程序: library ieee。 use。 use。 use。 PACKAGE coeffs is type coef_arr is array(0 to 2) of signed(8 downto 0)。 constant coeffs:coef_arr:=(111111001,111111011,000001101)。 end coeffs。 7 library ieee。 use。 use。 use。 use。 entity fir is port(clk,reset:in std_logic。 sample:in signed(7 downto 0)。 result:out signed(16 downto 0))。 进行相关的定义; end fir。 architecture beh OF fir is begin process(clk,reset) type shift_arr is array (4 downto 0) of signed (7 downto 0)。 variable tmp,old:signed (7 downto 0)。 variable pro:signed (16 downto 0)。 variable acc:signed (16 downto 0)。 variable shift:shift_arr。 begin if reset=39。 039。 then result=(others=39。 039。 )。 for i in 0 to 3 loop shift(i):=(others=39。 039。 )。 end loop。 ELSIF clk39。 EVEN。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。