matlab对信号滤波,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 小波滤波后信号
matlab对信号滤波,matlab对信号的滤波方法相关推荐
- matlab滤波器滤除低频直流信号,对低频信号的滤波的方法
Ciobowu曾有帖子https://www.ilovematlab.cn/thread-202931-1-9.html提到如何对低频信号进行滤波,今又提出低频信号滤波出现的问题https://www ...
- AM,DSB,SSB,FM信号调制matlab
关于模拟调制系统仿真: 1 调制原理: 为了让实际信号便于在有限带宽的信道中传输,我们需要对信号进行调制和解调.由傅里叶变换可知,若想实现对频谱的搬移,我们可以将原始时域信号与一余弦信号进行运算,此为 ...
- 基于matlab的回波,基于MATLAB回波信号产生与消除.doc
基于MATLAB回波信号产生与消除 摘 要 MATLAB可以进行矩阵运算.绘制函数和数据.实现算法.创建用户界面.连接其他编程语言的程序等,主要应用于工程计算.控制设计.信号处理与通讯.图像处理.信号 ...
- matlab相位连续显示,matlab设计复合信号不同频率的初相位
生成原始信号 为了方便起见,生成一个包含三个频率的复信号,分别是5Hz.10Hz.15Hz,初相位分别为 采样率取100,采样点取512个,代码如下. clc;clear; Fs =100;%采样率 ...
- matlab随机信号产生,matlab产生瑞利分布随机信号
与<matlab产生瑞利分布随机信号>相关的范文 function snr_vec = fftdisto(x, C, varargin) % FFTDISTO compute distor ...
- MATLAB中FIR滤波器的时延溢出问题详解:线性相位对信号造成的时延溢出及其消除方法,以及fir1等函数的使用
1.问题由来: 前段时间在对用MATLAB处理试验数据时,需要对多路信号进行滤波后做同步,在这个过程中使用MATLAB中自带的 fir1 函数以及Filter Designer工具箱(FDATool) ...
- 二、生理信号处理 ——1.心电信号(含Matlab代码及数据)
本文适合快速了解心电信号,并能够进行数据的滤波处理. 一. 心电数据预处理(消除工频干扰.基线漂移) * 心电数据及rdmat函数见文章底部 1. 导入心电数据 ## 心电图导入及读取 clc; [T ...
- MATLAB:巴特沃斯低通滤波器过滤信号
MATLAB:巴特沃斯低通滤波器过滤信号 实验内容产生两个不同频率的正弦信号,设计合适的滤波器,输出其中的一个信号,滤除另外的一个信号. 代码: %生成两个不同频率的信号 clc; T=2;%时域长度 ...
- matlab怎么分析突变点,小波变换检测信号突变点的MATLAB实现
之前在不经意间也有接触过求突变点的问题.在我看来,与其说是求突变点,不如说是我们常常玩的"找不同".给你两幅图像,让你找出两个图像中不同的地方,我认为这其实也是找突变点在生活中的应 ...
- Matlab镜像建模产生啸叫信号,基于MATLAB有噪声语音信号的处理最终稿(样例3)...
<基于MATLAB有噪声语音信号的处理.doc>由会员分享,可免费在线阅读全文,更多与<基于MATLAB有噪声语音信号的处理(最终稿)>相关文档资源请在帮帮文库(www.woc ...
最新文章
- nginx前端根据$remote_addr分发方法
- cJSON 使用笔记
- linux lynx 源码,Linux移植浏览器 Lynx字符浏览器移植
- html导入有道云笔记,有道云笔记批量导入到showdoc(一)
- dtoj#4179. 排行(rank)
- 【python】Tkinter可视化窗口(三)
- mysql in 子查询 效率慢 优化(转)
- oracle自定义异常长度,Oracle自定义异常收集(二)
- ffmpeg压制视频命令及常用转码参数解析
- MySQL入门系列:MySQL数据类型
- P5.js创意自画像编程
- pymol作图-设置label的字体
- 浙江工业大学 计算机学院,刘端阳-浙江工业大学计算机学院.DOC
- 第60天:攻防世界Mobile两道题
- 本人亲自整理的极客时间设计模式之美下部的硬核笔记(残缺版)最近加班太多,搞不了太多,只能尽量了xd们
- 亚马逊日本站好不好做?怎么选品?有什么注意事项?
- 艺赛旗(RPA)python 的 tkinter 进度条的实现
- 史蒂夫·乔布斯-读书笔记3
- WINCE 睡眠与唤醒
- 国产自研、安全、高可用——袋鼠云大数据基础平台EasyMR筑基企业数字化转型
热门文章
- 施瓦辛格赞世博:学习中国好榜样
- 准确率、精确率、召回率、F1值学习笔记
- STM32中AD转换的校准问题
- 【微信小程序】被面试官问的Java问题难倒了
- 数字化转型过程中需要厘清的几个关系:规划与建设
- 如何快速的集成环信,并高效的使用
- 扫地机器人的特点描写_怎么写扫地机器人文案,看完这篇扫地机器人文案你就明白了...
- 安全传输协议-TLS
- 俄罗斯机器人雄鹿_17+11浪子回头!雄鹿362万捡宝,顶级3D内线比大洛还猛
- 修改注册表关闭 Vari-Bright,无需安装 Radeon 显卡控制台,禁用“屏幕自适应亮度调节”