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.

labeledSignalSet

Crear conjunto de señal etiquetada

Descripción

Se utiliza para almacenar señales etiquetadas junto con las definiciones de etiquetas.labeledSignalSet Cree definiciones de etiquetas de señal utilizando.signalLabelDefinition

Creación

Descripción

lss = labeledSignalSet crea un conjunto de señal etiquetado vacío. Se utiliza para añadir señales al conjunto.addMembers Se usa para agregar definiciones de etiqueta al conjunto.addLabelDefinitions

lss = labeledSignalSet(src) crea un conjunto de señales etiquetadas para la fuente de datos de entrada.src Se usa para agregar definiciones de etiqueta al conjunto.addLabelDefinitions

lss = labeledSignalSet(src,lbldefs) crea un conjunto de señales etiquetadas para la fuente de datos de entrada utilizando las definiciones de etiqueta de señal.srclbldefs Se utiliza para crear definiciones de etiquetas de señal.signalLabelDefinition

lss = labeledSignalSet(src,lbldefs,'MemberNames',mnames) crea un conjunto de señales etiquetadas para la fuente de datos de entrada y especifica los nombres de los miembros del conjunto.src Se utiliza para modificar los nombres de los miembros. es opcional.setMemberNameslbldefs

ejemplo

lss = labeledSignalSet(src,lbldefs,Name,Value) establece con pares nombre-valor.Propiedades Puede especificar varios pares nombre-valor. Incluya cada nombre de propiedad entre comillas. es opcional.lbldefs

Argumentos de entrada

expandir todo

Fuente de datos de entrada, especificada como una matriz, un cronograma, una matriz de celdas o un almacén de datos de audio. especifica el número de miembros del conjunto, el número de señales de cada miembro y los datos de cada señal.src

Definiciones de etiqueta, especificadas como un vector de objetos.signalLabelDefinition

Nombres de miembros, especificados como un vector de caracteres, un escalar de cadena, una matriz de vectores de caracteres o una matriz de cadenas.

Ejemplo: especifica un conjunto de señales aleatorias con dos miembros y.labeledSignalSet({randn(100,1) randn(10,1)},'MemberNames',{'llama' 'alpaca'})'llama''alpaca'

Propiedades

expandir todo

Descripción de conjunto de señal etiquetada, especificada como un vector de caracteres o escalar de cadena.

Ejemplo: 'Description','Sleep test patients by sex and age'

Tipos de datos: char | string

Esta propiedad es de solo lectura.

Valores de frecuencia de muestreo, especificados como un escalar positivo o un vector. Esta propiedad solo es válida cuando el origen de datos no contiene información de tiempo inherente.

  • Se establece en un escalar numérico positivo para especificar la misma frecuencia de muestreo para todas las señales del conjunto etiquetado.SampleRate

  • Se establece en un vector para especificar que cada miembro del conjunto etiquetado tiene señales muestreadas al mismo ritmo, pero las frecuencias de muestreo difieren de un miembro a un miembro.SampleRate El vector debe tener un número de elementos igual al número de miembros del conjunto. Si un miembro de un conjunto tiene señales con diferentes frecuencias de muestreo, especifique las tasas de muestreo utilizando los horarios.

Ejemplo: Especifica que las señales en el primer miembro de un conjunto se muestrean a una velocidad de 100 Hz y las señales en el segundo miembro se muestrean a 1 kHz.'SampleRate',[1e2 1e3]

Esta propiedad es de solo lectura.

Valores de tiempo de muestra, especificados como un escalar positivo, un vector, un escalar o un vector.durationduration Esta propiedad solo es válida cuando el origen de datos no contiene información de tiempo inherente.

  • Se establece en un numérico o escalar para especificar el mismo tiempo de muestra para todas las señales del conjunto etiquetado.SampleTimeduration

  • Se establece en un vector o numérico para especificar que cada miembro del conjunto etiquetado tiene señales con el mismo intervalo de tiempo entre las muestras, pero los intervalos difieren de un miembro a un miembro.SampleTimeduration El vector debe tener un número de elementos igual al número de miembros del conjunto. Si un miembro de un conjunto tiene señales con diferentes tiempos de muestreo, especifique los tiempos de muestreo utilizando los horarios.

