¿Cómo funciona el algoritmo de Clasificación de Señal Múltiple (MUSIC)?

He estado leyendo sobre MÚSICA recientemente, y he encontrado que es un uso brillante de la descomposición del valor propio. Explicaré un caso de uso: estimación de frecuencia sinusoidal.

Suponga que tiene una señal que se compone de una suma de sinusoides (digamos r ) más algo de ruido ( w (n) ), que tiene que ser estrictamente independiente de la señal. Tiene M muestras de esta señal, es decir, n = 0,1,2, … M-1.

[matemáticas] x (n) = \ sum_ {i = 1} ^ {r} A_i \ exp (j \ omega_in + \ phi_i) + w (n) [/ matemáticas]

Si realiza una descomposición de valores propios en esta matriz de covarianza de esta señal ([math] \ in \ mathbb {R} ^ {M \ times M} [/ math]), los valores propios re más grandes representan vectores propios que abarcan el subespacio de la señal + ruido, y el resto abarca solo el subespacio de ruido. Recuerde, los vectores propios son todos ortogonales en este caso.

Ahora formula una función como esta:

[matemáticas] P (\ omega) = \ frac {1} {\ sum_ {i = r + 1} ^ {M} | \ mathbf {a (\ omega)} ^ H \ mathbf {q_i} | ^ 2} [ /matemáticas]

[matemáticas] \ mathbf {a} (\ omega) = [1, e ^ {j \ omega}, e ^ {2j \ omega} \ cdots e ^ {(M-1) j \ omega}] ^ T [/ matemáticas]

y [math] \ mathbf {q_i} [/ math] son ​​los últimos vectores propios de Mr , es decir, los vectores propios que abarcan solo el subespacio de ruido. Como sabemos que estos vectores propios son ortogonales a la señal, para todos aquellos [math] \ omega [/ math] ‘s que están realmente presentes en la señal ([math] \ omega_i’ [/ math] s), la función [ matemática] P (\ omega) [/ math] debería ser teóricamente infinito (la proyección de [math] \ mathbf {a} (\ omega) [/ math] en [math] \ mathbf {q_i} [/ math] ‘s debería ser cero).

Por lo tanto, busca en un rango de frecuencias y busca picos en la función [matemática] P (\ omega) [/ matemática] para estimar las frecuencias presentes en su señal. La resolución es mejor que la de la FFT, y el algoritmo es robusto en presencia de ruido. Sin embargo, es mucho más costoso desde el punto de vista informático ([matemática] O (N ^ 3) [/ matemática] frente a [matemática] O (Nlog_2N) [/ matemática] para la FFT).