【Matlab学习日记】② 常用滤波以及噪声分析方法(上)

news2024/11/25 5:41:47

关注+星标公众号,不错过精彩内容
在这里插入图片描述
作者 | 量子君
微信公众号 | 极客工作室


【Matlab学习日记】专栏目录
第一章 ① Sinmulink自动代码生成教程
第二章 ② 常用滤波以及噪声分析方法(上)

文章目录

  • 前言
  • 一、使用滤波的目的
  • 二、常见的几种噪声和表现形式
    • 2.1 几种常见的噪声及表现形式
    • 2.2 低频噪声表现形式
    • 2.3 高频噪声表现形式
    • 2.4 加性噪声表现形式
    • 2.5 系数噪声表现形式
  • 三、噪声分析及各种噪声的滤波选择
    • 3.1 噪声分析方法
    • 3.2 噪声表现形式分析
    • 3.3 构建滤波的流程
    • 3.4 实际数据滤波分析
  • 总结


前言

在这个专栏中,你可以找到大量有关C语言和算法的知识内容。可以学习到C语言的基础知识和语法规则,了解如何使用指针、结构体等语言特性进行编程。同时,你还可以了解到C语言的高级编程技巧,如多线程编程、内存管理等。深入学习计算机科学中的核心知识,提高编程能力和实践能力。

本文介绍常见的滤波算法的基础入门知识点。并以实际项目为出发点讲解常用滤波和数据中噪声分析方法。


一、使用滤波的目的

我们在采集数据时,我们希望得到的数据光滑,看起来舒服,就像下图:噪声少、信噪比高、质量好的数据;
理想波形
然而,我们采集到的实际数据很有可能是这样:噪声多、信噪比低、质量差的数据;
实际采样
虽然我们不知道评判数据好坏的标准,但从直观感觉上,上面这组是要好于下面这组的。这两组数据之间就需要设计一组甚至多组滤波器来处理。所以,使用滤波器的目的就是把质量差的数据处理成质量好的数据–也叫做去噪或者去污染。
在这里插入图片描述

二、常见的几种噪声和表现形式

2.1 几种常见的噪声及表现形式

从上一节中,我们了解到,滤波的目的是剔除数据中的噪声,那么得到一组数据,是否就可以马上利用滤波进行去噪呢?答案是:不!
噪声种类多种多样,每种噪声需要特定的滤波进行剔除分离,所以在搭建滤波器之前,先要对系统的噪声系统进行分析。滤波器构建,噪声分析先行。
常见的噪声可以从频率特性和噪声作用方式两个方面来理解:

  1. 频率特性:
    低频噪声:通常是指频率较低的噪声,可能源于电源干扰、机械振动等,常见于50 Hz以下的频段。
    高频噪声:指频率较高的噪声,可能包括电子元件自振、射频干扰等,通常在kHz甚至MHz以上范围内。
  2. 作用方式:
    加性噪声:是指这类噪声直接加在信号上,不随信号的内容而变化。加性噪声的一个典型例子是高斯白噪声,它是一种均匀影响整个频谱的噪声。加性噪声又分为随机噪声和基线噪声。其中,基线噪声又分为定常噪声和时变噪声。
    系数噪声:通常与信号的幅度或相位相关,可能会随着信号幅度改变,通常出现在倍乘或相干检测等过程中。其中,系数噪声也分为定常噪声和时变噪声。

在实际应用中,低频和高频噪声可以都是加性噪声的一种特例,因为它们都是独立于信号本身叠加在其上的。此外,低频噪声和高频噪声还可以对系统的不同部分造成不同类型的干扰,因此常需要不同的滤波手段来处理。而系数噪声则更复杂,因为它涉及信号的变化特性,并且可能需要通过先进的估计算法来校正其对信号的影响。

综上:采集数据 = 系数噪声 * 真实数据 + 加性噪声 + 其他噪声 。

2.2 低频噪声表现形式

原始数据:
在这里插入图片描述
低频噪声:
在这里插入图片描述
被低频噪声污染:
在这里插入图片描述

2.3 高频噪声表现形式

原始数据:
在这里插入图片描述
高频噪声:
在这里插入图片描述
被高频噪声污染:
在这里插入图片描述

2.4 加性噪声表现形式

原始数据:
在这里插入图片描述
线性噪声:
在这里插入图片描述
被线性噪声污染:
在这里插入图片描述
多项式噪声:
在这里插入图片描述
被多项式噪声污染:
在这里插入图片描述
随机噪声:
在这里插入图片描述
被随机噪声污染:
在这里插入图片描述

2.5 系数噪声表现形式

原始数据:
在这里插入图片描述
被定常系数噪声K污染:
在这里插入图片描述
被时变系数噪声K(t)污染:
在这里插入图片描述

