Está en la página 1de 22

Capitulo 6 Anlisis Tiempo-Frecuencia

CRITERIOS BSICOS
Las tcnicas de anlisis espectral desarrollado hasta el momento representan la seal poderosa herramientas de procesamiento si no est especialmente preocupado con la seal de temporizacin. Clsica o modernos mtodos espectrales proporcionar una solucin completa y adecuada para formas de onda que son estacionarias, es decir, formas de onda que no cambian en su propiedades bsicas a lo largo del anlisis (en sentido estricto, que no cambio en sus propiedades estadsticas). Sin embargo, muchas formas de onda-en particular los de origen biolgico, no son estacionarias, y el cambio sustancial en sus propiedades lazos con el tiempo. Por ejemplo, los cambios de la seal EEG considerablemente en funcin de varios estados internos del sujeto: es decir, la meditacin, el sueo, los ojos cerrados. Ms-ms, son estos cambios con el tiempo que a menudo son de inters primordial.Fourier anlisis proporciona una buena descripcin de las frecuencias en una forma de onda, pero no su calendario. La transformada de Fourier "de una pieza musical nos dice qu notas se reproducen, pero es muy diferente de entender cuando se tocan " (Hubbard, 1998). Dicha informacin debe estar integrada en la especificacin de la frecuencia espectro desde la transformada de Fourier es bilateral, y el pasaje musical se puede nicamente reconstruido utilizando la transformada inversa de Fourier. Sin embargo, el tiempo es codificados en la porcin de la fase de la transformacin, y esta codificacin es difcil interpretar y recuperarse. En la transformada de Fourier, eventos especficos en el tiempo son dis-contribuido a travs de todos los componentes de la fase. En esencia, una funcin de locales en el tiempo se ha transformado en una caracterstica global de la fase. El tiempo es a menudo la informacin de inters principal en muchas seales biomdicas, y esto tambin es vlido para las imgenes mdicas, donde la informacin es anloga localizada en el espacio. Una amplia gama de enfoques han sido desarrollados para tratar de extracto de tiempo y la informacin de frecuencia de una onda. Bsicamente se puede dividir en dos grupos: mtodos tiempo-frecuencia y los mtodos de escala de tiempo. Estos ltimos son ms conocidos como los anlisis Wavelet, un nuevo enfoque popular describe en el siguiente captulo. Este captulo est dedicado a los mtodos tiempofrecuencia.

Fourier a corto plazo de transformacin: el espectrograma


Los primeros mtodos tiempo-frecuencia se basan en el mtodo directo de cortar la forma de onda de inters en una serie de segmentos cortos y realizar un anlisis en cada uno de estos segmentos, normalmente utilizando el estndar de la Transformada de Fourier. Una funcin de ventana similar a las descritas en el captulo 3 se aplica a un segmento de datos, aislando ese segmento de la ola generalforma, y la transformada de Fourier se aplica a ese segmento. Esto se denomina espectrograma o "corto plazo transformada de Fourier" (STFT) * desde el de Fourier Transformacin se aplica a un segmento de datos que es ms corto, a menudo mucho ms corto, que la forma de onda en general. Dado que los segmentos de datos abreviados se utilizan, la seleccin de la longitud de la ventana ms apropiada puede ser crtica. Este mtodo ha tenido xito aplicada con xito en una serie de aplicaciones biomdicas. La ecuacin bsica para el espectrograma en el dominio continuo es:

donde w (t) es la funcin de la ventana y es la variable que se desliza la ventana a travs de la forma de onda, x (t). La versin discreta de la ecuacin. (1) es la misma que fue dada en el Captulo 2 para una funcin general de sondeo (Ec. (11), Captulo 2) donde la funcin de sondeo es sustituye por una familia de sinusoides representadas en formato complejas (es decir, el e-JNM / N):

Hay dos problemas principales con el espectrograma: (1) la seleccin de un opti-longitud de la ventana normal de los segmentos de datos que contienen variasfunciones diferentes pueden no ser posible, y (2) la compensacin de tiempo-frecuencia:, acortando la longitud de los datos N, para mejorar la resolucin temporal se reduzca la resolucin de frecuencia que se aproxima-aproximadamente 1 / (NT). Acortar el segmento de datos tambin podra resultar en la prdida de baja las frecuencias que ya no estn plenamente incluidas en el segmento de datos. Por lo tanto, si la ventana se hace ms pequeo para mejorar la resolucin temporal, entonces la frecuencia

la resolucin se degrada y viceversa. Esta compensacin de tiempo-frecuencia ha sido asimilarse a un principio de incertidumbre, donde el producto de la resolucin de frecuencia (expresado como ancho de banda, B) y el tiempo, T, debe ser mayor que un cierto mnimo. En concreto:

