Beruflich Dokumente
Kultur Dokumente
DIVISIONES DEL p%
(dato solicitado al usiario).
DIVISIONES DEL p%
(dato solicitado al usiario)
TRASLAPES DEL 50%.
[Pxx,f] = pwelch(xn,window,noverlap,nfft,Fs);
plot(f,10*log10(Pxx))
title('usando la función pwelch')
OBSERVACIÓN: El pico en 50 Hz está 6dB por debajo del pico en 120 Hz. Entonces, se verifica que el
segundo pico es el doble en amplitud que el primero.
EJEMPLO:
COMPARACIÓN ENTRE PERIODOGRAMA SIMPLE Y
WELCH (CON BLACKMAN HARRISON 4T)
%Experimento: detección:
%xn = sin(2*pi*50*t) + 0.001 * sin(2*pi*100*t);
plot(t,xn)
title('señal original: suma de dos tonos con ruido')
% Cálculo del espectro de potencia:
figure
subplot(2,1,1)
plot(f_periodograma,10*log10(P_simple))
axis([0 Fs/2 0 max(10*log10(P_simple))]);
xlabel('f(Hz)')
ylabel('P( dB )')
title('PERIODOGRAMA SIMPLE')
grid on
% Cálculo del espectro de potencia:
% METODO DE BARTLET:
nfft = 256; % tamaño de las ventanas
ventana1= rectwin (256);
noverlap1 = 0 % numero de muestras de traslape que debe ser entero
[P_bartlet,f_bartlet] = pwelch(xn,ventana1,noverlap1,nfft,Fs);
% METODO DE WELCH:
ventana2= blackmanharris (256);
noverlap2 = fix(length(ventana2))/2 % numero de muestras de traslape que debe ser entero
[P_welch,f_welch] = pwelch(xn,ventana1,noverlap2,nfft,Fs);
subplot(2,1,2)
hold on
plot(f_bartlet,10*log10(P_bartlet),'b');
plot(f_welch,10*log10(P_welch),'r');
xlabel('f(Hz)')
ylabel('P( dB )')
title('BARTLET (ventana rectangular) Y WELCH (con BLACKMAN HARRIS DE 4T')
legend('BARTLET', 'WELCH-BH4T')
grid on
1. El periodograma simple es un método demasiado “ruidoso”. Bartlet y Welch reducen esta variabilidad.
2. Cada ventana es de 256 puntos y dentro de estos segmentos se calculan los periodogramas
modificados empleando nFFT = 256 (muy pocos puntos para ver el gráfico del espectro)
Para observar mejor el gráfico espectral, aumentamos a nFFT = 2048. Cada ventana sigue siendo de 256
puntos:
EJEMPLO DE 10 TONOS
ANÁLISIS ESPECTRAL DE 10 TONOS CON
PERIODOGRAMA MODIFICADO VERSUS WELCH
Duracion = 10 segundos
A= 1,0.5,0.1,0.01,0.001,0.001,0.01,0.1,0.5,1
F=100,105,110,115,120,125,130,135,140,145
clc, close all , clear all; %Eje de frecuencias:
f_periodograma=linspace(0,Fs,nFFT);
duracion = 10; figure
fmax=145; subplot(2,1,1)
Fs=10*fmax; hold on
t=0:1/Fs: duracion; % Duración 10seg plot(f_periodograma,10*log10(Pxx1),'k');
plot(f_periodograma,10*log10(Pxx2),'r');
xn=1*sin(2*pi*100*t)+0.5*sin(2*pi*105*t)+... axis([0 Fs/2 0 max(10*log10(Pxx1))]);
0.1*sin(2*pi*110*t)+0.01*sin(2*pi*115*t)+... xlabel('Frecuencia (Hz)');
0.001*sin(2*pi*120*t)+0.001*sin(2*pi*125*t)+... ylabel('Potencia');
0.01*sin(2*pi*130*t)+0.1*sin(2*pi*135*t)+... legend('Periodograma-Simple','Periodograma-modif- M-BH4t')
0.5*sin(2*pi*140*t)+1*sin(2*pi*145*t) +
0.005*randn(size(t)); % ---------------------------------------------------
% Cálculo del espectro de potencia:
plot(t,xn); % METODO DE WELCH:
sound(xn,Fs); % Las porciones de datos serán de logitud:
N = length(xn) L=fix(length(xn)/10);
- El periodograma simple sí permite ver los picos pero tiene demasiada fuga espectral.
- El periodograma modificado (con BH4T) reduce la fuga espectral pero se ve el efecto del ruido
- Welch sí reduce el efecto del ruido haciendo más plano el espectro en las zonas que no
existen componentes reales.
AUMENTAMOS EL NIVEL DE RUIDO AL DOBLE: 0.1
Con este nivel de ruido de 0.1, las componentes en 120 y en 125 Hz (de amplitud = 0.001)
casi ya no se distinguen. El ruido limita las capacidades de detección del periodograma
modificado, incluso empleando los métodos de promediado.