Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

wvd

Distribución Wigner-Ville y distribución suavizada pseudo Wigner-Ville

Descripción

ejemplo

d = wvd(x) devuelve la distribución Wigner-Ville de .x

ejemplo

d = wvd(x,fs) devuelve la distribución Wigner-Ville cuando se muestrea a una velocidad.xfs

ejemplo

d = wvd(x,ts) devuelve la distribución Wigner-Ville cuando se muestrea con un intervalo de tiempo entre las muestras.xts

d = wvd(___,'smoothedPseudo') devuelve la distribución suavizada pseudo Wigner-Ville de .x La función utiliza la longitud de la señal de entrada para elegir las longitudes de las ventanas utilizadas para el suavizado de tiempo y frecuencia. Esta sintaxis puede incluir cualquier combinación de argumentos de entrada de sintaxis anteriores.

ejemplo

d = wvd(___,'smoothedPseudo',twin,fwin) especifica la ventana de tiempo, , y la ventana de frecuencia, , utilizada para suavizar.twinfwin Para utilizar la ventana predeterminada para el suavizado de tiempo o frecuencia, especifique el argumento correspondiente como vacío, .[]

ejemplo

d = wvd(___,'smoothedPseudo',Name,Value) especifica opciones adicionales para la distribución suavizada pseudo Wigner-Ville utilizando argumentos de par nombre-valor. Puede especificar y en esta sintaxis, o puede omitirlos.twinfwin

ejemplo

d = wvd(___,'MinThreshold',thresh) establece en cero aquellos elementos cuya amplitud es menor que .dthresh Esta sintaxis se aplica tanto a la distribución Wigner-Ville como a la distribución saqueada de pseudo Wigner-Ville.

ejemplo

[d,f,t] = wvd(___) también devuelve un vector de frecuencias, , y un vector de tiempos, , en el que se calcula.ftd

wvd(___) sin argumentos de salida traza la distribución Wigner-Ville o pseudo Wigner-Ville suavizada en la figura actual.

Ejemplos

contraer todo

Genere un impulso de 1000 muestras y un tono de 1000 muestras con frecuencia normalizada

<math display="inline">
<mrow>
<mrow>
<mrow>
<mi>π</mi>
</mrow>
<mo>/</mo>
<mrow>
<mn>2</mn>
</mrow>
</mrow>
</mrow>
</math>
. Calcular la distribución Wigner-Ville de la suma de las dos señales.

x = zeros(1001,1); x(500) = 10;  y = sin(pi*(0:1000)/2)';  [d,f,t] = wvd(x+y);

Traza la distribución Wigner-Ville.

imagesc(t,f,d) axis xy colorbar

Reproduzca el resultado llamando sin argumentos de salida.wvd

wvd(x+y)

Generar una señal que consiste en un sinusoides de 200 Hz muestreado a 1 kHz durante 1,5 segundos.

fs = 1000; t = (0:1/fs:1.5)'; x = cos(2*pi*t*200);

Calcular la distribución Wigner-Ville de la señal.

wvd(x,fs)

Añadir a la señal un chirrido cuya frecuencia varía sinusoidalmente entre 250 Hz y 450 Hz. Convierta la señal en un horario MATLAB®. Calcular la distribución Wigner-Ville.

x = x + vco(cos(2*pi*t),[250 450],fs); xt = timetable(seconds(t),x);  wvd(xt)

Establezca en cero los elementos de distribución con una amplitud inferior a 0.

wvd(xt,'MinThreshold',0)

Genere una señal muestreada a 1 kHz durante 1 segundo. Un componente de la señal es un chirrido que aumenta en frecuencia cuadráticamente de 100 Hz a 400 Hz durante la medición. El otro componente de la señal es un chirrido que disminuye en frecuencia linealmente de 350 Hz a 50 Hz en el mismo lapso.

Almacene la señal en un horario.

fs = 1000; t = 0:1/fs:1-1/fs;  x = chirp(t,100,1,400,'quadratic') + chirp(t,350,1,50);

Calcular la distribución Wigner-Ville de la señal.

wvd(x,fs)

Calcular la distribución suavizada pseudo Wigner-Ville de la señal. Especifique 201 puntos de frecuencia y 502 puntos de tiempo.

