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.

Etiquetar automáticamente las señales

Puede utilizar para realizar tareas de etiquetado automatizadas.Etiquetador de señales La galería de la pestaña contiene funciones que puede utilizar para etiquetar señales automáticamente.Automate ValueLabel

Añadir funciones de etiquetado personalizadas

Para agregar una función de etiquetado automático personalizada, haga clic en la flecha situada junto a la galería y, a continuación, seleccione .Automate ValueAdd Custom Function En el cuadro de diálogo, especifique estos campos:

  • : especifique el nombre de la función que desea añadir.Name

  • : añada una breve descripción de lo que hace la función y describa los argumentos de entrada opcionales.Descripción

  • : especifique el tipo de etiqueta que genera la función.Label Type Seleccione Attribute (el valor predeterminado), ROIO Point.

    Nota

    En función de la especificación, coloca la función en la categoría adecuada de la galería.Label TypeEtiquetador de señalesAutomate Value Al seleccionar una definición de etiqueta, la galería habilita solo las funciones que se pueden utilizar con ese tipo de definición.

Si ya ha escrito una función y la función está en la carpeta actual o en la ruta de acceso, la incorpora en la galería.MATLAB®Etiquetador de señales Si aún no ha escrito la función, abre una plantilla en blanco en el Editor.Etiquetador de señales

Las funciones de etiquetado automático personalizadas tienen argumentos obligatorios y opcionales:

  • El primer argumento de entrada, , es la señal de entrada.x Al escribir la función, espere ser una matriz donde cada columna contiene datos correspondientes a un canal.x Si los canales tienen longitudes diferentes, espere ser una matriz de celdas de vectores de columna.x

  • El segundo argumento de entrada, , almacena los valores de tiempo.t Al escribir la función, espere ser una matriz donde cada columna contiene información de tiempo correspondiente a un canal.t Si los canales tienen longitudes diferentes, espere ser una matriz de celdas de vectores de columna.t

    Nota

    • Para los miembros de un solo canal, las funciones de etiquetado automático personalizadas obtienen datos y valores de tiempo como vectores de doble precisión.

    • Para los miembros multicanal, las funciones de etiquetado automático personalizadas obtienen datos y valores de tiempo como matrices o matrices de celdas.

    • Las funciones de etiquetado automático personalizadas obtienen todos los canales de un miembro como entrada, pero no necesitan funcionar en todos ellos. Puede elegir en qué canales desea que funcione la función.

  • El tercer argumento de entrada, , es el valor de etiqueta principal asociado a la subetiqueta de salida y contiene un escalar numérico, lógico o de cadena.parentLabelVal Este argumento se pasa solo para las funciones que automatizan el etiquetado de subetiquetas. Si la función es para una etiqueta primaria, espere estar vacía.parentLabelVal

  • El cuarto argumento de entrada, , contiene:parentLabelLoc

    • Un vector vacío cuando la etiqueta primaria es un atributo

    • Un vector de fila numérico de dos elementos de límites de ROI cuando la etiqueta principal es un ROI

    • Un escalar numérico que representa una ubicación de punto cuando la etiqueta principal es un punto

    Este argumento se pasa solo para las funciones que automatizan el etiquetado de subetiquetas. Si la función es para una etiqueta primaria, espere estar vacía.parentLabelLoc

    Nota

    • Para las etiquetas primarias, se llama a la función de etiquetado automático para cada miembro seleccionado.

    • Para las subetiquetas, se llama a la función de etiquetado automático para todos los miembros seleccionados, una instancia de la etiqueta primaria a la vez.

  • Se utiliza para especificar argumentos de entrada adicionales.varargin Si no tiene argumentos de entrada adicionales, puede omitir .varargin Escriba los argumentos adicionales como una lista ordenada separada por comas en el cuadro de diálogo que aparece al hacer clic en el botón.Auto-Label

  • El primer argumento de salida, , contiene los valores de etiqueta. debe ser:labelValslabelVals

    • Un escalar numérico, lógico o de cadena cuando las etiquetas de salida son atributos

    • Un vector de columna con valores numéricos, lógicos o de cadena cuando las etiquetas de salida son ROIs o puntos

  • El segundo argumento de salida, , contiene las ubicaciones de etiqueta. debe ser:labelLocslabelLocs

    • Un vector vacío cuando las etiquetas de salida son atributos

    • Matriz de dos columnas de límites de ROI cuando las etiquetas de salida son ROI

    • Un vector de columna de ubicaciones de puntos cuando las etiquetas de salida son puntos

  • Para implementar el algoritmo, puede utilizar cualquier función desde o cualquier caja de herramientas instalada en el sistema.MATLAB

