我正在通过经验模式分解进行音频水印的项目。我必须将信号分解为IMF,将水印嵌入到最后的IMF中,并在发送端重建信号。在接收端,我必须使用EMD将信号分解为IMF,提取水印。为了成功完成,我必须在发送器和接收器端获得相同数量的IMF,同时使用EMD分解帧。我通过将最大迭代次数设置为在发送方端获得的IMF数量来完成它,但我没有发现提取结果令人满意。还有其他办法吗?
答案 0 :(得分:0)
EMD对"噪音模型非常敏感"。更重要的是它没有逆变换(即"经验")。所以至少你必须在你的信号中建立很多冗余。
答案 1 :(得分:0)
默认情况下,EMD 会继续分解信号,除非它得到趋势(趋势与残留不同),因此训练和测试数据可能具有不同的属性(波动性等),因此会生成不同数量的 IMF。< /p>
作为建议,我建议您使用 (max_imf: ) 这是 PyEMD 中的可选参数,它可能会将分解限制为训练和测试数据中的相同数字。