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.

rpmordermap

Mapa Order-RPM para el análisis de pedidos

Descripción

ejemplo

map = rpmordermap(x,fs,rpm) devuelve la matriz de mapa order-RPM, que resulta de realizar el análisis de orden en el vector de entrada, . se mide a un conjunto de velocidades de rotación expresadas en revoluciones por minuto. es la frecuencia de muestreo de medición en Hz.mapxxrpmfs Cada columna de contiene estimaciones de amplitud de la media de la raíz (RMS) de las órdenes presentes en cada valor. remuestrea a una velocidad constante de muestras por ciclo y utiliza la transformación de Fourier de corto tiempo para analizar el contenido espectral de la señal remuestreada.maprpmrpmordermapx

ejemplo

map = rpmordermap(x,fs,rpm,res) especifica la resolución de pedidos del mapa en unidades de órdenes.

ejemplo

map = rpmordermap(___,Name,Value) especifica las opciones mediante pares además de los argumentos de entrada en sintaxis anteriores.Name,Value

[map,order,rpm,time,res] = rpmordermap(___) devuelve vectores con las órdenes, las velocidades de rotación y los instantes de tiempo en los que se calcula el mapa de pedidos. También devuelve la resolución de pedido utilizada.

ejemplo

rpmordermap(___) sin argumentos de salida traza el mapa de orden como una función de velocidad y tiempo de rotación en una figura interactiva.

Ejemplos

contraer todo

Cree una señal simulada muestreada a 600 Hz durante 5 segundos. El sistema que se está probando aumenta su velocidad de rotación de 10 a 40 revoluciones por segundo durante el período de observación.

Genere las lecturas del tacómetro.

fs = 600; t1 = 5; t = 0:1/fs:t1;  f0 = 10; f1 = 40; rpm = 60*linspace(f0,f1,length(t));

La señal consta de cuatro chirridos relacionados armónicamente con las órdenes 1, 0.5, 4 y 6. El chirp order-4 tiene el doble de amplitud que los demás. Para generar los chirridos, utilice la regla trapezoidal para expresar la fase como la integral de la velocidad de rotación.

