维纳滤波器
- 格式:docx
- 大小:484.17 KB
- 文档页数:10
维纳滤波器维纳滤波器(Wiener filter)是由数学家维纳(Rorbert Wiener)提出的一种以最小平方为最优准则的线性滤波器。
在一定的约束条件下,其输出与一给定函数(通常称为期望输出)的差的平方达到最小,通过数学运算最终可变为一个托布利兹方程的求解问题。
维纳滤波器又被称为最小二乘滤波器或最小平方滤波器,目前是基本的滤波方法之一。
维纳滤波是利用平稳随机过程的相关特性和频谱特性对混有噪声的信号进行滤波的方法,1942年美国科学家N.维纳为解决对空射击的控制问题所建立,是40年代在线性滤波理论方面所取得的最重要的成果。
目录编辑本段维纳滤波器维纳滤波从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,而相应的装置称为滤波器。
根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。
滤波器研究的一个基本课题就是:如何设计和制造最佳的或最优的滤波器。
所谓最佳滤波器是指能够根据某一最佳准则进行滤波的滤波器。
20世纪40年代,维纳奠定了关于最佳滤波器研究的基础。
即假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知它们的二阶统计特性,维纳根据最小均方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。
在维纳研究的基础上,人们还根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。
实际上,在一定条件下,这些最佳滤波器与维纳滤波器是等价的。
因而,讨论线性滤波器时,一般均以维纳滤波器作为参考。
信号波形从被噪声污染中恢复称为滤波。
这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值。
常用的滤波器是采用电感、电容等分立元件构成,如RC低通滤波器、LC谐振回路等。
但对于混在随机信号中的噪声滤波,这些简单的电路就不是最佳滤波器,这是因为信号与噪声均可能具有连续的功率谱。
维纳滤波原理维纳滤波是一种信号处理中常用的滤波方法,它的原理是基于最小均方误差准则,通过对信号和噪声的统计特性进行分析,设计一种能够最小化系统输出与期望输出之间均方误差的滤波器。
维纳滤波在图像处理、语音处理、雷达信号处理等领域都有广泛的应用,下面我们来详细了解一下维纳滤波的原理和应用。
首先,我们需要了解维纳滤波的基本模型。
维纳滤波的输入信号可以表示为s(n),噪声信号表示为v(n),系统输出信号表示为x(n),那么维纳滤波器的输出可以表示为:x(n) = w(n) s(n) + v(n)。
其中,表示卷积操作,w(n)表示滤波器的权值。
维纳滤波的目标是设计一个滤波器,使得系统输出信号x(n)与期望输出信号d(n)之间的均方误差最小,即最小化误差信号e(n)的均方值E[e^2(n)]。
根据最小均方误差准则,我们可以得到维纳滤波器的最优解为:w(n) = R_ss^(-1) p_s。
其中,R_ss表示输入信号s(n)的自相关矩阵,p_s表示输入信号s(n)与期望输出信号d(n)的互相关向量。
这个公式描述了维纳滤波器的权值与输入信号和期望输出信号的统计特性之间的关系。
维纳滤波器的设计需要对输入信号和噪声信号的统计特性有一定的了解。
通常情况下,输入信号和噪声信号被假设为高斯分布,因此可以通过它们的均值和方差来描述它们的统计特性。
在实际应用中,我们可以通过对信号和噪声的样本进行统计分析,估计它们的均值和方差,进而设计维纳滤波器。
除了基本的维纳滤波器设计原理,维纳滤波还有一些扩展应用。
例如,当输入信号和噪声信号的统计特性未知或难以估计时,我们可以通过自适应滤波的方法来实现维纳滤波。
自适应滤波器可以根据系统的实时输入信号和输出信号来动态地调整滤波器的权值,以适应信号和噪声的变化特性,从而实现更好的滤波效果。
维纳滤波在图像处理中有着广泛的应用。
在数字图像处理中,图像通常会受到噪声的影响,例如加性高斯噪声、椒盐噪声等。
维纳滤波器的基本原理维纳滤波器是一种经典的信号处理方法,它被广泛应用于噪声抑制、图像恢复和语音处理等领域。
维纳滤波器通过将观测信号和噪声之间的相关性纳入考虑,可以有效地提高信号的质量,减少噪声的干扰。
维纳滤波器的基本原理可以用以下几个步骤来描述。
首先,我们需要了解原始信号和噪声的统计特性。
通过对观测信号和噪声进行建模,我们可以估计它们的自相关函数和互相关函数。
这些统计参数将帮助我们理解噪声的特性以及其对原始信号的影响。
接下来,我们需要构建一个滤波器,该滤波器将输入观测信号作为输入,并通过滤波过程来降低噪声的影响。
在构建滤波器时,我们需要考虑两个主要要素:信号的自相关函数和噪声的自相关函数。
信号的自相关函数描述了信号中不同时间点之间的相关性,而噪声的自相关函数描述了噪声本身的特性。
维纳滤波器的关键思想是最小化输出信号和原始信号之间的均方误差,同时最大化输出信号和原始信号之间的相关性。
通过将这两个目标结合起来,我们可以设计一个最优的滤波器,使输出信号尽可能接近原始信号,并且削弱噪声的干扰。
在滤波器的设计中,我们需要根据原始信号和噪声的统计特性来确定一些参数。
例如,我们可以利用原始信号的自相关函数和噪声的自相关函数来计算滤波器的频率响应。
通过调整滤波器的参数,我们可以改变滤波器的频率响应,从而实现对信号和噪声之间相关性的优化。
最后,我们需要通过将观测信号传递给维纳滤波器来得到滤波后的输出信号。
维纳滤波器使用输入信号的统计特性以及滤波器的参数来调整输出信号的频谱。
这样,滤波器可以通过增大信号和减小噪声之间的相关性来最大限度地提高输出信号的质量。
总之,维纳滤波器是一种通过考虑原始信号和噪声之间的相关性来优化信号质量的方法。
它的基本原理是最小化输出信号和原始信号之间的均方误差,并最大化输出信号和原始信号之间的相关性。
通过合理地设计滤波器的参数,维纳滤波器可以在信号处理领域中发挥重要作用,提高信号的质量,并减少噪声的干扰。
维纳滤波和谱减法降噪
维纳滤波(Wiener Filtering)和谱减法降噪(Spectral Subtraction)是两种常见的信号处理技术,用于在信号中降低噪声水平。
一、维纳滤波(Wiener Filtering):
维纳滤波是一种线性滤波器,通过估计信号和噪声的功率谱密度,并根据它们的关系对信号进行滤波。
它的基本思想是在频率域上对信号进行加权,使得期望的信号与噪声之间的比率最大化。
维纳滤波在不同噪声分布和信号特性下的表现较好,但需要对信号和噪声的统计特性有一定的先验知识。
二、谱减法降噪(Spectral Subtraction):
谱减法是一种基于频域的降噪方法,它通过对信号的频谱进行估计,并减去估计的噪声频谱来降低噪声水平。
该方法假设信号和噪声在频率域上是线性可分的,因此可以通过减去估计的噪声频谱来增强信号。
谱减法是一种简单且有效的降噪方法,但在信号与噪声之间存在重叠的频率范围时,可能会导致信号失真。
这两种方法在实际应用中常用于语音信号处理、图像处理、雷达信号处理等领域,以降低信号中的噪声水平,提高信号的质量和清晰度。
选择合适的方法取决于信号的特性以及对噪声的先验知识。
维纳滤波器的原理维纳滤波器是一种经典的信号处理滤波器,其原理基于最小均方误差准则,旨在通过优化滤波器的系数来最小化输出信号与期望信号之间的误差。
维纳滤波器的设计思想是将输入信号分解为两个部分:有用信号和噪声信号。
然后,通过滤波器的作用,使得输出信号中噪声的影响最小化。
维纳滤波器的设计过程可以分为两个主要步骤:信号建模和滤波器系数计算。
首先,需要对输入信号进行建模,以便准确地描述信号的统计特性。
常用的信号模型有平稳信号模型和非平稳信号模型。
在信号建模的过程中,需要估计信号的自相关函数和互相关函数,这些函数反映了信号的统计特性。
接下来,在信号建模的基础上,可以使用维纳滤波器的最小均方误差准则来计算滤波器的系数。
最小均方误差准则的基本思想是使得输出信号的均方误差最小化。
通过求解最小均方误差准则的最优化问题,可以得到滤波器的最优系数,进而实现对输入信号的滤波。
维纳滤波器的原理可以用如下的几个步骤来总结:1. 信号建模:对输入信号进行建模,估计信号的统计特性,如自相关函数和互相关函数。
2. 误差计算:计算输出信号与期望信号之间的误差。
3. 最小均方误差准则:使用最小均方误差准则来优化滤波器的系数,使得输出信号的均方误差最小化。
4. 系数计算:通过求解最小均方误差准则的最优化问题,得到滤波器的最优系数。
5. 滤波器设计:根据计算得到的滤波器系数,设计出具体的滤波器结构。
维纳滤波器在实际应用中具有广泛的应用。
例如,在通信系统中,维纳滤波器可以用于抑制信道中的噪声,提高信号的质量。
在图像处理领域,维纳滤波器可以用于去除图像中的噪声,提高图像的清晰度。
此外,维纳滤波器还可以用于语音增强、雷达信号处理等领域。
维纳滤波器是一种基于最小均方误差准则的经典滤波器。
通过对输入信号的建模和优化滤波器的系数,维纳滤波器可以有效地抑制噪声,提高信号的质量。
维纳滤波器在各种信号处理领域中都有广泛的应用,为我们提供了一种有效的信号处理工具。
IIR 滤波器、FIR 滤波器与维纳滤波器所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。
数字滤波器从实现的网络结构或者从单位脉冲响应分类,可以分为无限脉冲响应(IIR )滤波器和有限脉冲响应(FIR )滤波器。
它们的系统函数分别为:1.1n N n z n h z H --=∑=10)()( 1.21.1中的H(z)成为N 阶IIR 滤波器,1.2中的H(z)称为(N-1)阶FIR 滤波器函数,这两种类型的设计方法有很大的区别。
IIR 数字滤波器的设计既可以从模拟滤波器的设计入手来进行,也可以直接利用指标参数,通过调用滤波器设计子程序或函数来进行。
可以利用脉冲响应不变法来设计IIR 数字低通滤波器,按照技术要求设计一个模拟低通滤波器,得到模拟低通滤波器的传输函数,再按一定的转换关系将传输函数转换成数字低通滤波器的系统函数H(z)。
设模拟滤波器的传输函数是s H a (),相应的单位冲激响应是)(t h a ,对)(t h a 进行等间隔采样,采样间隔为T ,得到)(nT h a ,将h(n)= )(nT h a 作为数字滤波器的单位取样响应,那么数字滤波器的系统函数便是h(n)的z 变换,因此脉冲响应不变法是一种时域上的转换方法,它使h(n)在采样点上等于)(t h a∑=-=Ni iia s s A s H 1)( 1.3 ∑=--=Ni T s iz eA z H i 111)( 1.4 将s H a ()在s 平面上沿虚轴按照周期2pi/T 延括后,再按标准映射关系sT e z =,映射到z 平面上,就得到了H(z)。
脉冲响应不变法的优点是频率坐标变化时线性的,如果不考虑频率混叠现象,用这种方法设计的数字滤波器会很好的重现模拟滤波器的频率特性。
以下为用matlab 仿真的一个IIR 低通滤波器: % IIR Lowpass Use Butterworth % copyright by Etual clear;fs=20;fpass=4;fstop=5;∑∑=-=--=Nk kk Mk k k z a z b z H 101)(Ap=0.5;As=10;wp=2*pi*fpass/fs;ws=2*pi*fstop/fs;omegap=tan(wp/2);omegas=tan(ws/2);ep=sqrt(10^(Ap/10)-1);es=sqrt(10^(As/10)-1);N=ceil(log(es/ep)/log(omegas/omegap));omega0=omegap/ep^(1/N);K=floor(N/2);for i=1:Ktheta(i)=pi*(N-1+2*i)/(2*N);endfor i=1:KG(i)=omega0^2/(1-2*omega0*cos(theta(i))+omega0^2);endfor i=1:Ka1(i)=2*(omega0^2-1)/(1-2*omega0*cos(theta(i))+omega0^2);endfor i=1:Ka2(i)=(1+2*omega0*cos(theta(i))+omega0^2)/(1-2*omega0*cos(theta(i))+omeg a0^2);endif K<(N/2)G0=omega0/(omega0+1);a0=(omega0-1)/(omega0+1);endw=0:pi/300:pi;Hw2=1./(1+(tan(w/2)/omega0).^(2*N));plot(w/pi,Hw2);grid;图一IIR滤波器频谱图IIR数字滤波器能保留一些典型模拟滤波器优良的幅度特性,但设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器相位特性一般是非线性的。
维纳滤波器的原理和应用维纳滤波器简介维纳滤波器是一种经典的信号处理滤波器,它基于维纳滤波理论,通过对信号进行统计分析和模型建立,实现信号的优化处理。
维纳滤波器能够降低信号中的噪声成分,提高信号的质量和可靠性,在许多领域中得到广泛的应用。
维纳滤波器原理维纳滤波器的原理是基于最小均方误差的思想,通过最小化信号与噪声之间的均方误差,实现对信号的最优估计。
其数学模型可以表示为:维纳滤波器原理公式维纳滤波器原理公式其中,x(n)是输入信号,h(n)是滤波器的冲激响应,y(n)是滤波器的输出信号,w(n)是噪声信号,E[w(n)w(m)]是噪声信号的自相关函数,Rxx(k)是输入信号的自相关函数,Rxy(k)是输入信号和噪声之间的互相关函数。
维纳滤波器根据输入信号、噪声信号和系统参数的统计特性,通过最小化均方误差优化系统参数,使得滤波器能够有效地抑制噪声成分,提取出原始信号。
维纳滤波器的设计需要基于输入信号和噪声的统计特性的准确估计,以及对滤波器参数的优化求解。
维纳滤波器应用维纳滤波器在实际应用中具有广泛的用途,以下列举了几个常见的应用领域:1.图像去噪:维纳滤波器可以应用于数字图像处理中的去噪问题,通过最小化图像中的噪声与图像信号的误差,实现对图像噪声的抑制,提高图像的质量和清晰度。
2.语音增强:在语音信号处理中,维纳滤波器可以应用于语音增强问题,通过对语音信号进行建模和分析,实现对噪声的抑制,提高语音信号的清晰度和可听性。
3.视频恢复:在视频信号处理中,维纳滤波器可以应用于视频恢复问题,通过对视频帧进行建模和分析,实现对噪声和失真的抑制,提高视频的质量和稳定性。
4.无线通信:在无线通信系统中,维纳滤波器可以应用于信号解调和接收问题,通过对接收信号进行建模和分析,实现对噪声和干扰的抑制,提高信号的可靠性和传输速率。
5.生物信号处理:在生物医学信号处理中,维纳滤波器可以应用于生物信号的去噪和增强问题,通过对生物信号进行建模和分析,实现对噪声和干扰的抑制,提高生物信号的可读性和分析能力。
维纳滤波器参数介绍维纳滤波器是一种在信号处理领域中常用的滤波器,其基本思想是利用信号和噪声的先验知识,通过最优化的滤波器来抵消噪声的影响,从而提高信号的信噪比。
维纳滤波器的参数是影响滤波器性能的关键因素之一。
下面将对维纳滤波器的参数进行详细介绍。
1.信号功率谱密度信号功率谱密度是描述信号频谱特性的参数,也是维纳滤波器中的一个重要参数。
信号功率谱密度可以表示为:$S(f) = \frac{1}{T}\left|X(f)\right|^{2}$其中,$X(f)$是信号在频率域上的表示,T是信号的长度。
2.噪声功率谱密度噪声功率谱密度是描述噪声频谱特性的参数,也可以影响维纳滤波器的性能。
噪声功率谱密度可以表示为:$N(f) = \frac{1}{T}\left|N(f)\right|^{2}$其中,$N(f)$是噪声在频率域上的表示,T是信号的长度。
3.归一化频率归一化频率是维纳滤波器中的一个重要参数,其作用是将频率域上的信号和噪声进行归一化处理,从而方便计算。
归一化频率可以表示为:$\omega = \frac{f}{f_{s}}$其中,f是实际频率,f_s是采样频率。
4.滤波器系数滤波器系数是维纳滤波器中的另一个重要参数,其作用是调节滤波器的性能。
滤波器系数可以表示为:$a = \frac{S(f)}{N(f)}$其中,S(f)是信号功率谱密度,N(f)是噪声功率谱密度。
5.滤波器阶数滤波器阶数是指滤波器的长度,也就是滤波器能够处理的信号的长度。
在维纳滤波器中,滤波器阶数越高,滤波器的性能越好,但是计算量也会相应增加。
综上所述,维纳滤波器的参数包括信号功率谱密度、噪声功率谱密度、归一化频率、滤波器系数和滤波器阶数。
这些参数的选择将直接影响维纳滤波器的性能。
在实际应用中,这些参数需要根据具体的应用场景进行选择和调整。
维纳滤波实验——噪声中语音信号的恢复班级:学号:姓名:实验内容信号从发送者传送到接受者往往受到几种形式的变形而削弱,维纳滤波是一种从接收的原始信号中恢复信号的方法。
给定信号为chiep信号(鸟叫声),数据文件为chirp.mat,用频域法实现维纳滤波。
步骤如下:1、产生信号s(n)和观测z(n),信号为chiep信号,观测为信号叠加上高斯白噪声。
2、估计信号s(n)和z(n)的功率谱,计算维纳滤波的传递函数。
3、计算输入z(t)和输出y(t)的频谱,并对输出信号求反变换得到时域的输出信号。
用到的函数:装入数据文件,Load傅里叶变换与反变换,fftn ifftn谱估计,periodogra一.实验结果用频域法在MATLAB仿真文件为:clear all;load('chirp','y','Fs');z=awgn(y,20); %加噪声subplot(1,3,1); %画语音信号y的时域图plot(y);title('语音信号y的时域图');subplot(1,3,2) %画加噪后的观测信号图plot(z);title('加噪后的观测信号');X=fftn(y);Px1=X.*conj(X)/50; %原信号频谱密度X=fftn(z);Px2=X.*conj(X)/50; %观测信号频谱密度H=Px1\Px2; %传递函数py=Px2.*H; %输出信号的频谱yn=ifftn(py); %输出信号subplot(1,3,3)plot(yn);title('输出信号');sound(y); %原信号sound(z); %加了噪声的测试信号 sound(yn) %输出信号得到的结果图:原语音信号的时域图语音加噪后的观测信号时域图输出信号的时域图二.实验结果分析及心得体会维纳(Wiener )滤波是一种从噪声中提取引号波形最基本的方法,适用于需要从噪声中分离出的有用信号是整个信号(波形),而不只是它的几个参量。
自适应滤波器与维纳滤波器的区别:维纳滤波是利用平稳随机过程的相关特性和频谱特性对混有噪声的信号进行滤波的方法。
它需要输入信号的自相关矩阵及输入信号与期望响应之间的互相关矢量,其基本依据就是最小均方误差准则。
但在实际情况中,往往不能预先得到先验信息,维纳滤波器不再满足要求。
这时就需要滤波器能够进行自我调节,同时对输入信号进行滤波,利用滤波器的输出对期望响应进行估计,使用自适应算法来改变滤波器的系数以不断改进滤波器的性能,使滤波器的输出与期望响应之间的误差逐渐接近减小,这样的滤波器就是自适应滤波器。
自适应滤波器与维纳滤波器的区别在于:维纳滤波器系数固定,而自适应滤波器系数是不断更新的;维纳滤波器处理平稳随机信号,而自适应滤波器是处理非平稳随机信号的有效技术。
1.已知4个样本值x(n)=(2,4,1,3),试用自相关法和协方差法估计AR(1)模型参数。
2.P603.33.随机信号题目第二章第3题4.5见图片总共5道大题,前两道为书上原题,菜逼都会!三、信号S(n),混入一加性噪声v(n),v(n)的均值为0,在下列三种情况下,如何从受污染的信号x(n)=s(n)+v(n)中尽可能的恢复s(n),要求写出详细的设计步骤和实现方法。
(1)s(n)和v(n)的品频谱不互相重叠;(2)已知s(n)的自相关函数,且v(n)和s(n)不相关;(3)v(n)为宽带噪声,v(n)和s(n)的频谱重叠,v(n)的自相关函数未知,但可以对s(n)进行间接的测量。
四、一时变信号s(n)的时域和时频图分别如下。
(1)该信号是平稳的吗?为什么?(2)用非参数谱估计,如何估计信号频谱?(3)用参数谱估计,如何估计信号频谱?与(2)相比有什么改进?五、结合一个自适应滤波器的应用实例,给出:(1)具体的应用框图;(2)讨论框图中各部分的功能,说明其与维纳滤波的不同之处;(3)给出自适应滤波器的算法;(4)如何评价自适应滤波器的性能。
西安电子科技大学统计与自适应信号处理仿真学院:班级:学号:姓名:2013年12月FIR 维纳滤波器1维纳滤波原理概述维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。
这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。
一个线性系统,如果它的单位样本响应为)(n h ,当输入一个随机信号)(n x ,且)()()(n v n s n x += (1) 其中)(n x 表示信号,)(n v )表示噪声,则输出)(n y 为∑-=mm n x m h n y )()()( (2)我们希望)(n x 通过线性系统)(n h 后得到的)(n y 尽量接近于)(n s ,因此称)(n y 为)(n s 的估计值,用^)(n s 表示,即^)()(n s n y = (3) 则维纳滤波器的输入—输出关系可用下面图1表示。
图1 维纳滤波器的输入—输出关系实际上,式(2)所示的卷积形式可以理解为从当前和过去的观察值)(n x ,)1(-n x ,)2(-n x …)(m n x -,…来估计信号的当前值^)(n s 。
因此,用)(n h 进行过滤问题实际上是一种统计估计问题。
一般地,从当前的和过去的观察值)(n x ,)1(-n x ,)2(-n x …估计当前的信号值^)()(n s n y =成为过滤或滤波;从过去的观察值,估计当前的或者将来的信号值)0)(()(^≥+=N N n s n y 称为外推或预测;从过去的观察值,估计过去的信号值)1)(()(^>-=N N n s n y 称为平滑或内插。
因此维纳滤波器又常常被称为最佳线性过滤与预测或线性最优估计。
这里所谓的最佳与最优是以最小均方误差为准则的。
如果我们分别以)(n s 与^)(n s 表示信号的真实值与估计值,而用)(n e 表示他们之间的误差,即)()()(^n s n s n e -= (4)显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。
因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即它的平方的统计期望最小: min )]([)(2==n e E n ξ采用最小均方误差准则作为最佳过滤准则的原因还在于它的理论分析比较简单,不要求对概率的描述。
2维纳-霍夫方程的求解为了按(5)式所示的最小均方误差准则来确定维纳滤波器的冲激响应)(n h ,令)(n ξ对)(j h 的导数等于零,即可得m i m Ri h m R i xx xs ∀-=∑,)()()( (6)式中,)(m R xs 是)(n s 与)(n x 的互相关函数,)(m R xx 是)(n x 的自相关函数,分别定义为)]()([m n s n x E R xs +=)]()([m n x n x E R xx +=式(6)称为维纳滤波器的标准方程或维纳-霍夫(Wiener -Hopf )方程。
如果已知)(m R xs 和)(m R xx ,那么解此方程即可求的维纳滤波器的冲激响应。
式(6)所示标准方程右端的求和范围即i 的取值范围没有具体标明,实际上有三种情况:(1) 有限冲激响应(FIR )维纳滤波器,i 从0到1-N 取得有限个整数值;(2) 非因果无限冲激响应(非因果IIR )维纳滤波器,i 从∞-到∞+取所有整数值;(3) 因果无限冲激响应(因果IIR )维纳滤波器,i 从0到∞+取正整数值。
上述三种情况下标准方程的解法不同,本文将描述因果IIR 维纳滤波器和FIR 维纳滤波器的求解。
3 FIR 维纳滤波器的求解设滤波器冲激响应序列的长度为N ,冲激响应矢量为TN h h h h )]1()....1()0([-= (14) 滤波器输入数据矢量为TN n x n x n x n x )]1()...1()([)(+--= (15) 则滤波器的输出为)()()()(^n x h h n x n s n y TT === (16) 这样,式(6)所示的维纳-霍夫方程可写成R h P T T =或Rh P = (17) 其中)]()([n s n x E P = (18) 是)(n s 与)(n x 的互相关函数,它是一个N 维列矢量;R 是)(n x 的自相关函数,是N 阶方阵)]()([n x n x E R T= (19) 利用求逆矩阵的方法直接求解式(10),得P R h opt 1-= (20) 这里opt 表示“最佳”,这就是FIR 维纳滤波器的冲激响应。
4 FIR 维纳滤波器的matlab 实现这是FIR 维纳滤波器的原理框图:)1+图2 FIR 维纳滤波器的原理框图设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位脉冲响应或传递函数的表达式,其实质就是解维纳-霍夫(Wiener-Hopf)方程。
这是用matlab设计FIR维纳滤波器的流程图:图3 FIR维纳滤波器的流程图5 FIR维纳滤波器的matlab程序%************************************************************ % wiener.m% FIR维纳滤波器的设计与仿真% *********************************************************** clear all;clc;%************************* 生成信号************************* % 信号振幅A=1.0;% 初始的相位th0=0;N=input('请输入信号长度');vn=randn(1,N);%产生随机高斯白噪声%产生信号sn = zeros(1,N);k = 0:N-1;sn = A*sin(2*pi*k/N+th0)+2;xn=sn+vn; %信号中加入随机高斯白噪声%******************** 计算自相关函数Rxx ********************** Rxx=xcorr(xn,xn); %得到混合信号的自相关函数M=input('输入滤波器阶数');for i=1:M %得到混合信号的自相关矩阵for j=1:Mrxx(i,j)=Rxx(i-j+N);endend%******************** 计算互相关函数Rxy ********************** Rxy=xcorr(xn,sn); %得到混合信号和原信号的互相关函数for i=1:Mrxy(i)=Rxy(i+N-1);end %得到混合信号和原信号的互相关向量%********** 利用维纳-霍夫方程计算wiener滤波器系数************** h1=inv(rxx)*rxy';%************** 利用得到的wiener滤波器滤波******************** out_signal=conv(xn,h1);yn=out_signal(1:N);%*********************** 变换到频域*************************** sf=abs(fftshift(fft(sn,N)));xf=abs(fftshift(fft(xn,N)));yf=abs(fftshift(fft(yn,N)));%*********************** 在时域画图***************************%分别画出原信号,加入噪声的混合信号,滤波后的信号k=1:N;figure;plot(k,sn);axis([0,N,0,6]);title('原始信号');figure;plot(k,xn);axis([0,N,0,6]);title('加噪后的信号');figure;plot(k,yn);axis([0,N,0,6]);title('滤波后的信号');%************************ 在频域画图**************************** %分别画出变换到频域后原信号,加入噪声的混合信号,滤波后的信号k=1:N;figure;plot(k,sf);axis([0,N,0,2000]);title('原始信号');figure;plot(k,xf);axis([0,N,0,2000]);title('加噪后的信号');figure;plot(k,yf);axis([0,N,0,2000]);title('滤波后的信号');%************************** 计算均方误差MSE ********************** mse=mean((yn-sn).^2) %滤波后的信号相对原信号的统计均方误差%****************************************************************** 6 仿真结果(1)保持滤波器阶数不变,改变信号样本的长度A.信号样本点数1000 维纳滤波器阶数100图4 时域仿真图图5 频域仿真图B.保持维纳滤波器阶数100,改变信号样本点数N为5000和10000后滤波后的信号仿真图对比N=1000 N=5000 N=10000图6 不同信号样本点数下的滤波后的信号仿真图对比C.保持维纳滤波器阶数100,信号样本点数N分别为1000、2000、3000…10000。
每个样本点数下仿真100次。
图7 不同信号样本点数N下的MSED.仿真结果分析:a)从A仿真结果可以看出,维纳滤波器对于噪声过滤有着显著的效果;b)从B仿真结果可以看出,保持滤波器阶数不变,改变信号样本的长度(点数)滤波的效果随着信号样本的长度的增加而提高。
(这是因为信号样本越长信号的统计特征就越完整)c)从C仿真结果可以看出,均方误差MSE随着信号样本的长度的增加而减小,这和B仿真结果的得出的结论是一致的。
(2)保持信号样本的长度不变,改变滤波器阶数A.保持信号样本点数N为1000,改变维纳滤波器阶数为10、50和100后滤波后的信号仿真图对比阶数=10 阶数=50 阶数=100图8 不同滤波器阶数下的滤波后的信号仿真图对比B.保持信号样本点数N为1000,改变维纳滤波阶数为10、20、30…100滤波后的MSE,每个样本点数下仿真100次。
图9 不同维纳滤波器阶数下的MSEC.仿真结果分析:a)从A仿真结果可以看出,维纳滤波器的阶数越大,滤波后的信号更接近原始信号,但随之计算量也增大b)从B仿真结果可以看出,均方误差MSE随着维纳滤波器的阶数的增加而减小,这和A仿真结果的得出的结论是一致的。