低通滤波器 java_低通滤波器 - java开发指南博客 【转载】 - ITeye博客
实现了这辈子的第一个滤波器,而学习《信号与系统》这门课,已经是5年前的事情了。
这次实现的是一个最最简单的“低通滤波器”,所谓低通滤波器,就是让低频通过,阻住高频。更简单的说,就是消除毛刺。。。
滤波器算法如下:
float lowpass = 0.0f;
private float low_pass (float input)
{
lowpass = input * 0.1f + lowpass * 0.9f;
return lowpass;
}
简单得不能再简单,不过,真心很好用。。。
为什么滤波器理论中会有“频率”这个概念呢?明明不就是一个带有毛刺的,随着时间变化的高高低低的曲线么,哪里有什么频率概念?
根据高等数学理论,任何一个满足一定条件的信号,都可以被看成是由无限个正弦波叠加而成。当在某个dT时间内信号的变化十分剧烈,其分解得到的正弦波中高频率为主要成分,通过低通滤波器可以过滤掉高频部分,剩余没有被过滤掉的部分重新叠加成一个信号的时候,这个信号很微弱(主分量都被过滤掉了),因此,低通滤波器使得这个剧烈的变化变得“很不剧烈”。
那么,如何设计滤波器才能使得“低通”呢?下面这个算法,符合频域上的低通概念吗?还是一种山寨货而已?
lowpass = input* 0.1f + lowpass * 0.9f;
当input >> lowpass的时候,计算结果会偏离lowpass很远,例如:
lowpassorg = 10
input = 1000
那么
lowpassnew =1000 * 0.1 + 10 * 0.9 = 109
显然,lowpassnew >>lowpassorg
因此,这个滤波器并不能很好地过滤掉突然的、极大的干扰信号。为什么呢?两种原因:一种是这个滤波器根本就不是低通滤波器,是个山寨货。一种是这种突发的极大的干扰信号进行分解后,其低频部分依然“很显著”,足以拉高输出结果。通过调整因子0.1,将其调整为0.0001,可以更好地消除这种突发干扰,但是带来的副作用则是让滤波器变得非常不灵敏。放在频域上理解,上述因子的调整使得滤波器的带宽变窄,可以通过的低频成分进一步减小。
求下述公式的频率表示:
lowpass = input* 0.1f + lowpass * 0.9f;
请懂得的同学留言;)
分享到:
2012-07-09 20:01
浏览 2356
评论
低通滤波器 java_低通滤波器 - java开发指南博客 【转载】 - ITeye博客相关推荐
- [翻译]现代java开发指南 第二部分
现代java开发指南 第二部分 第二部分:部署.监控 & 管理,性能分析和基准测试 第一部分,第二部分,第三部分 =================== 欢迎来到现代 Java 开发指南第二部 ...
- [翻译]现代java开发指南 第一部分
现代java开发指南 第一部分 第一部分:Java已不是你父亲那一代的样子 第一部分,第二部分,第三部分 =================== 与历史上任何其他的语言相比,这里要排除c语言和cobo ...
- java开发指南_Java 12新功能完整指南
java开发指南 六个月飞得如此之快,是时候再次仔细研究一下即将发布的新JDK版本. 让我们满足Java 12及其向开发人员介绍的功能. 自Oracle推出加速六个月的发布节奏以来已经有一段时间了,要 ...
- 开发指南:BUMO 智能合约 Java 开发指南
BUMO 智能合约 Java 开发指南 概述 合约是一段JavaScript代码,标准(ECMAScript as specified in ECMA-262).合约的初始化函数是init, 执行的入 ...
- 开发指南:BUMO 存证 JAVA 开发指南
BUMO 存证 JAVA 开发指南 BUMO开发概述 BUMO是新一代商用级基础公链.通过创新的共识算法(BU Firework).主链-子链多链结构(BU Orbits).主链-主链跨链结构(BU ...
- 开发指南:BUMO 资产发行 JAVA 开发指南
BUMO 资产发行 JAVA 开发指南 场景描述 某资方在buchain上发行资产代码为GLA.名称为Global.总发行量为10亿的数字资产,具体信息如下: 字段 是否必填 示例 描述 name 是 ...
- VS Code Java 开发指南!
本文是一份提供给 Java 开发人员在 2019 年使用 Visual Studio Code 的终极指南,帮助开发者使用 VS Code 进行开发.运行.调试和部署其应用程序. 作者 | Bruno ...
- Java开发多、单商户淘宝客+任务系统cps系统源码小程序app
Java开发的多商户淘宝客.任务cps系统源码淘宝客+美团外卖+饿了么外卖+多麦CPS+京东+拼多多+多商户自营+任务墙+本地生活模块+抖音+唯品会+文娱充值+话费充值小程序app主要包括用户端.商家 ...
- alibaba java_阿里巴巴JAVA开发手册最新版插件Alibaba Java Coding Guidelines安装及使用...
阿里巴巴JAVA开发手册最新版插件Alibaba Java Coding Guidelines安装及使用 发布时间:2018-04-20 14:40, 浏览次数:887 , 标签: JAVA Alib ...
- 地下城英雄 java_用java开发dota英雄最华丽的技能(实例讲解)
爱java 爱dota,突发奇想想用java开发dota操作最华丽的英雄之一的卡尔的技能,因为本人系小白,代码不足的地方还请包涵,有同样爱好的同学欢迎一起研究学习. 先把我的代码呈上 import j ...
最新文章
- html5,增加flash插件
- JAVA_Java常用核心包(概念)
- 【深度学习入门到精通系列】医学图像预处理—伽马变化代码
- python 事务操作_Python实现完整的事务操作示例
- 补贴背后的商业竞争,你真的懂吗?
- HTML设计显示表单
- Rapidmind计算库性能测试
- Spark SQL 编程API入门系列之SparkSQL数据源
- 揭秘苹果“地下黑工厂”:临时工薪资无保障,男厕所门口排长龙
- html和css实现导航条
- js刻度尺插件_html5 canvas+js刻度尺代码
- Android Studio 生成APK签名证书
- Win11彻底卸载WSL2系统(去除导航窗格Linux图标)
- JavaScript 入门
- oracle amm和asmm,AMM与ASMM
- Android气泡弹幕,Android弹幕实现:基于B站弹幕开源系统(7)QQ、微信聊天气泡样式的弹幕...
- Grub2 引导 WIM / Slax Linux (BIOS UEFI)
- 每日思维风暴(子串分值、子串分值和)
- 提取文件名-Java
- 如何成为一个优秀的营销人