Comparación y simulación de métodos de estimación de espectro de señal digital: autocorrelación estimada, método de periodograma, método de covarianza, algoritmo de burg, método de covarianza modificado

Tabla de contenido

1. Base teórica

1.1 Estimación del espectro de autocorrelación

1.2 Estimación espectral del periodograma

1.3 Estimación espectral de covarianza

1.4 Estimación espectral del algoritmo Burg

1.5 Estimación del espectro de covarianza modificado

2. Programa básico

3. Conclusión de la simulación


1. Base teórica

       La estimación espectral de autocorrelación, la estimación espectral de periodograma, la estimación espectral de covarianza, la estimación espectral de algoritmo Burg y la estimación espectral de covarianza modificada son métodos comunes de estimación espectral de señales, que se utilizan para analizar la información espectral de las señales. Este documento presentará los principios y características de estos métodos en detalle.

1.1 Estimación del espectro de autocorrelación

       La estimación de espectro de autocorrelación es el método de estimación de espectro más simple, que estima el espectro de una señal en función de la función de autocorrelación de la señal. La función de autocorrelación representa la similitud entre la señal y ella misma después de un cierto retraso de tiempo, y su valor pico corresponde al período de la señal, por lo que puede usarse para estimar el componente de frecuencia de la señal.
Los pasos específicos de la estimación del espectro de autocorrelación son los siguientes:
calcular la función de autocorrelación de la señal.
Realice la transformada de Fourier en la función de autocorrelación para obtener el espectro de frecuencia de la señal.
La ventaja de la estimación del espectro de autocorrelación es que es simple de calcular, pero su desventaja es que tiene poca precisión y es sensible al ruido.

1.2 Estimación espectral del periodograma

       La estimación espectral de periodograma es un método de estimación espectral basado en un modelo de señal periódica. Cree que la señal está superpuesta por varias señales periódicas, por lo que el espectro de frecuencia de la señal se puede obtener descomponiendo la señal en múltiples señales periódicas y realizando la transformada de Fourier en cada señal periódica. Específicamente, los pasos de la estimación del espectro del periodograma son los siguientes:
la señal se descompone en varias señales periódicas, por ejemplo, dividiendo la señal según la duración del período.
Realice la transformada de Fourier en cada señal periódica para obtener el espectro de frecuencia de la señal periódica.
El espectro de todas las señales periódicas se superpone para obtener el resultado de la estimación del espectro de la señal.
La ventaja de la estimación espectral del periodograma es que tiene una alta precisión de estimación para señales periódicas, pero su desventaja es que tiene una baja precisión de estimación para señales no periódicas.

1.3 Estimación espectral de covarianza

       La estimación espectral del método de covarianza es un método de estimación espectral basado en modelos estadísticos, que considera que la señal es un proceso aleatorio, y el espectro de la señal se puede estimar calculando la función de covarianza de muestra de la señal. En concreto, los pasos de la estimación espectral por el método de covarianza son los siguientes:
Calcular la función de covarianza muestral de la señal.
Realice la transformada de Fourier en la función de covarianza para obtener el resultado de la estimación del espectro de la señal.
La ventaja de la estimación espectral de covarianza es una mayor precisión, pero su desventaja es una mayor complejidad computacional.

1.4 Estimación espectral del algoritmo Burg

       La estimación espectral del algoritmo de Burg es un método de estimación espectral basado en el método recursivo de mínimos cuadrados, que estima el espectro de una señal calculando iterativamente los coeficientes de un modelo autorregresivo (AR). Específicamente, los pasos de la estimación espectral del algoritmo de Burg son los siguientes:
Inicializar los coeficientes del modelo AR.
Calcule el error de predicción y el espectro de potencia del modelo AR.
Actualice los coeficientes del modelo AR para minimizar el error de predicción y el espectro de potencia.
Repita los pasos 2 y 3 hasta la convergencia.
La ventaja de la estimación del espectro del algoritmo de Burg es la alta precisión, pero su desventaja es la alta complejidad computacional y la sensibilidad al ruido.

1.5 Estimación del espectro de covarianza modificado


        La estimación espectral de covarianza modificada es un método mejorado basado en la estimación espectral del método de covarianza, que mejora la precisión de la estimación espectral modificando la función de covarianza. Específicamente, los pasos para corregir la estimación del espectro de covarianza son los siguientes:
Calcular la función de covarianza muestral de la señal.
Modifique la función de covarianza, por ejemplo, suavizando, truncando, etc. la función de covarianza.
Realice la transformada de Fourier en la función de covarianza modificada para obtener el resultado de la estimación del espectro de la señal.
La ventaja de la estimación del espectro de covarianza modificada es la alta precisión y la insensibilidad al ruido, pero su desventaja es que necesita modificar la función de covarianza, y la elección del método de modificación puede afectar los resultados de la estimación espectral.

2. Programa básico

 

%画图
figure(2);
stem(rx_d,'r');
title('估计自相关与真实自相关比较');
xlabel('n');
ylabel('rx');
grid on;
hold on;
stem(rx0,'b');
legend('估计自相关','真实自相关');


%用x进行功率谱估计,即周期图法
p0 = fft(xn,512);
p0 = p0(1:N);
p0 = (abs(p0)).^2./length(xn);
p0 = 10*log10(p0);

 
%自相关法
[a1,err1]=acm(xn,4);
p1 = estm_p(sqrt(err1),a1);

%协方差法
[a2,err2]=covm(xn,4);
p2 = estm_p(sqrt(err2),a2);

%burg算法
[g3,err3]=burg(xn,4);
a3 = gtoa(g3);
p3 = estm_p(sqrt(err3),a3);


%修正协方差法
[a4,err4]=mcov(xn,4);
p4 = estm_p(sqrt(err4),a4);

%画图比较
f=1./N:1./N:1;
figure(3);
plot(f,p0,f,p1,f,p);
title('自相关法与周期图法比较');
xlabel('归一化频率(pi)');
ylabel('功率谱(db)');
grid on;
legend('周期图法','自相关法','真实功率谱');

figure(4);
plot(f,p0,f,p2,f,p);
title('协方差法与周期图法比较');
xlabel('归一化频率(pi)');
ylabel('功率谱(db)');
grid on;
legend('周期图法','协方差法','真实功率谱');

figure(5);
plot(f,p0,f,p3,f,p);
title('burg算法与周期图法比较');
xlabel('归一化频率(pi)');
ylabel('功率谱(db)');
grid on;
legend('周期图法','burg算法','真实功率谱');

figure(6);
plot(f,p0,f,p4,f,p);
title('修正协方差法与周期图法比较');
xlabel('归一化频率(pi)');
ylabel('功率谱(db)');
grid on;
legend('周期图法','修正协方差法','真实功率谱');

figure(7);
plot(f,p0,f,p1,f,p2,f,p3,f,p4,f,p);
title('各种谱估计法比较');
xlabel('归一化频率(pi)');
ylabel('功率谱(db)');
grid on;
legend('周期图法','自相关法','协方差法','burg算法','修正协方差法','真实功率谱');
UP188

3. Conclusión de la simulación

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/ccsss22/article/details/130737855
Recomendado
Clasificación