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ñales etiquetadas

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ñales etiquetadas vacía. Se utiliza para añadir señales al conjunto.addMembers Se utiliza para agregar definiciones de etiqueta al conjunto.addLabelDefinitions

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

lss = labeledSignalSet(src,lbldefs) crea un conjunto de señales etiquetado 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 etiquetado para el origen de datos de entrada y especifica los nombres de los miembros del conjunto.src Se utiliza para modificar los nombres de miembro. es opcional.setMemberNameslbldefs

ejemplo

lss = labeledSignalSet(src,lbldefs,Name,Value) establece utilizando 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

Origen de datos de entrada, especificado como una matriz, un calendario, 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 en cada miembro y los datos de cada señal.src

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

Nombres de miembro, especificados como un vector de caracteres, un escalar de cadena, una matriz de celdas 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 del conjunto de señales etiquetadas, especificada como 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 hora inherente.

  • Establézcalo 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 a la misma velocidad, pero las velocidades de muestreo difieren de un miembro a otro.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 frecuencias de muestreo mediante 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 muestreo, 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 hora inherente.

  • Establézcalo en un número o escalar para especificar el mismo tiempo de muestra para todas las señales del conjunto etiquetado.SampleTimeduration

  • Se establece en un número o vector para especificar que cada miembro del conjunto etiquetado tiene señales con el mismo intervalo de tiempo entre muestras, pero los intervalos difieren de un miembro a otro.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 tiempos de muestreo diferentes, especifique los tiempos de muestreo mediante 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 hora inherente. Los valores de tiempo deben ser únicos y aumentar.

  • Establézalo en un número o vector 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.

  • Se establece en una matriz o matriz numérica o matriz de celdas para especificar que cada miembro del conjunto etiquetado tiene señales con los mismos valores de tiempo, pero los valores de tiempo difieren de un miembro a otro.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 valores de tiempo diferentes, especifique los valores de tiempo mediante 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 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 de 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 de la fuente 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. horarios son un ejemplo de tales señales.'Inherent'MATLAB

Tipos de datos: char | string

Esta propiedad es de solo lectura.

Origen de datos del conjunto de señales etiquetado, especificado como una matriz, un calendario, una matriz de celdas o un almacén de datos de audio.

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

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

  • Si es una matriz de celdas de matrices, el conjunto de señales etiquetadas 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 igual al número de columnas de la matriz correspondiente.

    tiene dos miembros.Ejemplo:labeledSignalSet({randn(10,3),randn(17,9)}) El primer miembro contiene tres señales de 10 muestras. El segundo miembro contiene nueve señales de 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 etiquetado 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.Ejemplo:labeledSignalSet({{randn(10,1)},{randn(17,1),randn(27,1)}}) El primer miembro contiene una señal de 10 muestras. El segundo miembro contiene una señal de 17 muestras y una señal de 27 muestras.

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

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

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

    tiene dos miembros.Ejemplo: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, el conjunto de señales etiquetado 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.Ejemplo: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 el origen de datos de entrada, , es un almacén de datos de audio, el conjunto de señales 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ñadir definiciones de etiquetas al conjunto de señales etiquetadas
addMembersAñadir miembros al conjunto de señales etiquetado
concatenateConcatenar dos o más conjuntos de señales etiquetadas
editLabelDefinitionEditar propiedades de definición de etiquetas
getLabelDefinitionsObtener definiciones de etiquetas en el conjunto de señales etiquetado
getLabeledSignalObtener señales etiquetadas del conjunto de señales etiquetadas
getLabelNamesObtener nombres de etiquetas en el conjunto de señales etiquetadas
getLabelValuesObtener valores de etiqueta del conjunto de señales etiquetado
getMemberNamesObtener nombres de miembros en el conjunto de señales etiquetados
getSignalObtener señales del conjunto de señales etiquetadas
headObtener las primeras filas de la tabla de etiquetas
labelDefinitionsHierarchyObtener una lista jerárquica de nombres de etiquetas y subetiquetas
labelDefinitionsSummaryObtener una tabla resumida de las definiciones de etiquetas de señal
removeLabelDefinitionEliminar la definición de etiqueta del conjunto de señales etiquetadas
removeMembersEliminar miembros del conjunto de señales etiquetadas
removePointValueEliminar fila de la etiqueta de punto
removeRegionValueEliminar fila de la etiqueta de ROI
resetLabelValuesRestablecer etiquetas a valores predeterminados
setLabelValueEstablecer el valor de la etiqueta en el conjunto de señales etiquetadas
setMemberNamesEstablecer nombres de miembro en el conjunto de señales etiquetadas
subsetObtener un nuevo conjunto de señales etiquetadas con subconjunto de miembros

Ejemplos

contraer todo

Considere un conjunto de grabaciones de sonido de ballenas. Los sonidos de ballenagrabados consisten en trinos y gemidos. Desea ver cada señal y etiquetarla para identificar el tipo de ballena, las regiones de trino y las regiones de gemidos. Para cada región de trino, también desea etiquetar los picos de señal superiores a un determinado umbral.

Definiciones de etiquetas de señal

Defina una etiqueta de atributo para almacenar tipos de ballena. Las categorías posibles 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 gemidos. Defina otra etiqueta de ROI para capturar regiones de trino.

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 trino. 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ñales etiquetadas

Cree un con las señales de ballena y las definiciones de etiqueta.labeledSignalSet Agregue valores de etiqueta para identificar el tipo de ballena, las regiones de gemido y trino, 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 mediante 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"   ]}       {0x0 double}    {0x0 double               }    ""     "Whale type"                
    "MoanRegions"     "roi"          "logical"        {["N/A"   ]}       {0x0 double}       {0x0 double}    {0x0 double               }    ""     "Regions where moans occur" 
    "TrillRegions"    "roi"          "logical"        {["N/A"   ]}       {0x0 double}       {0x0 double}    {1x1 signalLabelDefinition}    ""     "Regions where trills occur"

Las señales en los datos cargados corresponden a 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 recién agregados 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} 

Visualizar regiones y puntos

Visualiza las canciones de ballenas para identificar las regiones de trino y gemidos.

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 gemido y trino al conjunto etiquetado. Para las etiquetas de ROI, especifique los límites de ROI en segundos y los valores de etiqueta. Etiquete las diferentes 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 trino. Para las etiquetas de punto, especifique las ubicaciones de punto y los valores de etiqueta. En este ejemplo, las ubicaciones de puntos están 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

Explorar valores de etiquetas

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 gemidos 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 las subetiquetas 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 trino 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