El trade-off entre el tiempo y la resolucin de frecuencia inherentes a la STFT, o espectrograma, ha motivado una serie de otros mtodos tiempo-frecuencia como as como los enfoques de escala de tiempo discutido en el prximo captulo. A pesar de estas limitaciones, la STFT se ha utilizado con xito en una amplia variedad de problemas, en particular aquellos en los que slo componentes de alta frecuencia son de inters y resolucin de la frecuencia no es crtica. El rea de procesamiento del habla se ha beneficiado considerablemente de la aplicacin de la STFT. En su caso, la STFT es una solucin sencilla que se apoya en una teora bien comprendida clsica (es decir, la Fou-barrera transformar) y es fcil de interpretar. Las fortalezas y debilidades de la STFT se exploran en los ejemplos de la seccin de Implementacin en MATLAB a continuacin y en los problemas al final del captulo.

Distribucin de Wigner-Ville: Un caso especial de la clase de Cohen


Una serie de enfoques se han desarrollado para superar algunas de las de corto venidas del espectrograma. El primero de ellos fue la distribucin de Wigner-Villecin * que es tambin uno de los ms estudiados y mejor entendida de los muchos tiempo-frecuencia mtodos. El enfoque fue desarrollado por Wigner de el uso de la fsica, pero ms tarde aplicada al procesamiento de seal por Ville, de ah el doble nombre. Ms adelante veremos que la distribucin de Wigner-Ville es un caso especial de una amplia variedad de transformaciones similares conocidos bajo el ttulo de Cohen clase de distribuciones. Para un amplio resumen de estas distribuciones ver Bou-dreaux-Bartels y Murry (1995). La distribucin de Wigner-Ville, y otros de la clase de Cohen, utiliza un enfoque que se remonta a los primeros usos de la funcin de autocorrelacin para el clculo de el espectro de potencia. Como se seal en el captulo 3, el mtodo clsico para la determinacin el espectro de potencia era tomar la transformada de Fourier de la autocorrelacin funcin (ecuacin (14), Captulo 3). Para construir la funcin de autocorrelacin, el forma de onda se compara con el mismo para todos los cambios relativos posible, o se queda (Ec.(16), captulo 2). La ecuacin se repite aqu en continua y discreta forma:

dnde y n son el cambio de la forma de onda con respecto a s misma. En la funcin de autocorrelacin estndar, el tiempo es integrada (o resumen) fuera del resultado, y este resultado, Rxx (), es slo una funcin de la demora, o cambio. El Wigner-Ville, y de hecho todos Cohen s la clase de distribuciones, usar unvariacin de la funcin de autocorrelacin donde el tiempo permanece en el resultado. Esto es logrado mediante la comparacin de la forma de onda con la misma para todos los posibles retrasos, pero en su lugar de integrar con el tiempo, la comparacin se hace con todos los valores posibles de tiempo. Esta comparacin da lugar a la ecuacin que define la instantaneidad de la llamadafuncin de autocorrelacin espontneo:

dnde? y n son los lapsos de tiempo como en autocorrelacin, y representa la * complejo conjugado de la seal, x. La mayora de las seales actuales son reales, en cuyo caso Eq. (4) se puede aplicar a cualquiera de la (real) de la seal en s, o una versin compleja de la seal conocida como la seal analtica. Una discusin de las ventajas de utilizar la seal analtica, junto con mtodos de clculo de la seal analtica de el real (real, es decir,) la seal se presenta a continuacin. La funcin de autocorrelacin instantnea mantiene tanto retrasos y el tiempo, y es, por tanto, una funcin de dos dimensiones. La salida de esta funcin a una entrada sinusoidal muy simple se muestra en la Figura 6.1 tanto como en tres dimensiones y un grfico de contorno. La funcin de autocorrelacin estndar de una sinusoide que una sinusoide de la misma frecuencia. La funcin de autocorrelacin instantnea-cin de salida se muestra en la Figura 6.1 muestra una sinusoide a lo largo del tiempo y? eje como se esperaba, sino tambin a lo largo de las diagonales tambin. Estos productos cruzados son particularmente evidentes en la Figura 6.1B y el resultado de la multiplicacin de

la ecuacin de autocorrelacin instantnea, la ecuacin. (7). Estos productos cruzados son una fuente de problemas para todos los mtodos basados en la Autocor instantnearelacin con la funcin.

Como se mencion anteriormente, el mtodo clsico para calcular el espectro de potencia era tomar la transformada de Fourier de la funcin de autocorrelacin estndar. La Wigner-Ville se hace eco de la distribucin de este enfoque tomando la transformada de Fourier de la funcin de autocorrelacin instantnea, pero slo a lo largo de la (Es decir, retardo) dimensin. El resultado es una funcin de la frecuencia y el tiempo. Cuando el uno-espectro de potencia dimensiones se calcula utilizando la funcin de autocorrelacin, era comn para filtrar la funcin de autocorrelacin antes de tomar el Fourier transformar para mejorar las caractersticas del espectro de energa resultante. Si bien no hay tal filtrado se realiza en la construccin de la distribucin de Wigner-Ville, todos los dems enfoques aplicar un filtro (en este caso un filtro de dos dimensiones) a la instantaneidadfuncin de autocorrelacin espontneo antes de tomar la transformada de Fourier.De

