[Localización de fuentes de sonido] Comparación de algoritmos de localización de fuentes de sonido basados en diferentes estimaciones de espectro espacial de Matlab [incluido el código fuente 545 de Matlab]

1. Introducción

El algoritmo MUSIC es un método basado en la descomposición del espacio de características matriciales. Desde un punto de vista geométrico, el espacio de observación del procesamiento de señales se puede descomponer en un subespacio de señales y un subespacio de ruido, obviamente estos dos espacios son ortogonales. El subespacio de señal se compone de vectores propios correspondientes a la señal en la matriz de covarianza de datos recibidos por la matriz, y el subespacio de ruido se compone de vectores propios correspondientes a todos los valores propios más pequeños (varianza de ruido) en la matriz de covarianza.
1 Principio del algoritmo El
algoritmo MUSIC es una piedra angular importante de la teoría de la radiogoniometría de estimación del espectro espacial. como sigue:

(1) Independientemente de la forma del conjunto de antenas radiogoniométricas y de la dimensionalidad del ángulo de incidencia de la onda entrante, suponiendo que el conjunto se compone de M elementos, la forma matricial del modelo de salida del conjunto se puede expresar como: Y (t) = AX (t) + N (t)

Entre ellos, Y es el vector complejo observado de los datos de salida de la matriz; X es el vector complejo de la señal espacial desconocida; N es el ruido aditivo en el vector de salida de la matriz; A es la matriz de dirección de la matriz; aquí, la expresión de una matriz está determinada por el atlas Said.

La tarea de procesamiento del algoritmo MUSIC es intentar estimar el número D de la señal espacial incidente en la matriz, la intensidad de la fuente de señal espacial y la dirección de la onda entrante.

(2) En el procesamiento real, los datos obtenidos por Y son un número limitado de muestras (también llamadas instantáneas o instantáneas) dentro de un período de tiempo limitado. Durante este tiempo, se supone que la dirección de la onda entrante no cambia y la el ruido es el mismo que la señal El ruido blanco no correlacionado define el segundo momento de la señal de salida del arreglo: Ry.

(3) El núcleo del algoritmo MUSIC es realizar la descomposición de valores propios en Ry y utilizar vectores propios para construir dos subespacios ortogonales, a saber, el subespacio de señal y el subespacio de ruido. La descomposición característica de Ry es hacer que la fórmula del atlas sea verdadera.

(4) U es una matriz hermitiana definida no negativa, por lo que los autovalores obtenidos por autodescomposición son todos números reales no negativos, con D autovalores grandes y MD autovalores pequeños, compuestos de autovectores correspondientes a los autovalores grandes El espacio Us es un subespacio de señales, y el espacio Un compuesto de autovectores correspondientes a pequeños autovalores es un subespacio de ruido.

(5) El vector propio de ruido se utiliza como un vector de columna para formar una matriz propia de ruido, que se expande en un subespacio Un de ruido de dimensión MD, que es ortogonal al subespacio de la señal. Y el vector de columna de Us coincide con el subespacio de la señal, por lo que el vector de columna de Us y el subespacio de ruido también son ortogonales, por lo que se puede construir la función de espectro espacial.

(6) Obtenga el valor máximo de la función espectral en el dominio espectral espacial, y el ángulo correspondiente al pico espectral es el valor estimado del ángulo de dirección de la onda entrante.

2 Desarrollo teórico y aplicación El
algoritmo MUSIC (Clasificación de señales múltiples) fue propuesto por el ROSchmidt estadounidense en 1979, y marcó que la búsqueda de dirección de estimación del espectro espacial ha entrado en una etapa de prosperidad. Introduce el concepto de "espacio vectorial" en el campo de la estimación del espectro espacial, tras treinta años de desarrollo, se puede decir que su teoría ha sido relativamente madura.

Desde la década de 1980, la gente ha realizado una investigación extensa y profunda sobre el algoritmo de estimación del espectro espacial de súper resolución basado en la descomposición propia, y ha propuesto una serie de métodos de procesamiento eficientes, el más clásico de los cuales es la clasificación de múltiples señales (MUSIC ). El algoritmo tiene que pasar por una búsqueda unidimensional para encontrar la fuente de la fuente, y se ha reducido la complejidad computacional de los algoritmos de búsqueda multidimensionales, como la probabilidad máxima relativa (ML) y el ajuste subespacial ponderado (WSF). un monton. El algoritmo representado por MUSIC tiene una deficiencia, es decir, no es ideal para un procesamiento coherente de señales. Entre una serie de esquemas de procesamiento para fuentes de señales coherentes, los más clásicos son las técnicas de suavizado espacial, como los algoritmos de suavizado espacial (SS) y suavizado espacial modificado (MSS). Sin embargo, la técnica de suavizado espacial tiene el costo de perder la apertura efectiva de la matriz, y solo es adecuada para matrices lineales uniformes espaciadas uniformemente (ULA).

