滤波器发展史
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉等方向努力,其中高精度、小体积、多功能、稳定可靠成为70年代以后的主攻方向,导致数字滤波器、RC有源滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展。
到70年代后期,上述几种滤波器的单片集成己被研制出来并得到应用,90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。
当然,对滤波器本身的研究仍在不断进行。
目前,国外有许多院校和科研机构在研究基于FPGA的DSP应用,比较突出的有Denmark大学的研究小组正在从事FPGA实现数字滤波器的研究。
由于FPGA实现乘法器有困难,因此他们重点研究开发无乘法的滤波器算法。
加州大学洛杉矶分校的研究小组采用运行时重构技术开发了一种视频通讯系统,该系统用一片FPGA可每帧重构四次完成视频图像压缩和传送的操作。
此外,他们还在进行Mojave项目的开发工作,力图采用运行时重构技术来实现自动目标识别应用。
我国在DSP技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展,而在FPGA方面起步较晚。
全国有100来所高等院校从事DSP&FPGA 的教学和科研,除了一部分DSP芯片需要从国外进口外,在信号处理理论和算法方面,与国外处于同等水平.而在FPGA信号处理和系统方面,有了喜人的进展,正在进行与世界先进国家同样的研究.如,西北工业大学和国防科学技术大学的ATR实验室采用了FPGA可重构计算系统进行机载图像处理和自动目标识别,主要是利用该系统进行复杂的卷积运算,同时利用它的可变柔性来达到自适应的目的。
北京理工大学研究利用FPGA提高加解密运算的速度,等等。
数字信号处理是利用数值计算方法对数字序列进行各种处理,把信号变换成符合人们需要的各种形式。
在数字信号处理过程中,无论是信号的获取和传输,还是信号的处理和交换,都离不开滤波技术。
因此, 本论文在分析了国内外数字滤波器技术的现状与发展趋势及数字滤波器设计方法的基础上,改进了传统的数字滤波器设计方法过程复杂、计算量大、调整滤波特性困难等不足,研究了:1、利用窗函数法设计了低通、带通和多通带数字滤波器,并使用MATLAB软件进行仿真实现;2、使用MATLAB软件实现了利用频率取样法设计的低通滤波器;3、利用优化法设计了等波纹低通滤波器,并使用MATLAB软件进行仿真实现;4、以加噪声音和加噪图像为例,展示良好的滤波器设计能大力改善声音和图像的清晰化处理程
度。
并通过所设计的滤波器对声音和图像中噪声的去除效果,反过来完善滤波器的设计。
因此,相对于传统滤波器而言,该滤波器设计方法可靠性好,效率高,减轻了工作量,有利于滤波器设计的最优化和经济化。
从形式上看,数字滤波有线性滤波和非线性滤波。
线性滤波是指卷积滤波,又分为频域滤波和时域滤波,在实域中根据滤波方式又分为递归滤波和递归滤波。
非线性滤波主要是指同态滤波,它是用取对数的方法将非线性问题线性化。
近些年,线性滤波方法,如Wiener滤波、Kalman滤波和自适应滤波得到了广泛的研究和应用。
同时一些非线性滤波方法,如小波滤波、同态滤波、中值滤波和形态滤波等都是现代信号处理的前沿课题,不但有重要的理论意义,而且有广阔的应用前景。
Wiener滤波是最早提出的一种滤波方法,当信号混有白噪声时,可以在最小均方误差条件下得到信号的最佳估计。
但是,由于求解Wiener-Hoff方程的复杂性,使得Wiener滤波实际应用起来很困难,不过Wiener 滤波在理论上的意义是非常重要的,利用Wiener滤波的纯一步预测,可以求解信号的模型参数,进而获得著名的Levinson算法。
Kalman滤波是20 世纪60 年代初提出的一种滤波方法。
与Wiener滤波相似,它同样可以在最小均方误差条件下给出信号的最佳估计。
所不同的是,这种滤波技术在时域中采用递推方式进行,因此速度快,便于实时处理,从而得到了广泛的应用。
Kalman滤波推广到二维,可以用于图象的去噪。
当假设Wiener 滤波器的单位脉冲响应为有限长时,可以采用自适应滤波的方法得到滤波器的最佳响应。
由于它避开了求解Wiener-Hoff方程,为某些问题的解决带来了极大的方便阔。
小波滤波就是利用信号和噪声的目的。
同态滤波主要用于解决信号和噪声之间不是相加而是相乘关系时滤波问题。
另外,当信号和噪声之间为卷积关系的时候,在一定条件下可以利用同态滤波把信号有效地分离开来,由同态滤波理论引申出的复时谱也成为现代信号处理中极为重要的概念.Wiener滤波、Kalman
滤波和自适应滤波都是线性滤波,线性滤波的最大缺点就是在消除噪声的同时,会造成信号边缘的模糊。
中值滤波是20世纪70年代提出的一种非线性滤波方法,它可以在最小绝对误差条件下,给出信号的最佳估计。
这种滤波方法的优点,就是能够保持信号的边缘不模糊。
另外它对脉冲噪声也有良好的清除作用。
形态滤波是建立在集合运算上的一种非线性滤波方法,它除了用于滤除信号中的噪声外,还在图象分析中发挥了重要的作用.
关于数字滤波器理论研究的发展也带来了数字滤波器在实现上的空前发展。
20世纪60年代起,由于计算机技术、集成工艺和材料工业的发展,滤波器的发展上了一个新台阶,朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉等方向努力,其中高精度、小体积、多功能、稳定可靠成为70年代以后的主攻方向,导致数字滤波器、RC有源滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展。
到70年代后期,上述几种滤波器的单片集成己被研制出来并得到应用,90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。
当然,对滤波器本身的研究仍在不断进行。
目前,国外有许多院校和科研机构在研究基于FPGA的DSP应用,比较突出的有Denmark大学的研究小组正在从事FPGA实现数字滤波器的研究。
由于FPGA实现乘法器有困难,因此他们重点研究开发无乘法的滤波器算法。
加州大学洛杉矶分校的研究小组采用运行时重构技术开发了一种视频通讯系统,该系统用一片FPGA可每帧重构四次完成视频图像压缩和传送的操作。
此外,他们还在进行Mojave项目的开发工作,力图采用运行时重构技术来实现自动目标识别应用。
我国在DSP技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展,而在FPGA方面起步较晚。
全国有100来所高等院校从事DSP&FPGA 的教学和科研,除了一部分DSP芯片需要从国外进口外,在信号处理理论和算法方面,与国外处于同等水平.而在FPGA信号处理和系统方面,有了喜人的进展,正在进行与世界先进国家同样的研究.如,西北工业大学和国防科学技术大学的ATR实验室采用了FPGA可重构计算系统进行机载图像处理和自动目标识别,主要是利用该系统进行复杂的卷积运算,同时利用它的可变柔性来达到自适应的目的。
北京理工大学研究利用FPGA提高加解密运算的速度,等等。
水线结构,具有良好的并行特点,并有专门设计的适用于数字信号处理的指令系统等。
5.用专用的DSP芯片实现。
在一些特殊的场合,要求的信号处理速度极高,而通用DSP芯片很难实现,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。
6.用FPGA等可编程器件来开发数字滤波算法。
使用相关开发工具和VHDL 等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。
这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理,还是作为DSP芯片的协作处理器都是比较活跃的研究领域。
目前, MATLAB软件为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。
运用MATLAB软件进行仿真不存在设计效率较低,不具有可视图形,不便于修改参数等缺点。
由于其以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。
尤其是MATLAB 工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。
其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。
名人堂:众名人带你感受他们的驱动人生马云任志强李嘉诚柳传志史玉柱
11
n xnxnRnRT
1 (2-28) 由于式(2-28)中的三项都是N×N的方阵,我们可以使用方程倒数的引理得到
nR1 递归公
式:
n nRnxnxnRnRnRT 11111111
(2-29)
式中
n xnRNxnT11
(2-30) 根据上述递归公式,可知:
1,*1 nnengnwnw (2-31) 式中
n nxnRng 1 (2-32)
初始化:
,0,0001IRgw 是一个正常数计算:
对于n=1,2…,计算
n xnwnyT
1 n yndne
n xnRnxnxnRngT111
1
111
111 N RnxngnRnRT
n engnwnw*
1 λ是一个可以改变均衡器性能的抽头系数。
如果信道是非时变的,那么λ可以设为1。
而通常的λ取值为0.8<λ<1。
λ值对收敛速率没有影响,但是它影响
着RLS算法的跟踪能力。
λ值越小,均衡器的跟踪能力更强。
但是,如果λ值太小,均衡器将会不稳定。
12
2.4 基于DSP实现自适应滤波器
2.4.1自适应滤波算法的DSP实现
为了提高LMS 算法的处理速度及减小系统的硬件规模, 在实现滤波器算法时, 采用了TMS320C54xx 作为核心芯片。
由于该处理器采用改进型结构,具有高度并行性,同时拥有高度集成的指令系统,简化编程过程,模块化结构程序设计增强了程序的可移植性。
利用TMS320C54xx实现LMS 自适应算法时,存储器中数据的存放形式对DSP 的有效运用有着特
殊的意义,合理的存放形式,可以使算法实现起来更加快速和高效,为了实现算法中输入样值x(n) 和滤波器系数W(n) 的对应项相乘,他们在存储器中的存放形式如图2.4 所示。
W(1)
W(0)
x(n)
x(n-1)x(n-N+2)x(n-N+1)W(n-1)
W(n-2)
低地址
高地址
图2.4 TMS320C54xx自适应滤波器存储器组织形式
实验中采用的自适应滤波器采用16阶FIR滤波器,采用相同的信号作为参考d(n)和输入信号x(n),并采用上一时刻的误差值来修正本时刻的滤波器系数,2μ取值0.0005,对滤波器输出除128进行幅度限制。
程序设计的整个实现过程主要分为3个步:
(1)滤波运算前的相关运算单元、寄存器以及变量的初始化;原始信号xx[i]=256*sin(i*2*PI/34);
(2)根据输入的采样值计算滤波器的输出并求出误差;
这一步是最重要的滤波计算,我们用FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber) 这个函数来实现。
其完整代码是
int FIRLMS(int *nx,float *nh,int nError,int nCoeffNumber)
int i,r;
13
float fWork; r=0;
for ( i=0;i<nCoeffNumber;i++ ) { fWork=nx[i]*nError*fU; nh[i]+=fWork; r+=(nx[i-i]*nh[i]);
} r/=128; return r;
} {
收敛因子fU=0.0005。
nError是上一次的误差值, fWork是当前的滤波器权系数,输出值r。
这里实现自适应算法中 1
0)(*)1()(Niiwnxny的公式。
输出值y(n)等于输入值x(n-1)*w(i)
的积分。
½½½
(3)根据LMS算法的迭代公式更新滤波器参数,有新的采样输入后转到第二步循环执行。
把一信号进行采样。
把采样点放在数字中。
这里用到了输入信号数组xx[],输出信号数组rr[],误差数组wc[],以及滤波器权系数h[]。
通过for循环语句进行一个一个样点值滤波计算。
得到想要的结果。
for ( i=COEFFNUMBER+1;i<INPUTNUMBER;i++ ) { nLastOutput=FIRLMS(xx+i,h,nLastOu
tput-xx[i-1],COEFFNUMBER); rr[i]=nLastOutput; wc[i]=rr[i]-xx[i];
}
用FIRLMS函数得到了一个滤波后的样点信号值nLastOutput 存放在输出信号数组rr[]中。
for 循环一个一个得到滤波过的信号值第INPUTNUMBER=1024个为止。
14
根据算法和DSP程序, 在CCS 环境下编译,连接生成公共目标代码文件,在线下载到DSP 中运行。
为了能观察到相应的波形, 在CCS 环境下选择View\ Grap h\ Time\ Freqency 进入图形观察窗口,在“Graph Property Dialog”窗口中选定相应类型的值。
将编译产生的可执行文件下载到DSP芯片中,经过运行得到图4.5输入波形、图4.6滤波后输出信号波形与图2.7自适应误差e(n)波形。