毕业设计(论文)-FIR数字滤波器的DSP设计与实现.doc_第1页
毕业设计(论文)-FIR数字滤波器的DSP设计与实现.doc_第2页
毕业设计(论文)-FIR数字滤波器的DSP设计与实现.doc_第3页
毕业设计(论文)-FIR数字滤波器的DSP设计与实现.doc_第4页
毕业设计(论文)-FIR数字滤波器的DSP设计与实现.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

长春工程学院毕业设计(论文)毕业设计(论文)FIR数字滤波器的DSP设计与实现FIR Digital Filter Design And Implementation Of The DSP学生姓名所在院系所学专业所在班级指导教师教师职称完成时间: 由科威 : 电气与信息学院 : 电子信息工程 : 0442 : 刘红喜 : 讲师 : 2008年 6月20日 长 春 工 程 学 院摘 要本论文的主要研究了数字滤波器的基本理论,基于TI公司的数字信号处理器TMS320VC5402设计了一款稳定度高,低功耗的数字滤波器系统,并完成了软硬调试工作。主要工作如下:(1)研究数字滤波器的基本理论,以及数字滤波器的实现方法。通过学习识字滤波器的结构、数字滤波器的设计理论,掌握了各种数字滤波器的原理和特性。为实现数字滤波器奠定了理论基础。(2)研究分析了如何利用MATLAB仿真软件来设计出符合要求的数字滤波器。并采用了相关的函数设计了带阻数字滤波器,并得到了滤波器的相关系数,为利用DSP实现数字滤波做好了一些前期的工作。(3)研究TMS320VC5402器件的结构和特性,根据该数字信号处理器的独特的特点,设计合适的系统架构,并系统全面的设计数字滤波器的各个模块电路,合理的处理模数转换和数模转换芯片与DSP的连接。为实现数字滤波器系统提供一个稳定的硬件平台。(4)根据TI公司5000系列数字信号处理器的基本结构和特征,充分利用其片上资源,结合MATLAB软件的仿真,用软件实现高性能稳定的数字滤波器。关键字数字滤波器 DSP FIR(有限长单位脉冲响应)Abstract:The mostly important task of this paper is researching the basic theories of digital filter,base on the TMS320VC5402 of Tl company design digital filter system with high stability and low power consume,accomplish the hardware and software debug.main task as following:(1)Reach the basic theory of digital filter and the method of realize of digital filter,grasp the principle and characteristic of each digital filter.(2)Reach and analyse how to use the simulate software of MATLAB to design the required digital filter.Use several function design some universal digital filter,get the coefficient of digital filter,prepare the prophase task of design a digital filter base on DSP.(3)Reach the structure and characteristic of TMS320VC5402,according to the particular characteristic of this digital signal processor,disign an rationalization system structure of digital filter.Comprehensive and integrated design the each part of circuit with different function,process the connection of ADC and DAC with Digital Signal Processor.Offer a stability hardware system to realize digital filter.(4)According to the basic structure and characteristic of spectrum 5000 digital signal processor of TI,make the best of of the resource on chip,combined with simulate software MATLAB,realized a high performance and high stability digital filter.Key Words: Digital filter DSP(Digital Signals Processor) FIR(Finity Impulse Respons)目 录1 引 言12 绪 论32.1 数字滤波器的优点32.2 数字滤波器的发展动态42.3 滤波器的实现方法42.4 本文的研究内容53 数字滤波器理论研究63.1 数字滤波器的定义和分类63.2 FIR数字滤波器结构564 数字滤波器的计算机辅助设计84.1 滤波器的表达方式84.2 FIR滤波器的MATLAB辅助设计94.3 MATLAB软件数字滤波器仿真结果125 数字滤波器硬件电路设计145.1 基于DSP的数字滤波器总体硬件设计方案145.2 TMS320VC5402内部硬件结构145.3 复位电路设计155.4 时钟电路设计165.5 电源设计165.6 JTAG接口设计175.7 内部存储单元及外部存储扩展175.8 A/D、D/A转换器件与DSP连接设计215.9 PCB设计中采用的关键技术245.10 硬件平台的调试与结果246 数字滤波器的TMS320VC5402定点实现266.1 DSP芯片的定点运算266.2 系统初始化程序设计276.3 FIR程序设计286.4 软件开发环境及实现数字滤波程序设计流程296.5 软硬件联调与结论317 研究结论32参考文献33致 谢34附 录35361 引 言一个实际的应用系统中,由于设备或者是外界环境的原因,总存在各种干扰,使信号中混入噪声,譬如音频信号中高频成分的噪声使得音乐听起来刺耳,失去了原有悦耳的音质。为了提高信号质量,可以对信号进行滤波,从噪声中提取信号,即对一个具有噪声和信号的混合源进行采样,然后经过一个数字滤波器,滤除噪声,提取有用信号。在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音和图象处理、模式识别、谱分析等应用中的一个基本的处理技术。与模拟滤波相比,数字滤波具有很多突出的优点,它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便地改变滤波器的特性。因此,我们有必要对滤波器的设计方法进行研究,理解其工作原理,优化设计方法,设计开发稳定性好的滤波器系统。我们将通过DSP设计平台,实现较为重要的FIR滤波器系统,并实现了它们的应用系统以TMS320C5402芯片为核心的硬件电路,实现能独立完成滤波功能的系统。从而通过本课题的研究,掌握滤波器的设计技术,为通信、信号处理等领域实用化数字滤波器设计提供技术准备。本科题的研究,将为今后设计以DSP为核心部件的嵌入式系统集成提供技术准备,这不仅具有重要的理论意义,同时还具有重要的实际意义。随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现,集成电路技术与计算机技术结合在一起,使得数字信号处理系统的功能越来越强。DSP技术就是基于VLSI技术和计算机技术发展起来的一门重要技术。DSP技术已在通信、控制、信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用。自20世纪70年代末80年代初DSP芯片诞生以来,DSP芯片得到了飞速的发展。在20多年时间里,DSP芯片已经在信号处理,通信,雷达等许多领域得到广泛的应用。世界上第一个单片DSP芯片是1978年AMI公司发布的S2811,1979年美国Intel公司发布的商用可编程器2920是DSP芯片的一个主要里程碑。1980年,日本NEC公司推出的PD7720是第一个具有乘法器的商用DSP芯片。在这之后,最成功的DSP芯片当数美国德州仪器公司(Texas Instruments,简称TI)的一系列产品,其DSP市场份额占全世界份额近50%。目前DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。经过十几年的发展,DSP器件在高速度、可编程、小型化、低功耗等方面都有了长足的发展,单片DSP芯片最快每秒可完成16亿次(1600MIPS,每秒1600兆次指令)的运算,生产DSP器件的公司也不断壮大,目前,市场占有率前四名依次为:Texas Instruments、Lucent、AnalogDevice、Motorola。DSP器件应用面从起初的局限于军工,航空航天等军事领域,扩展到今天的诸多电子行业及消费类电子产品中。在TI公司DSP的产品中,C1XC2XC2XXC5XXC54XC62X等系列是定点运算指令系统的DSPs;C3X、C4X、C67X等系列是浮点运算指令系统的DSPs;C8X等系列是多DSPs集成系统;AV7100、AV7110等系列是用于视频、音频领域的专用数字压缩产品。2 绪 论2.1 数字滤波器的优点滤波器是指用来对输入信号进行滤波的硬件或软件。如果滤波器的输入、输出都是离散时间信号,则该滤波器的冲激响应也必然离散,这样的滤波器定义为数字滤波器。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。数字滤波器是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。因而在数字通信、语音图象处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP(Digital Signal Processor)处理器的出现和FPGA(Field Programmable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。相对于模拟滤波器数字滤波器具有以下显著的优点:精度高:模拟电路中元件的精度很难达到10-3以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系统存储器中的,只要改变存储器存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。可靠性高:因为数字系统只有两个电平信号“0”和“1”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。易于大规模集成:数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波器电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。并行处理:数字滤波器的另外一个最大的优点就是可以实现并行处理,比如数字滤波器可以采用DSP处理器来实现并行处理。Tl公司TMS320CS5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为l00MHZ的DSP芯片。可高达800MIPS(每秒执行百万条指令)。2.2 数字滤波器的发展动态近些年,线性滤方法,如Wiener滤波、Kalman滤波和自适应滤得到了广泛的研究和应用,同时一些非线性滤波方法,如小波滤波、同态滤波、中值滤波、形态滤波等都是现代信号处理的前言课题,不但有重要的理论意义,而且有广阔的应用前景。Wiener滤波是最早提出的一种滤波方法,当信号混有白噪声时,可以在最小均方误差条件下得到信号的最佳估计。但是,由于求解Wiener-Hoff方程的复杂性,使得Wiener滤波实际应用起来很困难,不过Wiener滤波在理论上的意义是非常重要的,利用Wiener滤波的纯一步预测,可以求解信号的模型参数,进而获得著名的Levinson算法。Kalman滤波是20世纪60年代初提出的一种滤波方法。与Wiener滤波相似,它同样可以在最小均方误差条件下给出信号的最佳估计。所不同的是,这种滤波技术在时域中采用递推方式进行,因此速度快,便于实时处理,从而得到了广泛的应用。Kalman滤波推广到二维,可以用于图象的去噪。当假设Wiener滤波器的单位脉冲响应为有限长时,可以采用自适应滤波的方法得到滤波器的最佳响应。由于它避开了求解Wiener-Hoff方程,为某些问题的解决带来了极大的方便。小波滤波就是利用信号和噪声的目的。同态滤波主要用于解决信号和噪声之间不是相加而是相乘关系时滤波问题。另外,当信号和噪声之间为卷积关系的时候,在一定条件下可以利用同态滤波把信号有效地分离开来,由同态滤波理论引申出的复时谱也成为现代信号处理中极为重要的概念。Wiener滤波、Kalman滤波和自适应滤波都是线性滤波,线性滤波的最大缺点就是在消除噪声的同时,会造成信号边缘的模糊。中值滤波是20世纪70年代提出的一种非线性滤波方法,它可以在最小绝对误差条件下,给出信号的最佳估计。这种滤波方法的优点,就是能够保持信号的边缘不模糊。另外它对脉冲噪声也有良好的清除作用。形态滤波是建立在集合运算上的一种非线性滤波方法,它除了用于滤除信号中的噪声外,还在图象分析中发挥了重要的作用。2.3 滤波器的实现方法 数字滤波器的实现方法一般有以下几种:(1)在通用的计算机(如PC)上用软件(如C语言)实现。软件可以是由自己编写,也可以使用现成的软件包。这种方法的缺点是速度太慢,不能用于实时系统,主要用于DSP算法的模拟与仿真。(2)在通用的计算机系统中加上专用的加速处理机实现。这种方法不便于系统的独立运行。(3)用通用的单片机实现。单片机的接口性能良好容易实现人机接口。由于单片机采用的是冯诺依曼总线结构,系统比较复杂,实现乘法运算速度较慢,而在数字滤波器中涉及大量的乘法运算,因此,这种方法适用于一些不太复杂的数字信号处理。(4)用通用的可编程DSP芯片实现。与单片机相比,DSP有着更适合于数字滤波的特点。它利用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水线结构,具有良好的并行特点,并有专门设计的适用于数字信号处理的指令系统等。(5)用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,而通用DSP芯片很难实现,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。(6)用FPGA等可编程器件来开发数字滤波算法。使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。通过比较这些方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的仿真。可以采用DSP或FPGA来实现硬件电路。本论文研究的重点集中在利用DSP来实现数字滤波的硬件电路。2.4 本文的研究内容本论文主要:研究数字滤波的理论知识,为系统整体设计奠定了理论基础;研究MATLAB软件在数字信号处理,尤其是数字滤波器处理中的应用,仿真出带阻数字滤波器的基本模型;研究TI公司TMS320VC5402数字信号处理器的内部结构及片上资源,并研究通信电子线路中各种接口的相互连接关系,设计了一个价格低、功耗小、精度高的数字滤波器系统。研究高速电路中如何进行走线,使系统具有良好的信号完整性和电源完整性,从而使系统能够更加稳定的工作。研究有限长冲激响应(FIR)数字滤波器在DSP中的具体实现方法。编写一套可行的高效的数字滤波器程序。研究TI公司DSP系统开发工具的应用,调试系统的硬件平台和程序。3 数字滤波器理论研究3.1 数字滤波器的定义和分类数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。数字滤波器具有稳定性高、精度高、灵活性大等突出的优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。3.2 FIR数字滤波器结构5有限长单位脉冲响应滤波器的系统函数为: (1)其差分方程为: (2)其基本结构型式有以下几种:由上式可以得到如下图所示的直接型结构,这种结构又可以称为卷积型结构。FIR滤波器直接型结构图将转置理论应用于上图可以得到如下图所示的转置直接型结构。FIR滤波器转置结构图将式中的系统函数H(z)分解成若干一阶和二阶多项式的连乘积: (3)则可构成如下图所示的级联型结构。其中, 为一阶节; 为二阶节。每个一阶节、二阶节可用上图所示的直接型结构实现。当时,即可得到下图所示的具体结构。这种结构的每一节都便于控制零点,在需要控制传输零点时可以采用。但是它所需要的系数a比直接型的h(n)多,所需要的乘法运算也比直接型多。(a)级联型结构框图(b)级联型结构框图FIR级联型结构构成4 数字滤波器的计算机辅助设计数字滤波器用硬件实现的基本部件包括延迟器、乘法器和加法器;如果软件来实现时,它即是一段线性卷积程序。软件实现的优点是系统函数具有可变性,仅依赖于算法结构,并且易于获得较理想的滤波性能,所以软件滤波在滤波器的使用中起到了越来越重要的作用。各种高级语言在设计和实现滤波器当中都有一整套成熟的程序组,在使用这些程序时让使用者感到头痛的是它们冗长的程序和修改参数的不方便,特别是滤波器各种表达式和滤波器各种形式相互之间的转换,显得十分复杂。滤波器软件的设计和实现在信号处理软件设计和使用当中占有十分重要的地位和作用。MATLAB的信号处理工具箱的两个基本组成就是滤波器的设计和实现以及频谱分析。工具箱提供了丰富而简单的设计、实现FIR和IIR的方法,使原来繁琐的程序设计简化成函数的调用,特别是滤波器的表达方式和滤波器形式之间的相互转换显得十分简便,为滤波器的设计和实现开辟了一片广阔的天地。IIR与FIR滤波器不论是在性能上还是在设计方法上都有很大的区别。FIR滤波器可以对给定的频率特性直接设计,而IRI滤波器目前最通用的方法是利用已成熟的模拟滤波器的设计方法来进行设计。不管是IIR还是FIR滤波器的设计都包括以下三个步骤:给出所需要的滤波器的技术指标;设计一个H(z)使其逼近所需要的技术指标:实现所设计的H(z)。4.1 滤波器的表达方式在线性系统理论中,系统表示一般常用的数学模型包括有:传递函数模型(系统外部模型)、状态方程模型(系统内部模型)和零极点增益模型等。这些数学模型之间有着内在的等效关系,使用在不同场合有其各自的优势。在本毕业设计中只介绍滤波器的传递函数模型。 一个线性时不变(LTI)数字滤波器可以用以下的长系数线性差分方程来表示: (4)式中x(n)和y(n)分别表示输入和输出信号序列,和是滤波器系数。当式中系数全为零时,即: (5)则称该滤波器为非递归型滤波器,此时系统的输出与输入有关,而与输出无关,这种滤波器没有极点,故称之为全零点滤波器。当不全为零时,即输出不仅与输入有关,而且与过去的输出有关,则称这种滤波器为递归型滤波器。设式中输入信号与输出信号城在以前处于零起始状态,则有 (6)式中的,对上式两边进行变换,得到 (7)得到系统的脉冲传递函数为 (8)对LTI系统来说,上式中和均为常数。这种系统在MATLAB当中可以用其分子和分母的系数,即滤波器系数构成的两个向量来唯一确定:可以对传递函数进行首一化处理,在传递函数的上下同时除以则可以得到首一化的两向量:4.2 FIR滤波器的MATLAB辅助设计4.2.1 FIR数字滤波器的设计方法FIR数字滤波器的设计方法主要有Fourier级数展开设计方法、窗函数法、频率采样法(1)Fourier级数展开法设所希望的数字滤波器的频率响应是,它是频域的周期函数,周期为2因此可以将它展开为Fourier级数: (9)式中是Fourier系数,当然它也是一个单位冲激响应序列。由Fourier逆变换可得: (10)一旦能从所希望的求出,那么希望的滤波器的系数函数即可求出,即: (11)最终可以得到 式中n=0,1,N-1 (12)有限项Fourier级数是在最小二乘意义上对理想滤波器的最佳逼近,M取值越大,逼近误差越小。(2) 窗函数法窗函数法设计的出发点是从时域开始,用窗函数截取理想的对于所期望的的h(n),以有限长h(n)近似理想的,这样得到的频率响应逼近于理想的频率响应。窗函数设计技术是FIR滤波器设计的主要方法之一,由于其运算方便,物理意义直观,己成为工程实践中应用最为广泛的方法。窗函数设计FIR滤波器的基本思想,是根据给定的滤波器技术指标,选择滤波器长度和窗函数,使其具有最窄的主瓣和最小的旁瓣。起核心是从给定的频率特性通过加窗以确定有限长单位冲激响应序列。工程中常用的窗函数有:矩形窗,巴特利特窗,汉宁窗、海明窗、布来克曼窗和凯色窗。(3) 频率采样法频率取样设计是从频域出发,因为有限长序列h(n)又可用其离散傅立叶变换H(k)来唯一确定,H(k)与所要求的FIR滤波器系数函数之间存在着频率取样关系。即在Z平面单位圆上按角度等分的取样值等于的各相应值,就以次值作为实际FIR数字滤波器频率特性的取样值H(k),或者说H(k)正是所要求的频率响应的N个等间隔的取样值。4.2.2 MATLAB中FIR数字滤波器相关函数用窗函数设计方法FIR滤波器firl(),语法格式为B=firl(N,Wn),设计一个N阶的FIR数字滤波器,返回的向量B为滤波器的系数。基于窗函数的任意响应的FIR数字滤波器的设计fir2(),语法格式为B=fir2(N,F, M)设计一个N阶的FIR数字滤波器,其频率响应由向量F和M指定,滤波器的系数返回在向量中。向量F和M指定滤波器的采样点的频率及其幅值。用有限制条件的最小二乘逼近法设计线性相位FIR滤波器fircls(),语法格式为B=fircls (N,F,A,UP,LP)返回的是一个长度为N+l的线性相位FIR滤波器,其期望逼近的频率响应为分段恒定的,由向量F和A指定,各段幅度波动的上下限由向量UP和LO给定,A中的各个元素分别为各恒定段的频率响应的理想幅值。用有限制条件的最小二乘逼近法设计低通和高通FIR滤波器fircls1(),语法格式为B= fircls (N,WO,DP,DS)返回的是一个长度为N+l的线性相位低通FIR滤波器,其截止频率为WO,通带偏离1.0的最大值为DP,阻带偏离0的最大值为DS。用最小二乘逼近法设计的线性相位FRI数字滤波器firls(),语法格式为B=firls(N,F,A)返回一个长度为N+l的线性相位FIR数字滤波器,期望的频率响应由向量F和A确定,用这种方法设计的滤波器是最佳的最小二乘逼近。升余弦FIR滤波器设计firrcos(),语法格式为B=firrcos(N,F0,DF,Fs)返回一个N阶低通线性有着升余弦过度频带的FIR滤波器。插值用FIR滤波器设计intfilt(),语法格式为B=intfilt(R,L,ALPHA) 设计一线性相位FIR滤波器,用于插值时在插入零后对信号的平滑。FIR的阶数估计(低通、高通、带通、多频带)kaiserord,语法格式为N,Wn,BETA,TYPE=kaiserord(F,A,DEV,Fs)返回的是在函数B=fir(N,Wn,TYPE,kaiser(N+l,BETA),noscale)中用到的参数N。Parks-McClellan优化等纹波FIR滤波器的设计remez(),语法格式为B=remez(N,F,A)返回一个长度为N+1的线性相位FIR滤波器,滤波器的理想频率响应由F和A描述,这种滤波器是按最大绝对误差最小化的逼近准则设计的。FIR阶数估计(低通、高通、带通、多频带)renezord(),语法格式为N, Fo,An,W=remezord(F,A,DEV,Fs)返回调用:remez()函数需要给定的输入参数即阶数N,归一化频带边缘Fo,频带幅值Ao和权值W。复数非线性相位等纹波FIR滤波器的设计cremez,语法格式为B=cremez(N,F,frest,W)返回一个对理想频率响应最佳逼近的N+l阶FIR滤波器。Bartlett窗函数bartleet(),语法格式为bartlett(N)返回一N点Bartlett窗,结果为列向量。Blackman窗函数blackman(),语法格式为blackman(N)返回一N点Blackman窗,结果为列向量。矩形窗函数boxcar(),语法格式为boxcar(N)返回一N点矩形窗,结果为列向量。Hamming窗函数hamming(),语法格式为hamming(N)返回一N点Hamming窗,结果为列向量。Hanning窗函数hanning(),语法格式为hanning(N)返回一N点Hanning窗,结果为列向量。三角窗函数triang(),语法格式为triang(N)返回一N点三角窗,结果为列向量。Chebyshev窗函数chebwin(),语法格式为chebwin (N)返回一N点Chebyshev窗,其纹波为R(dB),N必须为奇数。如果N为偶数,则返回的是一N+1点Chebyshev窗。Kaiser窗函数kaiser(),语法格式为kaiser(N,BETA)返回的是一N点的Kaiser窗。4.3 MATLAB软件数字滤波器仿真结果利用MATLAB软件提供的相关函数可以设计8种数字滤波器:IIR低通滤波器、IIR高通滤波器、IIR带通滤波器、IIR带阻滤波器、FIR低通滤波器、FIR高通滤波器、FIR带通滤波器、FIR带阻滤波器。本毕业论文以设计FIR带阻数字滤波器为例:阻带频率为2500HZ一3500HZ,通带起始频率分别为1500HZ和4500HZ,通带纹波的最大允许值为0.1,阻带纹波的最大允许值为0.01,采样频率为16000HZ。程序代码和仿真结果如下:Fs=16000;n,of,mo,w=remezord(1500 2500 3500 4500,1 0 1,0.01 0.1 0.01,16000);b=remez(n,of,mo,w);h,f=freqz(b);plot(f*Fs/(2*pi),abs(h);xlabel(幅度/Hz);ylabel(幅值)FIR数字滤波器仿真结果5 数字滤波器硬件电路设计5.1 基于DSP的数字滤波器总体硬件设计方案TI公司的2000系列和5000系列的DSP都是通用型的芯片,考虑到2000系列的DSP多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP:TMS320VC5402。该DSP具有较快的运算速度:运算速度最快可达532MIPS;采用了低功耗设计方式:内核电压为1.8V,I/O电压为3.3V。数字滤波系统的电路原理图见附录。数字滤波器系统方案框图通常的设计中会采用5V供电并行的ADC(模数转换)和DAC(数模转换)芯片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将5V电平转换为3.3V的逻辑电平。考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是TLV5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。JTGA口供DSP芯片下载程序调试。在下面的章节中将分别论述各个模块电路设计技巧。5.2 TMS320VC5402内部硬件结构TMS320VC5402是定点的数字信号处理器。它采用先进的修正哈佛结构,片内共有8条16位的总线,其中包括4条程序/数据总线和4条地址总线。CPU采用并行结构设计特点,使其能在一条指令周期内,高速地完成多项算术运算。CPU的基本组成如下:40位算术逻辑运算单元(ALU),包括一个40位桶形移位寄存器和2个独立的40位累加器;17X17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(做C)运算;比较、选择和存储单元(CSSU),用于加法/比较选择。指数编码器,可以在单个周期内计算40位累加器中数值的指数。DSP5402的片上外围电路包括:通用I/O引脚(XF和BIO#),定时器,时钟发生器,一个与外部处理器通信的8位的HPI(Host Port Ineterface)接口,两个多通道缓冲串行口McBSP(Multichannel BSP)。器片内存储器的种类只要有以下几种:双访问RAM(DARAM),单访问RAM(SRAM)和ROM。RAM一般映射在数据空间。DRAM一般由若干块构成,由于每块DARAM在一个机器周期内可以被访问2次,中央处理单元和片内外设在一个周期内可以同时对其进行一次读和一次写操作。根据需要,通过改变处理器状态寄存器的三个位MP/MC、OVYL和DROM来灵活地改变存储器的配置。数据存储空间还有一块特殊的区域,00H08H。这块区域包含的是存储器映像寄存器,它包含了DSP中所有的寄存器,可以通过读这块存储器来了解各个寄存器的值,或者通过写这块寄存器来改变寄存器的值。因此编程时不能随便向这个区域存储数据,除非根据需要来改变相应寄存器的值,否则会导致程序运行结果错误。具有高度专业化的指令系统,包括单指令重复和块指令重复操作,块存储器传输指令,32位长操作数指令,同时读入2或3个操作数的指令,能并行存储和并行加载的算术指令,条件存储指令和从中断快速返回。5.3 复位电路设计为了确保系统能够稳定的工作,复位电路是系统中必不可少的电路。电源刚加上电时,TMS320VC5402芯片处于复位状态,/RS为低使芯片复位。为使芯片初始化正确,一般应保证/RS为低至少持续3个CLKOUT周期。但是,在上电后,系统的晶体振荡器一般需要几百毫秒的稳定期,一般为100-200ms。对于实际的DSP应用系统,特别是产品化的DSP系统,其可靠性是一个不容忽视的问题。由于DSP系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现死机现象。为了克服这种情况,除了在软件上做一些保护措施外,硬件上也必须做相应的处理。硬件上最有效的保护措施就是采用具有监视(Wathcdog)功能的自动复位电路。自动复位电路除了具有上电复位功能外,还具有监视系统运行并在系统发生故障或死机时再次复位的功能。其基本原理就是通过电路提供一个高低电平发生变化的信号,如果在规定的时间内这个信号不发生变化,自动复位电路就认为系统运行不正常并重新对系统进行复位。根据上述原理,在本系统的设计中采用了ADM706TAR芯片。该芯片具有上电复位功能,电压监测功能和看门狗功能。数字滤波器系统复位电路原理图5.4 时钟电路设计给DSP芯片提供时钟一般有两种方法。一种是利用DSP芯片内部所提供的晶振电路,在DSP芯片的Xl和X2/CLKIN之间连接一晶体可启动内部振荡器,晶体应为基本模式,且为并联谐振。另一种方法是将外部的时钟源直接输入X2/CLKIN引脚,X1悬空。采用封装好的晶体震荡器,这种方法使用方便,因此得到了广泛的应用,只要在引脚4上加电压,引脚2接地,就可以在引脚3上得到所需的时钟。 DSP时钟电路原理图5.5 电源设计为了降低芯片的功耗,DSP5402芯片采用低电压供电方式,并且采用内核电压和I/0电压分开的方式。TMS320VC5402芯片电源分为两种,即内核电压(CVdd)和I/O电压(DVdd),其中,I/O电源一般采用3.3V电压,而内核电源电压为1.8V。TMS320VC5402的电流消耗主要取决于器件的激活度,CVdd消耗的电流主要取决于CPU的激活度,外设消耗的电流取决于正在工作的外设及其速度。一般的,与CPU相比,外设消耗的电流比较小。时钟电路也需要消耗一小部分的电流,而且这部分电流是恒定的,与CPU和外设的激活度无关。CVdd为器件的所有内部逻辑提供电流,包括CPU、时钟电路和所有外设。DVdd只为外部接口引脚提供电压,消耗的电流取决于外部输出的速度和数量,以及在这些输出上的负载电容。根据设计的具体电路可一计算出3.3V电源所消耗的电流60mA,1.8V电源所消耗的电流3QmA,因此可以得出该系统在全速工作的状态下,最大功耗为25OmA。在本系统的设计中采用了两片AMS1117来提供DSP芯片的I/O电源和内核电源。AMSl1l7为最大输出电流可达800mA的LDO(Low Dropout Voltage Regulator),包含1.8v、3.3V等固定电压输出几种类型。由于LDO的功耗为(UI-UO)IO I,而系统的输入电压为5V,为将低整个系统的功耗,将AMSl117一1.8的输入直接接到AMSl1l7一3.3的输出端,而不是直接接到5V电源电压上,这样系统功耗将降低51mW。系统在工作状态下,逻辑电平在不停的快速发生变化,因此系统的电源也会出现不同程度的波动,为保证系统的电源完整性,在输入5V电源、3.3V电源、1.8V电源的输出处都增加了大容量的储能电容,在所有芯片的各个电源管脚处都增加了去祸电容。由于有两个电源,需要考虑的一个问题是加电次序。理想情况下,DSP芯片上的两个电源同时加电,但是在一些场合很难做到。如果不能做到同时加电,应先对DVdd加电,然后对CVdd加电。DVdd应不超过CVdd电压2V。5.6 JTAG接口设计JTAG(Joint Test Action Group)是1985年制定的检测PCB和IC芯片的一个标准,1990年被修改后成为IEEE的一个标准,即IEEEll49.1一1990。通过这个标准,可对具有JTAG接口的芯片的硬件电路进行边界扫描和故障检测。具有JTAG接口的芯片,相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。设计一个DSP系统,一般必须考虑系统的软件硬件调试,调试DSP系统一般离不开DSP仿真器。而仿真器通过仿真接口实现与DSP之间的数据交互。设计仿真接口比较简单,只要根据DSP芯片所提供的接口类型按照相应的接口标准即可。下图为JTAG仿真接口定义。JTAG仿真接口定义5.7 内部存储单元及外部存储扩展5.7.1 内部存器TMS320C54X内一般包括192K字的可寻址存储器空间:64K字程序空间,64K字数据空间和64K字的I/O空间。片内存储器的结构和容量根据芯片的型号有所区别,但都包含随机存取存储器(RAM)和只读存储器(ROM)。其中RAM又可以分为两种类型:单访问RAM(SARAM)和双访问RAM(DARAM)。当处理器发出的地址处在片内存储器的范围内时,就对片内的RAM或数据ROM寻址。当数据存储器地址产生器发出地址不在片内存储器的范围内,处理器就会自动对外部数据存储器寻址。5.7.2 外部总线及外部存储器接口通常一个DSP系统除了DSP芯片外,还需要外部的存储器。外部存储器一般有两种,一种是存储程序和固定数据的EPROM/PROM,一种是可读可写的快速RAM。目前市场上的EPROM工作电压一般为5V,与3.3VDSP芯片相接时需要考虑电平转换,而且体积都较大。FLASH存储器与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、可电擦写,使用比较方便,3.3VFlash可直接与DSP相接。因此采用Flash存储器存储程序和固定数据是一种比较好的选择。TMS320VC5402通过外部总线与外部存储器以及拍设备相连。外部总线接口由数据总线、地址总线以及一组控制信号组成,可以用来寻址片外存储器和I/O口1。主要外部接口信号见下表。扩展存储器引脚信号定义外部接口总线是一组并行接口。它有两个互相排斥的选通信号:MSTRB#和IOSTRB#。前者用于访问外部程序或者数据存储器,后者用于访问I/O设备。读/写信号侧W#则控制数据传送方向。外部数据准备输入信号(REDAY)与片内软件可编程等待状态发生器一道,可以使处理器与各种速度的存储器以及I/0设备接口。当与慢速器件通信时,CPU处于等待状态,直到慢速器件完成了它的操作并发出READY信号才继续运行。当外部设备需要寻址DSP的外部程序、数据和I/O存储空间时,可以利用HOLD#和HODLA#信号,达到控制DSP外部资源的目的。CPU寻址片内存储器时,外部数据总线置高阻状态,而地址总线以及存储器选择信号均保持先前的状态,此外,MSTRB#、IOSTRB#、R/W#、IAQ#和MSC#信号均保持在无效状态。5.7.3 外部总线扩展Flash实现8位并行B00TTMS320VC5402内部具有ZK字的BOOT ROM,为脱机运行提供了五种启动装载模式:HPI端口启动模式、标准串口启动模式、I/O口启动模式、串口EEPROM启动模式和并行启动方式。这些不同的BOOT方式可以满足用户不同的应用场合,对于以DSP5402为核心的独立系统中并口加载方案被认为是最佳的,因为前三种方案适用于由其他处理器为DSP5402提供运行代码的多处理器系统中,后两种方案虽然都可以适应以DSP5402为核心的独立系统,但是串口EEPROM启动模式中只支持价格偏高的SPI端口EEPROM,而并口启动模式却可以采用EPROM,而且并行EPROM和FALSH种类很多,有的价格很低,因而可以充分体现系统的性价比优势。本系统在设计中采用了8位的并口加载方案。用户使用BOOT,需要将DSP设置为微计算机方式(MP/MC#置低),这样DSP复位后,程序就从内部ROM的FF80H地址开始运行。在FF80H处,有一条跳转BOOT程序的指令,这样便开始运行内部的BOOT程序。BOOT在运行搬移程序之前,首先进行初始化,初始化工作包括:使中断无效(INTM=1),内部RAM映射到程序/数据区(OLVY=1),对程序和数据区均设置7个等待状态等。B00T程序选择何种BOOT方式是根据外部设置的不同条件来实现的,并且判断条件有一个先后次序。因此,要使用特定的BOOT方式,必须了解BOOT程序的工作流程。使用外部并行BOOT时,B00T程序首先读入外部数据区的FFFEH和FFFFH两个地址的内容,并把它们组装成一个16为字作为代码存放的源地址,根据这个地址,从外部数据区读入连续的两个8位字节,并组装成一个16位字,如果这个16位字是08AAH,则BOOT程序就知道是外部8位并行BOOT方式,否则是其他BOOT方式。判断是8位BOOT方式后,BOOT程序就进入相应的子程序。由于BOOT已经设定好相应的数据存放格式,因此,在Flash中如何组织好数据就成为关键。下表是Flash中数据组织表,括号中H表示高8位,L表示低8位。Flash引导数据组织表数据区地址(Hex)内容(Hex)含义8000088位BOOT标识(H)8001AA8位BOOT标识(L)80027FSWWSR(H)8003FFSWWSR(L)8004F8BSCR(H)800500BSCR(L)800600程序入口XPC(H)80070

温馨提示

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

评论

0/150

提交评论