三、噪声分析及各种噪声的滤波选择

3.1 噪声分析方法

在对系统的噪声进行分析时,我们只会采集到带有噪声的数据,而不知道无噪声的数据是什么样的。要对系统在多个状态下的数据分别进行分析。
比较常用的状态:

  1. 静息状态:理论上,数值变化不大,可以基于此做基线噪声和随机噪声的分析;
  2. 稳定工作状态:系统输出的数值频率变化不大,可以基于此做频率噪声分析。

静息状态噪声分析流程:
在这里插入图片描述
解决方法:

  1. 根据拟合函数修正基线;
  2. 时域滤波去随机噪声。

稳定状态噪声分析流程:
在这里插入图片描述
解决方法:
低通频域滤波、高通频域滤波、带通频域滤波、带阻频域滤波。

3.2 噪声表现形式分析

信号处理分析示例(以加速度数据为例):
原始数据:
在这里插入图片描述
放大后的细节:
在这里插入图片描述
在这里插入图片描述
先从数据的表现形式上,分析可能存在的噪声。通过上面对噪声的认识,显然随机噪声和高频噪声可能性比较大,低频噪声和基线噪声可能性比较小。

3.3 构建滤波的流程

目的:解算加速度
数据:加速度数据
特征:频率特征

可能存在的噪声:
①高频噪声
②随机噪声

可能用的滤波:
①阻带截止频率为4Hz的低通滤波、
②滑动平均或Kalman等时域滤波

构建滤波的流程:
在这里插入图片描述

3.4 实际数据滤波分析

低通滤波处理前后对比,处理前:
在这里插入图片描述
低通滤波处理后:
在这里插入图片描述
滑动平均处理:
在这里插入图片描述
卡尔曼滤波也能达到类似的效果:
在这里插入图片描述


总结

本文介绍常见的滤波算法的基础入门知识点。并以实际项目为出发点讲解常用滤波和数据中噪声分析方法。

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2194709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程

一、前言 【试用版软件下载,可以点击本文章最下方官网卡片】 棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程 棋牌计时计费软件的应用也提升了顾客的服务体验,顾客可以清晰的看到自己的消费时间和费用。增加了消费的透明…

免费高可用软件

高可用软件是指那些能够提供高可用性、高可靠性的软件,它们在各种应用场景下都能确保系统的稳定运行。以下是四款免费的高可用软件,它们在不同领域都表现出色,能够满足各种高可用性需求。 一、PanguHA PanguHA是一款专为Windows平台设计的双…

数据分析之Spark框架介绍

