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