hecho, la principal diferencia entre muchos de las distribuciones en la clase de Cohen es simplemente el tipo de filtro que se utiliza. La ecuacin formal para determinar una distribucin tiempo-frecuencia de Clase de Cohen de las distribuciones es bastante formidable, pero se puede simplificar en la prctica. En concreto, la ecuacin general es:

donde g (v), proporciona las dos dimensiones de filtrado de la auto-instantnea correlacin y tambin se conoce como un ncleo. Esta es la funcin de filtro, como la difeentiates entre las diferentes distribuciones en Cohen clase s. Tenga en cuenta que el resto del integrando es la transformada de Fourier de la autocorrelacin instantnea funcin. Hay varias maneras de simplificar la ecuacin. (8) para un ncleo especfico. Para el Distribucin de Wigner-Ville, no hay ninguna filtracin, y el ncleo no es ms que una (es decir, g (v,) = 1) y la ecuacin general de la ecuacin. (8), despus de la integracin por dv, reduce a la ecuacin. (9), se presentaron en forma continua y discreta.

El Wigner-Ville tiene varias ventajas sobre la STFT, pero tambin tiene un serie de deficiencias. Su mayor fortaleza es que produce "un notable buena imagen de la estructura de tiempo-frecuencia "(Cohen, 1992). Tambin tiene a favormarginales poder y momentos condicional. Los marginales se refieren la suma con el tiempo o la frecuencia a la energa de la seal en ese momento o frecuencia. Por ejemPor ejemplo, si sumamos la distribucin de Wigner-Ville, sobre la frecuencia a una hora fija, que obtener un valor igual a la energa en ese punto en el tiempo. Por otra parte, si fijamos la frecuencia y cantidad con el tiempo, el valor es igual a la energa en esa frecuencia. En el momento condicional de la distribucin de Wigner-Ville tambin tiene un significado:

Principio del formulario

_t

es

UTF-8

donde p (t) es la marginal en el tiempo. Este momento condicional es igual a la frecuencia instantnea de la llamada-cuencia. La frecuencia instantnea es generalmente interpretado como la media de los frecuencias en un punto dado en el tiempo. En otras palabras, el tratamiento de la Wigner-Ville de distribucin como de densidad de probabilidad real (no lo es) y el clculo de la media de la frecuencia proporciona un trmino que es lgicamente interpretarse como la media de la frecuencias presentes en un momento dado. La distribucin de Wigner-Ville tiene un nmero de otras propiedades que pueden ser til para ciertas aplicaciones. Es posible recuperar la seal original, a excepcin de una constante, de la distribucin, y la transformacin es invariante a los cambios en el tiempo y frecuencia. Por ejemplo, cambiando la seal en el tiempo por un retardo de T segundos se produce la misma distribucin, excepto en el pasado por T el eje del tiempo. Lo mismo podra decirse de un cambio de la frecuencia (aunque biolgicos procesos que producen cambios en la frecuencia no son tan comunes como los que producen cambios de tiempo). Estas caractersticas son tambin el caso de la STFT y algunos de las otras distribuciones se describen a continuacin. Una caracterstica de la distribucin de Wigner-Ville-distribucin no es compartida por la STFT es soporte finito en el tiempo y frecuencia. Finitos apoyo en el tiempo significa que la distribucin es igual a cero antes de la seal se inicia y despus de que termine, mientras que el apoyo finitos en la frecuencia: la distribucin no contienen las frecuencias ms all del alcance de la seal de entrada. El Wigner-Ville se contienen energas inexistente debido a los productos cruzados como se mencion anteriormente y observa en la Figura 6.1, pero estos contenidos estn dentro del tiempo y frecuencia los lmites de la seal original. Debido a estos productos cruzados, la de Wigner-Ville distribucin no es necesariamente cero cuando la seal es cero, una propiedad Cohen llamado soporte finito fuerte. Obviamente, desde la STFT no tiene apoyo finito- puerto no tiene soporte finito fuerte. Algunas de las otras distribuciones no tiene soporte finito fuerte. Ejemplos de los atributos deseables de la Wigner-Ville se estudiarn en la seccin de MATLAB de Aplicacin, y en los problemas. La distribucin de Wigner-Ville tiene una serie de deficiencias. Lo ms grave de ellos es la produccin de productos cruzados: la demostracin de las energas en valores de frecuencia de tiempo en el que no existen. Estas energas tienen fantasma sido el principal motivador para el desarrollo de otras distribuciones que se aplican varios filtros a la funcin de autocorrelacin instantnea para mitigar los daos pblico realizado por los productos cruzados. Adems, la distribucin de Wigner-Ville puede tienen regiones negativas que no tienen ningn significado. La distribucin de Wigner-Ville tambin tiene malas propiedades de ruido. En esencia, el ruido se distribuye a travs de todos los tiempos y la frecuencia incluyendo productos cruzados del ruido, aunque en algunos casos, la productos cruzados y las influencias del ruido se puede reducir

