matlab对信号的滤波方法
https://blog.csdn.net/colapin/article/details/52840075;
关于信号的滤波方法:
1.巴特沃斯低通滤波器去噪
在[B,A]=butter(n,wn)中,n是滤波器的阶数,Wn是截止频率,Wc = 截止频率*2/采样频率
Wc=2*50/Fs; %截止频率 50Hz
[b,a]=butter(4,Wc);
Signal_Filter=filter(b,a,Mix_Signal_1);
2.FIR低通滤波器去噪
F = [0:0.05:0.95];
A = [1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] ;
b = firls(20,F,A);
Signal_Filter = filter(b,1,Mix_Signal_1);
3. 移动平均滤波去噪
b = [1 1 1 1 1 1]/6;
Signal_Filter = filter(b,1,Mix_Signal_1);
4. 中值滤波去噪
Signal_Filter=medfilt1(Mix_Signal_1,10);
5. 维纳滤波去噪
维纳滤波是以均方误差最小(LMS(Least MeanSquare)为准则的,它根据过去观测值和当前观测值来估计信号的当前值,因此它的解形式是系统的传递函数或单位脉冲响应。
Rxx=xcorr(Mix_Signal_1,Mix_Signal_1); %得到混合信号的自相关函数
M=100; %维纳滤波器阶数
for i=1:M %得到混合信号的自相关矩阵
for j=1:M
rxx(i,j)=Rxx(abs(j-i)+N);
end
end
Rxy=xcorr(Mix_Signal_1,Signal_Original_1); %得到混合信号和原信号的互相关函数
for i=1:M
rxy(i)=Rxy(i+N-1);
end %得到混合信号和原信号的互相关向量
h = inv(rxx)*rxy'; %得到所要涉及的wiener滤波器系数
Signal_Filter=filter(h,1, Mix_Signal_1); %将输入信号通过维纳滤波器
6. 自适应滤波去噪
维纳滤波器参数是固定的,适合于平稳随机信号。卡尔曼滤波器参数是时变的,适合于非平稳随机信号
N=1000; %输入信号抽样点数N
k=100; %时域抽头LMS算法滤波器阶数
u=0.001; %步长因子
%设置初值
yn_1=zeros(1,N); %output signal
yn_1(1:k)=Mix_Signal_1(1:k); %将输入信号SignalAddNoise的前k个值作为输出yn_1的前k个值
w=zeros(1,k); %设置抽头加权初值
e=zeros(1,N); %误差信号
%用LMS算法迭代滤波
for i=(k+1):N
XN=Mix_Signal_1((i-k+1):(i));
yn_1(i)=w*XN';
e(i)=Signal_Original_1(i)-yn_1(i);
w=w+2*u*e(i)*XN;
end
7. 小波去噪
[xd,cxd,lxd] = wden(Mix_Signal_1,'sqtwolog','s','one',2,'db3');
plot(xd); %Mix_Signal_1 小波滤波后信号
转载于:https://www.cnblogs.com/rjjhyj/p/8878498.html
matlab对信号的滤波方法相关推荐
- matlab对信号滤波,matlab对信号的滤波方法
https://blog.csdn.net/colapin/article/details/52840075: 关于信号的滤波方法: 1.巴特沃斯低通滤波器去噪 在[B,A]=butter(n,wn) ...
- 动力定位 matlab,matlab起重船动力定位系统滤波方法研究+源程序
摘要船舶动力定位系统是指不借助锚泊系统,而利用自身推进装置有效地产生反作用力和力矩去抵抗风浪流和其它外力对船舶的作用,使船舶保持在设定位置和艏向,与传统的锚泊系统相比,有不受水深限制.机动性能好.定位 ...
- 【Matlab】信号FIR滤波及谱分析
前言 一个使用matlab对正弦信号进行FIR滤波及频谱分析的学习笔记,本文使用的是窗函数法滤波. 一.正弦信号生成 正弦函数的频率为95和105 Fs=5120; % 采样率 N=1024; % 采 ...
- matlab肌电信号平滑滤波_BCIduino 滤波和频谱计算操作
本文介绍用 python 对航弈生物 BCIduino 放大器脑电/肌电数据进行滤波及频谱计算,介绍如何用 python mne 对 fif 格式保存的脑电数据进行读取和简单的滤波,并用numpy 对 ...
- matlab时域信号如何分析方法,信号时域采样频谱分析(matlab)
<信号时域采样频谱分析(matlab)>由会员分享,可在线阅读,更多相关<信号时域采样频谱分析(matlab)(12页珍藏版)>请在读根文库上搜索. 1.基于matlab的时域 ...
- matlab肌电信号平滑滤波_MATLAB图像处理:43:用高斯平滑滤波器处理图像
本示例说明了如何使用imgaussfilt来对图像应用不同的高斯平滑滤波器.高斯平滑滤波器通常用于降低噪声. 将图像读入工作区. I = imread('cameraman.tif'); 使用各向同性 ...
- matlab加权滤波,matlab实现七种滤波方法
对于信号二,小波的去噪效果非常不错,虽然得到波形不是很平滑,但是上升沿和下降沿保持的非常高,基本可以看到棱角. %******************************************* ...
- 基于MATLAB的信号与系统实验指导,《信号与系统及MATLAB实现》实验指导书
内容简介: <信号与系统及MATLAB实现>实验指导书 前 言 长期以来,<信号与系统>课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计 ...
- 用matlab求解信号的DFT,利用MATLAB实现信号DFT的计算
07级电信(2)班 刘坤洋 24 实验一 利用MATLAB 实现信号DFT 的计算 一.实验目的: 1.熟悉利用MATLAB 计算信号DFT 的方法 2.掌握利用MATLAB 实现由DFT 计算线性卷 ...
最新文章
- 58一面:Redis数据更新,是先更新数据库还是先更新缓存?
- Python3之字符串格式化format函数详解(下)
- Py之matplotlibseaborn :高级图可视化之​​​​​​​Q-Q分位数图probplot、​​​​​​​boxplot箱线图、stripplot分类散点图案例应用及代码实现
- 新鲜出炉的家庭贫富评判标准!快看看你家属于小康家庭吗?
- 1 游戏逻辑架构,Cocos2d-x游戏项目创建,HelloWorld项目创建,HelloWorld程序分析,(CCApplicationProtocol,CCApplication,AppDeleg
- thinkphp环境变量.env配置
- Android Studio开发环境搭建准备
- 算法之递推及其应用(递推关系的建立及在信息学竞赛中的应用 安徽 高寒蕊)...
- pyplot交互地画多个plot
- cesium入门示例-3dTiles加载
- 通达信指标转python_python转换通达信股票数据
- Windows驱动开发(三)一个WDF入门实例
- 分享一些ABP..ABS的广告过滤规则
- 经历三家千人互联网公司,提炼了20+条黄金法则
- 在船舶共轨实验平台上使用Mbed LPC1768
- Android学习---zygote(上)
- 【今日头条2017内推】调度问题
- Lua封装增加九宫Sprite接口
- 2018 年度阿里云存储十大新闻盘点
- WebRTC实现多人视频聊天之信令服务器设计