线性滤波器.docx
《线性滤波器.docx》由会员分享,可在线阅读,更多相关《线性滤波器.docx(31页珍藏版)》请在冰点文库上搜索。
![线性滤波器.docx](https://file1.bingdoc.com/fileroot1/2023-4/28/c07d2bc8-e8ee-4956-93ae-883720314d4c/c07d2bc8-e8ee-4956-93ae-883720314d4c1.gif)
线性滤波器
线性滤波的特性及滤波器设计与实现
线性滤波的特性及滤波器设计与实现
摘要
数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。
有限冲激响应(线性)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。
现场可编程门阵列FPGA器件的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。
FPGA器件集成度高、体积小,具有通过用户编程实现专门应用功能。
它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。
随着科技的发展,电子电路的设计正逐渐摆脱传统的设计模式,而采用FPGA(现场可编程门阵列)来设计电子电路正成为设计的趋势。
这是因为采用FPGA设计电子电路不仅开发时间短,资金投入相对少,且可将电路板级产品集成为芯片级产品。
在数字信号处理中,滤波占有重要的地位。
数字滤波在语音和图像处理、HDTV(高清晰电视)、模式识别、频谱分析等应用中经常用到。
与模拟滤波相比,数字滤波具有很突出的优点。
例如它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波所无法克服的电压漂移、温度漂移和噪声等问题。
有限长冲激响应(线性)滤波器,由于线性系统只有零点、系统稳定,便于实现FFT算法、运算速度快、线性相位的特性和设计更为灵活等突出优点而在工程实际中获得广泛应用。
本文将研究基于设计线性数字滤波器。
对几种改进算法分别进行必要的运算量与性能分析,并进行对比。
最后,对文中所述插值算法做了总结。
为了对算法的实现以及性能做一个分析,文中引入了MATLAB软件。
关键词:
FPGA;线性滤波器;窗函数;MATLAB
概述
课题背景
数字信号处理已成为一门极其重要的学科和技术领域。
作为数字信号处理的一项重要内容,数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。
有限冲激响应(线性)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。
目前线性滤波器的实现方法有三种:
利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。
本文选用可编程逻辑器件实现线性滤波器。
现场可编程门阵列FPGA器件的出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。
FPGA器件集成度高、体积小,具有通过用户编程实现专门应用功能。
它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。
目前使用最多的可编程开发环境QuartusII软件支持几乎所有的EDA(电子设计自动化)工具,并且可以通过命令行或Tcl脚本文件与第三方EDA工具之间进行无缝连接。
但在很多工程设计应用中,由FPGA器件完成的主程序中只完成大量的数学运算,程序调试时以二进制形式输出的信号可视性差,给设计人员进行仿真、调试带来了很多不便。
对于很多工程设计人员来说MATLAB是一种熟悉的具有强大的运算功能和波形仿真、分析功能的软件,如果能将FPGA与MATLAB接口,就可以快速、准确、直观地对FPGA程序进行校验和仿真,尤其在数字信号处理等工程应用领域具有实际意义。
本文正是借助于MATLAB/Simulink工具设计分析线性数字滤波器,并实现对线性数字滤波器系统的模拟仿真。
近年来,FPGA市场开发十分迅速,各大FPGA厂商不断采用新技术来提高FPGA器件的容量,增强软件的性能。
如今,FPGA器件广泛应用于通信、自动控制、信息处理等诸多领域,越来越多的电子设计人员在使用FPGA,熟练掌握FPGA设计技术已经是对电子设计工程师的基本要求。
第1章数字滤波器的基本概念
所谓数字滤波器,是指输入、输出均为数字信号,通过一定的运算关系改变输入信号所含频率成份的相对比例或者滤除某些频率成份的器件。
因此,数字滤波器的概念和模拟滤波器相同,只是信号的形式和实现滤波方法不同。
正因为该点的不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法实现的特殊滤波功能等优点。
如果要处理的是模拟信号,可通过ADC和DAC,在信号形式上进行匹配转换,同样可以使用数字滤波器对模拟信号进行滤波。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
应用最广的是线性、时不变数字滤波器
一般数字滤波器从功能上分类,和模拟滤波器一样,可以分为低通、高通、带通、带阻等选通滤波器。
它们的理想幅频特性如图1-1所示。
这种理想滤波器是不可能实现的,因为它们的单位脉冲响应均为非因果且是无限长的,我们只能按照某些准则设计滤波器,使之尽可能逼近它,这些理想的滤波器可作为逼近的标准用。
另外,需要注意的是数字滤波器的传输函数H(
)都是以2
为周期的,滤波器的低通频带处于2
的整数倍处,而高通频带处于
的奇数倍附近,这一点和模拟滤波器是有区别的。
图1-1理想低通、高通、带通、带阻滤波器幅频特性
数字滤波器从实现的网络结构或者从单位脉冲响应分类,可以分为无限长脉冲响应(IIR)滤波器和有限脉长冲响应(线性)滤波器。
它们的系统函数分别为:
H(z)=
(1.1)
H(z)=
(1.2)
(1.1)式中的H(z)称为N阶IIR滤波器函数,(1.2)式中的H(z)称为(N-1)阶线性滤波器函数。
这两种类型的设计方法有很大的区别,本课题主要讨论线性的设计。
1.1数字滤波器的技术要求
我们常使用的数字滤波器一般属于选频滤波器。
假设数字滤波器的传输函数H(
)用下式表示:
H(
)=|H(
)|
式中,|H(
)|称为幅频特性,Q(ω)称为相频特性。
幅频特性表示信号通过该滤波器后各频率成份衰减情况,而相频特性反映各频率成份通过滤波器后在时间上的延时情况。
因此,即使两个滤波器的幅频特性相同,而相频特性不一样,对同样的输入,滤波器的输出信号也是不一样的。
一般选频滤波器的技术要求有幅频特性给出,相频特性一般不作要求,但如果对输出波形有要求,则需要考虑相频特性的技术指标,例如,语音合成、波形传输、图像信号处理等。
如果对输出波形有严格要求,则需要设计线性相位的数字滤波器。
对于图1-1中所示的各种理想滤波器,我们必须设计一个因果可实现的滤波器去实现。
另外,也要考虑复杂性与成本问题,因此实用中通带和阻带中允许一定的误差容限,即通带不一定是完全水平的,阻带信号电压不一定都绝对衰减到零。
此外,按要求在通带与阻带之间还应设置一定宽度的过渡带。
因此由上可知数字滤波器的技术指标有:
通带的最大波动、阻带的最小衰减、以及过渡带的宽度。
1.2数字滤波器的设计概述
由于结构的差异,IIR滤波器和线性滤波器的设计方法也是不相同的。
IIR设计方法通常有两类,经常用的一类设计方法是借助于模拟滤波器设计方法进行的。
其设计步骤是:
先设计模拟滤波器得到传输函数Ha(s),然后将Ha(s)按某种方法转换为数字滤波器的系统函数H(z)。
这一类相对容易一些,这是因为模拟滤波器的设计方法已经很成熟,它不仅有完整的设计公式,还有完善的图表供查询;另外,还有一些典型的滤波器类型可以供我们使用。
另一类是直接在频域或者时域中进行设计的,由于要解联立方程,设计时需要计算机作辅助设计。
线性滤波器不能采用由模拟滤波器的设计进行转换的方法,经常用的是窗函数法和频率采样法。
还有一种比较有效的方法是切比雪夫等波纹逼近法,需要通过计算机辅助设计完成。
IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。
下面主要介绍前两个函数的使用。
与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。
在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
IIR单位响应为无限脉冲序列FIR单位响应为有限的
IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
FIR幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。
这是很好的性质。
对于线性相位型滤波器,通常采用线性滤波器,其单位脉冲响应满足一定条件,可以证明其相位特性在整个频带中是严格线性的,这是模拟滤波器无法达到的。
当然,也可以采用IIR滤波器,但必须使用全通网络对其非线性相位特性进行相位校正,这样增加了设计与实现的复杂性。
本课题主要研究线性滤波器的设计。
第2章线性滤波器特性及原理
常见的数字滤波器为线性时不变(LineTimeInvariant,LTI)滤波器。
线性是数字滤波器的一种。
线性滤波器的运算是一种卷积运算,可以用快速傅氏变换和其他快速算法来实现.
2.1线性滤波器原理及结构
并非所有的线性数字滤波器都具有线性相位特点,而是当线性数字滤波器的单位脉冲响应具有对称性特点时,才具有严格线性相位,即h(n)是实数,且h(n)的前半部和后半部之间满足偶对称或奇对称,
h(n)=
h(N-1-n)
当一个线性滤波器具有线性相位响应时,其脉冲响应呈现某种对称条件。
在这种形式中,将利用这些对称关系把相乘的次数减少一半。
正是由于此原因,在本课题中才会选择线性相位型来进行设计。
线性相位响应的优点如下:
1、设计过程中只有实数运算而没有复数运算,运算简单;
2、线性相位线性滤波器没有延时失真,仅有某一固定时延,便于设计;
3、对于长度为N或(N-1)的滤波器,其运算次数具有N/2数量级,有利于提高运算速度,节省资源。
我们知道,对于线性滤波器的直接型结构如图1-2所示,图中共需要N个乘法器,但对于线性相位的线性滤波器,N为偶数时,仅需要N/2次乘法,节约一半乘法器。
如果N为奇数,则需要(N+1)/2个乘法器,也节约了近一半。
图1-2线性滤波器直接型结构
线性相位线性滤波器的差分方程为,
y(n)=
=h(0)*x(n)+h
(1)*x(n-1)+…+h
(1)*x(n-N+2)+h(0)*x(n-N+1)
=h(0)[x(n)+x(n-N+1)]+h
(1)[x(n-1)+x(n-N+2)]+…
当线性滤波器的阶数为奇数和偶数时,其相应的结构如图1-3,1-4所示。
图1-3线性相位线性滤波器(奇数阶)
图1-4线性相位线性滤波器(偶数阶)
比较从以上图形结构,可看出线性相位结构比较简单,节省了大量的硬件资源。
对于线性相位线性滤波器的单位脉冲响应h(n)为奇对称和偶对称又分别分为列长N为奇数和偶数两种情况。
其单位脉冲响应序列h(n)如图1-5,1-6所示。
因此共有四种类型的线性相位线性滤波器。
图1-5偶对称单位脉冲响应图1-6奇对称单位脉冲响应
2.2线性滤波器的特性
线性滤波器是脉冲响应有限长的数字滤波器,它由有限个采样值构成。
按网络实现结构,线性滤波器可分以下几种:
直接型、级联型、频率采样型,若线性的脉冲响应满足奇偶对称的条件,则线性还具有线性相位型结构。
由于线性脉冲响应是有限长的,系统函数在单位圆外没有极点,因而系统具有很好的稳定性,多采用非递归结构实现,运算误差小。
相比之下,IIR滤波器的单位脉冲响应序列是无限长的,其系统函数极点在单位圆内时才是稳定的,实现结构必定是递归型的,这种结构由于运算误差,有时会引起零输入极限环震荡。
线性滤波器的运算是一种卷积运算,可以用快速傅氏变换和其他快速算法来实现。
而IIR滤波器没有快速算法。
线性滤波器能得到严格的线性相位特性。
而IIR滤波器具有良好的幅频特性,但相位是非线性的,要设计线性相位的IIR滤波器,只能用优化设计的方法逼近。
通常,在满足同样设计指标的情况下,线性滤波器的阶数要比IIR滤波器的阶数高,这是因为线性滤波器的极点固定在原点位置上,要达到较好的选择性,只能提高滤波器的阶数。
在设计滤波器时,IIR滤波器的设计可利用模拟滤波器的理论,有公式表格可供查阅等,设计工作量小。
而线性滤波器没有直接设计公式,计算工作量大,一般要借助于计算机来完成。
2.3线性滤波器的设计
前文提到设计线性滤波器不能采用由模拟滤波器的设计进行转换,通常用的是窗函数法,频率采样法以及切比雪夫等波纹逼近法。
线性滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。
其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。
FIR数字滤波器的单位脉冲响应是有限长序列。
它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。
在对滤波器实际设计时,整个过程的运算量是很大的。
设计阶数较高的IIR滤波器时,计算量更大,设计过程中改变参数或滤波器类型时都要重新计算。
设计完成后对已设计的滤波器的频率响应要进行校核。
要得到幅频、相频响应特性,运算量也是很大的。
平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候要根据设计要求和滤波效果不断地调整,以达到设计的最优化。
在这种情况下,滤波器设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成。
利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量在本课题中,选用窗函数法来设计。
2.3.1窗函数法设计原理
线性滤波器最简单的设计方法是窗函数法,也称为傅氏级数法。
线性滤波器的设计同IIR滤波器一样,先给出要求的理想滤波器的频域,设计一个线性滤波器的频响去逼近理想的频响。
然而窗函数设计法是在时域进行的,因此必须先求出理想频响对应的单位脉冲响应hd(n),再设计线性滤波器的单位脉冲响应h(n)去逼近hd(n)。
它的基本思想是要选取某一种合适的理想频率选择性滤波器,然后将它的脉冲响应平移截断以得到一个线性相位和因果的线性滤波器。
因此这种方法的重点在于选择某种合适的窗函数和一种理想滤波器。
对于给定的滤波器技术指标,选择滤波器长度和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数。
任何数字滤波器的频率响应H(
)都是ω的周期函数,它的傅立叶级数展开式为,
H(
)=
其傅立叶级数系数hd(n)就是理想数字滤波器的单位脉冲响应,且
hd(n)=
其中ωc为滤波器的归一化截止频率。
显然,hd(n)是无限长的序列,系统是非因果的,物理不可实现的。
因此我们必须把hd(n)右移截断,得到一个有限长的因果序列h(n),让h(n)去逼近hd(n),比如把hd(n)右移(N-1)/2位得:
h'd(n)=
可以看出h'd(n)是一个关于(N-1)/2点偶对称的序列,其相位响应是严格线性的。
但这种直接平移截取的方法,会产生吉布斯(Gibbs)现象。
即随着窗口长度的增加,窗口频谱的主瓣宽度变窄,频谱旁瓣个数增加,但主瓣与旁瓣相对比例基本不变。
因此增加窗口长度,由于主瓣宽度变窄可减小过渡带宽,又由于频谱旁瓣个数增加而使得通带内起伏和阻带内的余振增加,但肩峰强度以及阻带最小衰减基本不变,若要改善阻带衰减特性,必须减小旁瓣与主瓣的相对比例,使窗口能量集中在频谱主瓣,这样一来又增加了主瓣的宽度,其结果将导致过渡带变宽。
实际应用中要兼顾过渡带宽和阻带衰减。
因此常常结合具体情况,通过选择不同的窗函数来满足实际的需要。
2.3.2几种常用的窗函数
工程中比较常用的窗函数有:
矩形窗函数、三角形(Bartlett)窗函数、汉宁(Hanning)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数和凯塞(Kaiser)窗函数。
其中凯塞窗是由零阶贝塞尔函数构成的。
它有一个形状参数β,可以自由选择。
改变β值可以调节主瓣宽度和旁瓣电平。
β越大,W(n)窗越窄,频谱的旁瓣越小,但主瓣也相应加宽。
以上六种窗函数的比较如表1-1所示。
表1-1六种窗函数的比较
窗函数
第一旁瓣幅度衰减/dB
过渡带宽
阻带最小衰减/dB
矩形窗
-13
4
/N
-21
三角形窗
-27
8
/N
-25
汉宁窗
-31
8
/N
-44
海明窗
-41
8
/N
-53
布莱克曼窗
-57
12
/N
-74
凯塞窗
-57
10
/N
-80
在MATLAB中的窗函数,:
(1)矩形窗(RectangleWindow)调用格式:
w=boxcar(n),根据长度n产生一个矩形窗w。
(2)三角窗(TriangularWindow)调用格式:
w=triang(n),根据长度n产生一个三角窗w。
(3)汉宁窗(HanningWindow)调用格式:
w=hanning(n),根据长度n产生一个汉宁窗w。
(4)海明窗(HammingWindow)调用格式:
w=hamming(n),根据长度n产生一个海明窗w。
(5)布拉克曼窗(BlackmanWindow)调用格式:
w=blackman(n),根据长度n产生一个布拉克曼窗w。
(6)恺撒窗(KaiserWindow)调用格式:
w=kaiser(n,beta),根据长度n和影响窗函数旁瓣的β参数产生一个恺撒窗w
窗函数的选择原则是:
1、具有较低的旁瓣幅度,尤其是第一旁瓣幅度;
2、旁瓣幅度下降速度要大,以利增加阻带衰减;
3、主瓣的宽度要窄,以获得较陡的过渡带。
通常上述三点很难同时满足。
当选用窗函数主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加,当选用最小的旁瓣幅度时,虽能得到均匀的幅度响应和较小的阻带波动,但过渡带变宽。
因此,实际选用的窗函数往往是取它们的折衷。
在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。
以上是从幅频特性的改善对时域窗函数提出的原则要求。
通过分析比较,本课题选择海明窗。
2.3.3海明窗简介
海明窗是一种改进的升余弦窗,定义为:
W(n)=0.54-0.46cos
0≤n≤N-1
图1-7,1-8所示,分别为64阶海明窗、矩形窗窗函数的时域及频域幅度特性。
由表1-1及图1-7,1-8比较得出,本课题选择海明窗的主要原因如下:
1、在以上所列窗函数中,矩形窗的主瓣宽度最窄,但其旁瓣幅度衰减太小,从而造成所设滤波器的通带和阻带特性均不理想。
然而所选的海明窗,其主瓣宽度适中,对应所设计的滤波器的过渡带也比较窄。
2、在窗函数中,海明窗最大旁瓣值比主瓣衰减约41dB,旁瓣抑制较高,通带特性好。
3、海明窗的谱能量绝大部分集中在主瓣内,阻带特性良好。
本课题研究的是线性相位线性滤波器的设计,h(n)有对称特点,且要求窗函数W(n)必须有偶对称特点,即
W(n)=W(N-1-n)
图1-764阶海明窗时域与频域幅度特性
图1-864阶矩形窗时域与频域幅度特性
2.3.4FPGA概述和基本结构
FPGA的发展相当迅速,现已形成了各种不同的结构。
按逻辑功能块的大小分类,可分为细粒度FPGA和粗粒度FPGA。
细粒度FPGA的逻辑功能块小,资源可利用度高,但连线和开关多,速度慢;粗粒度FPGA的逻辑功能模块大,功能强,但资源不能充分利用。
从逻辑功能块的结构上分类,可分为查找表结构、多路开关结构和多级与非门结构。
根据FPGA的内部连线的结构不同,可分为分段互连型FPGA和连续互连型FPGA两种。
分段互连型FPGA中具有多种不同长度的金属线,各金属线段之间通过开关矩阵或反熔丝编程连接,走线灵活方便,但走线延时无法预测;连续互连型FPGA是利用相同长度的金属线,连接与距离远近无关,布线延时是固定和可预测的。
根据编程方式,FPGA可分为一次编程型和可重复编程型两类。
一次编程型采用反熔丝开关元件,具有体积小、集成度高、互连性特性阻抗低、寄生电容小和高速度的特点,此外还具有加密位、防拷贝、抗辐射、抗干扰、不需外接PROM或EPROM的特点,但只能一次编程,比较适合于定型产品及大批量应用,Actel公司和Quicklogic公司提供此类产品。
可重复编程型FPGA采用SRAM开关元件或FLASH控制的开关元件,配置数据存储在SRAM或FLASH中。
SRAM型的FPGA的突出优点是可以反复编程,系统上电时,给FPGA加载不同的配置数据就可完成不同的硬件功能,甚至在系统运行中改变配置,实现系统功能的动态重构。
FLASH型FPGA具有非易失性和可重复编程的双重优点,但不能动态重构,功耗也较SRAM型高。
目前FPGA的主流仍然是Xilinx公司的产品。
FPGA一般有由三种可编程电路和一个用于存放编程数据的SRAM组成,这三种可编程电路是:
可编程逻辑模块CLB(ConfigurableLogicBlock)、输入/输出模块IOB(I/OBlock)和可编程布线通道(其中包括可编程内部连接点PIP),其基本结构如图2-1所示。
CLB是FPGA的主要组成部分,是实现逻辑功能的基本单元。
I/O模块提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。
可编程布线通道把各逻辑模块与I/O模块互相连接起来,构成各种功能复杂的系统。
2.6设计方法及流程
在EDA出现以前,人们采用传统的硬件电路设计方法来设计数字系统。
传统的硬件电路采用自下而上的设计方法。
其主要步骤是:
根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流程图,对系统的功能进行分化,合理的划分功能模块,并画出系统的功能框