De hecho, el algoritmo de estimación del espectro espacial se calcula con el número conocido de fuentes de señales, lo que es imposible en aplicaciones prácticas, ya que el número de fuentes solo se puede estimar en función de los datos de observación. En su trabajo clásico, ROSchmidt propuso un método para estimar la fuente de señal basado en la distribución de los valores propios de la matriz de covarianza de la matriz. Este método es perfecto en teoría, al menos correcto para fuentes independientes y algunas fuentes relacionadas, pero de hecho, debido a la extensión limitada de los datos, en gran medida, solo puede depender del juicio subjetivo para determinar el número de fuentes.

En segundo lugar, el código fuente

clc;
clear all;
close all;
set(0,'defaultaxesfontsize',9);            %设置字体大小
load s.mat;
wnd=256;
inc=128;

[Angle1]=Spectrum_Method('capon',s1,s2,wnd,inc,45);
subplot(311)
plot(Angle1,'*'),axis tight
title('Capon')
xlabel('帧数')
ylabel('角度/度')

[Angle2]=Spectrum_Method('music',s1,s2,wnd,inc,45);
subplot(312)
plot(Angle2,'*'),axis tight
title('Music')
xlabel('帧数')
ylabel('角度/度')
function frameout=enframe(x,win,inc)

nx=length(x(:));            % 取数据长度
nwin=length(win);           % 取窗长
if (nwin == 1)              % 判断窗长是否为1,若为1,即表示没有设窗函数
   len = win;               % 是,帧长=win
else
   len = nwin;              % 否,帧长=窗长
end
if (nargin < 3)             % 如果只有两个参数,设帧inc=帧长
   inc = len;
end
nf = fix((nx-len+inc)/inc); % 计算帧数
frameout=zeros(nf,len);            % 初始化
indf= inc*(0:(nf-1)).';     % 设置每帧在x中的位移量位置
inds = (1:len);             % 每帧数据对应1:len
frameout(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));   % 对数据分帧

Tres, resultados en ejecución

Inserte la descripción de la imagen aquí

Cuatro, comentarios