Ejemplo: Especifica que las señales en el primer miembro de un conjunto tienen 0,01 segundos entre las muestras, y las señales en el segundo miembro tienen 1 milisegundo entre las muestras.'SampleTime',seconds([1e-2 1e-3])

Esta propiedad es de solo lectura.

Valores de tiempo, especificados como un vector, un vector, una matriz o una matriz de celdas.duration Esta propiedad solo es válida cuando el origen de datos no contiene información de tiempo inherente. Los valores de tiempo deben ser únicos y crecientes.

  • Se establece en un valor numérico o vectorial para especificar los mismos valores de tiempo para todas las señales del conjunto etiquetado.TimeValuesduration El vector debe tener la misma longitud que todas las señales del conjunto.

  • Establecer en una matriz numérica o matriz o celda para especificar que cada miembro del conjunto etiquetado tiene señales con los mismos valores de tiempo, pero los valores de tiempo difieren de miembro a miembro.TimeValuesduration

    • Si es una matriz, debe tener un número de columnas igual al número de miembros del conjunto.TimeValues Todas las señales del conjunto deben tener una longitud igual al número de filas de la matriz.

    • Si es una matriz de celdas, debe contener un número de vectores igual al número de miembros del conjunto.TimeValues Todas las señales de un miembro deben tener una longitud igual al número de elementos del vector correspondiente en la matriz de celdas.

Si un miembro de un conjunto tiene señales con diferentes valores de tiempo, especifique los valores de tiempo utilizando los horarios.

Ejemplo: Especifica que las señales en el primer miembro de un conjunto se muestrean 1 Hz durante 1000 segundos.'TimeValues',[1:1000;0:1/500:2-1/500]' Las señales del segundo miembro se muestrean a 500 Hz durante 2 segundos.

