Main Content

kurtogram

Visualizar la curtosis espectral

Descripción

ejemplo

kgram = kurtogram(x) devuelve el rápido vector de señal como matriz. utiliza la frecuencia normalizada (que abarca el vector de frecuencia espaciado uniformemente [0o]) para calcular los valores de tiempo.kurtogramkgramxkurtogram

ejemplo

kgram = kurtogram(x,sampx) devuelve el rápido vector de señal muestreado a velocidad o intervalo de tiempo, como matriz.kurtogramxsampx

kgram = kurtogram(xt) devuelve el ayuno del calendario como matriz.kurtogramkgramxt

ejemplo

kgram = kurtogram(___,level) devuelve el ayuno utilizando un archivo . determina el nivel de resolución de la ventana a utilizar y, por lo tanto, cuántos casos de curtosis espectral se deben calcular.kurtogramlevellevel

ejemplo

[kgram,f,w,fc,wc,bw] = kurtogram(___) devuelve el rápido junto con un conjunto de parámetros que puede utilizar para el diseño de filtro de paso de banda de seguimiento y la curtosis espectral:kurtogram

  • — Vector de frecuencia parafkgram

  • — Vector de tamaño de ventana parawkgram

  • — Frecuencia en la que se encuentra la curtosis espectral máximafc

  • — Tamaño de la ventana en la que se encuentra la curtosis espectral máxima en el kurtogramawc

  • — Ancho de banda sugerido para el filtro de paso de banda óptimobw

Puede utilizar esta sintaxis con cualquiera de los argumentos de entrada en sintaxis anteriores.

kurtogram(___) traza el kurtogram, junto con parámetros clave de optimización críticos, sin devolver ningún dato. Puede utilizar esta sintaxis con cualquiera de los argumentos de entrada en sintaxis anteriores.

Ejemplos

contraer todo

Calcular el kurtogramde de una señal no estacionaria. Compare diferentes ajustes de nivel para el kurtogram. Examine un kurtogramo que utilice frecuencia normalizada. Utilice el kurtogrampara para proporcionar ajustes de filtro que se pueden utilizar para preprocesar la señal para mejorar la detección transitoria.

Genere una señal con un componente chirp y ruido gaussiano blanco.

fs = 1000; t = 0:1/fs:10; f1 = 300; f2 = 400; xc = chirp(t,f1,10,f2); x = xc+randn(1,length(t));

Trazar el kurtograma utilizando la frecuencia de muestreo .fs

kurtogram(x,fs)

El kurtogrammuestra muestra los resultados de la kurtosis para un rango de longitudes de ventana y frecuencias. Un alto nivel de kurtosis corresponde a un alto nivel de comportamiento no estacionario o no gaussiano. El pico kurtosis se proporciona en el texto en la parte superior, junto con la longitud de la ventana y la frecuencia central asociada con él. El ancho de banda es una función de la longitud de la ventana.

Explora los efectos de reducir el nivel máximo a 5.

level = 5; kurtogram(x,fs,level)

La resolución más baja es aparente y conduce a un valor de kurtosis pico más bajo y una frecuencia central desplazada.

Ahora trace la kurtosis sin especificar la frecuencia de muestreo o el tiempo.

kurtogram(x)

El kurtograma ahora se muestra con frecuencia normalizada.

Los parámetros de la parte superior de la gráfica proporcionan recomendaciones para un filtro de paso de banda que se podría utilizar para prefiltrar los datos y mejorar la diferenciación del componente no estacionario. También puede devolver estos valores para que se puedan introducir más directamente en las funciones de filtrado o kurtosis espectral.kurtogram

[kgram,f,w,fc,wc,bw] = kurtogram(x); wc
wc = 256 
fc
fc = 2.4421 
bw
bw = 0.0245 

Estos valores coinciden con el tamaño óptimo de la ventana, la frecuencia central y el ancho de banda de la primera gráfica. es la matriz de kurtogramas real, y son los vectores de frecuencia y tamaño de ventana que la acompañan.kgramfw

La función utiliza el tamaño de ventana predeterminado (resolución de tiempo).pkurtosispspectrum Puede especificar el tamaño de la ventana que se utilizará en su lugar. En este ejemplo, utilice la función para devolver un tamaño de ventana óptimo y use ese resultado para .kurtogrampkurtosis

Cree una señal chirp con ruido gaussiano blanco.

fs = 1000; t = 0:1/fs:10; f1 = 300; f2 = 400; x = chirp(t,f1,10,f2)+randn(1,length(t));

Trazar la curtosis espectral con el tamaño de ventana predeterminado.

pkurtosis(x,fs) title('Spectral Kurtosis with Default Window Size')

Ahora calcule el tamaño de ventana óptimo usando .kurtogram

kurtogram(x,fs)

La gráfica de kurtogram asimismo también ilustra el chirrido entre 300 y 400 Hz, y muestra que el tamaño óptimo de la ventana es 256. Alimentar en .w0pkurtosis

w0 = 256; pkurtosis(x,fs,w0) title('Spectral Kurtosis with Optimum Window Size of 256')

La excursión principal tiene valores de kurtosis más altos. Los valores más altos mejoran la diferenciación entre componentes estacionarios y no estacionarios, y mejoran su capacidad de extraer el componente no estacionario como una operación.

Argumentos de entrada

contraer todo