mediante el uso de una ventana. En tales casos, la funcin de la ventana deseada se aplica a la dimensin del rezago funcin de autocorrelacin instantnea (Ec. (7)), similar a la forma en que se aplic a la funcin de tiempo en el Captulo 3. Al igual que en el anlisis de la transformada de Fourier, de ventanas reducir la resolucin de la frecuencia, y, en la prctica, un compromiso que se solicita- entre una reduccin de los productos cruzados y la prdida de la resolucin de frecuencia. Ruido propiedades y otras debilidades de la distribucin de Wigner-Ville, junto con las influencias de ventanas se exploran en la aplicacin y el problema secciones.

El Choi-Williams y Otras Distribuciones


La existencia de productos cruzados en la transformacin de Wigner-Ville tiene motivados el desarrollo de otras distribuciones. Estas otras distribuciones tambin se definen por la ecuacin. (8), sin embargo, ahora el ncleo, g (? V,), ya no es 1. La ecuacin general (Ec. (8)) se puede simplificar dos maneras diferentes: para cualquier ncleo dado, la integracin cin con respecto a la variable v se puede realizar con antelacin ya que el resto de la transformacin (es decir, la porcin de la seal) no es una funcin de v, o uso pueda llevar a cabo de una funcin intermedia, llamada la funcin de ambigedad. En el primer enfoque, el ncleo se multiplica por el exponencial de la ecuacin. (9) para dar una nueva funcin, G (u,?):

donde la nueva funcin, G (u,) se conoce como la funcin de determinar (Boashash y Reilly, 1992). Entonces la ecuacin. (9) se reduce a:

Note that the second set of terms under the double integral is just the instantaneous autocorrelation function given in Eq. (7). In terms of the determining function and the instantaneous autocorrelation function, the discrete form of Eq. (12) becomes:

donde t = u / fs. Este es el enfoque que se utiliza en la seccin de MATLAB aplicacin a continuacin. Alternativamente, se puede definir una nueva funcin como la deverso transformada de Fourier de la funcin de autocorrelacin instantnea:

donde la nueva funcin, Ax (,), que se denomina la funcin de ambigedad. En este caso, la operacin de convolucin en la ecuacin. (13) se convierte en multiplicacin, y se desea la la distribucin es slo el doble transformada de Fourier del producto de la ambigedad veces la funcin de la funcin de autocorrelacin instantnea:

Una distribucin popular es la de Choi-Williams, que tambin se conoce como una distribucin exponencial (ED), ya que tiene un ncleo de tipo exponencial. Especfimente, la funcin del ncleo y la determinacin de la distribucin de Choi-Williams son los siguientes:

La distribucin de Choi-Williams tambin se puede utilizar en una forma modificada que incorpora una funcin de la ventana y de esta forma se considera uno de una clase de distribucin reducida interferencia (RID) (Williams, 1992). Adems de tener reduccin productos cruzados, la distribucin Choi-Williams tambin tiene mejor el ruido caractersticas que la de Wigner-Ville. Estas dos distribuciones se compararn con otras distribuciones populares en la seccin sobre implementacin. Analtica de seal Todas las transformaciones en la clase de Cohen de la distribucin de producir mejores resultados cuando se aplica a una versin modificada de la forma de onda denomina la seal analtica, una versin compleja de la seal real. Mientras que la seal real puede ser utilizado, el seal analtica tiene varias ventajas. La ventaja ms importante se debe a el hecho de que la seal analtica no contiene frecuencias negativas, por lo que su uso reducir el nmero de productos cruzados. Si la seal real es utilizado, entonces ambos

