1、 1 FPGA在信号处理中的应用 1. 前言 数字信号处理是利用计算机或数字信号处理器等设备,以数字形式对信号 进行采集、变化、滤波、估值、增强、压缩、识别等处理,已得到符合需要的 信号形式 1 。 图 1-1 是经典数字信号处理系统的整体框图。)(tx是原始信号,)(ty是经过 处理后的输出信号,两者之间的部分是信号转换和信号处理的通道。其中的低 通滤波器 I 又称为抗混叠滤波器,其作用是将高于 ADC 采样频率一半的信号频 率分量滤除,防止采样后产生信号的频率混叠。随后,信号经采样和 ADC 后, 变成数字量)(nx。数字信号处理模块对)(nx进行处理,得到输出信号)(ny,经 DAC 变
2、成模拟信号送到低通滤波器 II。这个滤波器是平滑滤波器,滤除 DAC 后的高频分量,得到比较纯净的模拟信号)(ty。 A/D C 数 字 信 号 处 理 模 块 D /A C低 通 滤 波 器I低 通 滤 波 器II x(t)x(n)y(n)y(t) 图 1-1 数字信号处理系统整体框图 Fig.1-1 Overall diagram of digital signal processing system 上图中的数字信号处理模块无疑是该系统的核心部分。信号处理模块的核 心器件一般可以选择计算机,专用集成芯片 ASIC,通用微处理器 DSP 以及现 场可编程门阵列 FPGA 等。最近几年来,随
3、着 FPGA 性能的提高和价格的降低, 它已经成为数字信号处理系统的核心器件,它的高速并行处理能力是其他处理 模块所无法匹敌的。 然而, 数字信号处理开发人员往往熟悉使用 Matlab 或 C/C+ 语言来进行系统建模,而对 FPGA 开发所需的硬件描述语言 HDL 比较陌生,如 何将两种方法结合,具有一定的挑战性 2 。 System Generator 就是为实现使用 Matlab 或 C/C+环境开发 FPGA 而产生 的。 它能够在 Matlab/Simulink 提供的环境中对所需的硬件系统进行图形化建模, FPGA 在信号处理中的应用 2 扩展了传统的 HDL 的设计方式,提高了开
4、发效率。另外,System Generator 可 以直接将 Simulink 创建的图形化系统转化为 ISE 的工程, 大大减少了开发时间, 降低了出错率。 本文通过比较数字系统设计传统方法和 System Generator 开发的特点, 展示 了后者的优越性。并且应用该方法设计验证了一套软件无线电中频接收机系统 中数字下变频系统。 3 2. 数字信号处理系统设计方案比较 2.1 基于 FPGA 的传统数字系统设计方法 传统的数字系统设计需要使用 Matlab 或者 CC+语言对系统模块进行描 述,然后根据系统级模型使用硬件描述语言完成硬件寄存器传输级的实现。可 以用图 2-1 中的流程图来概括这种开发过程: 系 统 任 务 及 要 求 仿 真 参 数 是 否 达 到 要 求 ? 用M atlab或CC+ 环 境 建 立 系 统 模 型 仿 真 测 试 否 用HD L语 言 建 立 寄 存 器 传 输 级 模 型 行 为 级 仿 真 是 仿 真 参 数 是 否 达 到 要 求 ? 否 时 序 仿 真 仿 真 参 数 是 否 达 到 要 求 ? 是 否 对FPG