Sie sind auf Seite 1von 18

DOMINIO DE LA FRECUENCIA

1. - La SERIE DE FOURIER CONTINUA


- La SERIE DE FOURIER DISCRETA
- La TRANSFORMADA DE FOURIER DISCRETA (DFT)
- La TRANSFORMADA RÁPIDA DE FOURIER (FFT)
- El PERIODOGRAMA (MÓDULO DE LA FFT)
- Conceptos y práctica se RESOLUCIÓN EN FRECUENCIA Y DETECCIÓN.

2. - CONSECUENCIA DE TENER DATOS FINITOS:


TEORÍA DE VENTANAS Y FUGA ESPECTRAL (Resolución en frec y
Detección)
- ALGUNOS TIPOS DE VENTANAS
- El PERIODOGRAMA MODIFICADO (Ejemplos de Resolución en frec y
Detección)

3. - MÉTODOS MEJORADOS DE PROMEDIADO PARA REDUCIR EL EFECTO


DEL RUIDO:
MÉTODOS DE BARTLETT Y WELCH
MÉTODOS MEJORADOS DE PROMEDIADO PARA REDUCIR
EL EFECTO DEL RUIDO:

MÉTODOS DE BARTLETT Y WELCH


TÉCNICAS DE MEJORADO DEL PERIODOGRAMA
Hasta ahora no se ha considerado el efecto del ruido. Este producirá componentes falsas en
el espectro pues no corresponden a componentes reales presentes en la señal. Con el
propósito de enfrentar este problema nacen los métodos basados en promediado de
periodogramas cuya idea fundamental consiste en dividir la señal discreta en varias
porciones y calcular los espectros de cada una de ellas. Las componentes reales que están
presentes en todas las porciones, no sufrirán alteraciones pues se suman n veces y para
promediar se dividen para n, es decir, no se modifica el resultado final. Por el contrario, este
promediado sí reduce las componentes falsas debidas al ruido pues, ya que el ruido es
aleatorio, en cada espectro parcial el aporte del ruido es diferente por lo que al dividir para
n, se reducirán las amplitudes de dichas componentes falsas debida al ruido. Básicamente
tenemos dos métodos de promediado espectral:
MÉTODO DE BARTLETT: PROMEDIADO DE PERIODOGRAMAS SIMPLES (VENTANA
RECTANGULAR)
MÉTODOS DE WELCH: PROMEDIADO DE PERIODOGRAMAS MODIFICADOS (VENTANAS
DIFERENTES A LA RECTANGULAR) TRASLAPADOS.
1) División en varias porciones traslapadas un 50%.
2) Enventanado de cada porción con: Hamming, Hanning, Blackmann, etc.
3) Periodograma modificado de cada porción y su promediado.
Método Bartlett:
Promediado de periodogramas simples (PS)
(para 10 divisiones)
PASO 1: Dividir la señal en porciones de tamaño igual a la décima parte de la longitud de la
señal original. Si la última porción queda con pocas muestras, será necesario hacer un llenado
de ceros.
PASO 2: Seguidamente se calcula el periodograma simple (ventana rectangular) de cada
una de las porciones y luego se calcula el espectro promedio:

DEBER (NO): HACERLO PASO A PASO EN


MATLAB PARA UNA SEÑAL DE DURACIÓN
= 10 SEGUNDOS:
xn = sin(2*pi*50*t) + 2*sin(2*pi*120*t)
+ randn(size(t));

DIVISIONES DEL p%
(dato solicitado al usiario).

Hacerlo con pauses de modo que:


subplot(3,1,1): se muestre en distinto
color la porción seleccionada,
subplot(3,1,2): su espectro
correspondiente en ese mismo color.
subplot(3,1,3): los espectros parciales
superpuestos y el espectro promedio
actual con línea más gruesa. Ir
apreciando cómo cada vez se va
reduciendo la variabilidad debida al
ruido.
Método Welch:
Promediado de periodogramas modificados (PM)
PASO 1: Dividir la señal original en varias porciones traslapadas un 50% y enventanarlas
con: Hamming, Hanning, Blackmann, etc. Si la última porción queda con pocas muestras,
será necesario hacer un llenado de ceros.
PASO 1: Seguidamente se calcula el periodograma modificado de cada una de las
porciones y luego se calcula el espectro promedio:
DEBER (NO): HACERLO PASO A PASO EN
MATLAB PARA UNA SEÑAL DE DURACIÓN
= 10 SEGUNDOS:
xn = sin(2*pi*50*t) + 2*sin(2*pi*120*t)
+ randn(size(t));

