相关疑难解决方法(0)

测量信号的峰值检测

我们使用数据采集卡从设备获取读数,将信号增加到峰值,然后回落到接近原始值.为了找到峰值,我们当前在数组中搜索最高读数,并使用索引来确定我们计算中使用的峰值的时间.

如果最高值是我们正在寻找的峰值,则效果很好但是如果设备不能正常工作,我们可以看到第二个峰值可能高于初始峰值.我们在90秒的时间内从16个设备中每秒读取10个读数.

我最初的想法是循环读数检查以查看前一个和下一个点是否小于当前找到峰值并构建一个峰值阵列.也许我们应该查看当前位置两侧的平均点数以允许系统中的噪声.这是最好的方法还是有更好的技巧?


我们使用LabVIEW并且我已经检查了LAVA论坛,并且有许多有趣的例子.这是我们的测试软件的一部分,我们试图避免使用太多的非标准VI库,因此我希望得到有关所涉及的过程/算法的反馈,而不是特定的代码.

language-agnostic algorithm

59
推荐指数
4
解决办法
6万
查看次数

实时音调检测

我正在尝试对用户唱歌进行实时音调检测,但我遇到了很多问题.我已经尝试了很多方法,包括FFT(FFT问题(返回随机结果))和自相关(自相关音调检测返回麦克风输入的随机结果),但我似乎无法获得任何方法来给出好的结果.任何人都可以建议一种实时音高跟踪方法或如何改进我已有的方法?我似乎无法找到任何好的C/C++方法进行实时音高检测.

谢谢,

尼尔.

编辑:请注意,我已经检查过麦克风输入数据是否正确,并且当使用正弦波时,结果或多或少是正确的音高.

编辑:对不起,这是迟到的,但此刻,我通过从结果数组和每个索引中取出值,并在X轴上绘制索引和在Y轴上绘制值来显示自动相关(两者都被除以100000或其他东西,我使用OpenGL),将数据插入VST主机并使用VST插件不是我的选择.目前,它看起来像一些随机点.我正确地做了,或者你能不能指点我做一些代码或者帮助我理解如何可视化原始音频数据和自相关数据.

audio signal-processing fft pitch-tracking pitch

26
推荐指数
5
解决办法
5万
查看次数