Código completo o escritura agregue QQ 1564658423 revisión anterior
>>>>>>
[Extracción de características] Incrustación y extracción de marcas de agua de audio basadas en la transformación de ondas de matlab [Incluir código fuente 053 de Matlab]
[Procesamiento de voz] Procesamiento de señales de voz basado en GUI de matlab [Incluir Matlab Problema de código fuente 290]
[Adquisición de voz] basada en la colección de señales de voz de la GUI de matlab [incluido el código fuente 291 de Matlab]
[Modulación de voz] basada en la modulación de amplitud de voz de la GUI de matlab [incluido el código fuente 292 de Matlab]
[Síntesis de voz] basada en la voz de la GUI de matlab síntesis [incluido el problema 293 del código fuente de Matlab]
[Cifrado de voz] basado en el cifrado y descifrado de la señal de voz de la GUI de Matlab [incluido el código fuente 295 de Matlab]
[Mejora de la voz] Mejora de la voz basada en la transformación de ondas de Matlab [Código fuente 296 de Matlab]
[Reconocimiento de voz] basado en el reconocimiento de la frecuencia base de voz de la GUI de Matlab [Incluye el código fuente 294 de Matlab]
[Mejora del habla] Mejora de la voz basada en el filtrado Wiener de la GUI de Matlab [Incluye el código fuente 298 de Matlab]
[Procesamiento de voz] Basado en el procesamiento de la señal de voz de la GUI de Matlab [Incluye el código fuente 299 de Matlab ]
[Procesamiento de señales] Basado en el analizador de espectro de señales de voz Matlab [incluido el código fuente 325 de Matlab]
[Señal de modulación] Simulación de señal de modulación digital basada en la GUI de matlab [incluido el código fuente 336 de Matlab]
[Reconocimiento de emociones] Reconocimiento de emociones de voz basado en matlab BP neural red [incluido el código fuente 349 de Matlab]
[Esteganografía de voz] Marca de agua digital de audio cuantificado basada en la transformación Wavelet de Matlab [Incluir el código fuente de Matlab, problema 351]
[Extracción de características] basado en la incrustación y extracción de marcas de agua de audio de Matlab [incluido el código fuente de Matlab 350 período]
[eliminación de ruido de voz] basado en matlab paso bajo y eliminación de ruido de filtro adaptativo [incluido el código fuente de Matlab 352 período]
[reconocimiento de emociones] basado en la voz de la GUI de matlab clasificación de emociones Reconocimiento [Incluyendo el código fuente de Matlab 354 período]
[Procesamiento básico] Preprocesamiento de señales de voz basado en Matlab [Incluyendo el código fuente de Matlab período 364]
[Reconocimiento de voz] Matlab Fourier transformada 0-9 reconocimiento de voz digital [Incluyendo el código fuente de Matlab período 384]
[Reconocimiento de voz] 0-9 reconocimiento de voz digital basado en matlab GUI DTW [incluido el código fuente de Matlab 385]
[Reproducción de voz] Diseño de Matlab GUI MP3 [incluido el código fuente de Matlab 425]
[Procesamiento de voz] Algoritmo de mejora del habla basado en el efecto de enmascaramiento del oído humano Cálculo de la relación de ruido [Incluido el código fuente 428 de Matlab]
[Eliminación de ruido de voz] Basado en eliminación de ruido por sustracción espectral de matlab [Incluido el código fuente 429 de Matlab]
[Reconocimiento de voz] Reconocimiento de voz de red neuronal de BP basado en el ítem momentum de matlab [Incluido el código fuente de Matlab 430]
[Esteganografía de voz] basado en la ocultación de voz matlab LSB [incluido el código fuente 431 de Matlab]
[Reconocimiento de voz] basado en el reconocimiento de voz masculina y femenina de matlab [incluido el código fuente 452 de Matlab]
[Procesamiento de voz] basado en el procesamiento de reducción y adición de ruido de voz matlab [incluido el código fuente de Matlab, problema 473]
[Eliminación de ruido del habla] basado en el filtro adaptativo de mínimos cuadrados (LMS) de Matlab [incluido el código fuente 481 de Matlab]
[Mejora del habla] basado en la resta espectral de Matlab, el mínimo medio cuadrado y la mejora del habla del filtro Wiener [incluido Matlab código fuente 482 período】
[Comunicación] basada en la simulación de modulación de banda de frecuencia digital GUI de matlab (ASK, PSK, QAM) [incluido el código fuente 483 de Matlab]
[Procesamiento de señales] basado en el procesamiento de señales ECG de Matlab [incluido el código fuente 484 de Matlab]
[Transmisión de voz] basada en matlab Transmisión de voz [Incluido el código fuente 507 de Matlab]
[Procesamiento de señal] Transformada de ondas de Matlab basada en la extracción de características de la señal EEG [Incluido el código fuente 511 de Matlab]
[Procesamiento de voz] Basado en la detección de señales de multifrecuencia de tono dual (DTMF) GUI de matlab [Incluido Matlab código fuente 512】
【Esteganografía de voz】 basado en matlab LSB para realizar la marca de agua digital de la señal de voz 【Incluir el código fuente de Matlab 513】
【Mejora de la voz】 Reconocimiento de voz basado en el filtro adaptado de Matlab 【Incluir el código fuente de Matlab 514
processing processing Procesamiento de voz】 Basado en matlab GUI análisis de espectrograma de dominio de frecuencia de voz [incluido el código fuente de Matlab 527]
[eliminación de ruido de voz] basado en matlab LMS, eliminación de ruido de voz del algoritmo RLS [incluido el código fuente de Matlab 528]
[eliminación de ruido de voz] basado en matlab LMS eliminación de ruido de voz de sustracción espectral [incluido Matlab
Problema de código fuente 529] [Eliminación de ruido de voz] basado en umbral suave de matlab, umbral duro, umbral de compromiso eliminación de ruido de voz [incluido el código fuente 530 de Matlab]
[Reconocimiento de voz] basado en la discriminación de reconocimiento de voz de una persona específica de matlab [incluido el código fuente 534 de Matlab]
[Discurso reducción de ruido] basado en la reducción de ruido de voz de umbral suave de wavelet de matlab [incluido el código fuente 531 de Matlab]
[eliminación de ruido de voz] basado en la reducción de ruido de voz de umbral duro de wavelet de matlab [incluido el código fuente de Matlab 532]
[reconocimiento de voz] basado en MFCC de matlab y SVM específico para humanos reconocimiento de género [incluido el código fuente 533 de Matlab]
[Reconocimiento de voz] Reconocimiento de voz de GMM basado en MFCC [incluido el código fuente 535 de Matlab]
[Reconocimiento de voz] basado en el reconocimiento de voz de palabras aisladas de personas específicas de matlab VQ [incluido el código fuente 536 de Matlab]
[Reconocimiento de voz] basado en el reconocimiento de huella de voz de la GUI de matlab [incluido Matlab] Problema de código fuente 537]
[Adquisición y lectura] basado en la recopilación y lectura de voz de Matlab [incluido el código fuente 538 de Matlab]
[Edición de voz] basado en la edición de voz de Matlab [incluido el código fuente 539 de Matlab]
[Modelo de voz] basado en voz de Matlab modelo matemático de señales [incluido el código fuente 540 de Matlab]
[Solidez del habla] basado en la intensidad y el volumen de la voz de Matlab [incluido el código fuente 541 de Matlab]
[Reconocimiento de emociones] basado en el algoritmo de clasificación del vecino más cercano de Matlab K reconocimiento de emociones de voz [incluido el código fuente 542 de Matlab]
[Reconocimiento de emociones] basado en Matlab Support vector machine (SVM) Reconocimiento de emociones de voz [incluido el código fuente 543 de Matlab]
[Reconocimiento de emociones] Reconocimiento de emociones de voz basado en redes neuronales [incluido el código fuente 544 de Matlab]

Supongo que te gusta

Origin blog.csdn.net/TIQCmatlab/article/details/114954882
Recomendado
Clasificación