o1 = 1; o2 = 0.5; o3 = 4; o4 = 6;  ph = 2*pi*cumtrapz(rpm/60)/fs;  x = [1 1 2 1]*cos([o1 o2 o3 o4]'*ph);

Visualice el mapa order-RPM de la señal.

rpmordermap(x,fs,rpm)

Analizar datos simulados de un acelerómetro colocado en la cabina de un helicóptero.

Cargue los datos del helicóptero. Las mediciones vibratorias, , se muestrean a una velocidad de 500 Hz durante 10 segundos.vib La inspección de los datos revela que tiene una tendencia lineal. Elimine la tendencia para evitar que degrade la calidad de la estimación de la orden.

load('helidata.mat')  vib = detrend(vib);

Trazar el perfil de RPM no lineal. El rotor sube hasta alcanzar una velocidad de rotación máxima de unas 27.600 revoluciones por minuto y luego baja la costa.

plot(t,rpm) xlabel('Time (s)') ylabel('RPM')

Calcular el mapa order-RPM. Especifique una resolución de pedido de 0.015.

[map,order,rpmOut,time] = rpmordermap(vib,fs,rpm,0.015);

Visualice el mapa.

imagesc(time,order,map) ax = gca; ax.YDir = 'normal'; xlabel('Time (s)') ylabel('Order')

Repita el cálculo utilizando una resolución de orden más fina. Trazar el mapa utilizando la funcionalidad integrada de .rpmordermap Las órdenes inferiores se resuelven con mayor claridad.

rpmordermap(vib,fs,rpm,0.005)

Generar una señal que consta de dos chirridos lineales y un chirrido cuadrático, todos muestreados a 600 Hz durante 5 segundos. El sistema que produce la señal aumenta su velocidad de rotación de 10 a 40 revoluciones por segundo durante el período de prueba.

Genere las lecturas del tacómetro.

fs = 600; t1 = 5; t = 0:1/fs:t1;  f0 = 10; f1 = 40; rpm = 60*linspace(f0,f1,length(t));

Los chirridos lineales tienen órdenes 1 y 2.5. El componente con la orden 1 tiene el doble de amplitud que el otro. El chirrido cuadrático comienza en la orden 6 y vuelve a esta orden al final de la medición. Su amplitud es de 0,8. Cree la señal usando esta información.

o1 = 1; o2 = 2.5; o6 = 6;  x = 2*chirp(t,o1*f0,t1,o1*f1)+chirp(t,o2*f0,t1,o2*f1) + ...     0.8*chirp(t,o6*f0,t1,o6*f1,'quadratic');

Calcular el mapa order-RPM de la señal. Utilice la amplitud máxima en cada celda de medición. Especifique una resolución de 0,25 órdenes. Ventana los datos con una ventana Chebyshev cuya atenuación del lóbulo lateral es de 80 dB.

[map,or,rp] = rpmordermap(x,fs,rpm,0.25, ...     'Amplitude','peak','Window',{'chebwin',80});

Dibuje el mapa order-RPM como un trazado de cascada.

[OR,RP] = meshgrid(or,rp); waterfall(OR,RP,map')  view(-15,45) xlabel('Order') ylabel('RPM') zlabel('Amplitude')

Trazar un mapa de RPM de orden interactivo llamando sin argumentos de salida.rpmordermap

Cargue el archivo, que contiene datos vibratorios simulados de un acelerómetro colocado en la cabina de un helicóptero.helidata.mat Los datos se muestrean a una velocidad de 500 Hz durante 10 segundos. Elimine la tendencia lineal de los datos. Llame para generar una gráfica interactiva del mapa order-RPM.rpmordermap Especifique una resolución de pedido de 0.005 pedidos.

load helidata.mat rpmordermap(detrend(vib),fs,rpm,0.005)

Consulte una descripción más detallada de la gráfica DE tiempo RPM-vs.en la parte inferior de la figura.Algoritmos

Mueva los cursores en cruz en la figura para determinar las RPM y la amplitud RMS en la orden 0.053 después de 6 segundos.

Haga clic en el botónZoom Xen la barra de herramientas para ampliar la región de tiempo entre 2 y 4 segundos. El rectángulo gris en el gráfico RPM-vs.time muestra la región de interés. Puede deslizar esta región para desplazarse por el tiempo.

Haga clic en el botónWaterfall Plotpara mostrar el mapa order-RPM como una gráfica de cascada. Para mejorar la visibilidad, gire el trazado en el sentido de las agujas del reloj con el botónRotate Lefttres veces. Mueva el panoramizador al intervalo entre 5 y 7 segundos.

Argumentos de entrada

contraer todo

Señal de entrada, especificada como vector de fila o columna.

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

Tipos de datos: double | single

Frecuencia de muestreo, especificada como un escalar positivo expresado en Hz.

Tipos de datos: double | single

Velocidades de rotación, especificadas como un vector de valores positivos expresados en revoluciones por minuto. debe tener la misma longitud que .rpmx

  • Si tiene una señal de pulso de tacómetro, úsela para extraer directamente.tachorpmrpm

  • Si no tiene una señal de pulso de tacómetro, úselo para extraer de una señal de vibración.rpmtrackrpm

Ejemplo: especifica que un sistema gira inicialmente a 100 revoluciones por minuto y ejecuta hasta 3000 revoluciones por minuto en incrementos de 10.100:10:3000

Tipos de datos: double | single

Resolución de orden del mapa order-RPM, especificado como un escalar positivo. Si no se especifica, se establece en la frecuencia de muestreo de la señal de muestras constantes por ciclo dividida por 256.resrpmordermap Si la señal de entrada remuestreada no es lo suficientemente larga, la función utiliza toda la longitud de la señal remuestreada para calcular una estimación de orden única.

Tipos de datos: single | double

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: especifica que las estimaciones del mapa de orden se escalarán en decibelios y se determinarán mediante una ventana Hann.'Scale','dB','Window','hann'

Amplitudes de mapa Order-RPM, especificadas como el par separado por comas que consta de y uno de , , o .'Amplitude''rms''peak''power'

  • — Devuelve la amplitud de la raíz-media-cuadrada para cada orden estimada.'rms'

  • — Devuelve la amplitud máxima para cada orden estimada.'peak'

  • : devuelve el nivel de potencia para cada orden estimada.'power'

Porcentaje de superposición entre segmentos adyacentes, especificado como el par separado por comas que consta de y un escalar de 0 a 100.'OverlapPercent' Un valor de 0 significa que los segmentos adyacentes no se superponen. Un valor de 100 significa que los segmentos adyacentes se desplazan por una muestra. Un porcentaje de superposición mayor produce un mapa más suave, pero aumenta el tiempo de cálculo. Consulte para obtener más información.Algoritmos

Tipos de datos: double | single

Escalado de mapa Order-RPM, especificado como el par separado por comas que consta de y uno o .'Scale''linear''dB'

  • : devuelve un mapa de escala lineal.'linear'

  • : devuelve un mapa logarítmico con valores expresados en decibelios.'dB'

Ventana de análisis, especificada como el par separado por comas que consta de y uno de estos valores:'Window'

  • especifica una ventana superior plana.'flattopwin' Consulte para obtener más detalles.flattopwin

  • especifica una ventana Chebyshev.'chebwin' Utilice una matriz de celdas para especificar una atenuación del lóbulo lateral en decibelios. La atenuación del lóbulo lateral debe ser superior a 45 dB. Si no se especifica, el valor predeterminado es 100 dB. Consulte para obtener más detalles.chebwin

  • especifica una ventana Hamming.'hamming' Consulte para obtener más detalles.hamming

  • especifica una ventana Hann.'hann' Consulte para obtener más detalles.hann

  • especifica una ventana Kaiser.'kaiser' Utilice una matriz de celdas para especificar un parámetro shape, .β El parámetro shape debe ser un escalar positivo. Si no se especifica, el valor predeterminado es 0,5. Consulte para obtener más detalles.kaiser

  • especifica una ventana rectangular.'rectwin' Consulte para obtener más detalles.rectwin

Ejemplo: especifica una ventana de Chebyshev con una atenuación de lóbulo lateral de 100 dB.'Window','chebwin'

Ejemplo: especifica una ventana de Chebyshev con una atenuación de lóbulo lateral de 60 dB.'Window',{'chebwin',60}

Ejemplo: especifica una ventana Kaiser con un parámetro de forma de 0,5.'Window','kaiser'

Ejemplo: especifica una ventana Kaiser con un parámetro de forma de 1.'Window',{'kaiser',1}

Tipos de datos: char | string | cell

Argumentos de salida

contraer todo

Mapa Order-RPM, devuelto como matriz.

Pedidos, devueltos como vector.

Velocidades de rotación, devueltas como vector.

Instantáneas de tiempo, devueltas como vector.

Resolución de pedidos, devuelta como escalar.

Algoritmos

El análisis de pedidos es el estudio de vibraciones en sistemas giratorios que resultan de la rotación en sí. Las frecuencias de estas vibraciones son a menudo proporcionales a la velocidad de rotación. Las constantes de proporcionalidad son el archivo .Órdenes

La velocidad de rotación se mide generalmente de forma independiente y cambia con el tiempo en la mayoría de las condiciones experimentales. El análisis adecuado de las vibraciones inducidas por la rotación requiere el remuestreo e interpolación de la señal medida para lograr un número constante de muestras por ciclo. A través de este proceso, los componentes de señal cuyas frecuencias son múltiplos constantes de la velocidad de rotación se transforman en tonos constantes. La transformación reduce el frotis de los componentes espectrales que se produce cuando la frecuencia cambia rápidamente con el tiempo.

La función realiza estos pasos:rpmordermap

  1. Utiliza para estimar el ángulo de fase como la integral de tiempo de la velocidad de rotación:cumtrapz

    ϕ(t)=0tRPM(τ)60dτ.

  2. Se utiliza para subir la muestra y el filtro de paso bajo de la señal.resample Este paso permite a la función interpolar la señal en puntos de tiempo no muestreados sin alias de los componentes de alta frecuencia. upsamples de la señal por un factor de 15.rpmordermap

  3. Se utiliza para interpolar la señal de muestreo ascendente linealmente en una cuadrícula uniforme en el dominio de fase.interp1 El orden accesible más alto en una medición se fija por la frecuencia de muestreo y la velocidad de rotación más alta alcanzada por el sistema:

    Omax=fs/2max(RPM60).

    Para capturar este orden más alto con precisión, es necesario muestrear la señal al doble Omax al menos. Para obtener mejores resultados, sobremuestrea por un factor adicional de 4.rpmordermap La frecuencia de muestreo de dominio de fase resultante, FpEs

    fp=4×2Omax=4×2fs/2max(RPM60).

    La resolución de pedido predeterminada, , esr

    r=fp256=4×602562×fs/2max(RPM)=1516fsmax(RPM).

  4. Se utiliza para calcular la transformación de Fourier (STFT) de corta distancia de la señal interpolada.Espectrograma De forma predeterminada, la función divide la señal en segmentos de muestra y ventanas cada uno de ellos con una ventana superior plana.L Hay

    Noverlap=min(poverlap100×L,L1)

    muestras de superposición entre segmentos adyacentes, dondepoverlap se especifica mediante el par nombre-valor y el valor predeterminado es 50%.'OverlapPercent' La longitud DFT se establece en .L La resolución está relacionada con la frecuencia de muestreo y la longitud del segmento a través de

    r=kfpL,

    Dónde k es el ancho de banda de ruido equivalente de la ventana, tal como se implementa en .enbw Ajuste la resolución para diferenciar las órdenes estrechamente espaciadas. Los valores más pequeños requieren longitudes de segmento más grandes.r Si necesita saldar una resolución determinada, asegúrese de que su señal tenga suficientes muestras.

Los puntos rojos en el trazado RPM-vs.-time en la parte inferior de la ventana interactiva corresponden al borde derecho de cada segmento con ventana.rpmordermap La línea azul en la gráfica es la señal RPM dibujada en función del tiempo:

Referencias

[1] Brandt, Anders. Noise and Vibration Analysis: Signal Analysis and Experimental Procedures. Chichester, UK: John Wiley & Sons, 2011.

Introducido en R2015b