多信号分类 (MUSIC) 实现

信息处理 算法 音乐 多路径 阵列信号处理 编程
2022-01-24 04:21:27

我的设计中目前有一个线性 4 元素天线阵列,我能够从每个天线获取 I/Q 数据。现在我正在尝试实现 MUSIC 算法来获得 AoA(到达角)。我已经阅读了一些关于该算法的文章,但是,我没有遇到任何解释如何在实践中实现理论的文章。我有几个问题希望有人会支持我。

  1. 有没有介绍 MUSIC 算法实现细节的教程或文章?我更喜欢 C/C++ 语言。但是任何其他语言也可以。

  2. 在推导 MUSIC 算法时,通常假设有 N 个源。这是实际源的数量还是它也计算多径信号?

  3. 一旦我们有了 I/Q 数据,有没有描述 MUSIC 算法实现的文章?

非常感谢!!

2个回答

我将把 1 号和 3 号分组为相关。

  1. 有关 MUSIC 的高级描述,您可以在此处查看 MATLAB 的概述。该算法的主要步骤之一是找到相关矩阵的特征向量,这可以通过奇异值分解或其他方法来完成。MATLAB 有这方面的函数,因此您可能希望在 C/C++ 中找到等效函数,或者实现自己的函数。算法中的其他步骤与实现无关:主要是数据收集和简单的向量操作。

  2. 使用 N 元素数组,MUSIC 最多可以解析 N - 1 个源。这些可以是真实的来源或它们的图像,必须进行相应的处理。

对于一些更具体的实现细节,我在这里有一个答案,我们在这里完成了在 MATLAB 中收集数据和执行 MUSIC 的过程。

有一个名为 armadillo 的库 - 用于 C/C++。使用它,您可以实现几乎所有内容,如 matlab 中的无八度模拟。Matlab 有特殊的模块(分阶段),我认为可以高度简化工作,但我还没有找到这些模块的 C 类似物。 http://www2.ee.unsw.edu.au/~elias/Theses/Gu2016.pdf - MUSIC 有多种算法,您可以使用八度音阶测试所有算法,然后使用犰狳实现。它们对 DOA 很有效。问题之一 - 你必须找到合适的距离,并且在那里你必须计算 DOA。有 2D 音乐 - 适用于范围和角度,但到目前为止我还没有成功。