基于FPGA实现变采样率FIR滤波器的研究-基础电子_第1页
基于FPGA实现变采样率FIR滤波器的研究-基础电子_第2页
基于FPGA实现变采样率FIR滤波器的研究-基础电子_第3页
基于FPGA实现变采样率FIR滤波器的研究-基础电子_第4页
基于FPGA实现变采样率FIR滤波器的研究-基础电子_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

精品文档-下载后可编辑基于FPGA实现变采样率FIR滤波器的研究-基础电子摘要:数字信号凭借其在传输、存储和计算上的便捷性,正在得到越来越广泛的应用。在现代数字系统中往往会存在多种采样频率,这就需要改变采样频率,进行频率转换。本文主要介绍利用现场可编程逻辑器件(FPGA)实现变采样率FIR数字滤波器的方案。首先简单分析了FIR数字滤波器的基本结构,在此基础上,以一个适用于变采样率的半带滤波器的设计为例,结合利用MATLAB为辅助设计工具,完成对给定指标的FIR滤波器的设计,提出了利用FPGA硬件实现滤波的TOP-DOWN结构图。此方案使性能和资源占有率得到较好的突破,限度的减少资源消耗。

1.引言

随着数字信号处理理论及应用技术的迅速发展,在一个数字系统中只用一个采样频率已经很难满足要求。在实际的应用中,经常会遇到采样率的转换问题,即要求一个数字系统能工作在“多采样率”状态。近年来,建立在采样率转换基础上的“多采样率数字信号处理”已成为数字信号处理学科中的主要研究内容之一。直观地考虑,首先将以采样率F1采集的数字信号进行数模转换,这样就变成模拟信号,再按采样率F2进行模数转换,从而实现了从F1到F2的采样率转换,这就是变换采样率的简单方法。但是这样较麻烦,且易使信号受到损伤,所以在实际应用的变采样系统中,改变采样频率并不经过模拟信号,而是完全在数字域中实现的。在数字信号处理中,滤波占有极其重要的作用,适用于变采样率系统中的数字滤波器就是本文要谈论的主要内容。

2.FIR数字滤波器的设计过程及结构

数字滤波器根据其冲击响应函数的时域特性,可分为两种:无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。FIR滤波器被广泛应用于各类数字信号处理系统,它的系统总是稳定的,可以满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器温漂和噪声等问题,易实现线性相位且易用硬件实现,这些都是FIR系统的突出优点,也是IIR系统不易实现的。尽管IIR滤波器系统比FIR滤波器系统易取得较好的通带和阻带衰减特性,FIR系统若要取得较好的衰减特性,一般要求系统函数H(z)阶次要高,也即滤波器长度M要大。综合以上考虑,本文选用FIR滤波器来完成设计。

2.1FIR数字滤波器的基本原理及设计基础

图1中x(n)是输入信号,x(n-i)是延时了i个采样周期的输入信号,h(i)(i=0,1,…,n-1)是第i个延时节的加权值(即滤波器系数),y(n)是时刻t=nT时滤波器的输出信号。

FIR数字滤波器的设计一般要经过三步[2]:确定目标、逼近和计算机实现。通常在设计滤波器之前,应该先根据具体的应用确定一些技术指标。指标的形式一般在频域中给出幅度和相位响应。幅度指标主要有2种方式,分别是指标和相对指标。在确定了技术指标之后,就可以根据数学知识和滤波器的基本原理确定滤波器的模型来逼近给定的指标。上两步的结果通常是得到以差分或系数函数或冲击响应描述的滤波器,根据这个描述用硬件或软件实现并分析其频率特性和相位特性。至此完成了一个滤波器设计的全过程。

2.2利用Matlab实现FIR数字滤波器

Matlab是一个交互式的以矩阵为基础的软件,它被广泛应用与教学、科研和工程设计等各个领域。随着Matlab软件的发展,尤其是Matlab的信号处理工具箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到化。

在数字信号处理领域里,采样频率转换就是将信号采样频率从一个给定的频率F1=1/T1转换到另一频率F2=1/T2的过程,它是一个非线性过程。当新的采样频率高于原始频率,即F2F1时,称为升采样率或插值;反之,当新的采样频率低于原始频率,称为降采样率或抽取。

设对某限带时间波形x(t),以采样率fs(在满足采样定理的条件下)进行采样,得到时

基于半带滤波器的优点,在半带滤波器的基础上设计FIR滤波器一般采用等波纹逼近法,该方法对同样的技术指标,能使误差均匀分布在整个频带,而且这种逼近法需要的滤波器阶数低,且误差。

给定半带滤波器的设计指标:

通带截止频率为20KHz,采样频率为88.2KHz,通带波纹为0.001,阻带衰减70dB。

根据上述指标,结合其优点,利用Matlab的信号处理工具中的remez函数进行FIR滤波器的设计。remez函数利用Parks-McClellan算法,该算法利用remez交换算法和切比雪夫逼近理论来设计滤波器,使实际滤波器的幅频响应地拟合理想滤波器的幅频响应,使它们之间误差化。

调用remezord和remez函数设计此滤波器,由调用格式[N,fo,ao,w]=remezord(f,m,,rip,Fs)[3]知道,首先根据设计指标确定remezord函数的调用参数,估算出滤波器的阶数N,其返回函数再作为remez函数的调用参数,再直接编写程序调用remez函数得到滤波器单位脉冲响应h(n),得到如图2所示的幅频响应:

通过分析该半带滤波器的幅频响应,可以发现该滤波器的通带和阻带波纹俱在0.0015dB以内,阻带衰减达到了70dB。程序运行结果显示,滤波器阶数N=43,基本符合设计要求。

3.FIR数字滤波器的FPGA硬件实现

由前面的Matlab设计已经求得了要求的FIR滤波器的滤波系数及阶数,下面利用FPGA来完成滤波器的硬件实现。FIR滤波器主要是由乘加单元组成,如果按照直观结构直接构造FIR滤波器会占用大量资源,这显然是不经济的。现提出一种利用FPGA硬件实现滤波的TOP-DOWN结构图,如图3所示。它采用串行结构实现硬件[4]即将输入数据直接与其对应的滤波系数相乘,但不需像并行结构中那样,必须所有的数都相乘完才能相加,而是将前乘积锁存,直接与后乘积累加,这样就可以极大地节约硬件资源,提高执行速度。FIR数字滤波器系统主要分为数据存储和数据运算两大模块。数据存储模块主要功能是以时钟去控制片选信号和地址译码,在ROM查找表中读出与ROM地址相对应的数据,即为滤波系数,并将它与对应的输入信号同步输出至数据运算模块。数据运算模块主要功能就是完成输入信号与对应滤波系数的相乘和累加。

4结论

由于FPGA具有速率高,面积小,性能可靠等特点,成为数字滤波器工作在很高频率上的首先硬件实现方案。本文利用Matlab设计了一个给定指标的适用于变采样率FIR滤波器,并对它进行了FPGA硬件实现。

本文的创新点:提出一种基于

温馨提示

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

评论

0/150

提交评论