los trminos positivos y negativos espectral producir productos cruzados. Otro de los beneficios es que si la seal analtica se utiliza la frecuencia de muestreo puede ser reducido. Este es porque la funcin de autocorrelacin instantnea se calcula utilizando de manera uniforme los valores de espacio, por lo que es, de hecho, undersampled por un factor de 2 (comprese con la versiones discretas y continuas de la ecuacin. (9)). Por lo tanto, si la funcin analtica es no se utiliza, los datos deben tomarse muestras de dos veces el mnimo normal, es decir, dos veces la frecuencia de Nyquist o cuatro veces fMAX .* Por ltimo, si la frecuencia instantnea se desea, se puede determinar desde el primer momento (es decir, media) de la disdistribucin slo si la seal analtica se utiliza. Varios enfoques pueden ser utilizados para la construccin de la seal analtica. Essencialmente se toma la seal real y aade un componente imaginario. Uno de los mtodos para establecer el componente imaginario es argumentar que las frecuencias negativaspolticas que se generan a partir de la transformada de Fourier no son fsicos y, por tanto, debe ser eliminado. (Frecuencias negativas son equivalentes a la frecuencia redundantecuencias por encima de fs / 2. Siguiendo esta lgica, la transformada de Fourier de la seal real se toma, las frecuencias negativas se ponen a cero, o equivalentemente, el redundantes frecuencias por encima de fs / 2, y la seal (en la actualidad complejo) se reconstruye con el transformada inversa de Fourier. Este enfoque tambin multiplica las frecuencias positivascie, los de abajo fs / 2, por 2 a mantener la energa total de la misma. Esto se traduce en una nueva seal de que tiene una parte real idntica a la seal real y uno imaginario parte que es la transformada de Hilbert de la seal real (Cohen, 1989). Este es el enfoque utilizado por el Hilbert MATLAB rutina y la rutina en Hilber el disco, y el enfoque utilizado en los ejemplos siguientes. Otro mtodo consiste en realizar la transformada de Hilbert directamente a travs de la

Hilbert filtro de transformacin para producir el componente complejo: z (n) = x (n) + j [x (n)] (18) donde H denota la transformada de Hilbert, que puede ser implementado como un FIR filtro (captulo 4), con coeficientes de:

A pesar de la transformada de Hilbert filtro debe tener un nuevo impulso infinito longitud de respuesta (es decir, un nmero infinito de coeficientes), en la prctica un filtro FIR longitud de aproximadamente 79 muestras se ha demostrado proporcionar una adecuada aproximacin (Bobashash y Negro, 1987).

MATLAB APLICACIN
La Fourier a corto plazo de transformacin
La implementacin de los algoritmos de tiempo-frecuencia descrito anteriormente es directa hacia adelante y se ilustra en los ejemplos siguientes. El espectrograma se puede generar con la funcin fft tipo descrita en el Captulo 3, o con un especial funcin de la caja de herramientas de procesamiento de seal, specgram. Los argumentos para specgram(dada en la pgina siguiente) son similares a las utilizadas para pwelch descrito en Captulo 3, aunque el orden es diferente. [B,f,t] = specgram(x,nfft,fs,window,noverlap) donde la salida, B, es una matriz compleja que contiene la magnitud y la fase de el espectro STFT tiempo-frecuencia con la codificacin de las filas del eje del tiempo y las columnas que representan el eje de la frecuencia. Los argumentos de salida opcional, f y T, son vectores de tiempo y frecuencia que pueden ser tiles en el trazado. La entrada argumentos son el vector de datos, x, y el tamao de la transformada de Fourier de ganar- ventana, nfft. Tres argumentos de entrada opcionales incluyen la frecuencia de muestreo, fs, utilizado para calcular los vectores de trazado, la ventana de la funcin deseada, y el nmero de la superposicin de puntos entre las ventanas. La funcin de la ventana es segn se especifica en pwelch: si se da un escalar, entonces una ventana de Hanning que longitud se utiliza. La salida de todos los mtodos tiempo-frecuencia basados en MATLAB es una funcin de dos variables, tiempo y frecuencia, y requiere que sea una de

tres dimensiones parcela o un grfico de contorno de dos dimensiones. Ambos enfoques estn tramando a travs de grficos de MATLAB estndar y se ilustran en el siguiente ejemplo. Ejemplo 6.1 Construir una serie de tiempo que consiste en dos Sinusoides secuencial de 10 y 40 Hz, cada una activa durante 0,5 segundos (ver Figura 6.2). Los sinusoides debe estar precedida y seguida por 0,5 segundos de ausencia de seal (es decir, los ceros). Determinar la magnitud de la STFT y la trama ya que tanto una parcela cuadrcula de tres dimensiones y como un grfico de contorno. No utilice el Procesamiento de Seales de rutina Cuadro de herramientas, sino que se desarrollan cdigo de la STFT. Utilice una ventana Hanning para aislar segmentos de datos. Ejemplo 6.1 utiliza una funcin similar a specgram MATLAB, salvo que la ventana es fijo (Hanning) y todos los argumentos de entrada se debe especificar. Esta funcin, spectog, tiene argumentos similares a los de specgram. El cdigo de esta rutina es la siguiente el programa principal.

% Ejemplo 6.1 y las figuras 6.2, 6.3, y 6.4 % Ejemplo del uso del espectrograma % Utiliza la funcin spectog se indican a continuacin % clear all; close all; % Configure las constantes fs = 500; % Muestra la frecuencia en Hz. N = 1024; % Longitud de la Seal f1 = 10; % Primera frecuencia en Hz f2 = 40; % Segunda Frecuencia en Hz nfft = 64; % Tamao de la ventana noverlap = 32; % Nmero de puntos de superposicin (50%) % % Construir un paso de cambio en la frecuencia tn = (1:N/4)/fs; % Vector de tiempo utilizado para crear sinusoides x = [zeros(N/4,1); sin(2*pi*f1*tn); sin(2*pi*f2*tn)... zeros(N/4,1)]; t = (1:N)/fs; % Vector de tiempo utilizado para graficar plot(t,x,k); ....labels.... % Podra utilizar el specgram rutina de la seal de procesamiento de MATLAB % Caja de herramientas: [b, f, t] specgram (x, nfft, fs, ventana, noverlap), % pero en este ejemplo, utiliza el "spectog" la funcin se muestra a continuacin.

FIGURA 6.3 Grfico de contorno de la STFT de dos sinusoides secuencial. Tenga en cuenta el amplio tiempo y el rango de frecuencia producida por este mtodo de tiempo-frecuencia. La apariencia de la energa en tiempos y frecuencias en las que la energa no existe en la seal original es evidente.

% [B,f,t] = spectog(x,nfft,fs,noverlap); B = abs(B); % Get spectrum magnitude figure; mesh(t,f,B); % Plot Spectrogram as 3-D mesh view(160,40); % Change 3-D plot view axis([0 2 0 100 0 20]); % Example of axis and xlabel(Time (sec)); % labels for 3-D plots ylabel(Frequency (Hz)); figure contour(t,f,B); % Plot spectrogram as contour plot ....labels and axis.... The function spectog is coded as: function [sp,f,t] = spectog(x,nfft,fs,noverlap); % Function to calculate spectrogram % Output arguments % sp spectrogram % t time vector for plotting % f frequency vector for plotting % Input arguments % x data % nfft window size % fs sample frequency % noverlap number of overlapping points in adjacent segments % Uses Hanning window % [N xcol] = size(x); if N < xcol x = x; % Insure that the input is a row N = xcol; % vector (if not already) end incr = nfftnoverlap; % Calculate window increment hwin = fix(nfft/2); % Half window size f = (1:hwin)*(fs/nfft); % Calculate frequency vector % Zero pad data array to handle edge effects x_mod = [zeros(hwin,1); x; zeros(hwin,1)]; % j = 1; % Used to index time vector % Calculate spectra for each window position % Apply Hanning window for i = 1:incr:N data = x_mod(i:i_nfft-1) .* hanning(nfft); ft = abs(fft(data)); % Magnitude data sp(:,j) = ft(1:hwin); % Limit spectrum to meaningful % points t(j) = i/fs; % Calculate time vector j = j _ 1; % Increment index end

Figuras 6.3 y 6.4 muestran que la STFT produce un grfico tiempofrecuencia con el cambio en la frecuencia de paso aproximadamente en el tiempo correcto, aunque ni el cambio de ritmo ni las frecuencias son muy definidos con precisin. La falta de soporte finito en el tiempo o la frecuencia se manifiesta por la aparicin de energa poco antes de 0,5 segundos y un poco despus de 1.5 segundos, y las energas en frecuencias otras de 10 y 40 Hz. En este ejemplo, el tiempo de resolucin es mejor que la resolucin de frecuencia. Al cambiar la ventana de tiempo, el compromiso se-tiempo entre la resolucin y frecuencia puede ser alterado. La exploracin de este comercio fuera se da como un problema al final de este captulo.

Una seal popular que se usa para explorar el comportamiento de los mtodos tiempo-frecuencia es una sinusoide que aumenta en frecuencia con el tiempo. Esta seal se llama una seal chirp por el sonido que hace si se trata como una seal de audio. Una muestra de como una seal se muestra en la Figura 6.5. Esta seal puede ser generada por la multiplicacin del argumento de una funcin seno por un trmino lineal en aumento, como se muestra en ejemplo 6.2. Por otra parte, el Signal Processing Toolbox contiene un especial la funcin de generar un chip que proporciona algunas caractersticas adicionales, tales como logartmica o cambios en la frecuencia de segundo grado. La rutina de chirrido de MATLAB se utiliza en un ltimo ejemplo. La salida de la STFT a una seal chirp se demuestra en Figura 6.6. Ejemplo 6.2 Generar un linealmente creciente ola sinusoidal que vara se- entre 10 y 200 Hz durante un periodo de 1 seg. Analizar este chirrido de la seal mediante e STFT programa utilizado en el ejemplo 6.1. Trazar el espectrograma resulta tanto como 3 - D de la red y como un grfico de contorno. Suponga una frecuencia de muestreo de 500 Hz.
% Example 6.2 and Figure 6.6 % Example to generate a sine wave with a linear change in frequency % Evaluate the timefrequency characteristic using the STFT % Sine wave should vary between 10 and 200 Hz over a 1.0 sec period % Assume a sample rate of 500 Hz % clear all; close all; % Constants N = 512; % Number of points

fs = 500; % Sample freq; f1 = 10; % Minimum frequency f2 = 200; % Maximum frequency nfft = 32; % Window size t = (1:N)/fs; % Generate a time % vector for chirp % Generate chirp signal (use a linear change in freq) fc = ((1:N)*((f2-f1)/N)) _ f1; x = sin(pi*t.*fc); % % Compute spectrogram using the Hanning window and 50% overlap [B,f,t] = spectog(x,nfft,fs,nfft/2); % Code shown above % subplot(1,2,1); % Plot 3-D and contour % side-by-side mesh(t,f,abs(B)); % 3-D plot ....labels, axis, and title.... subplot(1,2,2); contour(t,f,abs(B)); % Contour plot ....labels, axis, and title....

La distribucin de Wigner-Ville
La distribucin de Wigner-Ville proporcionar una imagen mucho ms definitiva de las caractersticas tiempo-frecuencia, pero tambin producen productos cruzados: la energa de tiempo-frecuencia que no est en la seal original, aunque se encuentra dentro los lmites de tiempo y frecuencia de la seal. Ejemplo 6.3 muestra estas propiedades en una seal de que los cambios de frecuencia bruscamente, la misma seal utilizada en Ejemplo 6.1with la STFT. Esto permitir una comparacin directa de los dos mtodos. Ejemplo 6.3 Aplicar la distribucin de Wigner-Ville a la seal de examenejemplo 6.1. Utilice la seal analtica y ofrecer parcelas similares a las del ejemplo 6.1.
% % % % % Example 6.3 and Figures 6.7 and 6.8 Example of the use of the Wigner-Ville distribution Applies the Wigner-Ville to data similar to that of Example 6.1, except that the data has been shortened from 1024 to 512 to improve run time.

% clear all; close all; % Set up constants (same as Example 61) fs = 500; % Sample frequency N = 512; % Signal length f1 = 10; % First frequency in Hz f2 = 40; % Second frequency in Hz

% % Construct a step change in frequency as in Ex. 61 tn = (1:N/4)/fs; x = [zeros(N/4,1); sin(2*pi*f1*tn); sin(2*pi*f2*tn); zeros(N/4,1)]; % % Wigner-Ville analysis x = hilbert(x); % Construct analytic function [WD,f,t] = wvd(x,fs); % Wigner-Ville transformation WD = abs(WD); % Take magnitude mesh(t,f,WD); % Plot distribution

view(100,40); % Use different view ....Labels and axis.... figure contour(t,f,WD); % Plot as contour plot ....Labels and axis.... The function wwd computes the Wigner-Ville distribution. function [WD,f,t] = wvd(x,fs) % Function to compute Wigner-Ville timefrequency distribution % Outputs % WD Wigner-Ville distribution % f Frequency vector for plotting % t Time vector for plotting % Inputs % x Complex signal % fs Sample frequency % [N, xcol] = size(x); if N < xcol % Make signal a column vector if necessary x = x!; % Standard (non-complex) transpose N = xcol; end WD = zeros(N,N); % Initialize output t = (1:N)/fs; % Calculate time and frequency vectors f = (1:N)*fs/(2*N); % % %Compute instantaneous autocorrelation: Eq. (7) for ti = 1:N % Increment over time taumax = min([ti-1,N-ti,round(N/2)-1]); tau = -taumax:taumax; % Autocorrelation: tau is in columns and time is in rows WD(tau-tau(1)_1,ti) = x(ti_tau) .* conj(x(ti-tau)); end % WD = fft(WD);

La ltima seccin del cdigo se utiliza para calcular la autocorrelacin instantnea- cin de funcin y su transformada de Fourier como en la ecuacin. (9c). El bucle for se utiliza para la construccin de una matriz, WD, que contiene la autocorrelacin instantnea en la que cada columna contiene las correlaciones en diversos rezagos de ti con el tiempo,. Cada columna se calcula en un rango de retardos, taumax . La primera declaracin en el bucle restringe la gama de taumax para estar dentro de la seal matriz: utiliza todos los datos que es simtrica disponibles en ambos lados de la variable tiempo, ti. Tenga en cuenta que la fase de la seal de retardo colocados en el documento de matriz vara segn la columna (es decir, el tiempo). Normalmente, esto no importa ya que la transformada de Fourier se tendrn en cada conjunto de grupos de accin local (es decir, cada columna) y slo la magnitud va a ser utilizado. Procedimientos Sin embargo, la fase se ajust adecuadamente antes de trazar el Autocor instantnea- relacin en la Figura 6.1. Despus de la autocorrelacin instantnea se construye, la Transformada de Fourier se toma ms de cada conjunto de rezagos. Tenga en cuenta que si una matriz se presenta a la rutina fft de MATLAB, se calcula la transformada de Fourier para cada colNMS, por lo que la transformada de Fourier se calcula para cada valor en el

tiempo la produccin una funcin de dos dimensiones de tiempo y frecuencia. El Wigner-Ville es particularmente eficaz en la deteccin de sinusoides nico que cambio en la frecuencia con el tiempo, como el chirrido de la seal se muestra en la Figura 6.5 y utilizado en el ejemplo 6.2. Para tales seales, la distribucin de Wigner-Ville produce productos cruzados muy pocos, como se muestra en el ejemplo 6.4. Ejemplo 6.4 Aplicar la distribucin de Wigner-Ville, a una seal chirp la rangos de forma lineal entre 20 y 200 Hz durante un perodo de tiempo de 1 segundo. En este ejemplo, utilizar la rutina chirrido de MATLAB.
% Example 6.4 and Figure 6.9 % Example of the use of the Wigner-Ville distribution applied to % a chirp % Generates the chirp signal using the MATLAB chirp routine % clear all; close all; % Set up constants % Same as Example 6.2 fs = 500; % Sample frequency N = 512; % Signal length f1 = 20; % Starting frequency in Hz f2 = 200; % Frequency after 1 second (end) % inHz % % Construct chirp signal tn = (1:N)/fs;

x = chirp(tn,f1,1,f2); % MATLAB routine % % Wigner-Ville analysis x = hilbert(x); % Get analytic function [WD,f,t] = wvd(x,fs); % Wigner-Villesee code above WD = abs(WD); % Take magnitude

mesh(t,f,WD); % Plot in 3-D .......3D labels, axis, view.......

Si la seal analtica no es usada, entonces el Wigner-Ville genera considerarhbilmente los productos ms cruz. Una demostracin de las ventajas del uso de la analtica es la seal dada en el problema 2 al final del captulo.

Choi-Williams y Otras Distribuciones


Para llevar a cabo otras distribuciones en Cohen`s de clase, vamos a utilizar el enfoque definido por la ecuacin. (13). A raz de la ecuacin. (13), la distribucin deseada se puede obtener por convolucin de la funcin relacionada con la determinacin (Ec. (17)) con la instantnea funcin de autocorrelacin (Rx (t), la ecuacin (7).) luego tomar la transformada de Fourier con respecto a. Como se ha mencionado, esto es simplemente una de dos dimensiones de filtrado de la funcin de autocorrelacin instantnea por el filtro adecuado (es decir, la determi-funcin de la minera), en este caso un filtro exponencial. Clculo de la instantaneidad-funcin de autocorrelacin espontneo ya se ha hecho como parte de la Wigner-Ville clculo. Para facilitar la evaluacin de las otras distribuciones, primero extraer el cdigo de la autocorrelacin instantnea de la funcin de Wigner-Ville, WVD en el ejemplo 6.3, y la convierten en una funcin separada que se puede utilizar para determinar las diferentes distribuciones. Esta funcin se ha denominado int_autocorr, y toma los datos como entrada y produce la funcin de autocorrelacin instantnea como la salida. Estas rutinas estn disponibles en el CD.
function Rx = int_autocorr(x) % Function to compute the instantenous autocorrelation % Output % Rx instantaneous autocorrelation % Input % x signal % [N, xcol] = size(x); Rx = zeros(N,N); % Initialize output % % Compute instantaneous autocorrelation for ti = 1:N % Increment over time taumax = min([ti-1,N-ti,round(N/2)-1]); tau = -taumax:taumax; Rx(tau-tau(1)_1,ti) = x(ti_tau) .* conj(x(ti-tau)); End

Los distintos miembros de la clase de Cohen de las distribuciones de ahora se puede implementado con una rutina general que comienza con la autocorrelacin instantnea funcin, evala la funcin adecuada determinacin, los filtros de la instantnea funcin de autocorrelacin de la funcin de determinar el uso de convolucin, a continuacin, toma la

transformada de Fourier del resultado. La rutina se describe a continuacin, Cohen, toma los datos, el intervalo de la muestra, y un argumento que especifica el tipo de distribu- distribucin deseada y produce la distribucin como una salida a lo largo del tiempo y frecuencia til para trazar vectores. La rutina est configurado para evaluar cuatro diferentes distribuciones: ChoiWilliams, Born-Jordan Cohen, Rihaczek-Marge- nuseas, con la distribucin de Wigner-Ville como predeterminado. La funcin tambin parcelas la determinacin de la funcin seleccionada.
function [CD,f,t] = cohen(x,fs,type) % Function to compute several of Cohens class of timefrequencey % distributions % % Outputs % CD Desired distribution % f Frequency vector for plotting % t Time vector for plotting %Inputs % x Complex signal % fs Sample frequency % type of distribution. Valid arguements are: % choi (Choi-Williams), BJC (Born-Jorden-Cohen); % and R_M (Rihaczek-Margenau) Default is Wigner-Ville % % Assign constants and check input sigma = 1; % Choi-Williams constant L = 30; % Size of determining function % [N, xcol] = size(x); if N < xcol % Make signal a column vector if x = x; % necessary N = xcol; end t = (1:N)/fs; % Calculate time and frequency f = (1:N) *(fs/(2*N)); % vectors for plotting % % Compute instantaneous autocorrelation: Eq. (7) CD = int_autocorr(x); if type(1) = = c % Get appropriate determining % function G = choi(sigma,L); % Choi-Williams elseif type(1) = = B G = BJC(L); % Born-Jorden-Cohen elseif type(1) = = R G = R_M(L); % Rihaczek-Margenau else G = zeros(N,N); % Default Wigner-Ville G(N/2,N/2) = 1; end % figure mesh(1:L-1,1:L-1,G); % Plot determining function xlabel(N); ylabel(N); % and label axis zlabel(G(,N,N)); % % Convolve determining function with instantaneous % autocorrelation CD = conv2(CD,G); % 2-D convolution CD = CD(1:N,1:N); % Truncate extra points produced % by convolution

% % Take FFT again, FFT taken with respect to columns CD = flipud(fft(CD)); % Output distribution

El cdigo para producir la Choi-Williams determinar la funcin es una recta adelante la aplicacin de G (t) en la ecuacin. (17) como se muestra a continuacin. La funcin es generado por slo el primer cuadrante, entonces duplicado en los otros cuadrantes. La propia funcin se representa en la figura 6.10. El cdigo para otras funciones que determinen sigue la misma estructura general y se puede encontrar en el software de acompaar-cin de este texto.
function G = choi(sigma,N) % Function to calculate the Choi-Williams distribution function % (Eq. (17) G(1,1) = 1; % Compute one quadrant then expand for j = 2:N/2 wt = 0; for i = 1:N/2 G(i,j) = exp(-(sigma*(i-1)v2)/(4*(j-1)v2)); wt = wt _ 2*G(i,j); end

LLEGE HASTA LA PAG 23

También podría gustarte