Saltar navegación

Documentación de FlexPro 2025

BlockCompress

Reduce el número de valores de un conjunto de datos mediante operaciones bloque por bloque o lo divide en una lista de segmentos.

Sintaxis

BlockCompress(DataSet, XInterval, [ Output = BC_OUTPUT_MEAN ] [ , Options = BC_OPTION_RESIDUAL ])

 

La sintaxis de la función BlockCompress consta de los siguientes elementos:

Parte

Descripción

DataSet

El conjunto de datos que se va a comprimir.

Las estructuras de datos permitidas son Señal. Se permiten todos los tipos de datos numéricos.

Se aplican restricciones adicionales al componente X. Los valores deben ser monótonos crecientes.

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.

XInterval

Especifica el tamaño del bloque como intervalo X en la unidad del componente X de DataSet.

Las estructuras de datos permitidas son Valor escalar. Se permiten todos los tipos de datos reales.

El valor debe ser mayor que 0.

No se permiten valores inválidos en este argumento.

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.

Output

Especifica los resultados que deben emitirse. Si selecciona varios resultados, la salida será una lista.

El argumento Output puede tener los siguientes valores:

Constante

Significado

+ BC_OUTPUT_ALL

Todos los resultados disponibles, excepto los índices y la lista.

+ BC_OUTPUT_FIRSTVAL

El primer valor Y de cada bloque se transfiere al resultado.

+ BC_OUTPUT_MEAN

La media aritmética de los valores Y de cada bloque se transfiere al resultado.

+ BC_OUTPUT_MINIMUM

El mínimo de los valores Y de cada bloque se transfiere al resultado.

+ BC_OUTPUT_MAXIMUM

El máximo de los valores Y de cada bloque se transfiere al resultado.

+ BC_OUTPUT_RANGE

El rango (máximo menos mínimo) de los valores Y de cada bloque se transfiere al resultado.

+ BC_OUTPUT_INTEGRAL

La integral de cada bloque formada mediante la regla trapezoidal se transfiere al resultado.

+ BC_OUTPUT_RMS

La media cuadrática de los valores Y de cada bloque se transfiere al resultado.

+ BC_OUTPUT_INDEX

Los índices de los límites de bloque se transfieren al resultado como serie de datos.

+ BC_OUTPUT_LIST

El resultado es una lista con un elemento por bloque que contiene los datos Y y X del bloque. Los nombres de los elementos se forman a partir del nombre de DataSet añadiendo un índice. En este caso, no hay reducción de datos. Solo se filtran los puntos de datos inválidos. En el siguiente paso, aplique cualquier función FPScript que admita el procesamiento de listas.

Se establece el valor predeterminado BC_OUTPUT_MEAN si no se especifica el argumento.

Options

Selecciona opciones para el algoritmo.

El argumento Options puede tener los siguientes valores:

Constante

Significado

+ BC_OPTION_RESIDUAL

Esta opción también genera un valor para el bloque incompleto al final del conjunto de datos.

+ BC_OPTION_ALIGNLIMITS

El primer límite de bloque se calcula a partir del primer valor X más el tamaño de bloque. Esta opción ajusta (reduce) el límite de bloque a un múltiplo entero del tamaño de bloque. La opción también afecta a los valores X de salida. Si está activada, se emiten los límites de bloque calculados en lugar de los primeros valores X de los bloques.

Se establece el valor predeterminado BC_OPTION_RESIDUAL si no se especifica el argumento.

Notas

La compresión de bloques reduce los datos de un conjunto de datos creando un valor de resultado por bloque. Solo se procesan los puntos de datos en DataSet cuyos componentes Y y X son válidos. El tamaño del bloque se especifica aquí como un intervalo X en una unidad compatible con la unidad del componente X de DataSet. Un valor X situado exactamente en el límite de un bloque se asigna al bloque siguiente. Los valores en DataSet no tienen que ser muestreados de forma equidistante. Si un bloque no contiene ningún valor, se vuelve a emitir el valor del bloque anterior. El resultado es una señal con un valor por bloque. El primer valor X del bloque se transfiere al componente X del resultado.

Disponibilidad

FlexPro Basic, Professional, Developer Suite

Ejemplos

BlockCompress(DataSet, 5 min)

Devuelve los valores medios de 5 minutos de DataSet.

BlockCompress(DataSet, 5 min, BC_OUTPUT_FIRSTVAL)

Reduce los datos de DataSet a un valor por cada 5 minutos.

Signal(ListToSeries(Quantile(BlockCompress(DataSet, 5 min, BC_OUTPUT_LIST), 0.5)), BlockCompress(DataSet, 5, BC_OUTPUT_FIRSTVAL).X)

Reduce los datos de DataSet a una mediana por cada 5 minutos. ListToSeries(Quantile(BlockCompress(DataSet, 5 min, BC_OUTPUT_LIST), 0.5)) divide los datos en una lista de secciones, calcula la mediana de cada sección y convierte la lista de valores individuales en una serie de datos. BlockCompress(DataSet, 5, BC_OUTPUT_FIRSTVAL).X devuelve los primeros valores X de las secciones como serie de datos. La función Signal se utiliza para combinar las series de datos Y y X en una sola señal.

Véase también

Función Maximum

Función Minimum

Función Mean

Función DeltaCompress

Función Reduce

Función LinearInterpolation

Función Sample

Función Resample

Objeto de análisis Muestreo de señal