tutorial estimacion espectral-5308

Upload: david-vergara

Post on 28-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    1/89

    ESTIMACIN ESPECTRAL DE SEALES BIOMDICASMTODOS CLSICOS (FFT)Y PARAMTRICOS:

    APLICACIONES PRCTICAS CON MATLAB.

    TUTORIAL

    Pedro Gomis

    2

    1

    /2

    2

    0

    /2

    2

    2

    2

    2

    1

    )()(

    )()(

    =

    =

    = +

    ==na

    k

    fkfj

    k

    nb

    k

    fkfj

    k

    esARMA

    eq

    eARMA

    s

    s

    j

    ea

    eb

    TfPqA

    qBqP

    0 100 200 300 400 500 600 700 800-2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    t (ms)

    Ampl(mV)

    ECG lead II

    0 50 100 150 200 250 300 350 400 450 500-120

    -100

    -80

    -60

    -40

    -20

    0

    frecuencia (Hz)

    PSD(dbm/Hz)

    PSD de x2 A R - Burg (na=12)

    0 5 10 15 20 25 30 35 40-10.8

    -10.6

    -10.4

    -10.2

    -10

    -9.8

    -9.6

    -9.4

    -9.2

    -9

    -8.8

    ordene na

    Funcion de criterio

    AIC

    MDL

    CIC

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    2/89

    ii

    Estimacin Espectral de Seales BiomdicasMtodos Clsicos (FFT)y Paramtricos:Aplicaciones Prcticas con Matlab.Tutorial

    Copyright 2009 Pedro Gomis

    Versin: Febrero, 2010

    ISBN: 978-84-695-3841-8

    Impreso en Barcelona, Espaa

    ltima versin en:http://dl.dropbox.com/u/12996917/Tutorial_Estimacion_Espectral.pdf

    http://dl.dropbox.com/u/12996917/Tutorial_Estimacion_Espectral.pdfhttp://dl.dropbox.com/u/12996917/Tutorial_Estimacion_Espectral.pdfhttp://dl.dropbox.com/u/12996917/Tutorial_Estimacion_Espectral.pdf
  • 7/25/2019 Tutorial Estimacion Espectral-5308

    3/89

    iii

    TABLA DE CONTENIDOS

    Objetivos................................................................................................................................. 11. Seales en tiempo continuo, de valores continuos (analgica)...................................... 1

    1.1) Anlisis de Fourier de la seal en tiempo continuo .................................................... 21.2) Potencia y energa en el dominio de Fourier............................................................... 2

    2. Seales en tiempo discreto de valores discretos ............................................................ 42.1) Potencia y Energa en el dominio del tiempo.............................................................. 42.2) Anlisis de Fourier de la seal en tiempo discreto...................................................... 52.3) Potencia y Energa en el dominio de Fourier .............................................................. 8

    3. Anlisis espectral con tnicas no paramtricas (Fourier) ............................................ 103.1) Introduccin .............................................................................................................. 103.2) Densidad de Potencia Espectral (PSD) con el periodograma estndar. .................... 123.3) Periodograma modificado (seal enventanada) ........................................................ 143.4) Mtodo de Welch (periodograma enventanado, segmentado y promediado)........... 16

    4. Anlisis Espectral con Mtodos Paramtricos ............................................................. 174.1) Modelado de seales ................................................................................................. 17

    4.1.1) Estimacin de Modelos AR................................................................................ 194.1.2) Estimacin de Modelos ARMA ......................................................................... 20

    4.2) Bsqueda del mejor orden de modelo ................................................................... 244.2.1) Bsqueda del mejor modelo con estructura AR ............................................. 24

    - Uso de MATLAB para hallar el mejor orden de modelo AR............................. 274.2.2) Bsqueda del mejor modelo ARMA .............................................................. 29

    - Uso de MATLAB para hallar el mejor orden de modelo ARMA ...................... 304.3) Densidad de Potencia Espectral (PSD) con modelado paramtrico.......................... 324.3.1) Densidad de Potencia Espectral con modelos AR ............................................. 334.3.2) Densidad de Potencia Espectral con modelos ARMA....................................... 37

    5. Estimacin Espectral. Aplicaciones a seales biomdicas .......................................... 445.1) Energa espectral del complejo QRS de un ECG...................................................... 44

    5.1.1) PSD con tcnicas no-paramtricas ..................................................................... 455.1.2) PSD con mtodos paramtricos.......................................................................... 48

    5.1.2.1) Estructuras AR ............................................................................................ 485.1.2.2) Estructuras ARMA...................................................................................... 51

    5.2) Seal de variabilidad del ritmo cardiaco (HRV) simulada. ...................................... 57

    5.2.1) PSD y potencia promedio con tcnicas no paramtricas.................................... 585.2.2) PSD y potencia promedio con mtodos paramtricos........................................ 61a) Estructuras AR...................................................................................................... 61

    b) Estructuras ARMA............................................................................................... 645.3) Seal de variabilidad del ritmo cardiaco (HRV) real remuestreada a 3 Hz. ............. 71

    5.3.1) PSD y potencia promedio con tcnicas no paramtricas.................................... 715.2.2) PSD y potencia promedio con mtodos paramtricos............................................ 76

    a) Estructuras AR...................................................................................................... 76b) Estructuras ARMA............................................................................................... 79

    Referencias ........................................................................................................................... 84

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    4/89

    iv

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    5/89

    Objetivos.

    1

    OBJETIVOS.

    Analizar y caracterizar seales biomdicas discretas de duracin finita a travs de suespectro estimado de frecuencias, considerando la energa o potencia de la seal distribuida atravs de su espectro de frecuencias.

    1. SEALES EN TIEMPO CONTINUO,DE VALORES CONTINUOS (ANALGICA)

    Las seales de origen fisiolgico son, en su gran mayora, de naturaleza analgica, es decir,estn definidas en todo momento de tiempo y su valor de amplitud es continuo en su rangodinmico. Las seales analgicas pueden ser peridicas o no-peridicas, que incluyen a laslimitadas entre dos tiempos determinados. En principio, utilizaremos una seal periodicasinusoidal pura de amplitud A, como el voltaje a travs de un resistor R de valor 1 .

    xa(t) = Asin( t) = A sin(2F0t)[unidades :Volts],

    donde F0=1/Ten ciclos/s [Hz] y Tes el periodo de la sinusoide [s].Tomemos, por ejemplo, la sinusoide con A= 2 y F0 = 40 (T=0.025), graficamos un par de

    ciclos de la sealxa(t)

    0 0.01 0.02 0.03 0.04 0.05 0.06-2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

    t (segundos)

    Amp

    litud(V)

    xa = 2sen(2 pi 40 t)

    La energa de esta seal continua es

    = dttxEa

    2

    )( [Volts2 s = Watts s=Joules] (1.1)

    La potencia instantnea serp(t)=xa2(t)/Rop(t)=xa

    2(t)(normalizado respecto al Resistor) yla energa instantnea en un diferencial de tiempo ser xa

    2(t)dt. En el estudio de seales lapotencia instantnea no es tan til como la idea de potencia promedio, media o average. Lapotencia media sobre un periodo Tes

    =T

    am dttxT

    P0

    2)(

    1 (1.2)

    Para la seal de nuestro ejemplo, tenemos que la potencia media es

    22

    )402sin(025.01

    2025.0

    0

    2

    === AdttAPm [Volts2] [Watts]

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    6/89

    Sealesen tiempo continuo, de valores continuos (analgica)

    2

    Si se dispone del toolbox de matemtica simblica en MATLAB

    (Symbolic Math), laintegral de (1.2) se puede resolver:

    >> syms x t A Pm T>> x=A*si n( 2*pi / T*t )

    x = A*si n( 2*pi / T*t )

    >> Pm=1/ T*i nt ( x 2, 0, T)Pm = 1/ 2*A 2

    La energa de un ciclo de seal ser E=A2T/2 = 0.05 Wattssegundo, de dos ciclos ser E =0.1 Ws. En una hora de seal habr 144000 ciclos y E= 7200 Ws = 2 Whora.

    En el caso de seales no-periodicas (que pudieran incluir una seal periodica limitada en elun tiempo Tc), tenemos que la potencia media es

    dttxTc

    PTc

    aTc

    m =2

    )(1

    lim (1.3)

    La raiz-media-cuadrtica (root-mean-square) o valor RMS se define como el valor de unaseal (voltaje, en nuestro ejemplo) constante que producira la misma potencia media Pmde lasealxa(t). Es decir:

    mR

    RMSRMS PxRx == =122 / (1.4)

    por lo tanto

    dttxT

    xT

    aRMS =2

    )(1

    (1.5)

    1.1) Anlisis de Fourier de la seal en tiempo continuo

    La transformada de Fourier es la transformacin ms comn de una seal dependiente deltiempo para ser estudiada en el dominio de las frecuencias, debido a que las bases detransformacin son funciones senos y cosenos, que caracterizan a la seal en el dominio de lafrecuencia.

    Si la seal xa(t)es peridica, entonces podemos representarla en trminos de sumatorias desenos y cosenos armnicos (valores discretos en mltiplos enteros de la fundamental), que serelacionan con sus contenidos de frecuencia a travs de series de Fourier, como

    =

    =k

    tkFjka ectx

    02)( , donde

    =

    T

    tkFjak dtetx

    Tc 0

    2)(1 (1.6)

    Sin embargo si la seal continua es de duracin finita, estamos en el caso de una seal no-periodica. En estos casos de seales de energa finita, su descomposicin espectral se realizacon la transformada de Fourier, que est definida como:

    = dtetxFX Ftjaa2)()( [Volts s] (1.7)

    1.2) Potencia y energa en el dominio de Fourier

    La energa de la seal se puede expresar en el dominio de la frecuencia como

    The Mathworks

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    7/89

    Sealesen tiempo continuo, de valores continuos (analgica)

    3

    ===

    dXdFFXdttxE aaa222

    )(2

    1)()( (1.8)

    A la igualdad de la ecuacin anterior se conoce como el Teorema de Parseval. El

    integrando de E, 2)(FXa

    , es la distribucin de la energa de la seal en funcin de la

    frecuencia, Sxx(F), llamada densidad de energa espectralde la sealxa(t).

    2)(FXS axx = [Volts2s2= Volts2s/Hz= Wattss/Hz=Joules/Hz] (1.9)

    La densidad de potencia spectral(o spectrum), PSD, es la distribucin de la potencia de laseal en funcin de la frecuencia F.

    Cuando la seal continua es no-periodica, como sera el caso de nuestro ejemplo si seacotase la seal sinusoidal en el tiempo, digamos a 10 ciclos, la seal estara definida en un

    intervaloTcdesde 0 t 0.25, entonces la transformada de esta seal truncada sera

    =

    Tc

    Ftj

    aTcaTc dtetxFX0

    2)()( (1.10)

    donde XaTces la transformada de Fourier de xa(t)sobre el intervalo de tiempo Tc, xaTc(t), y laenerga finita de la seal es

    = dFFXE aTcTc

    2)( (1.11)

    Si Tc , entonces en el lmite )()( txtx aaTc . La potencia media de la seal se puede

    expresar como [Carl68]

    == dFFX

    TcTcEP aTc

    Tc

    Tc

    Tcm

    2)(1limlim (1.12)

    La densidad espectral de potencia (PSD), que denotaremos Pxx, se halla de [Carl68]

    = mxx PdFFP )( (1.13)

    Y si comparamos la ecuacin (1.13) con (1.12), intercambiando el orden del lmite y la integral,

    tenemos

    =

    = dFFPdFFX

    Tc

    P xxaTcTc

    m )()(1

    lim2

    , por lo que la PSD de la seal no

    periodica se puede expresar como

    2)(

    1lim FX

    TcP aTc

    Tcxx

    = [Volts2/Hz = Watts/Hz] (1.14)

    Aunque, en general, el intercambio del lmite y la integral que nos condujo a la expresin (1.14)no es estrictamente correcto, en un rango de frecuencias finitas, digamosf1yf2, s lo es; es decir,

    =2

    2

    2

    1

    2)(

    1lim)(

    f

    f

    f

    f aTcTcxx

    dFFXTc

    dFFP (1.15)

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    8/89

    Sealesen tiempo discreto de valores discretos

    4

    2. SEALES EN TIEMPO DISCRETO DE VALORES DISCRETOS

    La mayora de las seales de origen fisiolgico son de naturaleza analgica, en tiempocontinuo, aunque para su anlisis por computador han de ser digitalizadas y convertidas aseales en tiempo discreto de valores cuantizados o discretos. Si queremos digitalizar la seal

    analgica xa(t) para ser procesada y analizada en computador debemos tomar muestrasrepresentativas de la seal continua a travs del muestreo de la seal. Muestrear una sealcontinua (analgica) consiste en reemplazar la seal por sus valores en un conjunto de puntosdiscretos. Comnmente, estos instantes de muestreo se distribuyen en intervalos regulares detiempo, llamado muestreo peridico.Esto se describe por

    x(n) = xa(nTs), -< n < (2.1)

    donde x(n) es la seal en tiempo discreto obtenida tomando muestras de la seal analgicaxa(t) cada Tssegundos. La sealxa(t)muestreada,xa(nTs), se denota tambinxa

    *(t). El intervalode tiempo Ts entre muestras sucesivas se llamaperodo de muestro o intervalo de muestreoy suinverso: 1/Ts = fs se denomina frecuencia de muestreo (en muestras por segundo o Hz). Laconversin analgico-digital (A/D) de la sealxa(t)produce la secuencia, seal digital o serie detiempo,x(n), que puede considerarse como la seal de salida de un muestreador ideal.De estaforma,x(n) se puede expresar en funcin de una suma de impulsos escalados,como el productode la sealxa(t)por un tren de impulsos unitario

    p(t)=+(0)+ (t-Ts)+(t-2Ts)+...=

    =

    n

    snTt )( (2.2)

    de forma: )2()2()()()()0()()( ++++== ssassaasa TtTxTtTxtxnTxnx (2.3)

    Modulador

    de

    Impulsos

    xa(t) x(n)

    fs=1/T

    xa(t)

    (t)

    x(n)

    Representacin de un Muestreador Ideal

    2.1) Potencia y Energa en el dominio del tiempo

    Como ejemplo de seal discreta utilizaremos la seal analgica xa(t)=A sin(2F0t), con

    F0= 40, A =2, muestreada afs= 1000 (Ts= 0.001). En MATLAB:>>Fo=40;>>To=1/ Fo ;>>f s=1000;>>Ts=1/ f s

    Tomemos un ciclo de la seal muestreada.>>t = Ts: Ts: To ;>>x=2*si n( 2*pi *Fo*t ) ;

    La Energa en un ciclo de seal, aproximando la integral de (1.1), se puede hallar como>>Ener =t r apz( t , x. 2)

    Ener = 0.0499 [W-segundo]

    La energa, en caso de muestreo normalizado = 1, es:

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    9/89

    Sealesen tiempo discreto de valores discretos

    5

    =

    =N

    n

    nxE

    1

    2)( (2.4)

    Sin embargo, tomando en cuenta que las muestras estn espaciadas en Ts=0.001, podemoscalcular la energa como

    ==

    ==N

    ns

    N

    n

    s nxf

    nxTE

    1

    2

    1

    2)(1)( [W-s] (2.5)

    >> Ener =Ts*sum( x. 2) % Ener = 0.0500 [W-s].La potencia media de la seal discreta puede hallarse, a partir de (1.2) y (1.3), como:

    =

    =N

    n

    m nxN

    P1

    2)(

    1 (seal periodica de periodo N) (2.6)

    = +=N

    NnN

    m nxNP

    2

    )(12

    1

    lim (seal no-periodica de duracin 2N+1) (2.7)

    Si se considera que la duracin Nes mucho mayor que el periodo de la componente mayor defrecuencia de la seal no-periodica a analizar, podemos utilzar la ecuacin (2.6), donde N esigual al nmero de muestras de la sealx(n).

    El valor RMS dex(n)se halla de

    =

    =N

    n

    RMS nxN

    x1

    2)(

    1 (2.8)

    Para hallar la potencia media de la seal considerando 10 ciclos de la sinusoide:>>t = 0: Ts: 10*To ;>>x=2*si n( 2*pi *Fo*t ) ;>> Ener=Ts*sum( x. 2) ; % Ener = 0. 5000 [ W- s]>> Ener=t r apz( t , x. 2) ; % Ener = 0. 5000 [ W- s]>> Pm=t r apz( t , x. 2) / ( t ( end) - t ( 1) ) % t r apz t oma l a i nt egr al de x por el

    % mt odo t r apezoi dal , r espect o a t

    P = 2 [Watts]>> Pm=1/ l engt h( x) *sum( x. 2) % ut i l i zando l a ecuaci n ( 2. 6)Pm = 1.992 [W]

    Si tomamos 3 segundos de seal (120 ciclos):>> t =0: Ts: 3;>> x=2*si n( 2*pi *Fo*t ) ;>> N=l engt h( x) ; % Nmero de muest r as de l a seal ( N=3001)>> Ener=Ts*sum( x. 2) %

    Ener = 6.0000 [W-s]La potencia media es

    >> Pm=1/ l engt h( x) *sum( x. 2)Pm = 1.9993

    Si t=Ts:Ts:3, entonces Pm = 2.000 [W]

    2.2) Anlisis de Fourier de la seal en tiempo discreto

    Latransformada de Fourier de una seal en tiempo discreto(DTFT),x(n)es

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    10/89

    Sealesen tiempo discreto de valores discretos

    6

    =

    =n

    njjenxeX

    )()( (2.9)

    Para seales discretas, x(n), de duracin finita: 0 nN-1 (Nmuestras), como suelen serlas seales biomdicas adquiridas en la prctica, se calculan N valores de la transformada de

    Fourier entre los puntos 0 kN 1. Estos coeficientes se hallan muestreando )( jeX sobre el

    eje (normalizado), entre 0 2 (muestreo en el dominio de la frecuencia) para valores = 2k/N, 0 kN 1. Se halla as latransformada discreta de Fourier(DFT) de la sealx(n)

    10,)()()(1

    0

    /2

    /2==

    =

    =NkenxeXkX

    N

    n

    Nknj

    Nk

    j

    (2.10)

    En el caso de la seal analgica xa(t), muestreada y expresada por el tren de impulsos,

    tenemos que su transformada de Fourier es (por la propiedad de traslacin en el tiempo)

    =

    =

    ===

    ++++==

    n

    nTj

    n

    nTja

    j

    Tjsa

    Tjsaa

    j

    ss

    ss

    enxenTxFXeX

    eTxeTxxFXeX

    *

    2*

    )()()()(

    )2()()0()()(

    (2.11)

    dondex(n) xa(nT)yX*(F)denota el espectro de la sealxa(t)muestreada,xa

    *(t)=xa(nTs).Si usamos la representacin en serie de Fourier de un tren de impulsos unitarios

    =

    =

    ==

    k

    Tktj

    sn

    s se

    T

    nTttp/21

    )()( (2.12)

    la seal muestrada se puede expresar

    )(1

    )( /2 txeT

    nTx an

    Tktj

    ssa

    s

    =

    =

    (2.13)

    As, el espectro de esta representacin dexa(nT)es

    =

    =

    k

    ss

    j kfFXT

    eX )(1

    )( (2.14)

    El espectro de la sealxa(nT)alrededor de 0, se repite indefinidamente alrededor de kvecesla frecuencia de muestreofs, escalado porfs(1/Ts).

    La DFT de la seal x(n)1

    ,)()(1

    /)1)(1(2=

    =N

    n

    NnkjenxkX

    (ecuacin (2.10)) se expresar, de acuerdo con los ndices enMATLAB, como

    para Nk1 (2.15)

    >>X=f f t ( x) ; % equi val ent e aX=f f t ( x, N) ;

    1El ndice de la primera muestra de la sealx(n)es 0 y la ltima muestra es N-1 para la frmula de Fourier.En Matlab, la primera muestra tiene ndice 1 y la ltima N

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    11/89

    Sealesen tiempo discreto de valores discretos

    7

    El clculo de la DFT, que se realiza en MATLAB con la FFT, es ms rpido si se hace conun nmero de puntos,Nfft, potencia de 2. Si utilizamos un nmero de coeficientesNfft=4096, sehallara: X=fft(x,Nfft)=fft(x,4096); En este caso el vector Xes de 4096elementos. Sigamos esteejemplo con las 3001 muestras de x y X=fft(x). Utilizaremos Nfft para denotar el nmero de

    puntos de clculo de la fftyNel tamao del vectorx(n).Como la sealx(de 3 s de duracin) fue muestreada a fs= 1000 Hz, entonces los ndicesque representan los 3001 valores de Fourier kde X(k)deben escalarse para llevarlos a escala defrecuencia,f, comof=k fs/Nfft. AsX(k) X(f). Trabajemos conNfft = N;

    >> f =( 0: N- 1) *f s/ N;>> pl ot ( f , abs( X) )

    0 200 400 600 800 10000

    500

    1000

    1500

    2000

    2500

    3000

    Amp

    litud

    frecuencia (Hz)

    Espectro de amplitud de X(jw)

    Se puede observar que la amplitud est escalada por fs=1000. Es decir, si dividimos abs(X)

    entre fs, de acuerdo a la ecuacin (2.14), obtenemos los valores de amplitud del espectroequivalentes a la seal analgica muestreada. Es conveniente, adems, expresar el espectro defrecuencias de esta seal (originalmente analgica) en el ancho de banda de 0 a la mitad de la

    frecuencia de muestreo, es decir, hasta lafrecuencia de Nyquist.>>i f r em( N, 2) , % se eval ua l a pari dad de N>> sel ect = 1: ( N+1) / 2; % si N es i mpar>>el se>> sel ect = 1: N/ 2+1; % si N es par>> end>>% sel ect en est e caso es de 1501 el ement os>>pl ot ( f ( sel ect) , Ts*2*abs( X( sel ect) ) )

    0 50 100 150 200 250 300 350 400 450 5000

    1

    2

    3

    4

    5

    6

    frecuencia (Hz)

    Amplitud

    Espectro de frecuencias X(f) de x

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    12/89

    Sealesen tiempo discreto de valores discretos

    8

    2.3) Potencia y Energa en el dominio de Fourier

    La energa total de la seal, en el dominio de Fourier est dada por (muestreo normalizado)

    =

    =1

    0

    2)(

    1 N

    k

    fXN

    E (2.16)

    Tomando en cuenta que las muestras estn espaciadas en Ts (en el ejemplo Ts=0.001),podemos calcular la energa como (tomaremos los ndices como en MATLAB 1 n N, enlugar de 0 k N-1)

    ==

    ==N

    ns

    N

    n

    s fXfN

    fXN

    TE

    1

    2

    1

    2)(

    1)( [W-s] (2.17)

    >> Ener=( Ts/ N) *sum( abs( X) . 2) % equi val ent e a Ener =1/ ( f s*N) *sum( abs( X) . 2)Ener = 6.0000 [W-s]

    Por lo cual, la Energa puede ser hallada de acuerdo al teorema de Parseval de conservacinde la energa en ambos dominios, considerando la frecuencia de muestreo, como:

    ==

    ==N

    ns

    N

    ns

    fXNf

    nxf

    E1

    2

    1

    2)(

    1)(

    1 (2.18)

    La densidad de potencia espectral(PSD)2

    , Pxx, est dada, por la expresin

    2)(

    1)( fX

    NffP

    s

    xx = [Watt/Hz] (2.19)

    Hallemos la PSD de la seal xa(t)de 3 s, discretizada, con el espectro completo (los doslados simtricos del espectro),

    >> Pxx=( abs( X) . 2) / ( N*f s) ;>> pl ot ( f , Pxx)

    0 200 400 600 800 10000

    0.5

    1

    1.5

    2

    2.5

    3

    PSD(Watt/

    Hz)

    frecuencia (Hz)

    PSD de x(n) 'ambos lados del espectro'

    2del inglspower spectral density

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    13/89

    Sealesen tiempo discreto de valores discretos

    9

    La energa total de la seal coincide con la hallada anteriormente tanto en el tiempo comoen la frecuencia. Para hallar el espectro de un solo lado, representando la densidad de potenciaespectral desde 0 hasta la frecuencia de Nyquist o mitad de la frecuencia de muestreo:

    >> Pxx=Pxx' ; % vect or col umna>> Pxx_unl ado = Pxx( sel ect ) ; % se toman solo la mitad de las frecuencias o sea hasta fs/2>> Pxx_u = [ Pxx_unl ado(1) ; 2*Pxx_unl ado(2: end- 1) ; Pxx_unl ado(end) ] ;>> f _u = f ( sel ect ) ;>>pl ot ( f _u, Pxx_u) ,

    Se presenta tambin, a la derecha, la PSD en dB/Hz,>>pl ot ( f _u, 10*l og10( Pxx_u) ) , gr i d>> axi s( [ 0 500 - 80 20] )

    0 100 200 300 400 5000

    1

    2

    3

    4

    5

    6

    PSD(Watt/Hz)

    frecuencia (Hz)

    La potencia media de esta seal se puede aproximar, utilzando las ecuaciones (2.6), (2.7),

    (2.16) y (2.19), a partir del valor Pxx como:

    ==

    ==N

    k

    N

    n

    m kPxxN

    fsfX

    NP

    11

    2

    2)()(

    1 (2.19)

    Este clculo sera equivalente al realizado por la ecuacin (1.13):

    == 22

    2

    121

    2

    yentre)(

    1lim)(

    f

    f

    f

    f aTcTcxxffm

    dFFXTc

    dFFPP (2.20)

    cuando el tiempo de duracin de la seal truncada es mucho mayor que los periodos de loscomponentes de mayor frecuencia. Probemos las dos ecuaciones para hallar la potencia mediade este segmento de seal sinusoidal

    >> Pxx=( abs( X) . 2) / ( N*f s) ;>> Pm=( f s/ N) *sum( Pxx) % igual a Pm=(fs/N)*sum(Pxx_u)Pm = 1.9993 [Watts]

    >> Pm=t r apz( f _u, Pxx_u) % En este caso las frecuencias se integran entref1 = 0Hz yf2 = fs/2 HzPm = 1.9993 [W]

    El valor de Pm es el mismo que el obtenido en el dominio del tiempo. Si se utilizat=Ts:Ts:3, entonces Pm = 2.000 W. El valor medio terico de la potencia para la seal continua

    es A2

    /2 = 2 W.

    0 100 200 300 400 500-80

    -70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    10

    20

    frecuencia (Hz)

    PSD(dB/Hz)

    PSD en dB/Hz

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    14/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    10

    3. ANLISIS ESPECTRAL CON TCNICAS NO PARAMTRICAS (FOURIER)

    3.1) Introduccin

    Las tcnicas actuales de anlisis espectral tienen su origen en la transformada de Fourier de

    seales en tiempo continuo. Remontndonos a los primeros trabajos de anlisis espectral,podemos partir de Isaac Newton, que introdujo el trmino spectrumpara describir las bandas demltiples colores en que se descompone la luz al pasar por un prisma [Mar87] 3

    . La propiapalabra spectrumo espectrose origina del latn imagen o fantasma. Bernoulli, Euler y Fourierhicieron grandes aportaciones al estudio de ecuaciones de ondas aplicadas al anlisis espectralde vibracin de cuerdas musicales y teora analtica del calor, introduciendo los trminos deanlisis armnico. A finales del siglo XIX y principios del XX, Schuster introdujo el trmino

    periodograma para aplicar el estudio del anlisis armnico a varios campos, entre ellos laperiodicidad obtenida en el estudio de series temporales de manchas solares.

    3.2) Resolucin espectral y dispersin espectral (spectral lekeage)

    Los mtodos de estimacin espectral con la transformada de Fourier se basan en secuenciasinfinitas. Esto crea algunos problemas cuando tomamos secuencias finitas o segmentos de seal

    para analizar. Por un lado, un intervalo finito de observacin T(segmento T= N*Ts) limita laresolucin espectral,

    nf , a un valor fundamental Tfn /1= . Por ejemplo, en un segmento

    corto de seal de 120 ms de duracin, la resolucin espectral fundamental es de 8,33 Hz. Conlas tcnicas de Fourier esta resolucin no puede mejorarse incrementando la frecuencia demuestreo, ni tampoco agregando ceros para aumentar el tamao del segmento. Por otro lado,este truncamiento en el dominio del tiempo, equivalente a multiplicar la secuencia por unaventana rectangular, produce discontinuidades en los bordes del segmento, empeorando la

    resolucin espectral debido al efecto de dispersin espectral4

    nf

    y distorsionando el espectro aestimar. Por las propiedades de la transformada de Fourier se tiene que la multiplicacin de dosfunciones en el dominio del tiempo es equivalente a la convolucin en el dominio frecuencial delos espectros de esas funciones. Por ejemplo, una sinusoide continua pura de duracin infinita,de frecuenciaf0, tendr como espectro un impulso enf0. En la prctica, si se toma un segmentode la sinusoide con una ventana dada, el espectro obtenido es el de la ventana, centrado en f0.Como resultado de esto, el espectro del segmento a analizar es afectado por el tipo de ventanaque se use en la seleccin de la porcin de la seal biomdica a analizar. El fenmeno deesparcimiento del impulso, que representa al espectro de la sinusoide pura, a la forma delespectro de la ventana (de tipo lbulo principal con lbulos laterales) se denomina dispersinespectrale implica que la resolucin espectral, sea 1/T. Esta relacin se llama tambin

    compromiso del producto tiempo ancho de banda (resolucin espectral):

    1 Tfn (3.1)

    La dispersin espectral se puede reducir, para mejorar la distorsin, con el uso de ventanasde tipo cosenoidales que suavizan los extremos del segmento. Una definicin prctica deresolucin espectral, con el uso de ventanas, es el ancho de banda efectivo del espectro de laventana [Har78], considerado como el intervalo de frecuencia que contiene la energa

    3

    Un anlisis mucho ms completo, con una amplia introduccin histrica, de estimacin espectral se puedeobtener en el libro de S.L. Marple Jr. [Mar87]4En ingls spectral leakage

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    15/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    11

    significativa del espectro. La resolucin espectral efectiva,ef , se puede expresar como

    TKf we /= (3.2)

    donde Kw es una constante que refleja el incremento del ancho de banda para cada tipo deventana. Se suelen usar varios criterios para definir la energa significativa: (i) el 95 % de laenerga total (el ms conservador); (ii)la energa del espectro cuando ste cae 6 dB (sugerido

    por Harris, 1978); (iii) la energa del espectro cuando ste cae 3 dB (el menos conservador).Para ventanas de tipo cosenoidales, tpicamente usadas en seales biomdicas, como las deBlackman-Harris, Hamming, Hanning o Keisser-Bessel, Kwest en el rango de 3,6 a 4 (usandoel criterio ms conservador). Esto implica que para un segmento de 120 ms la resolucinespectral efectiva es alrededor de 32 Hz. Ventanas como la de Blackman-Harris de 4 trminos

    producen una reducida dispersin espectral, pues presenta lbulos laterales muy atenuados. Enesta ventana Kw= 2,44, utilizando el criterio de -6 dB, lo que produce una resolucin espectralde 20 Hz para el segmento de 120 ms.

    La estimacin de la potencia espectral es realizada a partir de la seal misma. Este anlisisse realizar utilizando el toolbox signal processing de MATLAB. A manera de ejemploutilizaremos una primera seal formada por dos sinusoides de frecuencias cercanas (80 y 100Hz), de 2 segundos de duracin, muestreadas a 700 muestras por segundo con ruido aadido.Posteriormente utilizaremos el QRS de un electrocardiograma (ECG) adquirido a fs = 1000muestras por segundo y seales RR de variabilidad de ritmo cardiaco.

    Seal 1 : 1,5 sen(280 t) + sen(2100 t) + ruido. En MATLAB:

    >>f s=700 ;>>t = ( 0 : 1/ f s : 2) ;>>x1 = 1. 5*si n( 2*pi *80*t ) + si n( 2*pi *100*t ) ;>>r ui do= 0. 1*r and( si ze( t ) ) ;>>x1n = x1 + r ui do ;>>N=l engt h( x1n) % N = 1401

    0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4-3

    -2

    -1

    0

    1

    2

    3Segmento de x1n(t)

    Ampl(V

    )

    t (s)

    La energa de esta seal se puede calcular en ambos dominios

    >> Ener=t r apz( t , x1n. 2) % Area: Integral sobre el segmento de seal>> Ener =sum( x1n. 2) / f s % Como seal discreta>> X1n=f f t ( x1n) ;

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    16/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    12

    >> Ener =1/ ( f s*N) *sum( abs( X1n) . 2) % En el dominio de FourierEner = 3. 2557 [ W- s]

    >> f =( 0: N- 1) *f s/ N;>> pl ot ( f , abs( X1n) / f s) %Amplitud escalada equivalente al espectro de la seal analgica

    0 100 200 300 400 500 600 7000

    0.5

    1

    1.5

    frecuencia (Hz)

    |X1n(f)|

    La grfica muestra la magnitud de la transformada de Fourier, escalada, considerando lafrecuencia en que fue muestreada la seal original.

    3.3) Densidad de Potencia Espectral (PSD) con el periodograma estndar.

    El periodograma estndar de una seal discreta est dado por la PSD hallada en la seccin

    anterior,2

    )(1

    )( fXNf

    fPs

    xx = , aplicado a un segmento de seal con una ventana rectangular.

    De la misma forma como fue hallado previamente la PSD con una sinusoide pura, elperiodograma de la seal 1 puede encontrarse a travs de:

    >> X1n=f f t ( x1n) ;>> Pxx=( abs( X1n) . 2) / ( N*f s) ;>> f =( 0: N- 1) *f s/ N;

    0 100 200 300 400 500 600 7000

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    frecuencia (Hz)

    PSD(Watt/Hz)

    PSD de x1n (ambos lados del espectro)

    La PSD desde 0 hasta la mitad de la frecuencia de muestreo:

    >>i f r em( N, 2) , % se evalua la paridad de N>> sel ect = 1: ( N+1) / 2; % si N es i mpar>>el se

    >> sel ect = 1: N/ 2+1; % si N es par>> end

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    17/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    13

    >> % select en este caso es de 701 elementos>> Pxx_unl ado = Pxx(sel ect ) ; % se toman solo la mitad de las frecuencias o sea hasta fs/2>> Pxx_u = [ Pxx_unl ado(1) ; 2*Pxx_unl ado(2: end- 1) ; Pxx_unl ado(end) ] ;>> pl ot ( f ( sel ect) , Pxx_u) , gr i d>> pl ot ( f ( sel ect ) , 10*l og10( Pxx_u) ) , gr i d % PSD en db/ Hz

    0 50 100 150 200 250 300 3500

    0.5

    1

    1.5

    2

    2.5

    PSD(Watt/Hz)

    frecuencia (Hz)

    PSD de x1n

    0 50 100 150 200 250 300 350-80

    -70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    10

    frecuencia (Hz)

    PSD(dB/Hz)

    PSD de x1n (dB/Hz)

    En MATLAB podemos obtener la misma grfica de la PSD en dB o los valores de Pxxyfcon

    >> per i odogr am( x1n, [ ] , N, f s) ; % Se obtiene la grfica directamente>> [ Pxx, f ] =per i odogr am( x1n, [ ] , N, f s) ;>> pl ot ( f , 10*l og10( Pxx) ) , gr i d

    La energa total de la seal se halla tambin de Pxx, como

    ==N

    kkPxxE

    1)( (3.3)

    >> Ener =sum( Pxx)Ener = 3. 2557 [ W- s] [ V2- s ]

    La potencia media Pm de la seal sera:>> Pm=f s*sum( Pxx_u) / N

    Pm = 1. 6267

    La potencia media de cada componente sinusoidal es A2/2. Para la componente de 80 Hz, conamplitud A=1,5 V, Pm1= 1,125 W, y para la componente de 100 Hz, de Amplitud 1 V, Pm2= 0,5W. La suma es Pm = Pm1 + Pm2= 1,625 W.

    Si quisiramos hallar la energa de la banda de frecuencia de 75 a 85 Hz, utilizamos:

    >> i nd75_85=f i nd( ( f >= 75) & ( f > Ener 75_85=sum( Pxx( i nd75_85) )

    Ener75_85 = 2.2543 [W-s] [V2-s]

    La Potencia media en esta banda es:

    >> Pm75_85=f s* sum( Pxx_u( i nd75_85) ) / NPm75_85 = 1. 1254 [ W] [ V2]

    La energa de la banda de frecuencia de 95 a 105 Hz, utilizamos:

    >> i nd95_105=f i nd( f >= 95 & f

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    18/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    14

    >> Ener 95_105=sum( Pxx_u( i nd95_105) )Ener95_105 = 0. 9864 [ W- s] [ V2- s ]

    La Potencia media en esta banda es:>> Pm95_105=f s* sum( Pxx_u( i nd95_105) ) / N

    Pm85_105 = 0. 4929 [ V2]

    Si utilizamos 4096 puntos para calcular el periodograma (Nfft = 4096)>> [ P, f ] =per i odogr am( x1n, [ ] , Nf f t , f s) ; % Nf f t = 4096;

    Obtenemos la misma grfica PSD (o similar). Sin embargo, la energa total se halla:

    =

    =fftN

    kfft

    kPxxN

    NE

    1

    )( (3.4)

    >> Ener =sum( P) *N/ Nf f t % donde N = l engt h( x1n) = 1401Ener = 3.2557 % el mismo valor que el hallado con el periodograma usando N puntos para hallar la fft

    En este caso la energa en la banda de frecuencia de 75 a 85 Hz sera:>> i nd75_85=f i nd( f >= 75 & f > Ener75_85=sum( P( i nd75_85) ) *N/ Nf f t

    Ener75_85 = 2. 2262 [ W- s] [ V2- s ]

    La potencia media, utilizando Nfft puntos se halla

    =

    =fftN

    kfft

    kPxxN

    fsPm

    1

    )( (3.5)

    >> Pm=f s*sum( P( i nd75_85) ) / Nf f tPm = 1. 1124 [V2- s ]

    La funcin periodogramde MATLAB permite incluir una ventana a la seal de entradacon la cual se calcula la PSD. El valor por defecto (2da entrada en el comando utilizado

    previamente = [ ]) es la ausencia de ventana, que equivale a una ventana rectangular oboxcar(N).

    3.4) Periodograma modificado (seal enventanada)

    El uso de ventanas que suavicen el inicio y final de las ondas es ampliamente recomendadopara el anlisis de segmentos de seales. Si queremos enventanar previamente la sealx1n(n),con una ventana, w(n),definimos el tipo de ventana en el comando periodogram. Por ejemplo,en MATLAB, una ventana de Hamming se puede definir:

    >>w=hammi ng( l engt h( x1n) ) ; % equi val e a w=hammi ng(N) ;

    Para enventanarx1n:

    >>xw=x1n. *w;>>Xw=f f t ( xw) ;

    La Potencia espectral, de la seal enventanadaxwqueda

    NUf

    fXwfPxw

    s

    2)(

    )( = , (3.6)

    donde U es la constante de normalizacin de la ventana

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    19/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    15

    NnwUfftN

    n

    /)(

    1

    0

    2

    =

    = (3.7)

    En MATLAB, podemos calcular el periodograma enventanado utilizando las ecuacionesprevias o directamente con la funcin periodogram. Veamos ambos mtodos:

    >> U=sum( w. 2) / N;>> Pxxw=( abs( Xw) . 2) / ( N*f s*U) ;>> Pxx_unl ado = Pxxw( sel ect ) ;>> Pxxw_u = [ Pxx_unl ado(1) ; 2*Pxx_unl ado(2: end- 1) ; Pxx_unl ado(end) ] ;>> i nd75_85=f i nd( f >= 75 & f > Ener75_85=sum( Pxxw_u( i nd75_85) )Ener75_85 = 2. 2520 [ W- s] [ V2- s ]

    >> pl ot ( f ( sel ect ) , 10*l og10( Pxxw_u) ) , gr i d>> per i odogr am( x1n, hammi ng( N) , N, f s) ;

    0 50 100 150 200 250 300 350-100

    -80

    -60

    -40

    -20

    0

    20

    PSD(dB/Hz)

    frecuencia (Hz)

    Periodograma modificado (Ventana Hamming) de x1n

    0 50 100 150 200 250 300

    -100

    -80

    -60

    -40

    -20

    0

    20

    Frequency (Hz)

    PowerSpectralDensity(dB/Hz)

    Periodogram PSD Estimate

    La ausencia del uso de una ventana en el segmento de seal usada se interpreta como unaventana rectangular. La ventana rectangular en el comando periodogram, es el valor pordefecto del tipo de ventana: se coloca en la 2da entrada [ ] o boxcar(length(x1n)). Los tipos deventanas se describen en la pgina. 4-13 del tutorial de Signal Processing.

    Los espectros de ambos lados se pueden hallar como:

    >>pl ot( f , 10*l og10( Pxxw) ) , gr i d >> peri odogr am( x1n, hammi ng( N) , N, f s, t wosi ded ) ;

    0 100 200 300 400 500 600 700-100

    -90

    -80

    -70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    PSD(dB/Hz)

    frecuencia (Hz)

    Periodograma (Hamming) de x1n "ambos lados del espectro"

    0 100 200 300 400 500 600

    -100

    -90

    -80

    -70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    Frequency (Hz)

    PowerSpectralDensity(dB/Hz)

    Periodogram PSD Estimate

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    20/89

    Anlisisespectral con tcnicas no paramtricas (Fourier)

    16

    3.5) Mtodo de Welch (periodograma enventanado, segmentado y promediado)

    El mtodo propuesto por Welch divide la seal temporal en segmentos (que puedensolaparse), se halla el periodograma enventanado a cada segmento y se promedian las PSD

    estimadas. En MATLAB, la funcin pwelch, en sus valores por defecto, divide la seal en 8segmentos con 50% de solapamiento y cada segmento es enventanado por una ventana dehamming y se promedian los 8 periodogramas modificados:

    >>[ Pxx, f ] = pwel ch(x, wi ndow, Nover l ap, NFFT, Fs) % MATLAB version 6 y 7 (Signal Processing toolbox 5.x, 6.x)

    Versin previa: >>[Pxx,f]=pwelch(x,NFFT,Fs,window,Noverlap) % MATLAB version 5 (Signal 4.2)window: si es un vector, se divide x en segmentos solapados del tamao de window;

    si es un entero, se divide x en ese nmero de segmento solapados.Noverlap, nmero de puntos de solapamiento

    NFFT: nmero de puntos del clculo de FourierFs: Frecuencia de muestreo

    Al igual que las dems funciones que estiman PSD en MATLAB, la ausencia deargumentos de salida depwelchproduce el espectro directamente en la ventana de figuras

    >> pwel ch( x1n, [ ] , [ ] , N, f s) ;

    0 50 100 150 200 250 300-70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    Frequency (Hz)

    PowerSpectralDensity

    (dB/Hz)

    Welch PSD Estimate

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    21/89

    AnlisisEspectral con Mtodos Paramtricos

    17

    4. ANLISIS ESPECTRAL CON MTODOS PARAMTRICOS

    Los modelos paramtricos de las seales son tcnicas alternativas a la transformada deFourier para el anlisis espectral de estas series temporales. Cuando las seales son cortas o

    ruidosas, los mtodos paramtricos pueden proveer mejor resolucin que los mtodos no-paramtricos para estimar la densidad de potencia espectral. Adems no necesitan de unenventanado previo.

    4.1) Modelado de seales

    Los mtodos paramtricos modelan la seal como la respuesta de un sistema lineal conruido blanco, e intentan estimar los parmetros de ese sistema lineal.

    Un modelo paramtrico genrico de un sistema (o de una seal, como caso particular),lineal o no lineal, puede expresarse como

    )()),1(),(,),2(),1(()( nnununynyfny += (4.1)

    dondey(n)es la seal de salida, u(n), la de entrada y (n)es el trmino aditivo no considerado oexplicado por el modelo, que se considera el error o ruido. La funcin f() puede ser

    parametrizada con un vector de parmetros , de dimensin finita, y expresada en trminos deun vestor de regresin (n).De esta forma, el sistema en tiempo discreto de la ecuacin (4.1)representa una estructura general de modelo de regresin:

    )()),(()( nnfny += (4.2)

    siendo (n)es el vector de regresin de dimensin finita))(,),1(),(),(,),1(()( nbnunununanynyn = (4.3)

    donde na y nb son los retardos mximos considerados para las muestras de las seales salida y

    entrada, respectivamente. Los parmetros se seleccionan deN= ; es decir, son ajustados a

    partir de los valores de entrada y salida, minimizando una funcin de prdida VN(, definida entrminos del error entre la seal real y la modelada:

    )(minarg

    NN V= (4.4)

    (arg min significa el argumento que minimiza), siendo

    =

    =N

    n

    N nfnyN

    V1

    2))),(()((1

    )( (4.5)

    El problema del modelado paramtrico de sistemas o seales se centra en: (i) escoger unaestructura de modelo f()apropiada, (ii) con un nmero de parmetros adecuado y (iii) utilizarmtodos de optimizacin o estimacin paramtricas cnsonos al modelo.

    Diversas nomenclaturas se han presentado en la literatura de sistemas de identificacin ycontrol (ver Ljung [Lju87]) y de procesado de seales (ver Therrien [The92], Proakis [Pro92])

    para el modelado de sistemas y seales. Consideremos, del modelo paramtrico genrico, unaestructura simple lineal donde la seal de salida dependa de sus valores pasados y de los valoresde la entrada con un error o ruido aadido (n):

    )()()()()1()( 01 nnbnubnubnanyanyany nbna ++++= (4.6)

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    22/89

    AnlisisEspectral con Mtodos Paramtricos

    18

    Esta estructura se conoce como modelo ARX (AutoRegresiva con componente eXgena)en la literatura de identificacin de sistemas. El modelo ARX se refiere tambin como enfoqueARMA (AutoRegresivo de promedio mvil Moving Average-) indirecto del modelado de laseal en la literatura de procesado de seales (ver Therrien [The92]). Si tomamos latransformada z de la estructura ARX despreciando el trmino de error, queda

    )()(

    1)()(

    1

    1

    110

    zA

    zB

    zaza

    zbzbb

    zU

    zYna

    na

    nbnb =++++=

    (4.7)

    Si en lugar de la transformada zutilizamos el operador de desplazamiento hacia delante q(tal que q-1y(n)=y(n-1)), entonces A(q) y B(q) representarn los operadores en el dominio deltiempo deA(z) yB(z), respectivamente, quedando el modelo ARX

    )()()()()( nnuqBnyqA += (4.8)donde

    nanaqaqaqA

    +++= 111)( (4.9)nb

    nbqbqbbqB +++= 110)( (4.10)

    En forma general, la estructura de un sistema lineal en tiempo discreto se puede representar

    )()()()()( neqHnuqGny += (4.11)

    donde G(q) sera la funcin de transferencia del sistema, que evaluada en el crculo unitario(q=ej) sera una funcin de frecuencia G(ej). El trmino de error o perturbacin (n) estexpresado en funcin de e(n): ruido blanco de varianza e

    2, filtrado porH(q). Las propiedadesde (n)se pueden expresar en trminos de su espectro de potencia como

    22

    )()( je eH= (4.12)

    En forma paramtrica, la familia de modelos sera

    )()(

    )()(

    )(

    )()()( ne

    qD

    qCnu

    qF

    qBnyqA += (4.13)

    El modelado de seales puede considerarse un caso particular de esta familia de modeloscuando la entrada u(n) no est presente. Considerando D(q) = 1, tenemos la estructura demodelo ARMA(Auto Regresivo de promedio (Average) Mvil)

    )()()()( neqCnyqA = (4.14)

    Esta estructura es conocida en la literatura de procesado de seales con B(q)=C(q), yexpresada en trminos de la transformada z, como: A(z)y(n)=B(z)e(n). El modelo ARMA esautoregesivo de orden na y de promedio mvil de orden nb. La estructura AR dependesolamente de los valores pasados dey(n)y es una auto-regresin de orden na,

    )()()( nenyqA = (4.15)

    Esta ecuacin se puede describir como

    )()()()()1()(1

    1 neinyanenanyanyany

    na

    iina +=+= = (4.16)

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    23/89

    AnlisisEspectral con Mtodos Paramtricos

    19

    La estructura AR puede expresarse en funcin de un vector de parmetros y un vector deregresin como

    )()( neny T += (4.17)

    donde [ ]Tnaaa 1= y [ ])()1( nanynyT = .

    La estimacin de los parmetros de los polinomios AR, ARMA, ARX, etc, se puederealizar a travs de distintos algoritmos, los cuales buscan minimizar una funcin de prdida oerror. En MATLAB, se pueden hallar los modelos paramtricos AR o ARMA con el toolboxdeSignal Procesingo con el de System Identification.

    4.1.1) Estimacin de Modelos AR

    De la ecuacin (4.15) podemos expresar un modelo AR como

    na

    na

    e

    qaqaqA

    eqF +++== 111)()(

    (4.18)

    Los mtodos incluidos en el Signal Procesingpara el modelado AR son:

    a) Mtodo de Burg. Minimiza por mnimos cuadrados la media aritmtica del error deprediccin hacia delante y hacia atrs, satisfaciendo el recursivo de Levinson-Durbin[Bur67]. La funcin es arburg:

    >> [ A, e] =arburg( y, na) ;donde A es el vector de parmetros estimados de orden na, ees la varianza del error(e

    2),yes la seal de salida del sistema AR o seal a modelar.

    b) Mtodo de Yule-Walker, de autocorrelacin o eneventanado. Minimiza el error depredicin hacia delante por mnimos cuadrados. Se forman las ecuaciones de Yule-Walker que se resuelven por el recursivo de Levinson-Durbin. La funcin es aryule.

    >> [ A, e] =aryule( y, na) ;

    c) Mtodo de la Covarianza. Halla el valor de los parmetros, minimizando el error deprediccin hacia delante por mnimos cuadrados. La funcin es arcov.

    >> [ A, e] =arcov( y, na) ;

    d) Mtodo de la Covarianza modificado. Halla el valor de los parmetros, minimizando elerror de prediccin hacia delante y hacia atrs por mnimos cuadrados. La funcin esarmcov.

    >> [ A, e] =armcov( y, na) ;

    Los modelos AR en System Identification toolbox se pueden hallar con la funcin ar,escogiendo el mtodo de estimacin paramtrica como un argumento de entrada de la funcin.

    e) Rutina ar>> [ model ] =ar( y, na, appr oach) ;

    - approach = 'fb': Hacia adelante y hacia atrs -forward-backward-. Es el mtodo por

    defecto. Se minimiza la suma del criterio de mnimos cuadrados hacia adelante y elcriterio anlogo hacia atrs en el tiempo. Equivale a armcov.

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    24/89

    AnlisisEspectral con Mtodos Paramtricos

    20

    - approach = 'ls': Mtodo de mnimos cuadrados -least-squares approach-. Se minimiza lasuma de los cuadrados de los errores de prediccin hacia delante. Equivale a arcov.

    - approach = 'yw': Mtodo de Yule-Walker. Se resuelven las ecuaciones de The Yule-Walker. Equivale a aryule.

    - approach = 'burg': Mtodo de Burg. Minimiza por mnimos cuadrados la media

    aritmtica del error de prediccin hacia delante y hacia atrs, satisfaciendo el recursivode Levinson-Durbin. Equivale a arburg.- approach = 'gl': Mtodo como el de Burg, pero se usa la media geomtrica.

    4.1.2) Estimacin de Modelos ARMA

    Para modelos ARMA { )()()()( neqCnyqA = } se utilizan en Signal processing Toolboxlasfunciones prony (Mtodo de Prony) y stmcb (Mtodo de Steigltz y McBride). Aunque laliteratura de procesado de seales el modelado ARMA suele denotar: )()()()( nezBnyzA = ,las tcnicas de Prony y Steigltz-McBride asumen una entrada externa impulsional yarbitraria (que puede ser un impulso), respectivamente en cada tcnica, utilizando unaestructura ARX en el mtodo de Prony y OE (output error) en Steigltz-McBride.

    a) Mtodo de Prony. Calcula un filtro de respuesta al impulso infinita (IIR)B(q)/A(q)cuyarespuesta impulsional es la seal a modelar y. Se basa en una estructura ARX

    )()()()()( nenuqBnyqA += . Esta estructura se origina en un mtodo propuesto por elBarn de Prony en 1795 para modelar la expansin de varios gases con la suma deexponeciales amortiguadas. Este mtodo se actualiz para ajustar modelos conexponenciales amortiguadas o sinusoides puras a una seal [Par87],[The92] y es llamadotambin enfoque ARMA indirecto de modelado de la seal [The92]. En MATLAB:

    >> [ B, A] =prony( y, nb, na) ;donde B y A son los vectores de parmetros de orden nb y na, respectivamente.Incorporamos nuestra funcin

    >> [ B, A, e] =prony_e( y, nb, na) ;que incluye en la salida a ecomo la varianza del error (

    2)

    b) Mtodo de Steiglitz-McBride. Calcula un filtro IIRB(q)/A(q)cuya respuesta impulsionales la seal a modelar y [Ste65]. Es llamado tambin enfoque ARMA directo demodelado de la seal [The92]. Opcionalmente, este mtodo permite hallar el modelo deun sistema cuyas entradas y salidas son u(n) e y(n) respectivamente. Se basa en unaestructura output error (OE) que se obtiene considerando una relacin lineal entre la

    salida de un sistema no perturbado ynp(n)y la entrada u(n).La salida observada ser lasuma deynp(n)ms el error:

    (4.20))()()(

    (4.19))()()()(

    nenyny

    nuqBnyqA

    np

    np

    +=

    =

    donde A(q)yB(q)estn descritas por (4.9) y (4.10). Si se expresa la estructura comoun modelo de funcin de transferencia, queda

    )()()(

    )()( nenu

    qF

    qBny += (donde F(q)=A(q)) (4.21)

    Esta estructura representa un caso especial del modelo lineal genrico de la ecuacin(4.1) y (4.13), donde la secuencia no predecible e(t)=(t) representa la diferencia

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    25/89

    AnlisisEspectral con Mtodos Paramtricos

    21

    (error) entre la salida observada y la no perturbada. Con la seal a modelar de tamaoNy modelos de orden nay nb, se pueden definir un error de prediccin () para cadavalor de n > p, donde p es el valor mayor entre na y nb. La estimacin de los

    parmetros se realiza optimizando la funcin de prdida2

    1 1

    2

    )()(

    )(

    )()()( += +=

    ==

    N

    pn

    N

    pn

    OEOE nuqA

    qBnynV (4.22)

    Esta funcin de prdida, al igual que la de la estructura ARX, utiliza el criterio demnimos cuadrados; sin embargo, mientras en el modelo ARX hay una relacin linealentre la funcin de error y los parmetros a estimar, en la estructura OE la relacin esno-lineal. Esto lleva a buscar soluciones no analticas, como tcnicas de optimizaciniterativas, para el problema de la minimizacin de VOE(). Una de las tcnicas deestimacin paramtrica utilizada originalmente, con esta estructura, es la de prefiltradoiterativo de Steiglitz-McBride [Ste65]. Consiste en (i)estimar por mnimos cuadradosun modelo ARX:A(q) y(n) = B(q) u(n) + e(n)con el mtodo de Prony, (ii)utilizar los

    parmetros estimados de(q)para filtrar las sealesy(n)y u(n), de la forma

    ),()(

    1)( ny

    qAnyF = )(

    )(

    1)( nu

    qAnu

    F = (4.23)

    y (iii)utilizar las seales filtradas, para estimar nuevamente A(q)yB(q)por mnimoscuadrados. El proceso se repite intentando minimizar el residuo, y los parmetrosconvergen a sus valores reales (mnimo global) si la perturbacin es en realidad ruido

    blanco [Sod8] o si el modelo no es muy grande. Con Signal Processing Toolbox deMATLAB tenemos:

    >> [B,A] = stmcb(y,nb,na);>> [B,A] = stmcb(y,u,nb,na); % Para identificacin de sistemas de saliday, entrada u

    Este algoritmo, por defecto, inicia la bsqueda de los parmetros con un modelo deProny y realiza 5 iteraciones. Incluimos nuestra function>> [ B, A, e] = stmcb_e( y, nb, na) ;

    que contiene a een la salida como la varianza del ruido o error (2).

    Los modelos ARMA en el System Identification toolboxse pueden hallar con los comandosarxy oe(output error), considerando que la entrada del sistema es un impulso unitario, y con lafuncin armax.

    c) La funcin arx produce el mismo resultado que prony, al ser la misma familia demodelo. Si en el comando arxse coloca como salida del sistema la seal a modelar y, y

    como entrada un impulso unitario, se puede obtener un modelo de sistema igual alobtenido por prony.

    )()()()()( nenuqBnyqA += (4.24)Para esto hay que usar un pre-enventanando de tantos ceros como sea el orden

    mximo,p, de nay nben las sealesy(a modelar) e impulso de entrada. El retardo nkse coloca en 0. Hay que hacer notar que el orden nb en prony significa el orden del

    polinomio B(q) (nb+1 parmetros), sin embargo en arx, la entrada nb significa elnmero de parmetros de B(q), es decir, su orden es nb1. La funcin arx utiliza elmtodo de mnimos cuadrados. Si utilizamos arx con la seal y (sin pre-enveantando)como serie temporal, nos dar el mismo resultado que la funcin arcon el approach='ls' o arcovde signal processing.

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    26/89

    AnlisisEspectral con Mtodos Paramtricos

    22

    En el modelo ARX se pueden predecir los valores de la salida )( ny como unaregresin lineal (similar a la ecuaci 4.17):

    )()( nny T= (4.25)

    donde [ ]Tnbna bbbaa 101 = (vector de los parmetros a estimar) y

    [ ])()1()()()1()( nbnunununanynynT = . Con la sealyde tamaoNy modelos de orden na y nb, se pueden definir un error de prediccin () para cadamuestra n>p, dondepes el valor mayor entre nay nb:

    )()()( nynyn = (4.26)

    Si agrupamos (4.25) y (4.26) en (4.5), los parmetros se hallan minimizando:

    [ ]+=+=

    ==N

    pn

    TN

    pn

    ARX nnynV1

    2

    1

    2 )()()()( (4.27)

    Como el segmento de seal de Nmuestras incluye un pre-enventanado de p ceros, lasumatoria en la ecuacin VARX() comienza en la primera muestra de la seal y amodelar. La solucin se presenta ms sencillamente en forma matricial:

    )()()( = yy TARXV (4.28)

    donde

    [ ]y= + +y p y p y N( ) ( ) ( )1 2 (4.29)

    y la matriz de los regresin (o de datos) dada por:

    =

    ++

    =

    + + +

    + + + +

    +

    T

    T

    T

    p

    p

    N

    y p y p na u p u p nb

    y p y p na u p u p nb

    y N y N na u N u N nb

    ( )

    ( )

    ( )

    ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( )

    ( ) ( ) ( ) ( )

    1

    2

    1 1 1

    1 2 2 2

    1

    (4.30)

    Para minimizar la funcin de prdida descrita por (4.28), se expande: += TTTTTTARXV yyyy)( (4.31)

    e igualando a cero su gradiente, se obtiene:

    022 =+==

    N

    TT

    N

    V

    y (4.32)

    los parmetros se estiman como:

    yTT

    N = 1)( (4.33)

    si la Matriz T es no-singular (Ecuacin de mnimos cuadrados de Wiener-Hopf).

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    27/89

    AnlisisEspectral con Mtodos Paramtricos

    23

    El modelado ARMA con la funcin arxla implementamos con nuestra funcin>> [ B, A, e]=arx_arma( y, nb, na) ;

    obteniendo los mismos vectores de parmetros B y A que con la funcin prony. nay nbsiguen siendo los rdens deA(q)yB(q)respectivamente.

    d) La funcin OE,)()(

    )(

    )()( nenu

    qF

    qBny += (donde F(q)=A(q)) (4.34)

    obtiene un modelo ARMA al ser utilizado de la misma forma que arx, es decir, con laseal a modelarycomo respuesta al impulso, y pre-enventanando de tantos cerospcomosea el orden mximo de na y nb. Los valores de los coeficientes de B(q) y A(q) sondiferentes a los obtenidos por stmcb, ya que usan distintos algoritmos iterativos. Larutina oe utiliza el mtodo de Gauss-Newton [Den83],[Lju87] para otimizar la funcinVOE()de la ecuacin (4.22). En forma sucinta, el mtodo de Gauss-Newton consiste en

    buscar los parmetrosN que minimicen una funcin de criterio iterativamente, de

    acuerdo con )()()1( iiN

    i

    N gn +=+ (4.35)

    donde )( iN son los parmetros estimados en la iteracin nmero i; es una

    constante positiva, con el fin de hallar una reduccin adecuada de VOE() (ecuacin(4.22)) y gn(i)es la direccin de bsqueda de Gauss-Newton, basada en la funcin VOE()obtenida de las iteraciones previas:

    [ ] )()( )(1)()( iNOEiNOEi VVgn =

    (4.36)

    donde el gradiente de VOE() es

    +=

    =N

    pn

    OE

    i

    NOE nnV1

    )( ),(),()( (4.37)

    siendo (n,)el gradiente del error de salida OE. El mtodo de Gauss-Newton aproxima

    )( )(i

    NOEV , en la vecindad del mnimo, a

    +=

    =N

    pn

    Ti

    NOE nnV1

    )( ),(),()( (4.38)

    Nuestra funcin>> [ B, A, e]=oe_arma( y, nb, na) ;

    obtiene un modelo ARMA utilizando la funcin oe.

    e) La funcin armax calcula los parmetros del modelo )()()()( neqCnyqA = , cuandotrabaja con una sola seal de entrada como serie temporal. Para el clculo se utiliza unalgoritmo iterativo de Gauss-Newton [Den83],[Lju87], como el descrito previamente

    para la funcin oe, para la minimizacin de la funcin de error. Sin embargo, adiferencia de las funciones prony, stmcb, arx_arma y oe_arma donde

    nb

    nbqbqbbqB +++= 110)( , la funcin armaxpara series temporales utiliza el vector

    de parmetros (ntese que c0= 1)nc

    ncqcqcqC +++= 111)( (4.39)

    Con nuestra rutina>> [ C, A, e]=armax_arma( y, nc, na) ;

    obtenemos un modelo ARMA a partir de la funcin armaxde System Identification.

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    28/89

    AnlisisEspectral con Mtodos Paramtricos

    24

    f) ARMA con el mtodo de Durbin-Broersen de ARMASA [BroMat]. Broersen [Bro00a],[Bro02] perfeccion el mtodo de Durbin [Dur60] para poder trabajar con rdenes demodelo suficientemente grandes. El mtodo de Durbin, mejorado por Broersen, consisteen el uso de los errores estimados )( n y de las observaciones previas de y(n) comoregresores en un ajuste por mnimos cuadrados. En el modelo ARMA

    )()()()( neqCnyqA = (4.40)

    los residuos )( n son reconstruidos utilizando un modelo AR muy largo:Alargo(q):

    )()()(arg nnyqA ol = (4.41)

    El modelo de la ecuacin (4.41) se puede estimar para un orden de Alargo(q)que tienda ainfinito cuando sus parmetros coinciden con los de la expansin en serie de A(q)/C(q).En el mtodo de Durbin-Broersen, se estiman una primera vez los parmetros (q) y(q), luego se usan los parmetros estimados(q)como condicin inicial para actualizariterativamente(q)y (q)con el un nuevo mtodo de Durbin adaptado por Broersen. Si

    sustituimos y(n)de la ecuacin (4.40) en (4.41) y reemplazamos los valores reales dee(n)por los estimados, tenemos

    1)(

    )(

    )(argqC

    qA

    qA ol

    (4.42)

    Para estimar Alargo(q), Broersen [Bro00a],[Bro02] utiliza un orden 3 veces mayor queparaA(q) ms el nmero deparmetros que tienen que estimarse. C(q)se actualiza delcociente(q)/Alargo(q)dado en (4.42). Luego (q) se estima de nuevo con la expresin

    (q) Alargo(q) (q).La estimacin final se busca de los parmetros(q) que minimicenla diferencia entre los dos modelos estimados dados por [(q)/(q), 1/ Alargo(q)]. En eltoolbox ARMASA [BroMat] la estimacin se realiza con la rutina

    >> [ A, B, sel ] = sig2arma( y, na) ;dondeyes la seal a modelar, naes el orden deA(q), nb = na-1es el orden de C(q), y selcontiene informacin del modelo incluyendo la varianza del error (

    2).

    4.2) Bsqueda del mejor orden de modelo

    La escogencia del orden del modelo es uno de los aspectos ms importante del modeladoparamtrico. El ajuste del modelo a la seal o al sistema va mejorando (disminucin del error) amedida que se incrementa el orden del modelo. Se busca, entonces, escoger el mejor orden demodelo a partir de ciertos criterios que penalicen el incremento del orden si el error no

    disminuye significativamente. En otros casos, si tuviramos un sistema conocido o verdaderoque se ajusta con un modelo de orden verdadero, se busca que el orden no sub-ajuste osubestime ni sobre-ajuste o sobreestime este sistema o seal. Mencionaremos en primer lugarlos mtodos clsicos y luego las ltimas tcnicas desarrollas para la seleccin de los mejoresrdenes de modelo. Comenzaremos por los modelos AR.

    4.2.1) Bsqueda del mejor modelo con estructura AR

    La varianza del error, e2, se denomina varianza del residuo, si el error es el hallado de la

    seal o serie temporal usada para estimar los parmetros del modelo. En una estructura AR de

    orden na, la varianza del residuo est dada por:

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    29/89

    AnlisisEspectral con Mtodos Paramtricos

    25

    [ ] += =+=

    +

    =

    ==

    N

    nan

    na

    i

    i

    N

    nan

    e inxanxnaN

    nxnxnaN

    naRES

    1

    2

    11

    22 )()(1

    )()(1

    )(

    (4.43)

    dondeNel nmero de muestras de la seal y )( nx es la seal estimada con el modelo.Por otro lado, la varianza del error, e

    2, se denomina error de prediccin (PE), si el error esel hallado de una seal distinta a la usada para estimar los parmetros; esto es, de otrarealizacin del proceso estocstico o de un segmento de seal distinto si el proceso es ergdico(sealx2(n)deMmuestras). La varianza del error de prediccin en este caso es e

    2=PE(na):

    +

    += =

    +==

    Mn

    nn

    na

    i

    ie inxanxM

    naPE0

    0 1

    2

    1

    222 )()(

    1)( (4.44)

    Una de las primeras tcnicas utilizada para la bsqueda del mejor orden es el Error de

    Prediccin Final de Akaike Akaikes Final Prediction Error- (FPE) [Aka70]. Considerandoque el orden verdadero del modelo es K, y la varianza del error de ese modelo es ev

    2, Akaikeus los resultados asintticos de la divisin de los valores esperados de la varianza del residuo(RES(na)) y del error de prediccin (PE(na))

    [ ] )/1()( 2 NnanaPEE ev += , para na K (4.45)

    [ ] )/1()( 2 NnanaRESE ev = , para na K (4.46)

    deduciendo el criterio FPE, como

    Nna

    NnaFPE e /1

    /12

    += (4.47)

    Otro criterio de Akaike similar es el Criterio de Informacin Terica de Akaike AkaikesInformation Theoretic Criterion- (AIC) [Aka74].

    ( )N

    naAIC e 2ln

    2 += (4.48)

    De acuerdo con estos criterios de Akaike, se escoje el modelo con el menor valor de FPE oAIC. Otro criterio ampliamente usado es el de Rissanen -Rissanen's Minimum Description

    Length- (MDL) [Ris78], el cual selecciona la estructura que permita la descripcin mscompacta de la data observada. Este modelo penaliza un mayor nmero de muestras de la sealrelativas al orden del modelo y puede expresarse como

    ( ) )ln(ln 2 NN

    naMDL e += (4.49)

    Estos criterios pueden escribirse como un criterio de informacin generalizado (GIC)[Bro93] como

    N

    nanaGIC e +=

    2ln),( (4.50)

    donde = 2 (AIC)= ln(N) (MDL)= 2lnln(N) Criterio de consistencia mnima [Han79]

    Broersen [Bro93] introdujo expresiones que aproximan la varianza de los coeficientes dereflexin (definidos como el ltimo parmetro anadel vector de coeficientes) de los mtodos

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    30/89

    AnlisisEspectral con Mtodos Paramtricos

    26

    de Yule-Walker [Kay81], de Burg [Bur67] y de mnimos cuadrados, a travs de coeficientes devarianza de muestras finitas de modelos AR:

    v(i,met)

    para rdenes de modelo imayores o iguales al orden verdadero Ky el mtodo de estimacin

    met. Si consideramos que ev2

    es la varianza del orden verdadero K, entonces para seales deN muestras y los mtodos de estimacin paramtrica dados, tenemos las siguientesaproximaciones de v(i,met)[Bro93],[Bro00b]:

    ( ))2(/)(),( += NNiNYWiv (4.51))1/(1),( iNBurgiv += (4.52)

    )5.15.1/(1),( iNlsfbiv += (4.53))22/(1),( iNlsfiv += (4.54)

    donde YW: mtodo de Yule-Walker (MATLAB: aryuley ar(approach=yw))Burg: Mtodo de Burg (MATLAB:arburgy ar(approach=bg))lsfb: Mtodo de mnimos cuadrados (ls) hacia adelante (f) y hacia atrs (b) o de

    covarianza modificado (MATLAB: armcovy ar(approach=fb)lsf: Mtodo de mnimos cuadrados (ls) hacia adelante (f) o de la covarianza (MATLAB:arcovy ar(approach=ls))

    Cuando el orden del modelo naes igual o mayor al orden del modelo verdadero K, elvalor esperado de la varianza del residuo RES(na)y del error de prediccin PE(na) se puedenaproximar a [Bro93]:

    [ ] =

    na

    i

    ev metivnaRESE

    1

    2),(1()( , para na K (4.55)

    [ ] = +na

    iev metivnaPEE

    1

    2),(1()( , para na K (4.56)

    Tomando el logaritmo aRES(na), se puede expresar un criterio equivalente al GIC, llamadocriterio de informacin de muestra finita de Broersen [Bro93]

    =

    +=na

    i

    e metivnaFIC

    1

    2 ),()ln(),( (4.57)

    Un buen compromiso entre la sobreestimacin y subestimacin de los parmetros est dadopor un factor de penalizacin = 3.

    El cociente de los valores esperados del error de prediccin y de la varianza del residuo fueusado [Bro00b] para hallar el criterio de informacin de muestra finita (FISC) que selecciona el

    orden del modelo:

    1),(1

    ),(1)ln()(

    0

    2

    ++=

    =

    na

    i

    emetiv

    metivnaFSIC (4.58)

    De estos dos ltimos criterios, se deriv el criterio de informacin combinada (CIC) deBroersen [Bro00b]. Este criterio toma en cuenta el balance entre sobre-estimacin y sub-estimacin del criterio FIC con una penalizacin =3, para rdenes bajos, y el comportamientodel criterio FSIC para rdenes altos, cuando el tamao de la seal lo requiera. As el criterioCIC(na)se expresa

    +

    += ==

    na

    i

    na

    ie metivmetiv

    metiv

    naCIC10

    2

    ),(3,1),(1

    ),(1

    max)ln()( (4.59)

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    31/89

    AnlisisEspectral con Mtodos Paramtricos

    27

    Se selecciona el orden nacon el menor valor CIC de los rdenes probados. Adems deltamao Nde la seal y del orden aprobar, el criterio CIC depende del mtodo de estimacin

    paramtrica utilizado. Por ejemplo, si tomamos un modelo AR, estimado con el mtodo deBurg, el criterio CIC quedara

    +

    +

    ++

    += ==

    na

    i

    na

    i

    eiN

    iN

    iNnaCIC10

    2

    1

    13,1

    1

    11

    111

    max)ln()( (4.60)

    En la prctica se desea un modelo con un menor error de prediccin, PE(na). Los errores deprediccin de los modelos estimados pueden ser hallados con la seal dada a travs de [Bro02]

    =

    +=

    na

    i

    emetiv

    metivnaPE

    1

    2

    ),(1

    ),(1)( (4.61)

    Por ejemplo, para el mtodo de Burg (utilizando ecuacin 4.52):

    =

    +

    ++

    =na

    i

    e

    iN

    iNnaPE

    1

    2

    1

    11

    1

    11

    )( (4.62)

    - Uso de MATLAB para hallar el mejor orden de modelo AR

    En el System Identification toolboxexisten las rutinas arxstrucy selstrucque utilizan loscriterio AIC y MDL. arxstrucusa el comando arx, por lo tanto, utiliza el mtodo de mnimoscuadrados (ls) para el clculo del modelo.

    Hallemos el mejor modelo para estructura AR de la seal del ejemplo 1:>>V=arxst r uc( x1n, x1n, ( 8 : 80) ' ) ;

    % V: La primera fila contiene las varianzas del error de las estructuras dadas, presentadas en% las filas siguientes. La ltima columna es el nmero de datos de la seal.

    >>[ na, Vn] =sel st r uc(V, ' ai c' ) ; % Cr i t er i o AI C en el vector Vnnn=78>> [ na, Vn] =sel st r uc( V, ' mdl ' ) ; % Cr i t er i o MDL en el vect or Vnna=35

    >> pl ot ( V( 2, 1: 73) , V( 1, 1: 73) ) >> pl ot ( Vn( 2, : ) , Vn( 1, : ) )

    0 10 20 30 40 50 60 70 800.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    5x 10

    -3

    orden del modelo

    Error(Varinaza)

    Funcin de prdida vs orden del modelo

    0 10 20 30 40 50 60 70 80-7

    -6.8

    -6.6

    -6.4

    -6.2

    -6

    -5.8

    -5.6

    -5.4

    -5.2

    orden del modelo

    CriterioMDL

    Funcion criter io MDL de Rissanen

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    32/89

    AnlisisEspectral con Mtodos Paramtricos

    28

    En la prctica, es recomendable graficar la curva de la funcin de criterio vs. la dimensinde parmetros del modelo. Observando el codo de la curva de la funcin de prdida o la curvade la funcin criterio MDL se aprecia que el orden 35 es el mnimo dado por el criterio MDL,mientras que el criterio AIC propone un orden na=78.

    Para modelos AR del toolbox de Signal Processing, utilizamos la rutina selarstruc (de

    nuestras funciones) para calcular el mejor orden del modelo AR dado por el mtodo escogido,para un conjunto de ordenes de modelo. La funcin selarstrucpermite escoger el mtodo deestimacin paramtrica del modelo AR: met = arburg, arcov, armcov o aryule, y elcriteriode bsqueda del mejor orden de modelo:

    criterio 'aic': Criterio de informacin de Akaike'mdl': Rissanens minimum description length'fpe': Error de prediccin final de Akaike (valor por defecto)'gic3': Criterio de informacion generalizado de Broersen con alfa=3'cic': Criterio de informacion combinada de Broersen

    Si utilizamos el criterio MDL para la sealx1n, tenemos

    >> [ na, V, Vn] =sel ar st r uc( x1n, ' ar cov' , 8: 80, ' mdl ' ) ; % na es el orden que produce el valor mnimo del criterio>> pl ot ( V( 2, : ) , V( 1, : ) , Vn( 2, : ) , Vn( 1, . ) ) % na = 35

    0 10 20 30 40 50 60 70 80-7

    -6.5

    -6

    -5.5

    -5

    -4.5

    -4

    -3.5

    orden de modelo (na)

    Criterio MDL de Rissanen

    Cambio de pendiente

    (na=14) ( na=20)

    MDL mnimo

    (na=35)

    El mejor orden segn el criterio MDL de Risanen es na= 35. Sin embargo la curva de lafuncin de prdida o error vs. el orden del modelo presenta cambios de pendiente que tienden a

    una reduccin suave del error para na= 14 y tambin para na= 20. Estos valores pueden sertomados en la prctica, si se quiere trabajar con modelos de estructuras reducidas.

    Una excelente referencia reciente sobre mtodos de escogencia del mejor orden demodelo de estructuras ARMA se encuentra en el trabajo de Broersen [Bro02] y en su toolbox deMATLAB ARMASA [BroMat], donde se propone calcular automticamente el mejor modelode estructura AR, MA y ARMA.

    En el toolbox ARMASA, el mejor orden de modelo, as como, los parmetros estimadospara ese orden, la varianza del error de todos los rdenes probados y los respectivos valoresCIC, se busca automticamente con:

    >> [ A, sel ] = si g2ar ( x1n) ;>> si g_e = sel . pe_est ; % var i anza del err or para cada na pr obado

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    33/89

    AnlisisEspectral con Mtodos Paramtricos

    29

    >> ci c = sel . ci c; % cr i t er i o CI C par a cada na pr obado>> na_candi dato = sel . cand_order ; % val ores na probados>> na = l ength( A) - 1 % orden del modelo escogido, es decir, con length(A) parmetros

    na = 40

    En ARMASA, por omisin, se remueve el valor medio de la seal a modelar. Si se quiere

    dejar la seal original se ejecuta:>> ASAgl ob_subt r _mean = 0;

    El orden de A es na=40 con el criterio CIC. La funcin sig2arutiliza el mtodo de Burg[Bur67] para estimar el modelo AR. Equivale a arburgy arcon el approach = burg. En lavariable estructurada selest la informacin de la varianza del error y del valor CIC para cadaorden de modelo probado, que fue de 630 rdenes en este caso.

    >> pl ot ( na_candi dat o( 5: 80) , si g_e(5: 80) ) >> pl ot( na_candi dato( 5: 200) , ci c( 5: 200) )

    0 10 20 30 40 50 60 70 800

    0.002

    0.004

    0.006

    0.008

    0.01

    0.012

    0.014

    0.016

    0.018

    ordenes na

    varianzadelerror

    Este mismo orden de modelo (na=40) se encontr con la funcin selarstruc, con el mtodo

    arburg y el criterio cic, con la seal x1n removindole su valor medio: x1n mean(x1n).

    4.2.2) Bsqueda del mejor modelo ARMA

    Para modelos ARMA y otras estructuras de modelado de seales y sistemas, los criteriosFPE, AIC, MDL y GIC pueden expresarse utilizando la dimensin del vector de parmetros denlugar del factor na, del modelado AR [Lju87]. Por ejemplo, el criterio GIC quedara:

    N

    dnaGIC e +=

    2ln),( (4.63)

    El criterio FPE de Akaike [Aka70] para modelos ARMA se puede expresar:

    Nd

    NdFPE e

    /1

    /12 += (4.64)

    El criterio propuesto por Broersen [Bro00b] para escoger el orden en los modelos ARMAse basa en mtodos de estimacin de parmetros de Durbin [Dub60] adaptado descrito

    previamente, utilizando el criterio GIC con =3. Para modelos ARMA de rdenes (na,nb), esdecir de dimensin d=na+nbel orden estar dado por el valor mnimo del criterio

    0 20 40 60 80 100 120 140 160 180 200-7

    -6.5

    -6

    -5.5

    -5

    -4.5

    -4

    ordenes na

    CIC

    Criterio CIC

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    34/89

    AnlisisEspectral con Mtodos Paramtricos

    30

    N

    ddGIC e 3)ln()3,(

    2 += (4.65)

    Los errores de prediccin de los modelos estimados pueden ser hallados con la seal dada atravs de [Bro02]

    Nd

    NddPE e

    /1

    /1)( 2

    += (4.66)

    - Uso de MATLAB para hallar el mejor orden de modelo ARMA

    La bsqueda del mejor modelo con una estructura ARMA la realizamos con nuestrafuncin selarmastrucy graficamos luego la varianza del error o el Criterio con los valores de lafuncin min_arma. Para ello utilizamos nuestras funciones prony_e, stmcb_e, arx_arma,oe_arma y armax_armacomo mtodos para estimar los parmetros de la estructura ARMA. Y,

    al igual que en la estructura AR, los criterios FPE, AIC, MDL y GIC con = 3 (GIC(d,3)).>>[ nn, V, Vn] =sel ar mast r uc( x1n, ' ar x_ar ma' , 2: 30, 2: 30, ' mdl ' ) ;

    % Prueba todas las combinaciones de rdenes de% modelo desde na = 2 hasta 30 y nb = 2 hasta 30

    >>[ Vmi n, Vnmi n] =mi n_ar ma( V, Vn) ;>> pl ot ( Vn( 4, : ) , Vn( 1, : ) , ' +' ) % incluye todos los modelos probados

    >> pl ot ( Vmi n( 4, : ) , Vmi n( 1, : ) )

    0 10 20 30 40 50 600

    0.005

    0.01

    0.015

    0.02

    0.025

    0.03

    Numero de parametros = na+nb+1

    Varianzaelerror

    Funcion de error, todos los modelos ARMA

    Segn estos resultados, un modelo ptimo de acuerdo al criterio MDL puede ser un ordenna=28 y nb=27. Sin embargo, los cambios de pendiente de la funcin de error o prdida

    proponen tamaos de estructura de 13 o 23 parmetros, que corresponde a rdenes de modelo[na=11, nb=2] y [na=12, nb=11], respectivamente.

    Una versin simplificada de la funcin selarmastruc es selarmastruc2, la cual solamenteprueba rdenes de modelo [na, nb=na-1].

    >> [ nn, V, Vn] =sel ar mast r uc2( x1n, ' ar x_ar ma' , 2: 30, ' mdl ' ) ; % nn = [na=28, nb=27]>> [ nn, V, Vn] =sel ar mast r uc2( x1n- mean( x1n) , ' ar max_arma' , 2: 30, ' gi c3' ) ;

    % nn = [na=16, nb=15]% Se le ha removido el valor medio a la seal x1n

    >> pl ot ( V( 4, : ) , V( 1, : ) )

    0 10 20 30 40 50 60-7

    -6.5

    -6

    -5.5

    -5

    -4.5

    -4

    -3.5

    Numero de parametros = na+nb+1

    MDL

    Funcion MDL, modelo de tamao minimo ARMA

    Cambio de pendiente

    (na=12,nb=11)

    MDL minimo

    (na=28,nb=27)

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    35/89

    AnlisisEspectral con Mtodos Paramtricos

    31

    0 10 20 30 40 50 60-7.5

    -7

    -6.5

    -6

    -5.5

    -5

    -4.5

    -4

    -3.5

    Numero de parametros: na+nb

    GIC3

    Funcion de criterio GIC3, modelos ARMAX-ARMA

    [na=5, nb=4] [na=16, nb=15]

    Utilizando el toolbox ARMASA, el orden de modelo ARMA y sus parmetros estimados sehallan:

    >> [ A, B, sel ] =si g2arma(x1n) ; % por defecto se remueve el valor medio de la seal x1n>>si g_e=sel . pe_est ;>>gi c3=sel . gi c3;>>na_candi dat o=sel . cand_ar_or der ;>> na=l engt h(A) - 1

    na = 8

    >>nb=l engt h( B) - 1nb = 7>> pl ot ( na_candi dat o( 5: 100) , gi c3( 5: 100) )

    0 10 20 30 40 50 60 70 80 90 100-7.1

    -7

    -6.9

    -6.8

    -6.7

    -6.6

    -6.5

    -6.4

    -6.3

    -6.2

    -6.1

    Ordenes na del modelo ARMA(na,na-1)

    GIC3

    Criterio GIC3

    orden

    (na=8,nb=7)

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    36/89

    AnlisisEspectral con Mtodos Paramtricos

    32

    4.3) Resolucin espectral con modelos paramtricos de seales

    Las tcnicas de estimacin espectral que utilizan directamente una seal con sutransformada de Fourier presentan una resolucin espectral,

    nf , acotada a un valor

    fundamental Tfn /1= , donde T=Ts*Nes la longitud del segmento de seal equivalente al

    periodo de muestreo Tspor el nmero de muestrasN. Se pueden lograr mejores resoluciones queeste valor fundamental con el modelado paramtrico de las seales porque extrapolanefectivamente la seal analizada ms all de su intervalo original T[Mar77]. La PSD obtenidacon modelos AR (ec. 4.68) equivale al espectro obtenido por una secuencia de autocorrelacinextrapolada y amortiguada hasta el infinito [Kay81, Mar87]. Tiempos efectivos, Te, mslargos producen una menor

    nf y una mejor resolucin espectral. Por eso, a estas tcnicas

    paramtricas se les llama tambin de alta-resolucin espectral [Mar87].En el caso de modelado AR el nivel del incremento de la resolucin espectral depende de la

    relacin seal-ruido y del orden nadel modelo. Una buena aproximacin emprica de resolucinespectral con modelado AR (mtodo de Burg) se puede expresar por [Mar82], [Mar87]

    ( ) 31.0)1(03.1

    +=

    naSNRNTf

    s

    n (4.67)

    donde na es el orden del modelo AR, Ts*N es el periodo de muestreo por el nmero depuntos (segmento de seal, T) y SNR es la relacion seal-ruido expresada en unidades lineales(Watts) en lugar de dB. Un orden de modelo lo suficientemente alto mejorar la resolucinespectral pero un orden excesivo producira picos espurios en el espectro frecuencial [Kay81].

    4.4) Densidad de Potencia Espectral (PSD) con modelado paramtrico

    La densidad de potencia espectral, PSD, de la seal se halla de la respuesta frecuencial deestos sistemas lineales estimados. Una vez hallados los parmetros de los modelos AR queajusten la seal a modelar, se puede estimar la PSD a travs de la expresin

    2

    1

    2

    2

    2

    2

    1)(

    )(

    =

    = +

    ==na

    k

    kfjk

    e

    eq

    eAR

    eaqA

    qPj

    (4.68)

    Si consideramos que la frecuencia de muestreo es fs=1/Tsy el retardo k corresponde a unretardo kTs=k/fs. la PSD se expresa

    2

    1

    /2

    2

    1

    )(

    =

    +

    =

    na

    k

    fkfjk

    esAR

    sea

    TfP

    (4.69)

    Del mismo modo, la PSD estimada de una seal con modelado ARMA es

    2

    1

    /2

    2

    0

    /2

    2

    2

    2

    2

    1

    )()(

    )()(

    =

    =

    = +

    ==na

    k

    fkfj

    k

    nb

    k

    fkfj

    k

    esARMA

    eq

    eARMA

    s

    s

    j

    ea

    eb

    TfPqA

    qBqP

    (4.70)

    En el toolbox de Signal Processing se pueden hallar directamente la PSD, utilizando los

    mtodos de estimacin paramtrica de Burg, Yule-Walker, Covarianza y Covarianza modificadocon los comandos pburg, pyulear, pcovy pmcovrespectivamente.

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    37/89

    AnlisisEspectral con Mtodos Paramtricos

    33

    4.4.1) Densidad de Potencia Espectral con modelos AR

    Vamos a estimar la PSD de la seal del ejemplo 1 con modelos AR de orden 14 (el codo

    e la fucin de error) y 40 (mejor orden segn criterio CIC) utilizando varios mtodos deestimacin paramtrica:a) Mtodo de Burg.

    Seal 1 con un orden na=14:>> N=l engt h( x1n) ; N=1401>> pbur g( x1n, 14, N, f s) % equi val e a>> [ Pb, f b] =pbur g( x1n, 14, N, f s) ;>>pl ot ( f b, 10*l og10( Pb) ) >> pl ot ( f b, Pb)

    0 50 100 150 200 250 300-60

    -50

    -40

    -30

    -20

    -10

    0

    10

    Frequency (Hz)

    PowerSpectralDensity(d

    B/Hz)

    Burg PSD Estimate

    0 50 100 150 200 250 300 350

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4

    frecuencia (Hz)

    PSD(Watts/Hz)

    PSD de x1n, mtodo de Burg (na=14)

    Utilicemos el orden na= 20 y se compara el PSD por el mtodo de Welch:>> [ Pb, f b] =pbur g( x1n, 20, N, f s) ;>> [ P1, f 1] =pwel ch( x1n, [ ] , [ ] , N, f s) ;

    >> pl ot ( f 1, 10*l og10( P1) , ' : ' , f b, 10*l og10( Pb) ) , gr i d>> l egend( ' Wel ch' , ' AR Bur g' )

    0 50 100 150 200 250 300 350-70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    PSD(Watt/Hz)

    frecuencia (Hz)

    PSD de x1n, mtodos AR de Burg (na=20) y Welch

    WelchAR Burg

    A continuacin vamos a realizar el modelado de la seal x1n(n)con el mtodo de Burg y

    na=14 y hallar paso a paso la PSD estimada:>> [ Ab, eb] =arbur g(x1n, 14) ;Ab= [1.0000 -0.4590 0.0582 0.3916 0.3042 0.0852 -0.2077 -0.2041 -0.2016

    -0.1170 -0.1128 -0.1874 -0.3006 -0.1674 0.1470]eb = 0.001466968 % varianza estimada del ruido blanco (Final Prediction Error)>> [ H, f ] =f r eqz( 1, Ab, N, ' whol e' , f s) ;>> Pxb=eb*( abs( H) . 2) / f s; PSD ( de ambos l ados del espect r o)>>i f r em( N, 2) , % se eval ua l a par i dad de N>> sel ect = 1: ( N+1) / 2; % si N es i mpar

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    38/89

    AnlisisEspectral con Mtodos Paramtricos

    34

    >>el se>> sel ect = 1: N/ 2+1; % si N es par>> end>> % sel ect en est e caso es de 701 el ement os>> Pxb_unl ado=Pxb( sel ect ) ;>> Pxb_u=[ Pxb_unl ado(1) ; 2*Pxb_unl ado(2: end- 1) ; Pxb_unl ado(end) ] ;

    >> f b=f ( sel ect ) ;>> pl ot ( f b, 10*l og10( Pxb_u) )

    0 50 100 150 200 250 300 350-60

    -50

    -40

    -30

    -20

    -10

    0

    10

    PSDestimada(dB/Hz)

    frecuencia (Hz)

    PSD estimado, con Modelado AR-Burg

    La funcin armaspectra, realiza los pasos anteriores para calcular y, opcionalmente,

    graficar la PSD del modelo AR hallado:

    >> armaspect r a(1, Ab, eb, N, f s) ; % gr af i ca l a mi sma PSD ant eri or>> [ Px, f ] = ar maspect r a( 1, Ab, eb, N, f s) ; % devuelve los valores PSD en Px y frecuencia en f

    Para mejorar la resolucin para el clculo de la respuesta frecuencia del modeloparamtrico, se puede usar un vector de frecuencias entre 0 y fs, correspondientes al crculo

    unitario sobre el plano z. Con armaspectra, se introduce el vector de frecuencias en lugar deN. Por ejemplo:

    >> [Pxx, f ] =ar maspect r a( 1, Ab, eb, 0: 0. 01: f s, f s) ;>> pl ot ( f , 10*l og10( Pxx) ) , gr i d,>> xl abel ( ' f r ecuenci a ( Hz) ' ) , yl abel ( ' PSD ( dB/ Hz) ' )

    0 50 100 150 200 250 300 350-60

    -50

    -40

    -30

    -20

    -10

    0

    10

    20

    frecuencia (Hz)

    PSD(dB/Hz)

    PSD con modelado AR

    >> E=sum( Pxx) *N/ l ength(0: 0. 01: f s)

    E = 3. 2511>> Pm=f s/ l ength(0: 0. 01: f s) *sum( Pxx)

    Pm = 1. 6244>> i nd75_85=f i nd( f >=75 & f > Pm80=f s/ l ength(0: 0. 01: f s) *sum( Pxx( i nd75_85) )

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    39/89

    AnlisisEspectral con Mtodos Paramtricos

    35

    Pm80 = 1. 1205>> i nd95_105=f i nd( f >=95 & f > Pm100=f s/ l engt h( 0: 0. 01: f s) *sum( Pxx( i nd95_105) )

    Pm100 = 0. 4985

    Estos valores de Potencia promedio coinciden con los hallados con el mtodo no-paramtrico y los valores tericos de Pm = 1,625 W, Pm80 = 1,125 W y Pm100 = 0,5 W.

    Vamos a representar la seal x1n(n) como la respuesta al impulso del modelo AR obtenido.>>i mpul so=[ 1; zeros( N- 1, 1) ] ;>> y=f i l t er ( 1, Ab, i mpul so) ;

    % es equi val ent e a>> y=i mpz( 1, Ab, N, f s) ;>> pl ot ( t ( 1: 150) , x1n( 1: 150) , t ( 1: 150) , y( 1: 150) )

    0 0.05 0.1 0.15 0.2-3

    -2

    -1

    0

    1

    2

    3

    tiempo (s)

    Amplitud

    Segmento de x1n y resp impulso model AR (na=14)

    Para hallar tambin los modelos paramtricos con el System Identification toolbox:

    >> Abi =ar ( x1n, 14, ' bur g' , [ ] , [ ] , 1/ f s)Di scr et e- t i me I DPOLY model : A( q) y( t ) = e( t )A(q) = 1 - 0. 459 q - 1 + 0. 05819 q - 2 + 0. 3916 q - 3 + 0. 3042 q - 4

    + 0. 08516 q - 5 - 0. 2077 q - 6 - 0. 2041 q - 7 - 0. 2016 q - 8- 0. 117 q - 9 - 0. 1128 q - 10 - 0. 1874 q - 11 - 0. 3006 q - 12

    - 0. 1674 q - 13 + 0. 147 q - 14Est i mat ed usi ng ARLoss f unct i on 0. 00145991 and FPE 0. 00148938Sampl i ng i nterval : 0. 00142857

    Para extraer los parmetros A en un vector de parmetros:>>A = Abi . a % equi val ent e a: A=get ( Abi , a ) ;

    A=[ 1. 0000 - 0. 4590 0. 0582 0. 3916 0. 3042 0. 0852 - 0. 2077- 0. 2041 - 0. 2016 - 0. 1170 - 0. 1128 - 0. 1874 - 0. 3006 - 0. 1674 0. 1470]

    Son los mismos valores que los obtenidos con la funcin arburg de Signal Processing.Para extraer la varianza del ruido o Funcin de Prdida:

    >>VarNoi se = Abi . Noi seVar i ance % VarNoi se= 0. 00145991>>LossFcn = Abi . Est i mat i onI nf o. LossFcn

    Para extraer el criterio de Akaike Error de Prediccin Final FPE>>FPE = Abi . Est i mat i onI nf o. FPE % = 0. 00148938

    Con el toolbox ARMASA calculamos la PSD (ASAglob_subtr_mean = 0)

    >> [ Aa, sel ] =si g2ar ( x1n) ;

    % no se r emueve el val or medi o de x1n:>> ASAgl ob_subt r _mean = 0;

  • 7/25/2019 Tutorial Estimacion Espectral-5308

    40/89

    AnlisisEspectral con Mtodos Paramtricos

    36

    >> na=l engt h( Aa) - 1 % na = 55 Cr i t er i o CI C>> [ Pxx, f ] =ar ma2psd(Aa, 1, 0: 0. 01: 350, 1/ f s) ; >> [ Pxx, f ] =arma2psd(Aa, 1, N, 1/ f s) ;>> pl ot ( f , 10*l og10( Pxx) ) , dr i d >> pl ot ( f , 10*l og10( Pxx) ) , gr i d

    0 50 100 150 200 250 300 350-70

    -60

    -50

    -40

    -30

    -20

    -10

    0

    10