维纳滤波器 matlab实现
最佳滤波器(维纳滤波,噪声抵消)

function [a err]=wienerhopf(x,d,p) %x 为带噪观测数据; %d 为期望信号; %p 为 FIR 维纳滤波器的阶数。 x=x(:); N=length(x); if p>=N error('Model order too large'); end X=convm(x,p+1); d(N+p)=0; a=X\d'; err=d*d'-d*X*a;
a. 编写设计 p 阶 FIR 维纳滤波器的 Matlab 程序,要求能返回滤波器系数和均方误差; b. 取 α = 0.8 ,分别计算 p = 1, 2, , 2 0 的均方误差,并比较这些误差的大小。得出什 么结论并解释原因。 c. 取 p = 10 ,画出均方误差在 α = 0.1, 0.2, , 0.9 时的值,解释图中的结果。
实验三
实验内容、步骤:
实验内容包括两个:
最佳滤波器
实验一、如果 d ( n) 是 1 阶的 AR 过程,其自相关序列为
rd (k ) = α , 0 < α < 1 。观测
k
数据 x(n) 包含期望信号 d ( n) 和零均值的不相关白噪声,方差为
σ v2 ,
x = ( n) d ( n) + v ( n)
close all;clear;clc; %%%%%%%%%%%%% a %%%%%%%%%%%%% w=0.05*pi;alpha=0; N=500;n=0:N-1; phi=2*pi*(rand(1)-0.5); d=sin(n*w+phi); g=randn(size(n)); b=1;a=[1 -0.8]; v=filter(b,a,g)+alpha*d; x=d+g; subplot(4,1,1);plot(n,x,'b-'); hold on;plot(n,d,'r--'); %%%%%%%%%%%%% c %%%%%%%%%%%%% error=[]; for p=[2 4 6]
图像平滑的MATLAB实现

图像平滑的MATLAB实现摘要:图像平滑技术用于平滑图像的噪声,本文对均值滤波、中值滤波、维纳滤波等三种平滑滤波器进行理论学习,并通过MATLAB对滤波效果进行仿真。
关键词:图像平滑均值滤波中值滤波维纳滤波实际获得的图像一般都因受到某种干扰而含有噪声。
引起噪声的原因有敏感元器件的内部噪声、照相底片上感光材料的颗粒、传输通道的干扰及量化噪声等。
噪声产生的原因决定了噪声的分布特性及它和图像信号的关系。
根据噪声服从的分布,可以分为高斯噪声、泊松噪声和颗粒噪声等。
平滑技术用于平滑图像的噪声,平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。
为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波器。
MATLAB图像处理工具箱提供了模拟噪声生成的函数imnoise和去除噪声的方法。
函数imnoise可以对图像添加一些典型的噪声。
由于噪声的随机性,它们对某一像点的影响使其灰度和邻点的灰度显著不同,因此可以利用这种不同来消除噪声。
去除噪声的方法有线性滤波、中值滤波、自适应滤波。
本文就针对上述三种平滑滤波进行MATLAB仿真。
1 图像平滑的MATLAB实现1.1 均值滤波[1]1.1.1理论基础邻域平均法是空间域平滑噪声技术,其均值滤波器对于扫描得到的图像中的颗粒噪声非常适用,理论依据如下:对于给定的图像f(i,j)中的每个像点(m,n),取其邻域S。
设S含有M个像素,取其平均值作为处理后所得图像像点(m,n)处的灰度。
用一像素邻域内各像素灰度平均值来代替该像素原来的灰度,即是邻域平均技术。
邻域S的形状和大小根据图像特点确定。
一般取的形状是正方形、矩形及十字形等,S的形状和大小可以在全图处理过程中保持不变,也可根据图像的局部统计特性而变化,点(m,n)一般位于S的中心。
如S为3×3邻域,点(m,n)位于S中心,则:假设噪声n是加性噪声,在空间各点互不相关,且期望为0,方差δ2,g是未受污染的图像,含有噪声的图像f经过邻域平均后为由上式可知,经邻域平均后,噪声的均值不变,方差,即噪声方差变小,说明噪声强度减弱了,即抑制了噪声。
维纳滤波器

西安电子科技大学统计与自适应信号处理仿真学院:班级:学号:姓名: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 可能是正值,也可能是负值,并且它是一个随机变量。
完整的维纳滤波器Matlab源程序

