基于VHDL语言在FIR滤波器设计毕业设计Word下载.docx
- 文档编号:21544263
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:30
- 大小:715.70KB
基于VHDL语言在FIR滤波器设计毕业设计Word下载.docx
《基于VHDL语言在FIR滤波器设计毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于VHDL语言在FIR滤波器设计毕业设计Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
(1)
LTI数字滤波器在一样情形下分为有限脉冲响应(Finiteimpulseresponse)和无穷脉冲响应(Infiniteimpulseresponse),FIR数字滤波器的设计方式和IIR滤波器的设计方式有专门大的不同。
因为其设计方向是选择有限长度的h(n),使频率响应函数H(e
)知足指标。
数字滤波器正在用直接的电子运算机标准和算法进行分析的方式来慢慢代替传统的模拟滤波器的RLC元器件和放大电路。
FIR数字滤波器的基础
第一介绍FIR数字滤波器大体原理,在如下表格中对FIR和IIR数字滤波器进行了全面的比较:
表2-1两种滤波器特点比较分析
FIR数字滤波器
IIR数字滤波器
设计
方法
在一般的情况下,FIR数字滤波器没有设计公式。
它的设计需要借助计算机程序完成
可以利用AF的设计成果,可简单、有效地完成设计
阶数
高
低
稳定性
在稳定性方面(稳定),极点全部在原点
存在一定的稳定性问题,需要注意
结构
非递归系统
递归系统
运算误差
一般情况下不存在反馈,运算的误差比较小
存在反馈,由于运算中的特殊运算方法会产生极限环
通常情形下一样数字滤波器的N阶FIR数字滤波器基于输入信号x(n)的表达式为:
(2)
那个公式给咱们了一个超级明了的直接型网络结构,该结构表现出N个乘法器,每次采样y(n)的内容是n次乘法和n-1次加法,然后做乘累加上和。
如图2-1所示:
图2-1FIR滤波器直接型网络结构
从DSP的介绍中,第一类线性相位对h(n)的约束条件:
(3)
(4)
由公式(3),(4)咱们能够推出:
(5)
移相并利用三角公式化简取得:
(6)
从数字信号处置学科中明白函数
关于求和区间的中心(N-1)/2奇对称,于是咱们要求
和h(n)知足如下条件:
其中对应的有
(7)
图2-2线性相位FIR滤波器结构
若h(n)呈现对称特性,即此具有线性相位的滤波器是FIR数字滤波器。
滤波器的基础网络结构能够彼此进行转换。
在前面本文已经讨论过,FPGA的实现中将对各类方式进行比较,找出最优设计方式。
从而达到减少资源占有和提高系统作业速度的目的,更好的表现实时性的数字滤波器优势。
2.1.3数字滤波器的设计原理
在数字信号处置技术的研究中,一样是利用的三种设计方式:
窗函数法,FDATool直接设计法,程序编译法。
本文第一利用窗函数和Matlab软件一起进行设计。
随着软件技术的不断进展,Matlab软件能给设计者带来的数字信号处置工作已经超级的完善和多样了,设计者能够利用Matlab软件进行数字滤波器的设计和仿真,而且还能够用这款软件进行设计的优化。
数字滤波器的一样设计步骤如下:
1.指标的确信
做任何工程或设计,设计者都必需要有一个期望的指标用来限制设计范围。
在很多的实际应用中,设计者常常都是利用数字滤波器做选频的工作。
因此,指标的形式一半在频域中给出相位响应和幅度。
相位响应的指标形式,一半是指系统在通频带中药有线性相位。
幅度指标:
绝对指标,它给出对幅度响应函数的要求,一样用于FIR滤波器的设计。
相对指标,以分贝值的形式给出具体限制。
2.逼近目标
设计者做高频的时候可能都有一个模式,确实是第一取得技术指标,然后利用咱们的技术和工具让咱们的产品去逼近那个指标。
同理咱们第一成立以个目标的数字滤波器模型。
一样情形下都是采纳理想的数字滤波器模型,然后去逼近咱们想要的目标数字滤波器参数。
3.运算机仿真和性能优化分析
在工作中咱们发觉通过
(1)、
(2)以后本文会取得以差分、系统函数或冲击响应这三种方式描述的滤波器。
那个时候设计者能够利用计算进行仿真,在系统中分析技术指标和滤波结果是不是是希望取得的结果。
图2-3各类理想数字滤波器的幅度频率响应
2.1.4FIR数字滤波器的理论计算方式与参数转换思想
在理论上把握了FIR数字滤波器的大体原理以后,本文需要对设计思想进行一个多方位的论证和尝试。
第一设计者设计滤波器要有一个硬性的指标,那个指标能够是直接给出最大体的数据,也有多重表现形式。
于是我例举两种特殊的指标形式然后加以解决设计。
然后咱们别离用2种方式来设计不同指标的滤波器。
接下来我第一用程序的方式来实现滤波器:
1.逼近法转换与思想
利用remez函数设计FIR低通滤波器
设计滤波器,使逼近低通滤波特性|
|。
|
|=
要求通带波纹
,阻带衰减
,并用最小阶数实现。
绘出设计的FIR数字滤波幅频特性曲线,查验设计指标。
那个指标咱们能够以如下计算方式来得出详细指标:
从给出的低通滤波特性|
咱们能够看出设计参数
f=[1/4,5/16],m=[1,0];
dev的计算依照公式:
Rp=-20
>
0,于是有Rp=20
,
,因此dev
(1),dev
(2)能够被表示出来。
2.逼近法程序描述与思想
有了这几个参数咱们此刻就能够够依照已经设定好的格式来挪用函数remezord和remez函数了,于是可得如下程序。
clear;
closeall
fc=1/4;
fs=5/16;
%输入给定指标
Rp=3;
As=60;
Fs=2;
f=[fc,fs];
m=[1,0];
%计算remezord函数所需参数f,m,dev
dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];
[N,fo,mo,W]=remezord(f,m,dev,Fs);
%确信remez函数所需参数
hn=remez(N,fo,mo,W);
%挪用remez函数进行设计
hw=fft(hn,512);
%求设计出的滤波器频率特性
w=[0:
511]*2/512;
plot(w,20*log10(abs(hw)));
grid;
%画对数幅频特性图
axis([0,max(w)/2,-90,5]);
xlabel('
w/pi'
);
ylabel('
Magnitude(dB)'
)
line([0,],[-3,-3]);
%画线查验设计结果
line([1/4,1/4],[-90,5]);
line([5/16,5/16],[-90,5]);
程序终止。
3.仿真图像与结果
用以上的程序咱们能够取得在Matlab中的许多参数和图像,从而进一步分析咱们的设计。
第一引入程序输出的幅频特性图:
(如图2-4)
图2-4在Matlab中的程序
图2-5程序输出的幅频特性
图2-6ImpulseResponse
图2-7MagnitudeandPhaseResponses
图2-8PhaseDelay
图2-9Pole,Zeroplot
结论:
从上面程序运行情形分析,观看程序输出的幅频特性图中横线为-3dB,两条竖线别离位于频率π/4和5π/16。
显然,通带指标有富裕,零极点图反映出大部份零极点在圆内,过渡带宽度和阻带最小衰减恰好知足指标要求。
4.窗函数选择法与计划思想
表2-2窗函数选择指标
名称
近似过渡带宽
最小阻带衰减
精确过渡带宽
矩形
4π/M
21dB
π/M
巴特利特
8π/M
25dB
汉宁
44dB
哈明
51dB
布莱克曼
12π/M
74dB
11π/M
取Kaiser窗时用MATLAB中的kaiserord函数来得到长度M
在设计指标中没有直接给出窗函数的,能够利用下面那个表格进行挑选,具体方式如下:
那个表格给出了近似过渡带宽、精准过渡带宽和最小阻带衰减,咱们能够依照自己滤波器的参数来选择咱们的窗函数,因为选择不同的窗函数设计出来的滤波器生成的过渡带宽度和阻带最小衰减是不同的。
在那个地址我以一个例子来讲明函数的选择方式:
用窗函数法设计FIR带通滤波器。
指标如下:
高端通带截止频率
高端阻带截止频率
低端阻带截止频率
低端通带截止频率
通带最大衰减Rp=1dB
阻带最小衰减Rs=60dB
在如此一个例子中,能够看到它明确的给出了Rs=60dB来设置窗函数类型和阶次。
表格中给出的blackman窗其滤波器阻带最小衰减是74dB,再利用给出的其他参数计算滤波器阶数。
表中显示窗口长度M由过渡带宽度B=ππ=π决定,而Blackman窗设计的滤波器过渡带宽度为12π/M,则M=12/=80。
又因M=N+1,因此滤波器阶数N=79。
在了解了怎么选择窗函数和计算滤波器阶数以后,本论文将针对实际FIR数字滤波器进行研究。
已经给出了设计参数,下面开始利用MATLAB程序来设计那个滤波器。
5.窗函数法程序描述与思想
程序和对应的说明:
%用窗函数法设计FIR带通滤波器
closeall;
wls=*pi;
wlp=*pi;
whp=*pi;
B=wlp-wls;
%那个地址是在计算过渡带宽
N=ceil(12/;
%计算窗口长度
wc=[wlp/pi-6/N,whp/pi+6/N];
%设置理想带通截止频率
hn=fir1(N-1,wc,Blackman(N));
%设计滤波器参数
6.理论计算方式总结
仿真完成以后,把握如何去利用已有的指标去设计一个滤波器,总的来讲确实是四项:
通过傅里叶逆变换取得理想滤波器的单位脉冲响应hd(n)。
分析给定参数,计算出滤波器的阶数,频率等等相关指标。
把已经有的参数用程序函数表达出来,利用已经有的各类内置函数架设起滤波器。
参看Matlab的输出图形和参数是不是知足要求。
Matlab直接FDAtool设计方式解析
FDATool(FilterDesign&
AnalysisTool)是MATLAB信号处置工具箱里专用的滤波器设计分析工具,以上的版本还专门增加了滤波器设计工具箱(FilterDesignToolbox)。
FDATool能够设计几乎所有的大体的常规滤波器,包括FIR和IIR的各类设计方式。
它操作简单,方便灵活。
FDATool界面总共分两大部份,一部份是DesignFilter,在界面的下半部,用来设置滤波器的设计参数,另一部份那么是特性区,在界面的上半部份,用来显示滤波器的各类特性。
DesignFilter部份要紧分为:
FilterType(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的FIR滤波器。
DesignMethod(设计方式)选项,包括IIR滤波器的Butterworth(巴特沃思)法、ChebyshevTypeI(切比雪夫I型)法、ChebyshevTypeII(切比雪夫II型)法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函数)法。
FilterOrder(滤波器阶数)选项,概念滤波器的阶数,包括SpecifyOrder(指定阶数)和MinimumOrder(最小阶数)。
在SpecifyOrder中填入所要设计的滤波器的阶数(N阶滤波器,SpecifyOrder=N-1),若是选择MinimumOrder那么MATLAB依照所选择的滤波器类型自动利用最小阶数。
FrenquencySpecifications选项,能够详细概念频带的各参数,包括采样频率Fs和频带的截止频率。
它的具体选项由FilterType选项和DesignMethod选项决定,例如Bandpass(带通)滤波器需要概念Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要概念Fstop一、Fpass1。
采纳窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,因此只需要概念通带截止频率,而没必要概念阻带参数。
MagnitudeSpecifications选项,能够概念幅值衰减的情形。
例如设计带通滤波器时,能够概念Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。
当采纳窗函数设计时,通带截止频率处的幅值衰减固定为6db,因此没必要概念。
参数要求:
采样频率fs=100Hz,通带下限截止频率fc1=10Hz,通带上限截止频率fc2=20Hz,过渡带宽6Hz,通阻带波动,采纳凯塞窗设计。
针对一个含有5Hz、15Hz和30Hz的混和正弦波信号已知滤波器的阶数n=38,beta=。
本例中,第一在FilterType当选择Bandpass;
在DesignMethod选项当选择FIRWindow,接着在Window选项当选取Kaiser,Beta值为;
指定FilterOrder项中的Specifyorder为38;
采样频率Fs=100Hz,截止频率Fc1=10Hz,Fc2=20Hz。
设置完以后点击窗口下方的DesignFilter,在窗口上方就会看到所设计滤波器的幅频响应,通过菜单项选择项Analysis还能够看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极点配置等。
设计完成后将结果保留为文件。
咱们能够依照FDAtool工具取得咱们的滤波器相关增益。
系数转换成二进制码:
假设采纳乘法器,用1位整数位,1位符号位,共22位定点二进制数进行运算,负数用补码表示,由此将减法运算变成累加求和运算。
各系数可用matlab编程转成二进制补码:
/*
*FilterCoefficients(CSource)generatedbytheFilterDesignandAnalysisTool
*
*GeneratedbyMATLAB(R)andthe
*Generatedon:
22-Mar-202020:
09:
12
*/
*Discrete-TimeFIRFilter(real)
*-------------------------------
*FilterStructure:
Direct-FormFIR
*FilterOrder:
38
*Stable:
Yes
*LinearPhase:
Yes(Type1)
/*GeneraltypeconversionforMATLABgeneratedC-code*/
#include"
"
/*
*Expectedpathto
*D:
\MATLAB7\extern\include\
constintBL=39;
constreal64_TB[39]={
,,,,,,,,,,,,,,,-0.,-0.,,0.,,0.,,-0.,-0.,,,,,,,,,,,,,,,
};
这是一个超级典型的例子,能够清楚的看到利用Matlab提供的FDAtool设计滤波器的方便与快捷。
比较以上几种类型的滤波器参数,在给定的参数要求下,采纳椭圆滤波器能够取得最正确的幅频响应特性,具有阶数低,过渡带窄等优势。
尽管椭圆滤波器在通带也会产生波动,但考虑到波动处在可同意的范围内,仍然符合设计要求。
但由直接型传输函数表达式来实现并非有效。
因此如前所说,将其分解为多个二阶传输函数的级联形式。
借助Matlab信号处置工具箱中函tf2sos(Transferfunctiontosecond-order-section)将传递函数转换为二阶级联形式。
关于是数字信号,需要对先前分析计算中分解取得的二阶子系统的滤波器系数进行量化,即用一个固定的字长加以表示。
量化进程中由于存在不同程度的量化误差,由此会致使滤波器的频率响应显现误差,严峻时会使滤波器的极点移到单位圆之外,使系统不稳固。
为了取得最优的滤波器系数,量化的精度也相当重要。
FDAtool设计模板及设计结果图
那个地址把上面的滤波器设计参数的整体图给出,如图2-10
图2-10FIR带通滤波器整体设计参数
程序分析部份
依照上述FIR低通数字滤波器的原理与滤波特性,咱们在上面的软件实践中已经把握了设计数字滤波器的方式而且成功的利用Matlab/Simulink进行了设计和仿真。
通过以上的进程咱们能够导出必然性能的FIR滤波器频率响应与抽头系数,然后用VerilogHDL语言设计和QUARTUSⅡ仿真FIR低通数字滤波器,实现用软件描述硬件的动作及功能,应用软件来实现数字滤波器的功能和时序仿真。
FPGA可编程逻辑元件介绍
EDA是ElectronicDesignAutomation的缩写,意为电子设计自动化,即利用运算机自动完成电子系统的设计。
EDA技术是以运算机和微电子技术为先导,聚集了运算机图形学、拓扑、逻辑学、微电子工艺与结构学和计算数学等多种运算机应用学科最新功效的先进技术。
它与电子技术、微电子技术的进展紧密相关,吸收了运算机领域的大多数最新研究功效,以高性能的运算机作为工作工具,在EDA软件平台土,依照硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布线、仿真,直相当于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
可编程逻辑器PLD(ProgrammableLogicDevices)是ASIC(ApplicationSpecificIntegratedCircuits的一个重要分支。
ASIC按制造方式又可分为全定制(FullCustom)产品、半定制(semi-custom)产品和可编程逻辑器件(PLD)。
前两种ASIC的设计和制造都离不开器件生产厂家,用户主动性较差。
随着微电子技术的进展,设计师们更情愿自己设计专用集成电路芯片,并尽可能缩短设计周期,最好是在实验室里就能够设计出适合的ASIC芯片,而且当即投入实际应用当中,在利用中也能比较方便的对设计进行修改。
可编程逻辑器件确实是为知足用户的这一需求应运而生的。
利用FPGA器件设计数字电路,不仅能够简化设计进程,而且能够降低整个系统的体积和本钱,增加系统的靠得住性。
它们无需花费传统意义下制造集成电路所需大量时刻和精力,幸免了投资风险,成为电子器件行业中进展最快的一族。
利用FPGA器件设计数字系统电路的要紧优势如下:
1.设计灵活
利用FPGA器件,可不受标准系列器件在逻辑功能上的限制。
而且修改逻辑可在系统设计和利用进程的任一时期中进行,而且只须通过对所用的FPGA器件进行从头编程即可完成,给系统设计提供了专门大的灵活性。
2.增大功能密集度
功能密集度是指在给定的空间能集成的逻辑功能数量。
可编程逻辑芯片内的组件门数高,一片FPGA可代替几片、几十片乃至几百片中小规模的数字集成电路芯片。
用FPGA器件实现数字系统时用的芯片数量少,从而减少芯片的利用数量,减少印刷线路板面积和印刷线路板数量,最终致使系统规模的全面缩减。
3.提高靠得住性
减少芯片和印刷板数量,不仅能缩小系统规模,而且它还极大的提高了系统的靠得住性。
具有较高集成度的系统比用许多低集成度的标准组件设计的相同系统具有高得多的靠得住性。
利用FPGA器件减少了实现系统所需要的芯片数量,在印刷线路板上的引线和焊点数量也随之减少,因此系统的靠得住性得以提高。
4.缩短设计周期
基于FPGA器件的可编程性和灵活性,用它来设计一个系统所需时刻比传统方式大为缩短。
FPGA器件集成度高,利历时印刷线路板电路布局布线简单。
同时,在样机设计成功后,由于开发工具先进,自动化程度高,对其进行逻辑修改也十分简便迅速。
因此,利用FPGA器件可大大缩短系统的设计周期,加速产品投放市场的速度,提高产品的竞争能力。
5.工作速度快
FPGA/CPLD器件的工作速度快,一样能够达到几百兆赫兹,远远大于DPS器件。
同时,利用FPGA器件后实现系统所需要的电路级数又少,因此整个系统的工作速度会取得提高。
6.增加系统的保密性能
很多FPGA器件都具有加密功能,在系统中普遍的利用FPGA器件能够有效避免产品被他人非法仿造。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 语言 FIR 滤波器 设计 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)