维纳滤波器设计
更新时间:2024-05-16 03:02:01 阅读量: 综合文库 文档下载
1.设计要求
Sequence s(n) of N=2000 points is generated by AR(1) model: s(n)=as(n-1)+w(n), in which a=0.8, w(n) is white noise sequence, the mean and variance of w(n) ismw?0,
2?w?0.36.
The measurement model is x(n) =s(n) +v(n), in which white noise sequence v (n) and
2?1. w (n) is not related, the mean and variance of v(n) is mv?0,?mRequirements:
(1)Design IIR causal Wiener filter , calculate the filtered sequence and mean square error;
(2)Design FIR Wiener filter , calculate the filtered sequence and mean square error; (3)Display raw data , noise data and filtered data on the same graph , compare the mean square error between the two cases and draw a conclusion.
2.设计原理
2.1维纳滤波原理概述
维纳(Wiener)是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。一个线性系统,如果它的单位样本响应为h(n),当输入一个随机信号x(n),且
x(n)?s(n)?v(n) (1)
其中x(n)表示信号,v(n))表示噪声,则输出y(n)为
y(n)? ?h(m)x(n?m) (2)
m我们希望x(n)通过线性系统h(n)后得到的y(n)尽量接近于s(n),因此称y(n)为
s(n)的估计值,用s(n)表示,即
y(n)?s(n) (3)
^^则维纳滤波器的输入—输出关系可用下面图1表示。
图1
实际上,式(2)所示的卷积形式可以理解为从当前和过去的观察值x(n),x(n?1),
x(n?2)?x(n?m),?来估计信号的当前值s(n)。因此,用h(n)进行过滤问题
^实际上是一种统计估计问题。
一般地,从当前的和过去的观察值x(n),x(n?1),x(n?2)?估计当前的信号值
y(n)?s(n)成为过滤或滤波;从过去的观察值,估计当前的或者将来的信号值y(n)?s(n?N)(N?0)称为外推或预测;从过去的观察值,估计过去的信号值y(n)?s(n?N)(N?1)称为平滑或内插。因此维纳滤波器又常常被称为最佳线性
^^^过滤与预测或线性最优估计。这里所谓的最佳与最优是以最小均方误差为准则的。
如果我们分别以s(n)与s(n)表示信号的真实值与估计值,而用e(n)表示他们之间的误差,即
e(n)?s(n)?s(n) (4) 显然e(n)可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即它的平方的统计期望最小:
?(n)?E[ e(n)]?min (5)
2^^采用最小均方误差准则作为最佳过滤准则的原因还在于它的理论分析比较简单,不要求对概率的描述。
2.2维纳-霍夫方程的求解
为了按(5)式所示的最小均方误差准则来确定维纳滤波器的冲激响应h(n),令?(n)对h(j)的导数等于零,即可得
Rxs(m)??h(i)Rixx (m?i),?m (6)
式中,Rxs(m)是s(n)与x(n)的互相关函数,Rxx(m)是x(n)的自相关函数,分别定义为
Rxs?E[x(n)s(n?m)] Rxx?E[x(n)x(n?m)]
式(6)称为维纳滤波器的标准方程或维纳-霍夫(Wiener-Hopf)方程。如果已知
Rxs(m)和Rxx(m),那么解此方程即可求的维纳滤波器的冲激响应。
式(6)所示标准方程右端的求和范围即i的取值范围没有具体标明,实际上
有三种情况:
(1) 有限冲激响应(FIR)维纳滤波器,i从0到N?1取得有限个整数值; (2) 非因果无限冲激响应(非因果IIR)维纳滤波器,i从??到??取所
有整数值;
(3) 因果无限冲激响应(因果IIR)维纳滤波器,i从0到??取正整数值。 上述三种情况下标准方程的解法不同,本文将描述因果IIR维纳滤波器和FIR维纳滤波器的求解。
3维纳滤波器的设计与实现 3.1因果IIR维纳滤波器的求解
解维纳-霍夫方程得,因果IIR维纳滤波器的传输函数为:
H1?c?z???2?Ssx?z????1?? ?B?z??B?z???现要设计一个因果IIR维纳滤波器,对x(n)进行处理,以得最佳估计。 为分析简单起见,作如下假设:
(1)w?n?是方差等于Q的白噪声,其自相关函数和功率谱分别为
E??w?n?w?i????Q??1,n?ini ?ni???0,n?i (2)v?n?是方差等于R的白噪声,其自相关函数和功率谱分别为
E??v?n?v?i????R?ni,
且
Sww?z??QSvv?z??R
(3)v?n?与s(n)不相关,与w?n?也不相关,即
E??v?n?s?i????0E?
?v?n?w?i????0我们需要求出如下几个功率谱:
Sss?z??Q?1?az?1??1?az?
ScQsx?z???1?az?1??1?az?
7) (c2QSxx?z??cSss?z??Svv?z???R ?1?1?az??1?az?2对出入信号功率谱进行因式分解,得
1?fz?1Sxx?z????B?z?B?z?,B?z??,1?az?12?1f?1 (8)
继续推导得到
??2?1?f2??cQ??1?a2?R (9) faR?1?f2c2Q??1?a2?R联立两个方程,得
a2RPQ?P?,P?0 (10) 2R?cP求得因果IIR滤波器系统函数
Hc?z??1?G?z???? ???2B?z??1cQ11 (11) ?G?1?1?11?fa1?fz1?az1?fz??21?az?1其中,维纳增益 G? f?cP (12) 2R?cPaR?a?1?cG? (13)
R?c2P3.2 FIR维纳滤波器的求解
设滤波器冲激响应序列的长度为N,冲激响应矢量为
h?[h(0)h(1)....h(N?1)] (14)
T滤波器输入数据矢量为
x(n)?[x(n)x(n?1)...x(n?N?1)] (15)
T则滤波器的输出为
TT y(n)?s(n)?x(n)h?hx(n) (16)
^这样,式(6)所示的维纳-霍夫方程可写成
P?hR或P?Rh (17)
TT其中
P?E[x(n)s(n)] (18)
是s(n)与x(n)的互相关函数,它是一个N维列矢量;R是x(n)的自相关函数,是N阶方阵
R?E[x(n)x(n)] (19)
T利用求逆矩阵的方法直接求解式(10),得
hopt?RP (20)
?1这里opt表示“最佳”,这就是FIR维纳滤波器的冲激响应。
3.3 维纳滤波器的matlab实现
由设计要求,可得维纳滤波器的数据模型和测量模型参数: a = 0.8 , c = 1 , Q = 0.36 , R = 1 ;
由3.1节,我们可得IIR维纳滤波器的设计步骤如下: (1) 根据一直参数a , c , R , Q求解式(10),得到正解P = 0.6 ; (2) 由式(12)计算维纳增益G= 0.375; (3) 由式(13)计算滤波器系数f= 0.5;
(4) 将G和f值带入式(11),得到IIR维纳滤波器的传输函数 Hc?z??于是单位脉冲响应为h(n)?0.375*(0.5)nu(n)。
而由3.2节的计算推导,我们可以设计FIR 维纳滤波器的程序流程图为:
0.375,
1?0.5z?1开始产生L个v(n),w(n),s(n),x(n)计算Rxx 和Rxs计算h(n)利用卷积求y(n)将最后100个x(n),s(n),y(n)绘于同一坐标计算均方误差MSE结束图1 FIR维纳滤波器算法流程图
由此,具体Matlab代码如下: clc
clear all
L = 2000; % signal length
N = 20; % length of the FIR filter a = 0.8;
% white noise with mean of 0 and var of 0.36 w = sqrt( 12 * 0.36) * ( rand(1,L) - 0.5 ); % true signal: s(n)=a*s(n-1)+w(n) s = zeros(1,L); s(1) = w(1); for ii = 2:L
s(ii) = a * s(ii-1) + w(ii); end
% white noise with mean of 0 and var of 1 v = sqrt( 12 ) * ( rand(1,L) - 0.5 ); % received signal: x = s + v x = s + v;
% r_xx is the autocorrelation of x r_xx = xcorr( x );
% R_xx is the N-dimentional autocorrelation matrix of x R_xx = zeros( N ); for ii = 1 : N
R_xx( : , ii ) = r_xx( L+1-ii : L+1-ii+N-1 )'; end
% r_xs is the cross-correlation of x and s r_xs = xcorr( x , s );
r_xs = r_xs( L : L+N-1 )'; % according to R_xx * h_FIR = R_xs ,we can calculate the h_FIR h_FIR = inv(R_xx) * r_xs; h_FIR = h_FIR';
% y_FIR is the reslut signal filtered by h_FIR y_FIR = cconv( h_FIR , x, L );
% y_IIR is the result signal filtered by IIR causal Wiener filter h_IIR n = 0:L-1;
h_IIR = 0.375 * ( 0.5 .^ n ); y_IIR = cconv( h_IIR , x, L );
%% plot the true signal s(n) , the received signal x(n), the result signal y_FIR(n)
%%filtered by h_FIR,the result signal y_IIR(n) filtered by h_IIR of the last 100 points t = L - 99 : L; figure(1);
subplot(2,2,1);
plot( t , x(t), 'k' );
title('The raw data s(n) ');
xlabel('n');ylabel('Signal Amplitude'); subplot(2,2,2);
plot( t , s(t) , 'r');
title('the noise data x(n)');
xlabel('n');ylabel('Signal Amplitude'); subplot(2,2,3);
plot( t, y_FIR(t), 'b');
title('The data filtered by FIR filter'); xlabel('n');ylabel('Signal Amplitude'); subplot(2,2,4);
plot( t, y_IIR(t), 'g');
title('The data filtered by IIR filter'); xlabel('n');ylabel('Signal Amplitude'); figure(2);
plot( t, x(t), '--k',t , s(t) , 'r', t, y_FIR(t), 'g' , t, y_IIR(t), 'b');
legend('raw data s(n)','noise data x(n)','data filtered by FIR filter','data filtered by IIR filter',0); xlabel('n');ylabel('Signal Amplitude'); % 计算均方误差
e_f=sum((y_FIR-s(1:L)).^2)/L e_i=sum((y_IIR-s(1:L)).^2)/L
4.实验结果与结论
运行代码,所得原始数据,噪声数据,FIR维纳滤波数据和因果IIR维纳滤波数据如图2所示:
图 2(a)
图 2(b)
图2 实验数据和结果
运行结果中,不论是FIR维纳滤波还是因果IIR维纳滤波滤波后的到的信号,与原始信号和噪声信号的对比可以看出,滤波后的结果与期望信号还是很接近的,整体上达到了最优滤波的效果。
FIR滤波后得到的信号与因果IIR滤波后得到的信号,直观上很接近。于是我们就引入了均方误差(MSE)对这两种算法的性能进行评估。
多次试验所得到的FIR维纳滤波算法和因果IIR维纳滤波算法的均方误差如表1所示:
表1 FIR维纳滤波算法和因果IIR维纳滤波算法的均方误差(MSE) FIR IIR 0.3488 0.3875 0.3964 0.3574 0.3598 0.3929 0.3923 0.3709 0.3651 0.3687 0.3453 0.3829 0.3917 0.3570 0.3573 0.3899 0.3923 0.3686 0.3638 0.3672 FIR维纳滤波器的均方误差比因果IIR的均方误差要大。这是因为,设计FIR维纳滤波器需要已知x(n)的自相关矩阵R和s(n)与x(n)的互相关矩阵P或者说需要已知
Rxx(m)和Rxs(m),m=0,1,?,N-1。设计IIR维纳滤波器时,需要已知自功率普和
互功率谱,或者说需要已知自相关函数Rxx(m)和互相关函数的所有值Rxs(m),即m=0,1,?,∞。这就是说,设计IIR维纳滤波器比设计FIR维纳滤波器使用了更多的已知信息。
正在阅读:
维纳滤波器设计05-16
入党志愿书介绍人意见12-11
外科护理学试题库c03-15
毕业设计10轴钻床 - 图文04-04
蓝光中学教师校本培训材料之四 - 图文09-17
参观垃圾中转站作文400字07-14
交通事故伤残赔偿计算公式 - 图文03-12
我国注册会计师行业存在问题及分析01-19
“四联两带”活动实施方案08-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 维纳
- 滤波器
- 设计
- 初中语文知识点《文言文阅读》《历史事件类》精选课后训练试题[1
- 小学一年级上册语文复习教案(人教版第一册)2
- 我国重大工程事故案例11
- 《空间数据库系统》期未考试试卷(B卷) - 副本
- 住宅型钢混凝土转换层施工方案修改
- 高中数学竞赛辅导讲义第十三章 排列组合与概率
- 2017-2022年四川旅游业发展预测及投资咨询报告 - 图文
- 初中信息技术人教版七年级下册第二单元第4-1课《认识图层》优质
- (秋季版)七年级语文上册第二单元第6课《散步》课堂实录新人教
- 企业机关党支部对照检查材料
- 汉英语言对比
- 泛素(ubiquitin)
- 浅谈智能水表与智能手机 - 我们开启智能时代了吗?
- 新版pep四年级上册英语第一单元练习卷
- 2018-2019-大学辅导员个人工作计划表-word范文模板(2页)
- 2017-2023年中国动物医学训练模型行业市场分析及投资可行性研究
- 马原第二章习题
- 石化安全工作总结
- 初一数学上册合并同类项专项练习题精编217
- 网上申报手册 - 图文