1、基于 DSP 的数字滤波器的设计 摘 要 随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为一门主流技术,数字滤波技术是数字信号处理的 核心技术并且数字滤波器是数字信号处理中最重要的组成部分之一。同时 DSP(数字信号处理器 )的出现和 FPGA 的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。 本文主要研究了数字滤波器的基本理论,并对有限冲击响应数字滤波器 FIR 的设计和实现进行了分析和研究,尤其是在 MATLAB 环境下 FIR 数字滤波器的设计,并对所设计的滤波器进行仿真。应 用 DSP 集成开发环境一 CCS 调试汇编程序。 关键词 : MATAB
2、、 FIR、 DSP、数字滤波器 Design of Digital Filter Based on DSP Author: Lu Jian Tutor: Wang Xiaoping Abstract With the rapid development of information processing technology, digital signal processing technology has developed as a kind of main technology gradually. Digital filter algorithm is one of the core
3、 techniques in signal processing and digital filter is one of the most important part of digital signal process. Meanwhile. the appearance of digital signal processor (DSP) and the rapid development of FPGA also stimulate the development of digital filter, and provide more choices for the hardware r
4、ealization of digital filter. In this paper, the mainly task is researching the basic theories of the digital filter, and analyzing the designing and realization of the Finite Impulse Response digital filter (FIR), especially the method which realized under MATLAB environment, imitates the designed
5、filter. Applies DSP integrated developing surroundings-CCS to debug assembler. Key Words:MATLAB,FIR,DSP, digital filter 目 录 1 绪论 . 4 1.1 滤波器的发展历程 . 4 1.2 数字滤波器的优越性 . 4 1.3 本文的主要研究内容 . 6 2 数字滤波器的理论基础 . 8 2.1 滤波器的定义与分类 . 8 2.2 滤波器的结构 . 8 2.3 滤波器的设计方法 . 11 2.4 滤波器的实现方法 . 14 3 数字滤波器的 MATLAB 辅助设计 .错误 !未定
6、义书签。 3.1 MATLAB 简介 .错误 !未定义书签。 3.2 滤波器的 MATLAB 设计 .错误 !未定义书签。 3.3 滤波器的 MATLAB 仿真 .错误 !未定义书签。 4 数字滤波器的 DSP 实现 .错误 !未定义书签。 4.1 DSP 系统的软件设计和开发 .错误 !未定义书签。 4.2 MATLAB 与 DSP 的连接 .错误 !未定义书签。 4.3 数字滤波器的 DSP 实现程序设计 .错误 !未定义书签。 结 论 .错误 !未定义书签。 致 谢 .错误 !未定义书签。 参考文献 .错误 !未定义书签。 附 录 .错误 !未定义书签。 附录 A .错误 !未定义书签。
7、 附录 B .错误 !未定义书签。 1 绪论 1.1 滤波器的发展历程 20 世纪 60 年代起 由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为 70 年代以后的主攻方向。导致 RC 有源滤波器 、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到 70 年代后期,上述几种滤波器的单片集 成已被研制出来并得到应用。 80 年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。 90 年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当
8、然,对滤波器本身的研究仍在不断进行。 我国广泛使用滤波器是 50 年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离 。 数字滤波,是数字信号处理的基本核心内容之一,占有 极重要的地位。它是语音、图像处理、软件无线电、通信、模式识别、谱分析等应用中的一个基本处理算法。数字滤波器是一个具有按预定的算法,将输入离散时间信号转换为所要求输出的离散时间信号的特定功能装置,是一个离散时间系统。与模拟滤波器相比,数字滤波器不用考虑器件
9、的噪声、电压漂移、温度漂移等问题,可以容易地实现不同幅度和相位频率等特性指标。几乎每一科学和工程领域如声学、物理学、数据通信、控制系统和雷达等都涉及到信号,在应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算,这些过程都可能包含衰减一个频率范围阻 止或隔离一些频率成分。数字滤波作为数字信号处理的重要组成部分有着十分广泛的应用前景,可作为应用系统对信号的前置处理。 1.2 数字滤波器的优越性 数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。数字滤波器是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。
10、因而在数字通信、语音图象处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近 于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时 DSP ( Digital SignalProcessor)处理器的出现和 FPGA(Field Programmable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。相对于模拟滤波器数字滤波器具有以下显著的优点 : (1)精度高 :模拟电路中元件精度很难达到 10-3 以上,而数
11、字系统 17 位字长就可以达到 10-5 精度。因此在一些精度要求很高的滤波系统中,就必须 采用数字滤波器来实现。 (2)灵活性大 :数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。 (3) 可靠性高 :因为数字系统只有两个电平信号 :“ 1”和“ 0” ,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用 CPLD 或 FPGA来实现,也可以用专用的 DSP
12、 处理器来实现,这些 大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。 (4)易于大规模集成 :因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。 (5)并行处理 :数字滤波器的另外一个最大优点就是可 以实现并行处理,比如数字滤波器可采用 DSP 处理器来实现并行处理。 T
13、I 公司的 TMS320C5000 系列的DSP 芯片采用 8 条指令并行处理的结构,时钟频率为 100MHZ 的 DSP 芯片,可高达 100MIPs(即每秒执行百万条指令 )。 因此,有必要对滤波器设计方法进行研究,理解其工作原理、优化设计方法,设计开发出稳定性好的滤波器系统。通过对 FIR 滤波器的设计,掌握滤了数字滤波器的基本理论及设计过程,为通信、信号处理等领域实现数字滤波器设计提供了理论及技术准备,缩短了理论与实践之间的距离,为今后从事 DSP 技术研究或开发工 作一奠定了基础。 1.3 本文的主要研究内容 本文主要应用 MATLAB 软件设计 FIR 数字滤波器,并对所设计的滤波
14、器进行仿真。利用 DSP 处理器来实现。具体内容有: (1) 研究数字滤波器的基本理论和实现方法,从原理上理解和分析数字滤波器,并通过对数字滤波器的结构和设计方法的学习,为设计数字滤波器奠定理论基础。 (2) 研究 MATLAB 环境下 FIR 数字滤波器的设计方法,及如何用 MATLAB 的滤波器设计工具设计各种类型的数字滤波器,并进行仿真和分析。 (3) 对数字滤波器的 DSP 实现进行研究。 2 数字滤波器的理论基础 2.1 滤波器的定义与分类 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字
15、滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。 从数字滤波器的单位冲击响应来看,可以分为两大类 :有限冲击响应 (FIR)数字滤波器和无限冲击响应 (IIR)数字滤波器。滤波 器按功能上分可以分为低通滤波器 (LPF)、高通滤波器 (HPF)、带通滤波器 (BPF)、带阻滤波器 (BSF)。 而 FIR 滤波器它具有总是稳定、有严格精确的线性相位、可以设计任意幅度频率特性或多通带 (多阻带 )滤波器、硬件比较容易实现且方法灵活等优点,是 IIR滤波器无法比拟的。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输
16、、生物医学等领域得到广泛应用。 基于以上 FIR 的优点,本论文将重点讨论 FIR 数字滤波器的设计与实现。 2.2 滤波器的结构 FIR 滤波器的单位脉冲响应 h(n)是一个有限长序列,其传递 函数 H(z)一 般为 : H(z)=10Nnh(n)z-n (2.1) 对应的差分方程为: y(n)=10Nibix(n-i) n 0 (2.2) 滤波器的输出为: y(n)=x(n)*h(n)=10Nih(i)x(n-i) (2.3) 可以看出,系统的输出只是输入的函数 ,与过去的输出没有直接的关系,它的网络结构不含反馈支路。下面为 FIR 滤波器的几种基本结构形式。 (1) 直接型结构 由式 (
17、2.3)可以直接画出直接型结构如下图示。该种结构实现时需 N 个乘法器、 N-1 个延迟器和 N-1 个加法器。这种结构的输出和输入直接存在卷积关系,也称为卷积型或者横截型结构,结构图如下 : 图 2.1 直接型结构图 (2) 级联型结构 由式 (2.1)知, FIR 系统函数 H(z)是 z-1 的 N-1 次多项式,其分解为实系数二阶因子的乘积形式为: H(z)=Nck1( 0k+ 1kz-1+ 2kz-2) (2.4) 根据上式就可画出级联结构如下图。其中 Nc 为 N/2 的最大整数。该结构即是把 H(z)的共轭零点或两个单个零点组成基本二阶节, H(z)为基本二阶因子的子系统函数积。
18、 图 2.2 级联型结构图 从 图 2.2 中可看出,每个二阶因子用直接型实现,每一节控制一对零点, 便于传输零点的控制。但系数 1k 的个数比 h(n)的个数多,其乘法次数比直接型多。 (3) 线性相位型结构 线性相位特性是指滤波器对不同频率的正弦波 所产生的相移和正弦波的频率成直线关系。在滤波器通带内的信号通过滤波器后,除了由相频特性的斜率决定的延迟外,可以不失真地保留通带以内的全部信号。线性相位是 FIR 的一个重要特点。 线性相位的因果的 FIR 系统的单位取样响应具有如下特性 h(n)= h(N-1-n) (2.5) 当 N 为偶数时,式变为 H(z)= 10Nnh(n)z-n=12
19、0Nnh(n)z-n+12)(NNnnh z-n (2.6) =120Nnh(n)z-n+z-(N-1-n) (2.7) 当 N 为奇数时,此式为 H(z)= 120Nnh(n)z-n+z-(N-1-n)+h( 21N )z-( 21n ) (2.8) 由上面两个式 子可知 :实现直接形式的结构网络只需要 N/2(N为偶数 )或 (N十1)/2 次乘法 (N 为奇数 ),利用 h(n)的对称比直接卷积形式少用一半的 乘法器。 图 2.3 N 为偶数,线性相位结构 图 2.4 N 为奇数,线性相位结构 (4) 频率取样结构 系统函数 H(z)在单位圆上作 N 等分取样的值得到 h(n)的离散傅立叶变换值H(k): H(k)=H(WkN )=|H(k)|ekj )( = 10Nnh(k)e knNj 2 (2.9) 根据内插公式,得 H(z)=N1 (1-z-N) 10Nk zW kNkH11)(2.10)