Ver y para más detalles.Etiquetar complejos QRS y picos R de señales ECG utilizando red profundaEtiquetar palabras habladas en señales de audio mediante API externa

Esta función calcula el valor medio de RMS de una señal y etiqueta la señal con el valor como un atributo numérico. La función calcula el valor RMS de cada miembro por separado.Ejemplo:

function [labelVals,labelLocs] = meanRMS(x,t,parentLabelVal,parentLabelLoc,varargin) % Label signal with its mean RMS value as attribute     if iscell(x)       q = cellfun(@rms,r,'UniformOutput',false);       labelVals = cell2mat(q)';     else       labelVals = mean(rms(x));     end     labelLocs = []; end
Si un miembro tiene más de un canal, la función calcula el valor RMS de cada canal y promedia los valores. La salida es la misma para las dos señales de tres canales y , aunque es una matriz y es una matriz de celdas de vectores de columna.abab
fs = 1000; t = 0:1/fs:14-1/fs; a = [chirp(t-1,0.1,17,2,'quadratic',1).*sin(2*pi*t/5);     chirp(t-2,2,2,2.1,'quadratic',100).*exp(-(t-6.5).^2/20).*sin(2*pi*t*2);     0.85*besselj(0,5*(sin(2*pi*(t+1.5).^2/20).^2)).*sin(2*pi*t/9)]'; b = labeledSignalSet({a});

Esta función lógica etiqueta como verdaderas aquellas regiones de una señal multicanal donde:Ejemplo:

  • La amplitud del primer canal es negativa.

  • La amplitud del tercer canal es mayor que un valor especificado por el usuario que tiene como valor predeterminado 0.1.

function [labelVals,labelLocs] = greaterThan(x,t,parentLabelVal,parentLabelLoc,varargin) % Label regions with negative first channel and third channel larger than a given value  if nargin<5     mx = 0.1; else     mx = varargin{1}; end  xr = x(:,1); xx = x(:,3); tt = t(:,3);  idx = find(xx >= mx & xr < 0);  fir = [true;diff(idx)~=1]; ide = [idx(fir) idx(fir([2:end 1]))];  labelLocs = tt(ide); labelVals = true(size(ide,1),1);  labelVals = logical(labelVals);  end

Esta función encuentra los cruces cero de una señal y los etiqueta como para transiciones positivas y para transiciones negativas.Ejemplo:"rising""falling"

function [labelVals,labelLocs] = transitions(x,t,parentLabelVal,parentLabelLoc,varargin) % Label zero crossings as "rising" or "falling"  if isempty(t)     t = 0:length(x)-1; end  fs = 1/(t(2)-t(1));  [~,ltup,utup] = risetime(x,fs,'StateLevels',0.1*[-1 1]);  ups = (utup+ltup)/2; upc = repmat("rising",length(ups),1);  [~,ltdn,utdn] = falltime(x,fs,'StateLevels',0.1*[-1 1]);  dns = (utdn+ltdn)/2; dnc = repmat("falling",length(dns),1);  labelLocs = [ups;dns];  labelVals = categorical(string([upc;dnc]),["rising" "falling"]);  end

Administrar funciones de etiquetado personalizadas