subplot(223)
semilogy(t,Py1)
谱图像
title('经过 fir 滤波器后信号在半对数坐标系下频谱图像')
xlabel('x 轴单位:w/rad','color','b')
ylabel('y 轴单位:w/HZ','color','b')
py1n=periodogram(y1n);
%fir 滤波 wp=0.4*pi; ws=0.6*pi; DB=ws-wp; N0=ceil(6.6*pi/DB); M=N0+mod(N0+1,2); wc=(wp+ws)/2/pi; 截止频率(关于 π 归一化) hn=fir1(M,wc); h(n) y1n=filter(hn,1,xn); figure(3) plot(y1n) 图像 title('经过 fir 滤波器后信号图像') xlabel('x 轴单位:f/HZ','color','b') ylabel('y 轴单位:A/V','color','b') y1nmean=mean(y1n) 号均值 y1nms=mean(y1n.^2) 号均方值 y1nvar=var(y1n,1) 方差 Ry1n=xcorr(y1n,Mlag,'biased'); 相关函数 figure(4) subplot(221) plot((-Mlag:Mlag),Ry1n) title('经过 fir 滤波器后信号自相关函数图像')
维纳滤波matlab代码

维纳滤波matlab代码维纳滤波是一种经典的图像复原方法,它可以在图像受到模糊和噪声影响时进行恢复。
在Matlab中,你可以使用以下代码来实现维纳滤波:matlab.% 读取原始图像。
originalImage = imread('input_image.jpg');% 转换为灰度图像。
originalImage = rgb2gray(originalImage);% 显示原始图像。
subplot(1, 2, 1);imshow(originalImage);title('Original Image');% 添加高斯噪声。
noisyImage = imnoise(originalImage, 'gaussian', 0, 0.01);% 显示带噪声的图像。
subplot(1, 2, 2);imshow(noisyImage);title('Noisy Image');% 计算模糊点扩散函数(PSF)。
PSF = fspecial('motion', 21, 11);% 使用逆滤波器和维纳滤波器进行图像复原。
estimated_nsr = 0;wnr3 = deconvwnr(noisyImage, PSF, estimated_nsr);% 显示维纳滤波后的图像。
figure, imshow(wnr3);title('Restored Image using Wiener Filter');在这段代码中,我们首先读取原始图像,然后转换为灰度图像。
接着,我们添加高斯噪声来模拟图像受到的噪声干扰。
然后我们计算模糊点扩散函数(PSF),并使用Matlab内置的`deconvwnr`函数来进行维纳滤波处理。
最后,我们显示经过维纳滤波处理后的图像。
需要注意的是,维纳滤波的参数estimated_nsr需要根据实际情况进行调整,它代表了噪声的方差估计。
基于MATLAB的维纳滤波器仿真研究