wvd(x,fs,'smoothedPseudo','NumFrequencyPoints',201,'NumTimePoints',502)

Aumente el número de puntos de tiempo para que el chirrido cuadrático se vuelva visible.

wvd(x,fs,'smoothedPseudo','NumFrequencyPoints',201,'NumTimePoints',522)

Aumente los puntos de frecuencia y los puntos de tiempo para obtener una imagen más nítida.

wvd(x,fs,'smoothedPseudo','NumFrequencyPoints',1000,'NumTimePoints',1502)

Genere una señal de dos componentes muestreada a 3 kHz durante 1 segundo. El primer componente es un chirp cuadrático cuya frecuencia aumenta de 300 Hz a 1300 Hz durante la medición. El segundo componente es un chirrido con contenido de frecuencia sinusoidalmente variable. La señal está incrustada en ruido gaussiano blanco. Exprese el tiempo entre muestras consecutivas como escalar.duration

fs = 3000; t = 0:1/fs:1-1/fs; dt = seconds(t(2)-t(1));  x1 = chirp(t,300,t(end),1300,'quadratic'); x2 = exp(2j*pi*100*cos(2*pi*2*t));  x = x1 + x2 + randn(size(t))/10;

Calcular y trazar el pseudo Wigner Ville suavizado de la señal. Adelanta la distribución en el tiempo usando una ventana Hamming de 601 muestras y en frecuencia usando una ventana rectangular de 305 muestras. Utilice 600 puntos de frecuencia para la pantalla. Establezca en cero aquellos componentes de la distribución con una amplitud inferior a

<math display="inline">
<mrow>
<mo>-</mo>
<mn>50</mn>
</mrow>
</math>
.

wvd(x,dt,'smoothedPseudo',hamming(601),rectwin(305), ...     'NumFrequencyPoints',600,'MinThreshold',-50)

Generar una señal compuesta por cuatro átomos gaussianos. Cada átomo consiste en un sinusoides modulado por un gaussiano. Los sinusoides tienen frecuencias de 100 Hz y 400 Hz. Los gaussianos se centran en 150 milisegundos y 350 milisegundos y tienen una varianza de

<math display="inline">
<mrow>
<mn>0</mn>
<mo>.</mo>
<msup>
<mrow>
<mn>01</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
</mrow>
</math>
. Todos los átomos tienen amplitud de unidad. La señal se muestrea a 1 kHz durante medio segundo.

fs = 1000; t = (0:1/fs:0.5)';  f1 = 100; f2 = 400;  mu1 = 0.15; mu2 = 0.35;  gaussFun = @(A,x,mu,f) exp(-(x-mu).^2/(2*0.01^2)).*sin(2*pi*f.*x)*A';  s = gaussFun([1 1 1 1],t,[mu1 mu1 mu2 mu2],[f1 f2 f1 f2]);

Calcular y mostrar la distribución Wigner-Ville de la señal. Los términos de interferencia, que pueden tener valores negativos, aparecen a medio camino entre cada par de términos automáticos.

wvd(s,fs)

Calcular y mostrar la distribución suavizada pseudo Wigner-Ville de la señal. El suavizado en tiempo y frecuencia atenúa los términos de interferencia.

wvd(s,fs,'SmoothedPseudo')

Argumentos de entrada

contraer todo

Señal de entrada, especificada como un vector o un calendario que contiene una sola variable vectorial.MATLAB®

Si la señal de entrada tiene una longitud impar, la función añade un cero para hacer que la longitud sea par.

Ejemplo: especifica un sinusoides incrustado en el ruido blanco.cos(pi/8*(0:159))'+randn(160,1)/10