Ejemplo: Especifica que las señales en el primer miembro de un conjunto se muestrean 1 Hz durante 1000 segundos.'TimeValues',seconds([1:1000;0:1/500:2-1/500]') Las señales del segundo miembro se muestrean a 500 Hz durante 2 segundos.

Ejemplo: Especifica que las señales en el primer miembro de un conjunto se muestrean 1 Hz durante 1000 segundos.'TimeValues',{1:1000,0:1/500:2-1/500} Las señales del segundo miembro se muestrean a 500 Hz durante 2 segundos.

Ejemplo: Especifica que las señales en el primer miembro de un conjunto se muestrean 1 Hz durante 1000 segundos.'TimeValues',{seconds(1:1000),seconds(0:1/500:2-1/500)} Las señales del segundo miembro se muestrean a 500 Hz durante 2 segundos.

Esta propiedad es de solo lectura.

Número de miembros en el conjunto, especificado como un entero positivo.

Esta propiedad es de solo lectura.

Tabla de etiquetas, especificada como una tabla.MATLAB® Cada variable de corresponde a una etiqueta definida para el conjunto.Labels Cada fila de corresponde a un miembro del origen de datos.Labels Los nombres de fila de son los nombres de miembro.Labels

Tipos de datos: table

Información de tiempo de origen, especificada como una de las siguientes:

  • — Las señales en la fuente no tienen información de tiempo.'None'

  • — Las señales de la fuente se muestrean a una velocidad especificada.'SampleRate'

  • — Las señales en el origen tienen un intervalo de tiempo especificado entre las muestras.'SampleTime'

  • — Las señales de la fuente tienen un valor de tiempo correspondiente a cada muestra.'TimeValues

  • — Las señales de la fuente contienen información de tiempo inherente. los horarios son un ejemplo de tales señales.'Inherent'MATLAB

Tipos de datos: char | string

Esta propiedad es de solo lectura.

Fuente de datos del conjunto de señales etiquetados, especificado como una matriz, un cronograma, una matriz de celdas o un almacén de datos de audio.

  • Si es una matriz numérica, entonces el conjunto de señal etiquetado tiene un miembro que contiene un número de señales iguales al número de columnas de matriz.Source

    tiene un miembro que contiene señales de 3 10 muestras.Example:labeledSignalSet(randn(10,3))

  • Si es una matriz de celdas de matrices, el conjunto de señales etiquetados tiene un número de miembros igual al número de matrices en la matriz de celdas.Source Cada miembro contiene un número de señales iguales al número de columnas de la matriz correspondiente.

    tiene dos miembros.Example:labeledSignalSet({randn(10,3),randn(17,9)}) El primer miembro contiene señales de 3 10 muestras. El segundo miembro contiene señales de 9 17 muestras.

  • Si es una matriz de celdas, y cada elemento de la matriz de celdas es una matriz de celdas de vectores numéricos, el conjunto de señales etiquetadas tiene un número de miembros igual al número de elementos de matriz de celdas.Source Cada señal dentro de un miembro puede tener cualquier longitud.

    tiene dos miembros.Example:labeledSignalSet({{randn(10,1)},{randn(17,1),randn(27,1)}}) El primer miembro contiene una señal de 1 10 muestras. El segundo miembro contiene una señal de 17 muestras y una señal de 27 muestras.

  • Si es un horario con variables que contienen valores numéricos, entonces el conjunto de señal etiquetado tiene un miembro que contiene un número de señales iguales al número de variables.Source Los valores de tiempo del horario deben ser de tipo, únicos y crecientes.duration

    tiene un miembro que contiene tres señales muestreadas a 1 Hz durante 10 segundos.Example:labeledSignalSet(timetable(seconds(1:10)',randn(10,3)))

  • Si es un array de celdas de horarios, y cada horario tiene un número arbitrario de variables con valores numéricos, entonces el conjunto de señal etiquetado tiene un número de miembros igual al número de horarios.Source Cada miembro contiene un número de señales iguales al número de variables en el calendario correspondiente.

    tiene dos miembros.Example:labeledSignalSet({timetable(seconds(1:10)',randn(10,3)),timetable(seconds(1:5)',randn(5,13))}) El primer miembro contiene tres señales muestreadas a 1 Hz durante 10 segundos. El segundo miembro contiene 13 señales muestreadas a 1 Hz durante 5 segundos.

  • Si es una matriz de celdas, y cada elemento de la matriz de celdas es una matriz de celdas de horarios, entonces el conjunto de señales etiquetadas tiene un número de miembros igual al número de elementos de matriz de celdas.Source Cada miembro puede tener cualquier número de horarios, y cada horario dentro de un miembro puede tener cualquier número de variables.

    tiene dos miembros.Example:labeledSignalSet({{timetable(seconds(1:10)',randn(10,3)),timetable(seconds(1:7)',randn(7,2))},{timetable(seconds(1:3)',randn(3,1))}}) El primer miembro contiene tres señales muestreadas a 1 Hz durante 10 segundos y dos señales muestreadas a 1 Hz durante 7 segundos. El segundo miembro contiene una señal muestreada a 1 Hz durante 3 segundos.

  • Si la fuente de datos de entrada,, es un datastore de audio, entonces el conjunto de señal etiquetado tiene un número de miembros igual al número de archivos a los que apunta el almacén de datos.src La propiedad contiene una matriz de celdas de vectores de caracteres con los nombres de archivo.Source Cada miembro contiene todas las señales devueltas por la lectura del archivo de almacén de datos correspondiente.

Funciones del objeto

addLabelDefinitionsAñada definiciones de etiqueta al conjunto de señales etiquetado
addMembersAgregue miembros al conjunto de señales etiquetado
concatenateConcatenar dos o más conjuntos de señales etiquetados
editLabelDefinitionEdite las propiedades de definición de etiqueta
getLabelDefinitionsObtenga definiciones de etiquetas en el conjunto de señales etiquetadas
getLabeledSignalObtener señales etiquetadas de conjunto de señal etiquetada
getLabelNamesObtenga nombres de etiquetas en el conjunto de señales etiquetados
getLabelValuesObtenga los valores de etiqueta del conjunto de señales etiquetado
getMemberNamesObtener nombres de miembro en conjunto de señal etiquetada
getSignalObtenga señales del conjunto de señal etiquetado
headObtenga las filas superiores de la tabla de etiquetas
labelDefinitionsHierarchyObtenga una lista jerárquica de nombres de etiquetas y subetiqueta
labelDefinitionsSummaryObtener tabla de Resumen de definiciones de etiquetas de señal
removeLabelDefinitionQuite la definición de etiqueta del conjunto de señal etiquetado
removeMembersQuite los miembros del conjunto de señal etiquetado
removePointValueEliminar fila de la etiqueta de punto
removeRegionValueRetire la fila de la etiqueta ROI
resetLabelValuesRestablezca las etiquetas a los valores predeterminados
setLabelValueEstablezca el valor de etiqueta en el conjunto de señales etiquetado
setMemberNamesEstablezca los nombres de miembro en conjunto de señales etiquetados
subsetObtener nuevo conjunto de señal etiquetada con un subconjunto de miembros

Ejemplos

contraer todo

Considere un conjunto de grabaciones de sonido de ballenas. Los sonidos de ballena grabados consisten en trinos y GEMIOS. Desea mirar cada señal y etiquetarla para identificar el tipo de ballena, las regiones trill y las regiones gemir. Para cada región de Trill, también desea etiquetar los picos de señal más altos que un determinado umbral.

Definiciones de etiquetas de señal

Defina una etiqueta de atributo para almacenar los tipos de ballena. Las posibles categorías son ballena azul, ballena jorobada y ballena blanca.

dWhaleType = signalLabelDefinition('WhaleType',...    'LabelType','attribute',...    'LabelDataType','categorical',...    'Categories', ["blue" "humpback" "white"],...    'Description','Whale type'); 

Defina una etiqueta de región de interés (ROI) para capturar regiones de gemir. Defina otra etiqueta de ROI para capturar regiones de Trill.

dMoans = signalLabelDefinition('MoanRegions',...    'LabelType','roi',...    'LabelDataType','logical',...    'Description','Regions where moans occur');  dTrills = signalLabelDefinition('TrillRegions',...    'LabelType','roi',...    'LabelDataType','logical',...    'Description','Regions where trills occur');        

Por último, defina una etiqueta de punto para capturar los picos de Trill. Establezca esta etiqueta como una subetiqueta de la definición.dTrills

dTrillPeaks = signalLabelDefinition('TrillPeaks',...    'LabelType','point',...    'LabelDataType','numeric',...    'Description','Trill peaks');  dTrills.Sublabels = dTrillPeaks;

Conjunto de señal etiquetado

Cree una con las señales de ballena y las definiciones de etiquetas.labeledSignalSet Añada valores de etiqueta para identificar el tipo de ballena, las regiones de gemir y Trill, y los picos de los trinos.

load labelwhalesignals lbldefs = [dWhaleType dMoans dTrills];  lss = labeledSignalSet({whale1 whale2},lbldefs,...    'SampleRate',Fs,'Description','Characterize wave song regions');     

Visualice la jerarquía de etiquetas y las propiedades de etiqueta utilizando y.labelDefinitionsHierarchylabelDefinitionsSummary

labelDefinitionsHierarchy(lss)
ans =      'WhaleType        Sublabels: []      MoanRegions        Sublabels: []      TrillRegions        Sublabels: TrillPeaks      '  
labelDefinitionsSummary(lss)
ans=3×9 table
      LabelName        LabelType     LabelDataType     Categories     ValidationFunction    DefaultValue             Sublabels             Tag            Description         
    ______________    ___________    _____________    ____________    __________________    ____________    ___________________________    ___    ____________________________

    "WhaleType"       "attribute"    "categorical"    [3x1 string]         ["N/A"]               []         []                             ""     "Whale type"                
    "MoanRegions"     "roi"          "logical"        ["N/A"     ]         []                    []         []                             ""     "Regions where moans occur" 
    "TrillRegions"    "roi"          "logical"        ["N/A"     ]         []                    []         [1x1 signalLabelDefinition]    ""     "Regions where trills occur"

Las señales en los datos cargados corresponden a las canciones de dos ballenas azules. Establezca los valores para ambas señales.'WhaleType'

setLabelValue(lss,1,'WhaleType','blue'); setLabelValue(lss,2,'WhaleType','blue');

Visualice la propiedad.'Labels' La tabla tiene los valores agregados recientemente para ambas señales.'WhaleType'

lss.Labels      
ans=2×3 table
                 WhaleType    MoanRegions    TrillRegions
                 _________    ___________    ____________

    Member{1}      blue       [0x2 table]    [0x3 table] 
    Member{2}      blue       [0x2 table]    [0x3 table] 

Visualice regiones y puntos

Visualiza las canciones de las ballenas para identificar las regiones trill y gemir.

subplot(2,1,1) plot((0:length(whale1)-1)/Fs,whale1) ylabel('Whale 1') hold on  subplot(2,1,2) plot((0:length(whale2)-1)/Fs,whale2) ylabel('Whale 2') hold on

Agregue las regiones de gemir y trill al conjunto etiquetado. Para las etiquetas de ROI, especifique los límites de ROI en segundos y los valores de etiqueta. Etiquete las distintas regiones de los trazados utilizando una función auxiliar.

moanRegionsWhale1 = [6.1 7.7; 11.4 13.1; 16.5 18.1]; setLabelValue(lss,1,'MoanRegions',moanRegionsWhale1,[true true true]);  trillRegionWhale1 = [1.4 3.1]; setLabelValue(lss,1,'TrillRegions',trillRegionWhale1,true);  subplot(2,1,1) labelIntervals([moanRegionsWhale1;trillRegionWhale1])  moanRegionsWhale2 = [2.5 3.5; 5.8 8; 15.4 16.7]; setLabelValue(lss,2,'MoanRegions',moanRegionsWhale2,[true true true]);  trillRegionWhale2 = [11.1 13]; setLabelValue(lss,2,'TrillRegions',trillRegionWhale2,true);  subplot(2,1,2) labelIntervals([moanRegionsWhale2;trillRegionWhale2])

Etiquete tres picos para cada región de Trill. Para las etiquetas de punto, especifique las ubicaciones de puntos y los valores de etiqueta. En este ejemplo, las ubicaciones de punto se encuentran en segundos.

peakLocsWhale1 = [1.553 1.626 1.7]; peakValsWhale1 = [0.211 0.254 0.211];  setLabelValue(lss,1,["TrillRegions" "TrillPeaks"],...    peakLocsWhale1,peakValsWhale1,'LabelRowIndex',1);  subplot(2,1,1) plot(peakLocsWhale1,peakValsWhale1,'v') hold off  peakLocsWhale2 = [11.214 11.288 11.437]; peakValsWhale2 = [0.119 0.14 0.15];  setLabelValue(lss,2,["TrillRegions" "TrillPeaks"],...    peakLocsWhale2,peakValsWhale2,'LabelRowIndex',1);  subplot(2,1,2) plot(peakLocsWhale2,peakValsWhale2,'v') hold off

Explore valores de etiqueta

Explore los valores de etiqueta utilizando.getLabelValues

getLabelValues(lss)
ans=2×3 table
                 WhaleType    MoanRegions    TrillRegions
                 _________    ___________    ____________

    Member{1}      blue       [3x2 table]    [1x3 table] 
    Member{2}      blue       [3x2 table]    [1x3 table] 

Recupere las regiones de gemir para el primer miembro del conjunto etiquetado.

getLabelValues(lss,1,'MoanRegions')
ans=3×2 table
     ROILimits      Value
    ____________    _____

     6.1     7.7     [1] 
    11.4    13.1     [1] 
    16.5    18.1     [1] 

Utilice un segundo argumento de salida para enumerar los subetes de una etiqueta.

[value,valueWithSublabel] = getLabelValues(lss,1,'TrillRegions')
value=1×2 table
    ROILimits     Value
    __________    _____

    1.4    3.1     [1] 

valueWithSublabel=1×3 table
    ROILimits     Value     Sublabels 
                           TrillPeaks 
    __________    _____    ___________

    1.4    3.1     [1]     [3x2 table]

Para recuperar los valores de una subetiqueta, exprese el nombre de la etiqueta como una matriz de dos elementos.

getLabelValues(lss,1,["TrillRegions" "TrillPeaks"])
ans=3×2 table
    Location     Value  
    ________    ________

     1.553      [0.2110]
     1.626      [0.2540]
       1.7      [0.2110]

Encuentre el valor del tercer pico de Trill correspondiente al segundo miembro del conjunto.

getLabelValues(lss,2,["TrillRegions" "TrillPeaks"], ...     'LabelRowIndex',1,'SublabelRowIndex',3)
ans=1×2 table
    Location     Value  
    ________    ________

     11.437     [0.1500]

function labelIntervals(moansTrills) % Auxiliary function to label moan and trill regions in plots     [X,Y] = meshgrid(moansTrills,ylim);     plot(X,Y,'k:')     topts = {'HorizontalAlignment','center','FontWeight','bold', ...         'FontSize',12,'Color',[139 69 19]/255};     text((X(1,1:4)+X(1,5:end))/2,Y(2,5:end)-0.1, ...         ["moan" "moan" "moan" "trill"],topts{:}) end

Introducido en R2018b