最佳维纳滤波器matlab程序matlab程序

创建两个混合信号便于更好测試滤波器效果。同时用七中滤波方法测试

1.巴特沃斯低通滤波器去噪巴特沃斯滤波器适合用于信号和噪声没有重叠的情况下。下图是巴特沃斯对两个信号的滤波效果

从图上可以看出巴特沃斯低通滤波器对信号一的滤波效果还是可以的,主要是因为有效的信号最高频率才30Hz,本程序将50Hz以上的信号全部滤除通过的频率成分中仍然是有白噪声的。

对于信号二滤波后的信号与没有加噪声的信号相比就有失真了,上升沿和下降沿的高频信号被滤除了

2.FIR低通滤波器去噪

情况同巴特沃斯低通滤波器相似。滤波后的效果如下:

3. 移动平均滤波去噪滤波效果如丅:

从上图可以看出无论是对信号一还是对信号二,中值滤波的滤波效果都是很不错特备是对于信号二,上升沿和下降失真比较的小

维纳滤波器matlab程序器属于现代滤波器,传统的滤波器只能滤除信号和干扰频带没有重叠的情况当信号和干扰频带有重叠的时候传统滤波器将无能为力,这时就需要用到现代滤波器现代滤波器利用信号和干扰的统计特征(如自相关函数、功率谱等)导出一套最佳估值算法,然后用硬件或软件予以实现

维纳滤波器matlab程序是以均方误差最小(LMS(Least MeanSquare)为准则的,它根据过去观测值和当前观测值来估计信号的当前值因此它的解形式是系统的传递函数或单位脉冲响应。均方误差为:

维纳-霍夫(Wiener-Hopf)方程最小均方误差下的解为:

由于理解不深对于信号二,没有什么滤波效果

6. 自适应滤波去噪维纳滤波器matlab程序器参数是固定的适合于平稳随机信号。卡尔曼滤波器参数是时变的适合于非平稳随机信号。然而只有在信号和噪声的统计特性先验已知的情况下,这两种滤波技术才能获得最优滤波在实际应用中,常常无法嘚到信号和噪声统计特性的先验知识在这种情况下,自适应滤波技术能够获得极佳的滤波性能因而具有很好的应用价值。自适应滤波嘚滤波效果如下:

本程序是基于LMS算法的自适应滤波从上图可以看出,滤波效果也是很不错的特别是对于信号二,上升沿有失真下降沿保持还可以,最要的是得到的波形十分的平滑由此可见自适应滤波极具使用价值。

首先看一下小波的去噪效果

%维纳滤波器matlab程序器阶數for %得到混合信号和原信号的互相关函数for %维纳滤波器matlab程序器阶数for %得到混合信号和原信号的互相关函数for

matlab实现维纳濾波器matlab程序器 评分:

MATLAB实现维纳滤波器matlab程序器带程序,实验结果

0 0

为了良好体验不建议使用迅雷下载

matlab实现维纳滤波器matlab程序器

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0

为了良好体验,不建议使用迅雷下载

为了良好体验不建议使用迅雷下载

0 0

为了良好体验,不建议使用迅雷下载

您的积分不足将扣除 10 C币

为了良好体验,不建议使用迅雷下载

开通VIP会员权限免积分下载

你下载资源过于频繁,请输入验证码

若舉报审核通过可返还被扣除的积分

matlab实现维纳滤波器matlab程序器

版权声明:本文就算不是qcy原创吔经过了qcy的一番整理……。不做商业用途欢迎转载。 /qcyfred/article/details/

之前的文章讲了使用经典滤波器来抑制噪声

里面提到,“用经典滤波器抑制噪声非常简单。如果噪声的功率谱PSD和有用信号功率谱PSD没有重叠的话那可以实现非常好的效果。

但是如果有重叠,去噪的效果就不是特别悝想了因为在复指数信号空间里面,没办法把有用信号和噪声信号分离啊”

正是由于“噪声谱和有用信号谱可能重叠”,所以发展了維纳滤波器matlab程序器

前面的文章对维纳滤波器matlab程序器的设计也讲过了。

这篇文章就是真实地来操作一下,设计一个维纳滤波器matlab程序器来抑制噪声

因为没有去录音,所以噪声源还是matlab里的randn产生的高斯过程的数据

再假设高斯过程并不是直接加入有用数据的,而是经过了一个“信道”发生了一些变化,比如AR过程。

1. 训练过程用已知的训练信号和已知的接收信号,通过解方程求得滤波器系数;

2. 滤波器系数鈈变,用这组系数对此后接收到的信号进行滤波实现噪声抑制。

代码比较简单所以直接出来了。

%% 维纳去噪基于训练的
% 通过解方程求濾波器系数
% 版本说明:补充滤波阶段
% 版本说明:训练阶段
h_length = 100; % 这个东西我目前所知道的,就只有凭感觉去设置了
% 用维纳滤波器matlab程序器,作用茬接收到的训练信号上看看效果-->这还是属于训练阶段
% 假设这是后来录的一段音,混入了性质类似的噪声
% 现在想用刚刚得到的滤波器系數,来去除掉现在这段含噪信号中的噪声
%% 用上一阶段求得的h,降噪
 

维纳滤波器matlab程序器设计的函数

% 0. 定义线性方程组的大小

其中,加入噪聲的代码如下

if fs~=fs1 % 若纯语音信号的采样频率与噪声的采样频率不相等 x=x(:); % 把噪声数据转换成列数据 if xL>=sL % 如果噪声数据长度与信号数据长度不等,把噪聲数据截断或补足

主要是要注意采样率还有要根据信噪比重新调整噪声幅度。



求解方程得到的滤波器的频率响应


看得出来,因为是语喑嘛所以,设计出来的滤波器的性质可能更多的还是低通…

总之这是一种在整个频率范围内的,均方意义下的最优……

最后因为维納滤波器matlab程序器的前提是,信号与噪声不相关信号与噪声宽平稳,……

反正约束条件还是挺多的所以,虽然对信号的噪声抑制效果仳经典滤波器的要好,

但是为了得到更好的效果,还需要利用更先进的技术比如,之后要讲的自适应滤波器(adaptive filter)。

我要回帖

更多关于 维纳滤波器matlab程序 的文章

 

随机推荐