DIVISIONES DEL p%
(dato solicitado al usiario)
TRASLAPES DEL 50%.

Hacerlo con pauses de modo que:


subplot(3,1,1): se muestre en distinto
color la porción seleccionada,
subplot(3,1,2): su espectro
correspondiente en ese mismo color.
subplot(3,1,3): los espectros parciales
superpuestos y el espectro promedio
actual con línea más gruesa. Ir
apreciando cómo cada vez se va
reduciendo la variabilidad debida al
ruido.
USO DE LA FUNCIÓN DE PWELCH PARA FACILITAR LOS PASOS:
Esta función hace por nosotros todos los pasos anteriores y solamente hay de decirle los
datos de: tipo y tamaño de ventana, solapamiento, nFFT y Fs.

VENTAJA: pwelch ya nos da calculando el eje de frecuencias, ya no hace falta calcular.


EJEMPLO: ahora ya se añade ruido

% Usando la función pwelch:


Fs = 1000;
t = 0:1/Fs:1;
xn = sin(2*pi*50*t) + 2*sin(2*pi*120*t) +
randn(size(t));

% Segmentos de 256 puntos:


window = hanning(256);
% numero de muestras de traslape:
noverlap = 128;
nfft = 256; % length of FFT

[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)

clc, close all, clear all;

% SEÑAL ORIGINAL: SUMA DE DOS TONOS CON RUIDO


duracion = 1;
Fmax = 120; % frequencia de muestreo
Fs= 10*Fmax; % frecuencia maxima de la señal
t = 0:1/Fs:duracion;
xn = sin(2*pi*50*t) + sin(2*pi*120*t) + randn(size(t));

%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:

% 1. MÉTODO PERIODOGRAMA SIMPLE:


N = length(xn);
nFFT= 2; % El numero de muestras de la DTFT que queremos calcular
while nFFT<N
nFFT=nFFT*2;
end

Y1=fft(xn,nFFT); % La transformada de Fourier: es vector complejo


P_simple=abs(Y1); % El periodograma es el modulo del vector complejo
f_periodograma=linspace(0,Fs,nFFT);

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

Generar 10 tonos con las características indicadas a continuación pero añadido


ruido AWGN. Analizar esta señal empleando el PERIODOGRAMA MODIFICADO
(solo con Blackman Harris 4T) y WELCH y observar las diferencias que se tiene al
emplear un distinto tipo de ventana.

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);

%PERIODOGRAMA SIMPLE % Tiempo de ventana de longitud L:


nFFT=2; ventana= blackmanharris (L);
while nFFT<N
nFFT = nFFT*2; % Traslape del 50%:
end % numero de muestras de traslape que debe ser entero:
noverlap = fix(length(ventana))/2
% PERIODOGRAMA SIMPLE y MODIFICADO: nFFT_welch=2;
% 1. GENERACION DE VENTANAS: while nFFT_welch < L
window_1=rectwin(length(xn)); nFFT_welch = nFFT_welch*2;
window_2=blackmanharris(length(xn)); end

% 2. Enventanado de la senial temporal: [P_welch,f_welch] = pwelch(xn,ventana,noverlap,nFFT_welch,Fs);


y1_enventanada=xn.*window_1'; subplot(2,1,2)
y2_enventanada=xn.*window_2'; plot(f_welch,10*log10(P_welch),'r');
xlabel('f(Hz)')
% 3. Periodograma modificado: ylabel('P( dB )')
Pxx1=abs(fft(y1_enventanada,nFFT)); title('WELCH (con BLACKMAN HARRIS DE 4T)')
Pxx2=abs(fft(y2_enventanada,nFFT)); grid on
RESULTADO (NIVEL DE RUIDO: 0.005)

- 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

El límite de la amplitud del ruido debe ser

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.

Das könnte Ihnen auch gefallen