Ejemplo: especifica una variable aleatoria muestreada a 1 Hz durante 5 segundos.timetable(seconds(0:5)',rand(6,1))

Tipos de datos: single | double
Soporte de números complejos:

Frecuencia de muestreo, especificada como escalar numérico positivo.

Tiempo de muestra, especificado como escalar.duration

Ventanas de tiempo y frecuencia utilizadas para suavizar, especificadas como vectores de longitud impar. De forma predeterminada, utiliza ventanas Kaiser con factor de formawvd β = 20.

  • La longitud predeterminada de es el entero impar más pequeño mayor o igual quetwin round(length(x)/10).

  • La longitud predeterminada de es el entero impar más pequeño mayor o igual quefwin nf/4, donde se especifica mediante .nfNumFrequencyPoints

Cada ventana debe tener una longitud menor o igual que 2*ceil(length(x)/2).

Ejemplo: kaiser(65,0.5) especifica una ventana Kaiser de 65 muestras con un factor de forma de 0,5.

Valor mínimo distinto de cero, especificado como un escalar real. La función establece en cero aquellos elementos cuyas amplitudes son menores que .dthresh

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: calcula la distribución Wigner-Ville en 201 puntos de frecuencia y 300 puntos de tiempo.'NumFrequencyPoints',201,'NumTimePoints',300

Número de puntos de frecuencia, especificado como el par separado por comas que consta de y un entero.'NumFrequencyPoints' Este argumento controla el grado de sobremuestreo en frecuencia. El número de puntos de frecuencia debe ser al menos (length(fwin)+1)/2 y no puede ser mayor que el valor predeterminado.

Número de puntos de tiempo, especificado como el par separado por comas que consta de un entero par.'NumTimePoints' Este argumento controla el grado de sobremuestreo en el tiempo. El número de puntos de tiempo debe ser al menos 2*length(twin) y no puede ser mayor que el valor predeterminado. Si la señal de entrada es grande, reduzca el número de puntos de tiempo para reducir los requisitos de memoria y acelerar el cálculo.

Argumentos de salida

contraer todo

Distribución Wigner-Ville, devuelta como matriz. El tiempo aumenta en las columnas de , y la frecuencia aumenta en las filas.d La matriz es de tamaño Nf × NtDónde Nf es la longitud de yf Nt es la longitud de .t

Frecuencias, devueltas como vector.

  • Si la entrada tiene información de tiempo, contiene frecuencias expresadas en Hz.f

  • Si la entrada no tiene información de tiempo, contiene frecuencias normalizadas expresadas en rad/sample.f

Instantáneas de tiempo, devueltas como vector.

  • Si la entrada tiene información de tiempo, contiene valores de tiempo expresados en segundos.t

  • Si la entrada no tiene información de tiempo, contiene números de ejemplo.t

Más acerca de

contraer todo

Distribución De Wigner-Ville

El proporciona una representación de frecuencia de tiempo de alta resolución de una señal.Distribución Wigner-Ville La distribución tiene aplicaciones en visualización, detección y estimación de señales.

Para una señal continua x(t), la distribución Wigner-Ville se define como

WVDx(t,f)=x(t+τ2)x*(tτ2)ej2πfτdτ.

Para una señal discreta con muestras, la distribución se convierte enN

WVDx(n,k)=m=NNx(n+m/2)x*(nm/2)ej2πkm/N.

Para los valores impares de , la definición requiere la evaluación de la señal en valores de muestra de medio entero.m Por lo tanto, requiere interpolación, lo que hace necesario realizar cero la transformación discreta de Fourier para evitar el alias.

La distribución Wigner-Ville contiene términos de interferencia que a menudo complican su interpretación. Para afilar la distribución, se puede filtrar la definición con ventanas de paso bajo. La distribución suavizada pseudo Wigner-Ville utiliza ventanas independientes para suavizar el tiempo y la frecuencia:

SPWVDxg,H(t,f)=g(t)H(f)x(t+τ2)x*(tτ2)ej2πfτdτ.

Referencias

[1] Cohen, Leon. Time-Frequency Analysis: Theory and Applications. Englewood Cliffs, NJ: Prentice-Hall, 1995.

[2] Mallat, Stéphane. A Wavelet Tour of Signal Processing. Second Edition. San Diego, CA: Academic Press, 1999.

[3] O'Toole, John M., and Boualem Boashash. "Fast and memory-efficient algorithms for computing quadratic time-frequency distributions." Applied and Computational Harmonic Analysis. Vol. 35, No. 2, pp. 350–358.

Capacidades ampliadas

Consulte también

Funciones

Introducido en R2018b