Señal de serie temporal para la que devuelve el kurtogram rápido, especificado como vector.kurtogram

Frecuencia de muestreo o tiempo de muestreo, especificado como uno de los siguientes:

  • Escalar numérico positivo — Frecuencia en hercios

  • escalar — Intervalo de tiempo entre muestras consecutivas dedurationX

  • Vector, matriz o matriz — Tiempo instantáneo o duración correspondiente a cada elemento dedurationdatetimex

Para obtener un ejemplo, consulte .Calcular el kurtogramo de una señal no estacionaria

Cuando representa un vector de tiempo, las muestras de tiempo pueden ser no uniformes, con la restricción de que el intervalo de tiempo medio y el intervalo de tiempo medio deben obedecer:sampxpspectrum

1100<Median time intervalMean time interval<100.

Si especifica como vacío, utiliza la frecuencia normalizada.sampxkurtogram En otras palabras, asume un vector de frecuencia espaciado uniformemente que abarca [0o].

Horario de señal desde el que devuelve el kurtogram rápido, especificado como un que contiene una sola variable con una sola columna. debe contener tiempos de fila crecientes y finitos.kurtogramtimetablext Si el horario tiene puntos de tiempo perdidos o duplicados, puede corregirlo usando las sugerencias de . puede ser muestreado de forma no uniforme, con la restricción de que el intervalo de tiempo medio y el intervalo de tiempo medio deben obedecer:Clean Timetable with Missing, Duplicate, or Nonuniform Timesxtpspectrum

1100<Median time intervalMean time interval<100.

Nivel máximo de kurtogram, que impulsa el número de casos a calcular, especificado como un entero positivo. El nivel controla los tamaños de ventana de frecuencia que utilizan y, por lo tanto, la resolución de frecuencia.kurtogram A medida que la resolución de frecuencia, sube, la resolución de tiempo baja. La estimación de la curtosis espectral será pobre si cualquiera de las dos resoluciones es demasiado baja. Cuando especifique , equilibre el impacto en la resolución de tiempo y frecuencia.level

Argumentos de salida

contraer todo

Kurtogramrápido rápido, devuelto como una matriz con dimensiones definidas por . tiene 2* filas y 3* 2levelkgramlevellevel Columnas. Cada fila de la matriz representa los resultados de la kurtosis espectral para cada elemento del vector de frecuencia y para el tamaño de ventana definido por la posición de la fila, con respecto a la secuencia:

[0,1,log2(3),2,1+log2(3),3,3+log2(3),...,n,n+log2(3),...,level],

donde el tamaño de ventana equivalente para un nivel es 2nn+1 Muestras.

Vector de frecuencia asociado a , devuelto como vector.kgram La longitud de es igual al número de columnas en .fkgram

Vector de tamaño de ventana asociado a , devuelto como vector.kgram La longitud de es igual al número de columnas en .fkgram

Frecuencia del valor máximo de kurtosis espectral en , devuelto como un escalar:kgram

  • En rad/segundo, si no ha especificado , haciendo que utilice la frecuencia normalizadasampxkurtogram

  • En hercios, si se definesampx

Puede utilizar como frecuencia central para un filtro de paso de banda óptimo que maximice la kurtosis de la envolvente de la señal filtrada.fc Maximizar la kurtosis de envolvente le permite extraer más fácilmente el componente impulsivo resultante como una característica.

Tamaño de ventana del valor máximo de kurtosis espectral en , devuelto como un escalar en las muestras.kgram Puede utilizar para proporcionar el tamaño de ventana óptimo para .wcpkurtosis Para obtener un ejemplo, consulte .Trazar kurtosis espectral usando un tamaño de ventana personalizado

Ancho de banda sugerido para el filtro de paso de banda óptimo, devuelto como escalar:

  • En rad/segundo, si no ha especificado , haciendo que utilice la frecuencia normalizadasampxkurtogram

  • En hercios, si ha especificadosampx

Puede utilizar para crear un filtro que maximice la kurtosis de la envolvente de la señal filtrada. es igual a / , donde está la frecuencia de muestra de señal que deriva de .bwbwfxwcfxkurtogramsampx

Más acerca de

contraer todo

Kurtograma

La función proporciona información clave que puede utilizar al realizar el análisis mediante . calcula la curtosis espectral para múltiples tamaños de ventana utilizando un algoritmo de kurtogram rápido.kurtogramKurtosis espectralpkurtosiskurtogram Junto con el kurtogram y sus vectores de frecuencia y ventana asociados, devuelve el tamaño óptimo de la ventana y otros parámetros de ajuste de filtro.kurtogram Y puede visualizar los resultados de sus cálculos.

El algoritmo de kurtogram rápido utiliza el filtrado de paso de banda junto con un cálculo simplificado para aproximar la kurtosis espectral para cada tamaño y frecuencia de la ventana en lugar de calcular la transformación de Fourier (STFT) de corta duración como lo hace la mayor fidelidad.pkurtosis También reduce el número de iteraciones que el algoritmo requiere para abarcar el plano de ventana de frecuencia en relación con el kurtogram completo.[1]

Referencias

[1] Antoni, J., and R. B. Randall. "Fast Computation of the Kurtogram for the Detection of Transient Faults." Mechanical Systems and Signal Processing . Vol. 20, Issue 1, 2007, pp. 108–124.

Consulte también

| |

Introducido en R2018a