Convierte una señal de impulsos o escalonada en una señal de frecuencia.
Sintaxis
ImpulseToFrequency(Signal, [ N = 1 ] [ , SignalType = TYPE_IMPULSE ])
La sintaxis de la función ImpulseToFrequency consta de los siguientes elementos:
Parte |
Descripción |
||||||
|---|---|---|---|---|---|---|---|
Signal |
La señal de impulsos o escalonada que se va a convertir. Para una serie de datos, se asume que dX es igual a uno. Las estructuras de datos permitidas son Serie de datos y Señal. Se permiten todos los tipos de datos numéricos. En los tipos de datos complejos se calcula un valor absoluto. Si el argumento es una lista, la función se ejecuta para cada elemento de la lista y el resultado también es una lista. |
||||||
N |
Número de pulsos por revolución. Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos numéricos. El valor debe ser mayor que 0. Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso. Se establece el valor predeterminado 1 si no se especifica el argumento. |
||||||
SignalType |
Tipo del conjunto de datos de entrada. El argumento SignalType puede tener los siguientes valores:
Si el argumento es una lista, se toma su primer elemento. Si se trata de nuevo de una lista, se repite el proceso. Se establece el valor predeterminado TYPE_IMPULSE si no se especifica el argumento. |
Notas
El tipo de datos del resultado es siempre En coma flotante de 64 bits.
La estructura del resultado corresponde a la del argumento Signal.
La unidad del resultado es igual al recíproco de la unidad del componente X de Signal.En el modo TYPE_INCREMENT, una señal escalonada existente se convierte primero en una señal de impulsos.
La función busca ahora las pendientes positivas de los impulsos en la señal de impulsos. El umbral de conmutación se sitúa exactamente en el centro, entre los valores máximo y mínimo de la señal de impulsos. Se utiliza una histéresis del 20 %. La frecuencia instantánea resulta de la diferencia X de pendientes adyacentes dividida entre N. Para mantener el número de valores en el resultado igual al de Signal, la frecuencia calculada se repite hasta que se puede calcular una nueva.
La siguiente gráfica muestra una señal de frecuencia variable (con aumento cuadrático convexo de la frecuencia) y la evolución de la frecuencia instantánea, calculada mediante el algoritmo descrito:

Disponibilidad
FlexPro Basic, Professional, Developer Suite
Ejemplos
ImpulseToFrequency(Signal, 6)
Convierte una señal de impulsos en una señal de frecuencia. Se asumen 6 pulsos por revolución.
ChangeUnit(ImpulseToFrequency(Signal, 4), "1/min")
Convierte una señal de impulsos con la unidad [s] en una señal de velocidad con la unidad [1/min]. Se asumen 4 pulsos por revolución.
ImpulseToFrequency(Signal, , TYPE_INCREMENT)
Convierte una señal escalonada en una señal de frecuencia (se asume un pulso por revolución). Para ello, la señal escalonada se convierte primero en una señal de impulsos, para lo cual se utiliza internamente la función Diff.