C++FIR噪声滤波器
C++ FIR noise filter
我正在挖掘一些有关从C++中过滤 IQ 数据样本中的噪声的信息。
我了解到,这可以通过使用一个简单的过滤器来完成,该过滤器计算最后几个数据样本的平均值并将其应用于当前样本。
您是否对这种过滤有任何进一步的经验,或者您是否建议使用一些现有的FIR过滤库?
感谢您的评论!
不幸的是,它并不像"只需获得一些库,它将为您完成所有工作"那么简单; 数字滤波器是一个相当复杂的主题。
-
仅当测量以固定的时间间隔(在数字滤波器中称为"采样率")进行时,才很容易对数据应用数字滤波器。否则(如果时间间隔不同),应用数字滤波器并非易事(我怀疑您可能需要FFT来做到这一点,但我在这里可能是错的)。
-
数字滤波器(IIR和FIR)很有趣,因为一旦你知道系数,你就不需要一个库,很容易自己编写它(例如,参见这里的第一张图片:https://en.wikipedia.org/wiki/Finite_impulse_response:看起来很简单,对吧?);找到系数是很棘手的。
-
作为找出系数的先决条件,您需要了解很多关于滤波器的信息:您需要知道您需要哪种滤波器(如果是在解调之后 - 您可能需要低通,否则请参阅下面 MSalters 的评论),您需要了解什么是"转折频率",并且您需要了解如何将这些频率映射到您的样本(例如, 您可以说您的样本每秒出现一次 - 或任何其他速率,但此选择会影响您想要的"转折频率")。一旦你对"你需要的数字滤波器"有了这种理解 - 查找系数很容易,你可以在 MatLab 中完成,或者使用在线计算器,在谷歌中查找"数字滤波器计算器"。
相关文章:
- C++ OpenCV 卡尔曼滤波器构造函数错误
- 在细胞中产生噪声 - CPP 和 GLSL
- 在没有密钥的情况下读取密文的剩余噪声预算
- 为什么这个噪声函数不处理否定参数?
- OpenCV的卡尔曼滤波器过渡矩阵如何处理时间(如t和t^2)进行运动预测?
- 如何使用中值滤波器算法去除胡椒噪声
- 用于检测特定频率的直接显示滤波器
- Opencv 平均滤波器提供的输出与 Matlab 平均滤波器不同
- 使用Kalman滤波器来filt噪声,而不会延迟OpenCV C
- 如何创建用于生成噪声的哈希函数
- 使用哪个 pcl 滤波器对点云进行下采样
- 按类型参数进行GTEST滤波器测试
- 卡尔曼滤波器 - 零预测点
- 了解 3D 柏林噪声
- 单纯噪声范围太小
- 将信号转换为梯形(梯形滤波器)
- OpenCV噪声消除静态摄像机的视频
- 字符数组中的滤波器unicode字符
- 如何在C/C++中使用FFmpeg API覆盖滤波器
- C++FIR噪声滤波器