我需要在Simulink Desktop Real-Time toolbox上实现一个基于LMS的自适应音频消除算法。
物理系统由一个记录噪声源的麦克风和另一个记录控制过程后残留噪声的麦克风组成(由Simulink控制的扬声器注入抗噪)。
为了使(自适应) LMS算法正常工作,我需要能够逐个采样地工作,即在每个采样时刻,我需要使用两个麦克风的同步当前采样值来更新自适应滤波器。我意识到一些延迟是不可避免的,但我想知道在Simulink Desktop Real-Time上是否可以将输入的缓冲区大小减少到一个样本,从而在逐个样本的基础上工作。
提前感谢您的帮助。
发布于 2016-01-06 05:35:22
您始终可以在逐个样本的基础上实现过滤器。
但是您仍然需要输入值的历史记录来执行实际的LMS计算。在逐个样本的基础上,这只意味着使用简单的FIFO缓冲区。
如果您可以访问DSP工具箱,那么已经有一个LMS Filter块可以为您完成此操作。
https://stackoverflow.com/questions/34618666
复制相似问题