timescope
Mostrar señales en el dominio del tiempo
Descripción
El objeto timescope
muestra señales en el dominio del tiempo.
Características del scope:
Cursores de datos — Mide valores de señal utilizando cursores verticales y horizontales.
Estadísticas de señal — Muestra los valores máximo, mínimo, de diferencia pico a pico, media, mediana y RMS de una señal seleccionada.
Detector de picos — Encuentra máximos, mostrando los valores del eje x en los que ocurren.
Mediciones binivel — Mide transiciones, sobreimpulsos, subimpulsos y ciclos.
Desencadenantes — Establece activadores para sincronizar señales repetidas y pausar la visualización cuando ocurren eventos.
Utilice Funciones de objeto para mostrar, ocultar y determinar la visibilidad de la ventana del scope.
Puede habilitar estas medidas mediante programación o en la interfaz de usuario del scope. Para más información, consulte Mediciones.
Creación
Descripción
devuelve un objeto scope
= timescopetimescope
, scope
. Este objeto muestra señales de punto fijo y flotantes de valor real y complejo en el dominio del tiempo.
establece propiedades utilizando uno o más argumentos nombre-valor. Puede especificar los argumentos nombre-valor en cualquier orden. Por ejemplo, para establecer el lapso de tiempo en 100, configure scope
= timescope(Name=Value
)TimeSpan
en 100.
Propiedades
La mayoría de las propiedades se pueden cambiar desde la interfaz de usuario timescope
.
Usado frecuentemente
Frecuencia de muestreo de la señal de entrada, en hercios, especificada como un escalar numérico finito o un vector de escalares.
La inversa de la frecuencia de muestreo determina el espaciamiento del eje x (eje del tiempo) entre puntos en la señal mostrada. Cuando el valor de NumInputPorts
es mayor que 1 y la frecuencia de muestreo es escalar, el objeto utiliza la misma frecuencia de muestreo para todas las entradas. Para especificar diferentes frecuencias de muestreo para cada entrada, utilice un vector.
Solo puede establecer esta propiedad al crear el objeto o después de llamar a release
.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Sample Rate.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Fuente del intervalo de tiempo para señales de entrada basadas en cuadros, especificada como una de las siguientes:
"property"
– El objeto deriva los límites del eje x de las propiedadesTimeDisplayOffset
yTimeSpan
."auto"
– Los límites del eje x se derivan de la propiedadTimeDisplayOffset
, la propiedadSampleRate
y el número de filas en cada señal de entrada (FrameSize en las ecuaciones siguientes). Los límites se calculan como:Límite mínimo del eje de tiempo =
TimeDisplayOffset
Límite máximo del eje de tiempo =
TimeDisplayOffset
+ max(1/SampleRate
.*FrameSize)
Dependencia
Cuando se establece la propiedad TimeSpan
, TimeSpanSource
se establece automáticamente en "property"
.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y establezca Time Span en Auto
o un escalar positivo.
Tipos de datos: char
| string
Intervalo de tiempo, en segundos, especificado como un valor escalar numérico positivo. Los límites del eje de tiempo se calculan como:
Límite mínimo del eje de tiempo =
TimeDisplayOffset
Límite máximo del eje de tiempo =
TimeDisplayOffset
+TimeSpan
Dependencias
Para habilitar esta propiedad, establezca TimeSpanSource
en "property"
.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Time Span.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Especifique cómo el scope muestra nuevos datos más allá del período de tiempo visible como:
"scroll"
— En este modo, el scope desplaza los datos antiguos hacia la izquierda para dejar espacio para los datos nuevos a la derecha de la pantalla del scope. Este modo es beneficioso para depurar y monitorear señales que varían en el tiempo."wrap"
— En este modo, el scope agrega datos a la izquierda del gráfico después de invadir la derecha del mismo.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione el comportamiento de desbordamiento en Overrun Action.
Tipos de datos: char
| string
Tipo de parcela, especificada como una de estas:
Puede controlar individualmente el tipo de gráfico para cada línea especificando la propiedad PlotType
como un arreglo de celdas de vectores de caracteres o un arreglo de cadenas. (desde R2025a)
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione Plot Type.
Tipos de datos: char
| string
Cuando esta propiedad se establece en:
"onceatstop"
–– Los límites se actualizan una vez al final de la simulación (cuando se llama arelease
)."auto"
–– El scope intenta mantener siempre los datos en la pantalla mientras minimiza la cantidad de actualizaciones de los límites de los ejes."manual"
–– El scope no realiza ninguna acción a menos que el usuario lo especifique."updates"
–– El scope escala los ejes una vez después de una cantidad determinada de actualizaciones visuales. El número de actualizaciones está determinado por el valor de la propiedadAxesScalingNumUpdates
.
Puede establecer esta propiedad solo al crear el objeto.
Tipos de datos: char
| string
Especifique el número de actualizaciones antes de escalar como un entero escalar positivo real.
Dependencia
Para habilitar esta propiedad, establezca AxesScaling
en "updates"
.
Tipos de datos: double
Avanzado
Especifique las dimensiones de la cuadrícula de diseño como un vector de dos elementos: [numberOfRows,numberOfColumns]
. La cuadrícula puede tener un máximo de 10 filas y 10 columnas.
Si crea una cuadrícula de varios ejes, para modificar la configuración de los ejes individuales, utilice ActiveDisplay
.
Ejemplo: scope.LayoutDimensions = [2,4]
Uso de la ventana Scope
En la pestaña Scope, haga clic en Display Grid () y seleccione una cantidad específica de filas y columnas en la cuadrícula.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Especifique las unidades utilizadas para describir el eje x (eje de tiempo). Puede seleccionar una de las siguientes opciones:
"seconds"
—El scope siempre muestra las unidades en el eje x como segundos. El scope muestra la palabraTime(s)
en el eje x."none"
— El scope no muestra ninguna unidad en el eje x. El scope solo muestra la palabraTime
en el eje x."metric"
— El scope muestra las unidades en el eje x comoTime (s)
cambiando las unidades a días, semanas, meses o años a medida que traza más puntos de datos.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique las unidades del eje x en Time Units.
Tipos de datos: char
| string
Especifique, en segundos, qué tan lejos se deben mover los datos en el eje x. El valor de la señal no cambia, solo cambian los límites mostrados en el eje x.
Si especifica esta propiedad como escalar, entonces ese valor es el desplazamiento de visualización de tiempo para todos los canales. Si especifica esta propiedad como un vector, cada señal de entrada puede tener un desplazamiento de visualización de tiempo diferente.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Time Offset.
Etiquetas del eje de tiempo, especificadas como:
"all"
— Las etiquetas del eje de tiempo aparecen en todas las pantallas."bottom"
— Las etiquetas del eje de tiempo aparecen en la parte inferior de cada columna."none"
— No aparecen etiquetas en ninguna pantalla.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione una de las opciones en Time Labels.
Tipos de datos: char
| string
Especifique si se mostrará el scope en el modo de ejes maximizados. En este modo, los ejes se expanden para caber en toda la pantalla. Para ahorrar espacio, las etiquetas no aparecen en cada pantalla. En cambio, las marcas y sus valores aparecen encima de los datos representados gráficamente. Puede seleccionar una de las siguientes opciones:
"auto"
— Los ejes aparecen maximizados en todas las pantallas solo si las propiedadesTitle
yYLabel
están vacías para cada pantalla. Si ingresa cualquier valor en cualquier visualización para cualquiera de estas propiedades, los ejes no se maximizan."on"
— Los ejes aparecen maximizados en todas las pantallas. Cualquier valor ingresado en las propiedadesTitle
yYLabel
estará oculto."off"
— Ninguno de los ejes aparece maximizado.
Uso de la ventana Scope
En la ventana del scope, haga clic en para maximizar los ejes, ocultar todas las etiquetas e insertar los valores de los ejes.
Tipos de datos: char
| string
Especifique la longitud del búfer utilizado para cada señal de entrada como un número entero positivo.
Puede establecer esta propiedad solo al crear el objeto.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Buffer Length.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Mediciones
Canal para el cual se obtendrán mediciones, especificado como un entero positivo en el rango [1 N], donde N es el número de canales de entrada.
Uso de la ventana Scope
En la pestaña Measurements, seleccione un canal Channel.
Tipos de datos: double
Mediciones binivel para medir transiciones, aberraciones y ciclos de señales binivel, especificadas como un objeto BilevelMeasurementsConfiguration
.
Todas las propiedades BilevelMeasurementsConfiguration
son ajustables.
Uso de la ventana Scope
En la pestaña Measurements, haga clic en Bilevel Settings para modificar las mediciones de dos niveles.
Medidas del cursor para mostrar cursores en pantalla o en forma de onda, especificados como un objeto CursorMeasurementsConfiguration
.
Todas las propiedades CursorMeasurementsConfiguration
son ajustables.
Uso de la ventana Scope
En la pestaña Measurements, seleccione Data Cursors para habilitar los cursores en la pantalla. Haga clic en Data Cursors para modificar la configuración del cursor.
Mediciones del detector de picos para calcular y mostrar los valores pico calculados más grandes, especificados como un objeto PeakFinderConfiguration
.
Todas las propiedades PeakFinderConfiguration
son ajustables.
Uso de la ventana Scope
En la pestaña Measurements, seleccione Peak Finder para habilitar el detector de picos. Haga clic en Peak Finder para modificar la configuración del detector de picos.
Mediciones de estadísticas de señal para calcular y mostrar estadísticas de señal, especificadas como un objeto SignalStatisticsConfiguration
.
Todas las propiedades SignalStatisticsConfiguration
son ajustables.
Uso de la ventana Scope
En la pestaña Measurements, seleccione Signal Statistics. Haga clic en Signal Statistics para elegir las estadísticas a calcular.
Mediciones de activación, especificadas como un objeto TriggerConfiguration
. Defina un evento activador para identificar el tiempo de simulación de las características de la señal de entrada especificadas. Puede utilizar eventos de activación para estabilizar señales periódicas, como una onda sinusoidal, o capturar señales no periódicas, como un pulso que se produce de forma intermitente.
Todas las propiedades TriggerConfiguration
son ajustables.
Uso de la ventana Scope
En la pestaña Measurements, seleccione Enable Trigger y haga clic en Settings para modificar la configuración del disparador.
Visualización
Especifique el nombre del ámbito como un vector de caracteres o un escalar de cadena. Este nombre aparece como título de la ventana de la figura del scope. Para especificar un título de un gráfico de scope, utilice la propiedad Title
.
Tipos de datos: char
| string
Posición de la ventana del scope en píxeles, especificada por el tamaño y la ubicación de la ventana de scope como un vector de cuatro elementos con la forma [left bottom width height]
. Puede colocar la ventana de scope en una posición específica en su pantalla modificando los valores de esta propiedad.
De forma predeterminada, la ventana aparece en el centro de la pantalla con un ancho de 800
píxeles y una altura de 500
píxeles. Los valores exactos de la posición dependen de la resolución de su pantalla.
Especifique los nombres de los canales de entrada como un arreglo de celdas de vectores de caracteres o un arreglo de cadenas. Los nombres de los canales aparecen en la leyenda y en la pestaña Measurements en Select Channel. Si no especifica nombres, los canales se etiquetan como Channel 1
, Channel 2
, etc.
Dependencia
Para habilitar esta propiedad, establezca ShowLegend
en true
.
Tipos de datos: char
Pantalla activa utilizada para establecer propiedades, especificadas por el número de pantalla entero. El número de una pantalla corresponde al índice de ubicación por filas de la pantalla. Al configurar esta propiedad se controla qué pantalla se utiliza para las siguientes propiedades: YLimits
, YLabel
, ShowLegend
, ShowGrid
, Title
y PlotAsMagnitudePhase
.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Active Display.
Especifique el título de visualización como un vector de caracteres o un escalar de cadena.
Dependencia
Cuando establece esta propiedad, ActiveDisplay
controla la pantalla que se actualiza.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Title.
Tipos de datos: char
| string
Especifique el texto que se mostrará en el scope a la izquierda del eje y.
Dependencias
Esta propiedad solo se aplica cuando PlotAsMagnitudePhase
es false
. Cuando PlotAsMagnitudePhase
es true
, las dos etiquetas del eje y son valores de solo lectura "Magnitude"
y "Phase"
, para el gráfico de magnitud y el gráfico de fase, respectivamente.
Cuando establece esta propiedad, ActiveDisplay
controla la pantalla que se actualiza.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Y-Label.
Tipos de datos: char
| string
Especifique los límites del eje y como un vector numérico de dos elementos, [ymin, ymax]
.
Si
PlotAsMagnitudePhase
esfalse
, el valor predeterminado es[-10,10]
.Si
PlotAsMagnitudePhase
estrue
, el valor predeterminado es[0,10]
. Esta propiedad especifica los límites del eje y únicamente del gráfico de magnitud. Los límites del eje y del gráfico de fase son siempre[-180,180]
Dependencia
Cuando establece esta propiedad, ActiveDisplay
controla la pantalla que se actualiza.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y especifique Y-Limits.
Para mostrar una leyenda con los nombres de entrada, configure esta propiedad en true
.
Desde la leyenda puede controlar qué señales están visibles. En la leyenda del scope, haga clic en el nombre de una señal para ocultar la señal en el scope. Para mostrar la señal, haga clic nuevamente en el nombre de la señal.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Legend. Alternativamente, haga clic en Settings en la pestaña Scope y seleccione Show Legend.
Tipos de datos: logical
Establezca esta propiedad en true
para mostrar líneas de cuadrícula en el gráfico.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione Show Grid.
Trazar la señal como magnitud y fase, especificada como:
true
– El scope traza la magnitud y la fase de la señal de entrada en dos ejes separados dentro de la misma pantalla activa.false
– El scope traza las partes reales e imaginarias de la señal de entrada en dos ejes separados dentro de la misma pantalla activa.
Esta propiedad es útil para señales de entrada de valores complejos. Activar esta propiedad afecta la fase de las señales de entrada de valor real. Cuando la amplitud de la señal de entrada no es negativa, la fase es 0 grados. Cuando la amplitud de la señal de entrada es negativa, la fase es de 180 grados.
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione Magnitude Phase Plot.
Color y estilo
Desde R2024b
Color de fondo dentro del scope, especificado como un triplete RGB, un código de color hexadecimal, un nombre de color o un nombre corto. Para obtener más información sobre todos los valores aceptables, consulte Color.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione un color para Background.
Tipos de datos: double
| char
Desde R2024b
Color de los ejes del scope, especificado como un triplete RGB, un código de color hexadecimal, un nombre de color o un nombre corto. Para obtener más información sobre todos los valores aceptables, consulte Color.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione un color para Axes.
Tipos de datos: double
| char
Desde R2024b
Colores de las etiquetas en el scope, especificados como un triplete RGB, un código de color hexadecimal, un nombre de color o un nombre corto. Utilice esta propiedad para establecer el color del título del scope, las etiquetas de los ejes x y y y las marcas de los ejes. Para obtener más información sobre todos los valores aceptables, consulte Color.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione un color para Labels.
Tipos de datos: double
| char
Desde R2024b
Tamaño de fuente de scope, especificado como un escalar positivo. Utilice esta propiedad para establecer el tamaño de fuente para las marcas, etiquetas, títulos y medidas del scope.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y configure Font Size en uno de los valores disponibles.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Desde R2024b
Visibilidad de las líneas argumentales dentro del scope, especificada como una de estas:
"on"
o 1 –– El scope muestra la línea de la trama. Si está representando varias líneas, el scope aplica este valor a todas las líneas."off"
o 0 –– El scope oculta la línea de la trama. Si está representando varias líneas, el scope aplica este valor a todas las líneas.vector de valores lógicos –– El scope aplica los valores a las líneas del gráfico. La longitud del vector debe ser igual al número de líneas que está representando en el scope.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y seleccione la propiedad Visible.
Tipos de datos: logical
Desde R2024b
Estilo de línea de scope, especificado como una de estas opciones:
"-"
–– Línea continua"--"
–– Línea discontinua":"
–– Línea de puntos"-."
–– Línea de puntos y guiones"none"
–– Sin línea
Si proporciona un arreglo de celdas o un arreglo de estos valores, entonces la longitud del arreglo debe ser igual a la cantidad de líneas que está representando en el ámbito.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y configure Style.
Desde R2024b
Ancho de línea de scope, especificado como un escalar positivo o un vector de valores escalares positivos en puntos, donde 1 punto = 1/72 de pulgada. Si especifica un valor escalar y está representando varias líneas, el scope aplica el mismo valor a todas las líneas. Si proporciona un vector de valores, la longitud del vector debe ser igual a la cantidad de líneas que está representando.
Si la línea tiene marcadores, entonces el ancho de la línea también afecta los bordes de los marcadores. El ancho de la línea no puede ser menor que el ancho de un píxel. Si establece el ancho de línea en un valor menor que el ancho de un píxel en su sistema, la línea se mostrará con un ancho de un píxel.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y configure Width.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Desde R2024b
Color de la línea de scope, especificado como un arreglo de tripletes RGB o un arreglo de nombres de colores.
Matriz de tripletes RGB
Especifique una matriz de m por 3, donde cada fila es un triplete RGB. Un triplete RGB es un vector de tres elementos que contiene las intensidades de los componentes rojo, verde y azul de un color. Las intensidades deben estar en el rango [0,1]. Por ejemplo, esta matriz define los nuevos colores como azul, verde oscuro y naranja.
scope.LineColor = [1.0 0.0 0.0 0.0 0.4 0.0 1.0 0.5 0.0];
Arreglo de nombres de colores o códigos de colores hexadecimales
Especifique cualquier combinación de nombres de colores, nombres cortos o códigos de colores hexadecimales.
Para especificar un color, establezca el color de la línea en un vector de caracteres o un escalar de cadena. Por ejemplo,
scope.LineColor = "red"
especifica el rojo como el único color en el orden de colores.Para especificar varios colores, establezca
LineColor
en un arreglo de celdas de vectores de caracteres o un arreglo de cadenas. Por ejemplo,scope.LineColor = {"red","green","blue"}
especifica rojo, verde y azul como colores.
Un código de color hexadecimal comienza con un símbolo numeral (#
) seguido de tres o seis dígitos hexadecimales, que pueden variar de 0
a F
. Los valores no distinguen entre mayúsculas y minúsculas. Por lo tanto, los códigos de color "#FF8800"
, "#ff8800"
, "#F80"
y "#f80"
son equivalentes.
Esta tabla enumera los nombres de colores y los nombres cortos con los tripletes RGB y códigos de color hexadecimales equivalentes.
Nombre del color | Nombre corto | Triplete RGB | Código de color hexadecimal | Aspecto |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y configure Color.
Ajustable: Yes
Tipos de datos: single
| double
| char
| string
| cell
Desde R2024b
Símbolo de marcador de línea de scope, especificado como uno de los valores enumerados en esta tabla. De forma predeterminada, el objeto no muestra marcadores. Al especificar un símbolo de marcador, se agregan marcadores en cada punto de datos o vértice.
Ajustable: Yes
Uso de la ventana Scope
En la pestaña Scope, haga clic en Settings y configure Marker.
Funciones del objeto
Para utilizar una función de objeto, especifique el objeto como primer argumento de entrada.
hide | Ocultar ventana de alcance |
show | Mostrar ventana de alcance |
isVisible | Determinar la visibilidad del alcance. |
generateScript | Generar script MATLAB para crear un alcance con la configuración actual |
printToFigure | Ventana de alcance de impresión en la figura MATLAB |
step | Ejecutar el algoritmo System object |
release | Release resources and allow changes to System object property values and input characteristics |
reset | Reset internal states of System object |
Si desea reiniciar la simulación desde el principio, llame a reset
para borrar las visualizaciones de la ventana de scope. No llames a reset
después de llamar a release
.
Ejemplos
Crea una señal sinusoidal con dos tonos, uno a 0,3 kHz y otro a 3 kHz.
t = (0:1000)'/8e3; xin = sin(2*pi*0.3e3*t)+sin(2*pi*3e3*t);
Cree un objeto timescope
y visualice la señal sinusoidal llamando al objeto timescope scope
.
scope = timescope(SampleRate=8e3,... TimeSpanSource="property",... TimeSpan=0.1); scope(xin)
Ejecute release
para permitir cambios en los valores de propiedad y características de entrada. El scope escala automáticamente los ejes.
release(scope);
Oculta la ventana de scope.
if(isVisible(scope)) hide(scope) end
Muestra la ventana de scope.
if(~isVisible(scope)) show(scope) end
Crear y mostrar señal de entrada de reloj
Cargue los datos del reloj, x
y t
. Encuentra el tiempo de muestra ts
.
load clockex
ts = t(2)-t(1);
Cree un objeto timescope
y llame al objeto para mostrar la señal. Para escalar automáticamente los ejes y habilitar cambios en los valores de propiedad y características de entrada, llame a release
.
scope = timescope(SampleRate=1/ts,TimeSpanSource="auto");
scope(x);
release(scope);
Utilice el panel Bilevel Measurements para encontrar el tiempo de estabilización
En la pestaña Measurements, en Bilevel Settings, seleccione Aberrations.
Inicialmente, el Time Scope no muestra la medición del tiempo de estabilización. Esta ausencia se produce porque el valor predeterminado del parámetro Settle Seek (s) es más largo que la duración total de la simulación.
Para cambiar el valor del parámetro Settle Seek (s), haga clic en Bilevel Settings y, en Reference Level, establezca la duración mínima de estabilidad en 2e-6
y presione Enter.
Time Scope ahora muestra un valor de tiempo de estabilización (ns) de flanco ascendente de 118.392
ns.
Este valor del tiempo de estabilización es en realidad el promedio estadístico de los tiempos de estabilización para los cinco flancos ascendentes. Para mostrar el tiempo de estabilización de un solo flanco ascendente, puede ampliar esa transición.
Pase el cursor sobre la esquina superior derecha de los ejes del scope y haga clic en el botón de zoom.
Haga clic y arrastre para acercar una de las transiciones. Establezca Settle Seek(s) en 2e-7
y presione Enter.
Time Scope actualiza el valor del tiempo de estabilización del flanco ascendente para reflejar la nueva ventana de tiempo.
Cree una onda sinusoidal y visualícela en el Time Scope. Calcule mediante programación las mediciones de dos niveles relacionadas con transiciones, aberraciones y ciclos de señales.
Inicialización
Cree la onda sinusoidal de entrada utilizando la función sin
. Crea un objeto timescope
MATLAB® para mostrar la señal. Establezca la propiedad TimeSpan
en 1 segundo.
f = 100; fs = 1000; swv = sin(2.*pi.*f.*(0:1/fs:1-1/fs)).'; scope = timescope(SampleRate=fs,... TimeSpanSource="property",... TimeSpan=1);
Medidas de transición
Habilite el scope para mostrar mediciones de transición mediante programación estableciendo la propiedad ShowTransitions
en true
. Muestra la onda sinusoidal en el scope.
Las mediciones de transición, como el tiempo de subida, el tiempo de bajada y la tasa de variación, aparecen en el panel Transitions en la parte inferior del scope.
scope.BilevelMeasurements.ShowTransitions = true; scope(swv); release(scope);
Medidas de aberración
Habilite el scope para mostrar mediciones de aberración mediante programación estableciendo la propiedad ShowAberrations
en true
. Muestra la onda sinusoidal en el scope.
Las mediciones de aberración, como preimpulso, sobreimpulso, subimpulso y tiempo de estabilización, aparecen en el panel Aberrations en la parte inferior del scope.
scope.BilevelMeasurements.ShowAberrations = true; scope(swv); release(scope);
Mediciones de ciclo
Habilite el scope para mostrar mediciones de ciclos de manera programada estableciendo la propiedad ShowCycles
en true
. Muestra la onda sinusoidal en el scope.
Las mediciones de ciclo, como el período, la frecuencia, el ancho de pulso y el ciclo de trabajo, aparecen en el panel Cycles en la parte inferior del scope.
scope.BilevelMeasurements.ShowCycles = true; scope(swv); release(scope);
Cree una onda sinusoidal y visualícela en el Time Scope. Habilite el scope mediante programación para calcular las estadísticas de la señal.
El objeto admite estas estadísticas de señal:
Máximo
Mínimo
Media
Mediana
RMS
Pico a pico
Varianza
Desviación Estándar
Cuadrado medio
Inicialización
Cree la onda sinusoidal de entrada utilizando la función sin
. Crea un objeto timescope
MATLAB® para mostrar la señal. Establezca la propiedad TimeSpan
en 1 segundo.
f = 100; fs = 1000; swv = sin(2.*pi.*f.*(0:1/fs:1-1/fs)).'; scope = timescope(SampleRate=fs,... TimeSpanSource="property",... TimeSpan=1);
Estadísticas de señal
Habilite el scope para mostrar estadísticas de señal de manera programada estableciendo la propiedad SignalStatistics
> Enabled
en true
.
scope.SignalStatistics.Enabled = true;
De forma predeterminada, el scope permite las siguientes mediciones.
scope.SignalStatistics
ans = SignalStatisticsConfiguration with properties: ShowMax: 1 ShowMin: 1 ShowPeakToPeak: 1 ShowMean: 1 ShowVariance: 0 ShowStandardDeviation: 1 ShowMedian: 1 ShowRMS: 1 ShowMeanSquare: 0 Enabled: 1
Muestra la onda sinusoidal en el scope. Aparece el panel Statistics en la parte inferior de la ventana del scope que ilustra las estadísticas de la parte de la señal que puede ver en el scope.
Si utiliza las opciones de zoom en el scope, las estadísticas se ajustan automáticamente al rango de tiempo en la pantalla.
scope(swv); release(scope);
Este ejemplo muestra cómo visualizar múltiples entradas con diferentes frecuencias de muestreo y trazar las señales en múltiples ejes.
Genere tres ondas sinusoidales diferentes y trácelas en Time Scope.
freq = 1/500; t = (0:100)'/freq; t2 = (0:0.5:100)'/freq; xin1 = sin(1/2*t); xin2 = sin(1/4*t2); xin = sin(1/2*t2)+sin(1/4*t2); scope = timescope(SampleRate=[freq freq/2 freq],... TimeSpanSource="property", ... TimeSpan=0.1,... LayoutDimensions=[2,1]); scope(xin,xin1,xin2) release(scope)
Este ejemplo muestra cómo agregar títulos, establecer límites de ejes y y modificar propiedades cuando tiene varios ejes en su objeto timescope
.
Utilice el objeto timescope
para visualizar tres ondas sinusoidales con dos frecuencias de muestreo diferentes.
freq = 1; t = (0:100)'/freq; t2 = (0:0.5:100)'/freq; xin1 = sin(1/2*t); xin2 = sin(1/4*t2); xin = sin(1/2*t2)+sin(1/4*t2); scope = timescope(SampleRate=[freq freq/2 freq],... TimeSpanSource="property",... TimeSpan=100); scope(xin, xin1, xin2)
Cambie el diseño para agregar un segundo eje. La segunda y tercera entradas se mueven automáticamente al nuevo segundo eje.
scope.LayoutDimensions = [2,1];
Modifique las propiedades del primer eje.
scope.ActiveDisplay = 1;
scope.ShowGrid = false;
scope.Title = "Sine Wave 1";
scope.YLimits = [-2,2];
Repita este proceso para modificar el segundo eje.
scope.ActiveDisplay = 2;
scope.Title = "Sine Waves 2 & 3";
scope.YLimits = [-1,1];
release(scope)
Cree un objeto dsp.SineWave
. Crea un objeto dsp.FIRDecimator
para diezmar la onda sinusoidal en 2. Crea un objeto timescope
con dos puertos de entrada.
Fs = 1000; % Sample rate sine = dsp.SineWave(Frequency=50,... SampleRate=Fs,... SamplesPerFrame=100); decimate = dsp.FIRDecimator; % To decimate sine by 2 scope = timescope(SampleRate=[Fs Fs/2],... TimeDisplayOffset=[0 38/Fs],... TimeSpanSource="Property",... TimeSpan=0.25,... YLimits=[-1 1],... ShowLegend=true);
Llame al objeto dsp.SineWave
para crear una señal de onda sinusoidal. Utilice el objeto dsp.FIRDecimator
para crear una segunda señal que sea igual a la señal original y diezmarla por un factor de 2. Muestra las señales llamando al objeto timescope
.
for ii = 1:2 xsine = sine(); xdec = decimate(xsine); scope(xsine,xdec) end release(scope)
Cierre la ventana Time Scope y borre las variables.
clear scope Fs sine decimate ii xsine xdec
Crea un vector que represente una señal sinusoidal de valor complejo y un objeto timescope
. Llame al scope para mostrar la señal.
fs = 1000; t = (0:1/fs:10)'; CxSine = cos(2*pi*0.2*t) + 1i*sin(2*pi*0.2*t); CxSineSum = cumsum(CxSine); scope = timescope(SampleRate=fs,... TimeSpanSource="auto",ShowLegend=1); scope(CxSineSum); release(scope)
De forma predeterminada, cuando la entrada es una señal de valor complejo, Time Scope representa las porciones real e imaginaria en los mismos ejes. Estas partes aparecen como líneas de diferentes colores en los mismos ejes dentro de la misma pantalla activa.
Cambie la propiedad PlotAsMagnitudePhase
a true
y llame a release
.
Time Scope ahora representa la magnitud y la fase de la señal de entrada en dos ejes separados dentro de la misma pantalla activa. Los ejes superiores muestran la magnitud y los ejes inferiores muestran la fase en grados.
scope.PlotAsMagnitudePhase = true; scope(CxSineSum); release(scope)
Este ejemplo muestra cómo el objeto timescope
visualiza entradas que cambian de dimensiones a mitad de camino.
Cree un vector que represente una señal constante de dos canales. Cree otro vector que represente una señal constante de tres canales. Cree un objeto timescope
y llame al scope con dos entradas para mostrar la señal.
fs = 10; sigdim2 = [ones(5*fs,1) 1+ones(5*fs,1)]; % 2-dim 0-5 s sigdim3 = [2+ones(5*fs,1) 3+ones(5*fs,1) 4+ones(5*fs,1)]; % 3-dim 5-10 s scope = timescope(SampleRate=fs,TimeSpanSource="property"); scope.PlotType = "stairs"; scope.TimeSpanOverrunAction = "scroll"; scope.TimeDisplayOffset = [0 5]; scope([sigdim2; sigdim3(:,1:2)], sigdim3(:,3));
El tamaño de la señal de entrada al Time Scope cambia a medida que avanza la simulación. Cuando el tiempo de simulación es inferior a 5 segundos, el Time Scope solo representa la señal de dos canales sigdim2
. Después de 5 segundos, el Time Scope también traza la señal de tres canales sigdim3
.
Ejecute el método release
para habilitar cambios en los valores de propiedad y características de entrada. El scope escala automáticamente los ejes.
release(scope)
Utilice el panel Peak Finder en Time Scope para medir la frecuencia cardíaca.
Crear y mostrar señal de ECG
Utilice la función personalizada ecg
para generar una señal de electrocardiograma (ECG).
type ecg.m
function x = ecg(L) a0 = [0, 1, 40, 1, 0, -34, 118, -99, 0, 2, 21, 2, 0, 0, 0]; d0 = [0, 27, 59, 91, 131, 141, 163, 185, 195, 275, 307, 339, 357, 390, 440]; a = a0 / max(a0); d = round(d0 * L / d0(15)); d(15) = L; for i = 1:14 m = d(i) : d(i+1) - 1; slope = (a(i+1) - a(i)) / (d(i+1) - d(i)); x(m+1) = a(i) + slope * (m - d(i)); end
x1 = 3.5*ecg(2700).'; y1 = sgolayfilt(kron(ones(1,13),x1),0,21); n = (1:30000)'; del = round(2700*rand(1)); mhb = y1(n + del); ts = 0.00025;
Cree un objeto timescope
y llame al objeto para mostrar la señal. Para escalar automáticamente los ejes y habilitar cambios en los valores de propiedad y características de entrada, llame a release
.
scope = timescope(SampleRate=1/ts); scope(mhb); release(scope)
Encontrar frecuencia cardíaca
Utilice las mediciones de Peak Finder para medir el tiempo entre latidos.
En la pestaña Measurements, seleccione Peak Finder para habilitar las mediciones del detector de picos.
Haga clic en la flecha Peak Finder y establezca la propiedad Num Peaks en 10
y presione enter
.
En el panel Peaks en la parte inferior de la ventana, Time Scope muestra una lista de diez valores de amplitud de pico y los momentos en los que ocurren.
La lista de valores pico muestra una diferencia de tiempo constante de 0,675 segundos entre cada latido. Según esta ecuación, la frecuencia cardíaca de esta señal de ECG es de aproximadamente 89 latidos por minuto.
Cierre la ventana Time Scope y elimine las variables que creó del espacio de trabajo.
clear scope x1 y1 n del mhb ts
Desde R2024b
Cree un objeto timescope
. Las señales de entrada son un conjunto de cuatro señales sinusoidales.
ts = timescope(YLimits=[-2 2]); x = linspace(0,10).'; y1 = sin(x); y2 = sin(x-0.5); y3 = sin(x-1); y4 = sin(x-1.5);
Visualice las señales en el Time Scope. Este gráfico muestra la configuración de color y estilo predeterminada del objeto timescope
.
ts(y1,y2,y3,y4); release(ts);
Cambia el color de fondo y el color de los ejes del gráfico a "white"
. Establezca el color de fuente en "black"
. Además, cambie los colores de las líneas a ["red" "green" "black" "magenta"]
.
ts.BackgroundColor = "white"; ts.AxesColor = "white"; ts.FontColor = "black"; ts.LineColor = ["red" "green" "black" "magenta"]; show(ts) release(ts)
Para cambiar el orden de colores, configure LineColor
en un orden de colores diferente. Esta configuración cambia la paleta de orden de colores.
ts.LineColor = colororder("glow");
show(ts)
release(ts)
Puede especificar además un marcador para cada línea y cambiar el ancho de línea correspondiente.
ts.LineMarker = ["x","o","+","."]; ts.LineWidth = 2; show(ts) release(ts)
Para controlar la visibilidad de las líneas de la gráfica, utilice la propiedad LineVisible
. Cuando selecciona "off"
, la línea de trazado se vuelve invisible.
ts.LineVisible = ["off" "on" "on" "off"]; show(ts) release(ts)
Desde R2023b
Utilice la función printToFigure
para imprimir la ventana de visualización del objeto timescope
en una nueva figura MATLAB®.
Vea una onda sinusoidal en Time Scope. Este gráfico muestra la configuración de color y estilo predeterminada del objeto timescope
.
f = 100; fs = 1000; swv = sin(2.*pi.*f.*(0:1/fs:1-1/fs)).'; scope = timescope(SampleRate=fs,... TimeSpanSource="property", ... TimeSpan=1); scope(swv);
Cambia el color de fondo y el color de los ejes del gráfico a "white"
. Establezca el color de fuente en "black"
y el color de línea en "blue"
.
scope.BackgroundColor = "white"; scope.AxesColor = "white"; scope.FontColor = "black"; scope.LineColor = "blue"; show(scope) release(scope)
Imprima la visualización de la onda sinusoidal en una nueva figura de MATLAB . La función devuelve un identificador a la figura.
scopeFig = printToFigure(scope);
El controlador de la figura scopeFig
permite modificar el aspecto y el comportamiento de la ventana de la figura.
Especifique un nombre de figura y cambie el tamaño de la figura a 400 por 250 píxeles.
scopeFig.Name="Sine Wave Signal"; scopeFig.NumberTitle="off"; scopeFig.Position=[1 1 400 250];
Al imprimir una figura, puede hacerla invisible estableciendo el argumento Visible
en false
.
scopeFig = printToFigure(scope,Visible=false);
Limitaciones
No admite la generación de código C/C++ utilizando MATLAB® Coder™. Para generar una aplicación independiente, utilice MATLAB Compiler™.
Admite la generación de código MEX al tratar las llamadas al objeto como extrínsecas.
Sugerencias
Para cerrar la ventana del scope y borrar sus datos asociados, utilice la función MATLAB
clear
.Para ocultar o mostrar la ventana de scope, utilice las funciones
hide
yshow
.Utilice la función MATLAB
mcc
para compilar código que contenga un scope. No puede abrir cuadros de diálogo de configuración de scope si tiene más de un componente compilado en su aplicación.
Historial de versiones
Introducido en R2020aAhora puede controlar individualmente el tipo de gráfico para cada línea. Para controlar el tipo de gráfico de cada línea, especifique la propiedad PlotType
como un arreglo de celdas de vectores de caracteres o un arreglo de cadenas.
Con las nuevas propiedades de color y estilo, puede personalizar la línea de trazado, los ejes y la configuración de fondo del scope a través de la línea de comandos de MATLAB.
Ahora puede establecer la propiedad LayoutDimensions
en [10 10], es decir, el diseño de la cuadrícula de visualización puede tener hasta 10 filas y 10 columnas.
Ahora puede aumentar la precisión de visualización a 15 dígitos utilizando la propiedad Display Precision en la configuración de scope en Display and Labels. Esta precisión afecta a todas las mediciones y datos que el scope muestra en su barra de estado.
La propiedad Preserve colors for copy to clipboard ha cambiado de nombre a Preserve Colors y ahora está disponible en la barra de herramientas de scope bajo Copy Display.
Puede imprimir la visualización del objeto timescope
en una figura de MATLAB utilizando la nueva función printToFigure
.
A partir de R2022b, puede especificar la propiedad ChannelNames
del objeto timescope
como un arreglo de cadenas.
ts = timescope(SampleRate=Fs, ChannelNames=["Input", "Lowpass Output"]);
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)