文章目录 概述一、发展历程与背景二、核心特点三、生态系统与组件四、应用场景五、与其他大数据技术的比较 核心概念1. 弹性分布式数据集(RDD, Resilient Distributed Dataset)2. 转换(Transformations)和动作(Actions…

python jpg 简单研究 1

起因, 目的: 就是想看看 jpg 里面有什么。 其实,我最开始的想法是,自己来写一个文件格式,只能我自己才能打开。 然后看了 jpg 相关的内容,发现太复杂,只能罢了。 1. jpg 的魔法头数字(File Ma…

蝶形激光器驱动(温控精度0.002°C 激光电流分辨率5uA)

蝶形半导体激光器驱动电流的稳定性直接决定了其输出波长的稳定性,进而影响检测精度.为了满足气体浓度检测中对激光器输出波长稳定可调的要求,设计了数字与模拟电路混合的恒流驱动电路.STM32为主控芯片数控模块完成扫描AD/DA转换;模拟电路主要由负反馈运算放大、高精度CMOS管和反…

《向量数据库指南》揭秘:Mlivus Cloud如何借Fivetran Partner SDK实现数据飞跃

哈哈,各位向量数据库领域的同仁们,今天咱们来聊聊 Fivetran 的 Partner SDK 如何助力技术供应商构建自定义连接器和目标,特别是与 Mlivus Cloud 的集成,这可是个热门话题啊! Fivetran 的 Partner SDK,简直就是为技术供应商量身打造的“神器”。有了它,你就可以轻松地为…

LeetCode讲解篇之300. 最长递增子序列

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 这题我们可以通过动态规划求解&#xff0c;使用一个数组f&#xff0c;数组f的i号元素表示[0, i]范围内最长递增子序列的长度 状态转移方程&#xff1a;f[i] max(f[j] 1)&#xff0c;其中 0 < j < i 题…

node高版本报错: digital envelope routines::unsupported

node高版本报错&#xff1a; digital envelope routines::unsupported 解决方案&#xff1a; package.json中&#xff0c;启动命令前加上&#xff1a; set NODE_OPTIONS--openssl-legacy-provider &&

Windows安装Linux子系统报错:WslRegisterDistribution failed with error: 0x8007019e

WslRegisterDistribution failed with error: 0x8007019e 报错截图如下图&#xff1a; 该处是由于没有安装Linux内核&#xff0c;因此需要安装。可前往官网查看详情&#xff1a;https://aka.ms/wslinstall 需要解决该问题&#xff0c;可参照官网方法&#xff08;我没试过官网…

pip丢了怎么办!不用怕,教你用get-pip.py来下载

1.下载get-pip.py进行安装 我们有的时候环境中会找不到或者误删丢失了pip模块&#xff0c;就没办法安装新的python模组&#xff0c;那怎么办呢&#xff0c;官方提供了get-pip.py模块可以帮我们快速安装pip。 get-pip.py网站 bootstrap.pypa.io/get-pip.py 直接将文件下载下来…

已解决:AttributeError: ‘str‘ object has no attribute ‘decode‘

已解决&#xff1a;AttributeError: ‘str’ object has no attribute ‘decode’ 文章目录 写在前面问题描述报错原因分析 解决思路解决办法1. 确保只对 bytes 对象调用 decode()2. 将 Python 2 的旧代码迁移到 Python 33. 检查数据来源4. 处理编码不一致的问题5. 使用 six 库…

Java第二阶段---11封装---第四节 static 修饰符

1.static 修饰符应用范围 static修饰符只能用来修饰类中定义的成员变量、成员方法、代码块以及内部类(内部类有专门章节进行讲解)。 2.static 修饰成员变量 static 修饰的成员变量称之为类变量。属于该类所有成员共享。 示例 package cn.lyxq.test04;public class Chinese…

系统架构设计师论文《论企业应用系统的分层架构风格》精选试读

论文真题 软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式&#xff0c;反映了领域中诸多系统所共有的结构特征和语义特征&#xff0c;并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格&#xff0c;能够有效简化设计&…

HDLBits中文版,标准参考答案 | 3.1.3 Arithmetic Circuits | 算术电路

关注 望森FPGA 查看更多FPGA资讯 这是望森的第 10 期分享 作者 | 望森 来源 | 望森FPGA 目录 1 Half adder | 半加器 2 Full adder | 全加器 3 3-bit binary adder | 3位二进制加法器 4 Adder | 加法器 5 Signed addition overflow | 有符号数的加法溢出 6 100-bit bi…

【JavaEE初阶】深入理解线程池的概念以及Java标准库提供的方法参数分析

前言 &#x1f31f;&#x1f31f;本期讲解关于MySQL索引事务&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;【JavaEE初阶】多线程案列之定时器的使用和内部原码模拟-CSDN博客 &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl…

ScholarAI发一个月会员啦!

诸神缄默不语-个人CSDN博文目录 ScholarAI是一个用于学术的工具&#xff0c;用LLM智能检索用户所需的论文&#xff0c;可以进行简单的总结和分析。可以理解成“LLM帮你读论文”这种感觉。 这次之所以发会员是因为GPT Store服务出问题了&#xff0c;所以给了用户一个月会员作为…

双向数据库迁移工具:轻松实现 MySQL 与 SQLite 数据互导

项目概述与作用 该项目的核心是实现 MySQL 和 SQLite 两种数据库之间的数据迁移工具。它能够轻松地将 MySQL 数据库中的数据导出为 SQLite 数据库文件&#xff0c;反过来也可以将 SQLite 数据库中的数据上传到 MySQL 数据库中。这个双向迁移工具非常适用于&#xff1a; 数据库备…

【C++】--类和对象(2)

&#x1f44c;个人主页: 起名字真南 &#x1f446;个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 类的默认成员函数2 构造函数3 析构函数4 拷贝构造5 赋值运算符重载5.1 运算符重载5.2 赋值运算符的重载 1 类的默认成员函数 默认成员函数就是用户没有显示实现&#xff0c;…

制作U盘启动盘1 — UltraISO

官网&#xff1a;UltraISO软碟通中文官方网站 - 光盘映像文件制作/编辑/转换工具 点击工具栏的“打开”&#xff0c;在弹出的窗口选择要刻录的ISO文件。 点击菜单栏的“启动”—“写入磁盘映像”。 硬盘驱动器选择要刻录的U盘。 点击写入&#xff0c;会弹出数据丢失的提示&…

数据结构和算法简介

目录 1.认识数据结构 什么是数据结构 逻辑结构 物理结构 常见的数据结构 2.认识算法 什么是算法 如何衡量算法效率 时间复杂度 什么是时间复杂度 如何计算时间复杂度 大O渐进表示法 常见时间复杂度计算例子 空间复杂度 什么是空间复杂度 如何计算空间复杂度 常…