En cualquier momento, puede editar funciones, editar descripciones de funciones o eliminar funciones mediante la opción de la galería.Manage Custom FunctionsAutomate Value

Nota

El uso de la opción solo cambia las descripciones de función que se muestran en la galería.Manage Custom FunctionsAutomate Value Si desea cambiar la descripción en el archivo que contiene la función, debe editar el archivo.

Etiquetar automáticamente las señales mediante funciones de etiquetado personalizadas

Para etiquetar automáticamente las señales mediante una función personalizada, comience seleccionando o creando una definición de etiqueta de señal que desee aplicar. La galería muestra las funciones de etiquetado automatizadas que puede utilizar con la definición.Automate Value Elija una función de la galería y haga clic en el botón. le pide que seleccione los miembros que desea etiquetar y especifique los argumentos de entrada opcionales.Auto-LabelEtiquetador de señales

Nota

You can undo the last automated custom labeling you performed. However, you lose this ability once you add, modify, or delete any labels or label definitions.

Etiquetar automáticamente los picos de señal mediante el etiquetador de picos

Para etiquetar automáticamente los picos de señales mediante , comience seleccionando o creando una definición de etiqueta de punto numérico.Peak Labeler En la galería, seleccione y haga clic en el botón. utiliza las funciones y para encontrar y etiquetar maxima y mínimo local. devuelve la ubicación de cada pico y el valor numérico de su amplitud.Automate ValuePeak LabelerAuto-LabelEtiquetador de señalesMATLABislocalmaxislocalminPeak Labeler

Nota

Puede seleccionar varios miembros para el etiquetado de picos, pero solo puede etiquetar un canal de cada miembro a la vez. De forma predeterminada, elige el primer canal de cada miembro seleccionado, pero puede seleccionar la señal del miembro que desea utilizar para el etiquetado.Etiquetador de señales

Nota

Puede deshacer el último etiquetado automatizado de picos que realizó. Sin embargo, perderá esta capacidad una vez que agregue, modifique o elimine las etiquetas o definiciones de etiquetas.

  • Puede elegir etiquetar todos los picos o valles de la señal seleccionada que cumplan las condiciones especificadas. Como alternativa, puede etiquetar un número específico de picos o valles que cumplan las condiciones especificadas, ordenados en orden de descenso.Prominencia Consulte para obtener más información sobre el protagonismo máximo.Prominencia El valor predeterminado es tres picos.

  • Si un valor máximo o mínimo local se repite consecutivamente, el pico o valle pertenece a un archivo .región plana Para una señal con regiones planas de pico o valle, puede elegir etiquetar el centro de la región, el primer punto de la región, el último punto de la región o todos los puntos de la región.

  • Puede elegir etiquetar solo los picos o valles con prominencia mayor que un valor especificado. También puede especificar el ancho de la ventana centrada en un pico o valle que se utiliza para medir su prominencia.

    • Si no especifica un ancho de ventana, el algoritmo utiliza toda la señal como la ventana.

    • Para un pico plano o una región de valle, la ventana se centra en el punto medio de la región.

  • Puede seleccionar etiquetar solo los picos separados por una distancia especificada. El algoritmo:

    1. Elige el pico más prominente en la señal e ignora todos los picos dentro de la distancia especificada.

    2. Repite el procedimiento para el pico restante más prominente.

    3. Itera hasta que se queda sin picos para considerar.

Sugerencia

Si etiqueta picos en una señal utilizando y, a continuación, mueve una de las etiquetas, sigue mostrando el valor de amplitud devuelto por .Peak LabelerEtiquetador de señalesPeak Labeler Para actualizar la amplitud:

  1. Lea el nuevo valor en el cursor de datos que utilizó para mover la etiqueta de punto.

  2. En el navegador, haga clic con el botón derecho en la etiqueta que movió y seleccioneLabeled Signal Set Edit.

  3. Introduzca el nuevo valor en el campo del cuadro de diálogo que aparece.Value

Consulte también

Apps

Funciones

Ejemplos relacionados

Más acerca de