中国凝通信t 技术版 ) 2 0 . 0 86
47
维普资讯
方误 差同
E c = 凡 E
取 噪声方 差为 4时 , 采样 点数 Ⅳ为 38个 , 2 阶数
{ O m} [一cc c mm凡]5 c 一 凡=
从 1 阶到 10阶变化 , 6 仿真 结果 如 图 3 示 。 所 取 噪声 方差 为 4时 ,采 样 点数 Ⅳ为 38 20个 , 阶 数 从 1 阶到 10阶变化 , 真结 果如 图 4所 示 。 6 仿
数 与 采 样 点 的一 半 较 接 近 时 , 数 越 大 , 阶 均方 误差 越 小 , 总 体 均 方 误 差 小 于 阶 数 与 采 样 点 差 距 较 大 时 的 均方 误 其
差, 但是滤 波器 可能存在 畸变现象 ; 阶数一定 的条件 下 , 噪声 方差较小时 , 方误差性 能对 噪声方 差 比较敏感 , 均 当
本文 主要通 过 研究 维纳 滤波 器 的滤 波功 能 ,探讨 维
则 称 为 估计 误 差 。 计误 差 e n 为可 正 可 负 的 估 ()
纳 滤 波器 阶数对 滤 波效 果 的影 响 ,以及 噪声 方差 对 随机变量 ,用它 的均方值描述误差的大小显然更为 合 理 。利 用最 小均 方误 差 作为 最佳 过滤 准则 比较 方 滤波效 果 的影 响。 便 , 不涉 及概 率 的描述 , 以它 导 出 的最佳 线性 系 它 且
() 5
’
E[ ( )= 一 )[ o 凡 ] ( hl, p
() 7
3 仿 真 分 析
在 本次仿 真实 验 中 , 用 的某 随机信 号 服从 AR 采 () 4 过程 , 它是 一个宽 带过 程 , 数如 表 1 示 。 参 所 通过 观测 方程 y 凡 ( ) ( ) 测量 该 信号 , ( ) 凡 凡 来
matlab中的去噪函数

matlab中的去噪函数
MATLAB中有多种用于去噪的函数和工具,其中一些常用的包括:
1. `medfilt1`,这个函数用于对一维信号进行中值滤波,可以
有效地去除椒盐噪声和其他类型的噪声。
2. `medfilt2`,类似于`medfilt1`,这个函数用于对二维图像
进行中值滤波,对于去除图像中的斑点噪声和其他类型的噪声效果
很好。
3. `wiener2`,这个函数实现了维纳滤波器,可以用于图像的
去噪。
维纳滤波器是一种自适应滤波器,可以根据图像的局部特性
进行滤波,适用于各种类型的噪声。
4. `imfilter`,这个函数可以实现各种类型的滤波操作,包括
高斯滤波、均值滤波等,可以根据具体的需求选择合适的滤波器进
行去噪处理。
5. `denoiseWavelet`,MATLAB中还提供了基于小波变换的去
噪函数,可以通过小波阈值处理来去除信号中的噪声成分。
除了以上提到的函数,MATLAB还提供了一些图像处理工具箱,
其中包含了更多高级的去噪算法和工具,比如基于深度学习的去噪
方法、非局部均值去噪(NL-means denoising)等。
这些工具可以
根据具体的应用场景和需求选择合适的去噪方法进行处理。
总的来说,MATLAB提供了丰富的去噪函数和工具,可以根据具
体的信号或图像特性选择合适的方法进行去噪处理。
在实际应用中,需要根据噪声类型、信噪比以及对信号质量的要求来选择合适的去
噪方法。
维纳、卡尔曼滤波简介及MATLAB实现

现代数字信号处理课程作业维纳、卡尔曼、RLS、LMS算法matlab实现维纳滤波从噪声中提取信号波形的各种估计方法中,维纳(Wiener)滤波是一种最基本的方法,适用于需要从噪声中分离出的有用信号是整个信号(波形),而不只是它的几个参量。
设维纳滤波器的输入为含噪声的随机信号。
期望输出与实际输出之间的差值为误差,对该误差求均方,即为均方误差。
因此均方误差越小,噪声滤除效果就越好。
为使均方误差最小,关键在于求冲激响应。
如果能够满足维纳-霍夫方程,就可使维纳滤波器达到最佳。
维纳滤波器的优点是适应面较广,无论平稳随机过程是连续的还是离散的,是标量的还是向量的,都可应用。
维纳滤波器的缺点是,要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。
因此,维纳滤波在实际问题中应用不多。
下面是根据维纳滤波器给出的图像处理matlab实例,在下面实例中维纳滤波和均值滤波相比较,并且做了维纳复原、边缘提取、图像增强的实验:%****************维纳滤波和均值滤波的比较*********************I=imread('lena.bmp');J=imnoise(I,'gaussian',0,0.01);Mywiener2 = wiener2(J,[3 3]);Mean_temp = ones(3,3)/9;Mymean = imfilter(J,Mean_temp);figure(1);subplot(121),imshow(Mywiener2),title('维纳滤波器输出');subplot(122),imshow(uint8(Mymean),[]),title('均值滤波器的输出');%***********************维纳复原程序********************figure(2);subplot(231),imshow(I),title('原始图像');LEN = 20;THETA =10;PSF = fspecial('motion',LEN,THETA);Blurred = imfilter(I,PSF,'circular');subplot(232),imshow(Blurred),title('生成的运动的模糊的图像');noise = 0.1*randn(size(I));subplot(233),imshow(im2uint8(noise)),title('随机噪声');BlurredNoisy=imadd(Blurred,im2uint8(noise));subplot(234),imshow(BlurredNoisy),title('添加了噪声的模糊图像');Move=deconvwnr(Blurred,PSF);subplot(235),imshow(Move),title('还原运动模糊的图像');nsr = sum(noise(:).^2)/sum(im2double(I(:)).^2);wnr2 = deconvwnr(BlurredNoisy,PSF,nsr);subplot(236),imshow(wnr2),title('还原添加了噪声的图像');%****************维纳滤波应用于边缘提取*********************N = wiener2(I,[3,3]);%选用不同的维纳窗在此修改M = I - N;My_Wedge = im2bw (M,5/256);%化二值图像BW1 = edge(I,'prewitt');BW2 = edge(I,'canny');BW3 = edge(I,'zerocross');BW4 = edge(I,'roberts');figure(3)subplot(2,4,[3 4 7 8]),imshow(My_Wedge),title('应用维纳滤波进行边沿提取'); subplot(241),imshow(BW1),title('prewitt');subplot(242),imshow(BW2),title('canny');subplot(245),imshow(BW3),title('zerocross');subplot(246),imshow(BW4),title('roberts');%*************************维纳滤波应用于图像增强***************************for i = [1 2 3 4 5] K = wiener2(I,[5,5]);end K = K + I; figure(4);subplot(121),imshow(I),title('原始图像'); subplot(122),imshow(K),title('增强后的图像');维纳滤波器输出均值滤波器的输出原始图像生成的运动的模糊的图像随机噪声添加了噪声的模糊图像还原运动模糊的图像还原添加了噪声的图像卡尔曼滤波卡尔曼滤波的一个典型实例是从一组有限的,对物体位置的,包含噪声的观察序列预测出物体的坐标位置及速度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告册数字图形图像处理维纳滤波器matlab实现学院:人民武装学院学院专业:计算机科学与技术班级: 11级计科班学号: 1120070544 学生姓名:苏靖指导教师:维纳滤波的原理及其matlab 实现,以案例的形式展示FIR 维纳滤波的特性。
2.维纳滤波概述维纳(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 n e ξ (5) 采用最小均方误差准则作为最佳过滤准则的原因还在于它的理论分析比较简单,不要求对概率的描述。
4.FIR 维纳滤波器的matlab 实现4.1问题描述假设一个点目标在x ,y 平面上绕单位圆做圆周运动,由于外界干扰,其运动轨迹发生了偏移。
其中,x 方向的干扰为均值为0,方差为0.05的高斯噪声;y 方向干扰为均值为0,方差为0.06的高斯噪声。
1) 产生满足要求的x 方向和y 方向随机噪声500个样本;2) 明确期望信号和观测信号;3) 试设计一FIR 维纳滤波器,确定最佳传递函数:1opt xx xs h R R -=,并用该滤波器处理观测信号,得到其最佳估计。
(注:自行设定误差判定阈值,根据阈值确定滤波器的阶数或传递函数的长度)。
4) 分别绘制出x 方向和y 方向的期望信号、噪声信号、观测信号、滤波后信号、最小均方误差信号的曲线图;5) 在同一幅图中绘制出期望信号、观测信号和滤波后点目标的运动轨迹。
4.2 Matlab 仿真及运行结果用Matlab 实现FIR 滤波器,并将先前随机产生的500个样本输入,得到最佳估计。
具体程序如下:clear;clf;sita=0:pi/249.5:2*pi;xnoise=sqrt(0.05)*randn(1,500);%产生x 轴方向噪声ynoise=sqrt(0.06)*randn(1,500);%产生y 轴方向噪声x=cos(sita)+xnoise;%产生x 轴方向观测信号y=sin(sita)+ynoise;%产生y 轴方向观测信号%产生维纳滤波中x 方向上观测信号的自相关矩阵rxx=xcorr(x);for i=1:100for j=1:100mrxx(i,j)=rxx(500-i+j);endend%产生维纳滤波中x方向上观测信号与期望信号的互相关矩阵rxd=xcorr(x,xd);for i=1:100mrxd(i)=rxd(499+i);endhoptx=inv(mrxx)*mrxd';%由维纳-霍夫方程得到的x方向上的滤波器最优解fx=conv(x,hoptx);%滤波后x方向上的输出nx=sum(abs(xd).^2);eminx=nx-mrxd*hoptx;%x方向上最小均方误差%产生维纳滤波中y方向上观测信号的自相关矩阵ryy=xcorr(y);for i=1:100for j=1:100mryy(i,j)=ryy(500-i+j);endendyd=sin(sita);%产生维纳滤波中y方向上观测信号与期望信号的互相关矩阵ryd=xcorr(y,yd);for i=1:100mryd(i)=ryd(499+i);endhopty=inv(mryy)*mryd';%由维纳-霍夫方程得到的y方向上的滤波器最优解fy=conv(y,hopty);%滤波后y方向上的输出ny=sum(abs(yd).^2);eminy=ny-mryd*hopty;%y方向上最小均方误差subplot(2,4,1)plot(xd);title('x方向期望信号');plot(xnoise);title('x方向噪声信号'); subplot(2,4,3)plot(x);title('x方向观测信号'); subplot(2,4,4)n=0:500;plot(n,eminx);title('x方向最小均方误差'); subplot(2,4,5)plot(yd);title('y方向期望信号'); subplot(2,4,6)plot(ynoise);title('y方向噪声信号'); subplot(2,4,7)plot(y);title('y方向观测信号'); subplot(2,4,8)plot(n,eminy);title('y方向最小均方误差'); figure;plot(xd,yd,'k');hold on;plot(x,y,'b:');hold on;plot(fx,fy,'g-');title('最终结果');运行结果如下:图2x方向及y方向的期望信号、噪声信号、观测信号以及滤波后的最小均方误差如上图2所示。
图3滤波后的到的信号与原始信号和噪声信号的对比如上图3所示,滤波后的结果与期望信号还是很接近的,整体上达到了最优滤波的效果。
维纳滤波器的局限维纳滤波复原法存在着几个实质性的局限。
第一,最有标准是基于最小均方误差的且对所有误差等权处理,这个标准在数学上可以接受,但却是个不适合人眼的方式,原因在于人类对复原错误的感知在具有一致灰度和亮度的区域中更为严重,而对于出现在暗的和高梯度区域的误差敏感性差得多。
第二,空间可变的退化不能用维纳滤波复原法复原,而这样的退化是常见的。
第三,维纳滤波不能处理非平稳信号和噪声。
四、模拟仿真运行结果运行程序代码clear;I=imread('img_orignal.tif');figure;subplot(2,2,1);imshow(I);title('原图像');[m,n]=size(I);F=fftshift(fft2(I));k=0.005;for u=1:mfor v=1:nH(u,v)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6)));endendG=F.*H;I0=real(ifft2(fftshift(G)));I1=imnoise(uint8(I0),'gaussian',0,0.001)subplot(2,2,2);imshow(uint8(I1));title('模糊退化且添加高斯噪声的图像');F0=fftshift(fft2(I1));K=0.1;for u=1:mfor v=1:nH(u,v)=exp(-k*(((u-m/2)^2+(v-n/2)^2)^(5/6)));H0(u,v)=(abs(H(u,v)))^2;H1(u,v)=H0(u,v)/(H(u,v)*(H0(u,v)+K));endendF2=H1.*F0;I2=ifft2(fftshift(F2));subplot(2,2,3);imshow(uint8(I2));title('维纳滤波复原图');五、结论与心得体会通过这个实验,使我们更加深刻和具体的了解到了维纳滤波的原理,功能以及在图像处理方面的应用。
维纳滤波器是对噪声背景下的信号进行估计,它是最小均方误差准则下的最佳线性滤波器。
在实验的过程中,我发现采用维纳滤波复原可以得到比较好的效果,这个算法可以使估计的点扩散函数值更加接近它的真实值。
但实现维纳滤波的要求是①输入过程是广义平稳的;②输入过程的统计特性是已知的。
根据其他最佳准则的滤波器也有同样的要求。
然而,由于输入过程取决与外界信号,干扰环境,这种环境的统计特性常常是未知的,变化的,因而这两个要求很难满足,这就促使人们研究自适应滤波器。
附:维纳滤波器的设计方法维纳-霍夫方程维纳滤波器的设计,实际上就是在最小均方误差条件下探索和确定滤波器的冲激函数h(n)或系统函数H (z ),也就是求解维纳-霍夫方程的问题。
对于物理可实现系统,由(1)式得∑∞=-==0)()()(ˆ)(y m m n x m h n sn 式(6) 它实现的是将当前的及过去的诸输入值作相应的加权后的求和运算。
故维纳滤波的设计则是确定均方误差}])()()({[)]([E 202∑∞=--=m m n x m h n s E n e 式(7) 最小意义下的冲激响应h(n)。
为便于得出矩阵表达式,我们将(6)式改写成i x ∑∞==1i i h (n)sˆ 式(8) 式中1()()1()(1m ,1i +-=-=-==-=+=i n x m n x x i h m h h i m i i 或 式(9)因此])[()]([E 212∑∞=-=i i i x h s E n e 式(10) 为求得])[(21∑∞=-i ii x h s E 最小时的{h i },我们将(10)式对h i 求偏导,得1},x )]([2{)]([E i 22112≥-⋯++-=∂∂i x h x h s E h n e i)( 式(11) 再令其为零,即1,0])[(E 1≥=-∑∞=i x x h s i i i i或,1,0][E ≥=j ex j 式(12)从而可以确定我们所需要的{h i }。