timescope
Descripción
El objeto timescope
muestra señales en el dominio del tiempo.
Características del alcance:
Cursores de datos — Mide los valores de la señal usando 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.
Buscador de picos — Encuentra máximos, mostrando los valores del eje x en los que ocurren.
Mediciones binivel : mide las transiciones, los excesos, los insuficientes y los ciclos.
Desencadenantes : configura 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 de alcance.
Puede habilitar estas medidas mediante programación o en la interfaz de usuario del alcance. Para obtener más detalles, 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.
devuelve un scope
= timescope(Name=Value
)timescope
establece propiedades usando argumentos Name=Value
. Puede especificar los argumentos de nombre-valor en cualquier orden.
Propiedades
La mayoría de las propiedades se pueden cambiar desde la interfaz de usuario timescope
.
Usado frecuentemente
SampleRate
— Frecuencia de muestreo de entradas
1
(predeterminado) | escalar numérico finito | vector
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 espaciado del eje x(eje de 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 de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Data and Axes, especifique la frecuencia de muestreo en el cuadro Sample Rate .
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeSpanSource
— Fuente del lapso de tiempo
"auto"
(predeterminado) | "property"
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 configura la propiedad TimeSpan
, TimeSpanSource
se establece automáticamente en "property"
.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración de alcance de tiempo, en Data and Axes, seleccione Auto
o especifique el intervalo de tiempo en el cuadro Time Span .
Tipos de datos: char
| string
TimeSpan
— Espacio de tiempo
10
(predeterminado) | escalar positivo
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 de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del ámbito de tiempo, en Data and Axes, especifique el intervalo de tiempo en el cuadro Time Span .
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeSpanOverrunAction
— Comportamiento de desbordamiento de datos
"scroll"
(predeterminado) | "wrap"
Especifique cómo el alcance muestra nuevos datos más allá del período de tiempo visible como:
"scroll"
: en este modo, el osciloscopio desplaza los datos antiguos hacia la izquierda para dejar espacio para los nuevos datos a la derecha de la pantalla del osciloscopio. Este modo es beneficioso para depurar y monitorear señales que varían en el tiempo."wrap"
: en este modo, el alcance agrega datos a la izquierda del gráfico después de sobrepasar la derecha del gráfico.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Data and Axes, seleccione el comportamiento de desbordamiento en Overrun Action.
Tipos de datos: char
| string
PlotType
— tipo de trama
"line"
(predeterminado) | "stairs"
Tipo de parcela, especificada como:
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Data and Axes, seleccione el tipo de trazado en Plot Type.
Tipos de datos: char
| string
AxesScaling
— Modo de escala de ejes
"onceatstop"
(predeterminado) | "auto"
| "manual"
| "updates"
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 osciloscopio intenta mantener siempre los datos en la pantalla mientras minimiza el número de actualizaciones de los límites de los ejes."manual"
–– El alcance no realiza ninguna acción a menos que lo especifique el usuario."updates"
–– El alcance escala los ejes una vez después de un número determinado 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
AxesScalingNumUpdates
— Número de actualizaciones antes de escalar
100 (predeterminado) | entero positivo real
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
LayoutDimensions
— Mostrar dimensiones de la cuadrícula de diseño
[1,1]
(predeterminado) | [numberOfRows, numberOfColumns]
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 4 filas y 4 columnas.
Si crea una cuadrícula de múltiples ejes, para modificar la configuración de ejes individuales, use el ActiveDisplay
.
Ejemplo: scope.LayoutDimensions = [2,4]
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Display Grid () y seleccione un número específico de filas y columnas en la cuadrícula.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
TimeUnits
— Unidades del eje x
"seconds"
(predeterminado) | "none"
| "metric"
Especifique las unidades utilizadas para describir el eje x (eje de tiempo). Puede seleccionar una de las siguientes opciones:
"seconds"
—El osciloscopio siempre muestra las unidades en el eje x como segundos. El alcance muestra la palabraTime(s)
en el eje x."none"
: el osciloscopio no muestra ninguna unidad en el eje x. El alcance solo muestra la palabraTime
en el eje x."metric"
: el osciloscopio muestra las unidades en el eje x comoTime (s)
cambiando las unidades a día, semanas, meses o años a medida que traza más puntos de datos.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración de alcance de tiempo, en Data and Axes, especifique las unidades de eje x en Time Units.
Tipos de datos: char
| string
TimeDisplayOffset
— Desplazamiento x-límites del eje
0 (predeterminado) | escalar | vector
Especifique, en segundos, hasta qué punto 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 canal de entrada puede tener un desplazamiento de visualización de tiempo diferente.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Data and Axes, especifique el desplazamiento del eje x en Time Offset.
TimeAxisLabels
— Etiquetas del eje de tiempo
"all"
(predeterminado) | "bottom"
| "none"
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 pantalla inferior de cada columna."none"
: no aparecen etiquetas en ninguna pantalla.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración de alcance de tiempo, en Data and Axes, seleccione qué etiqueta de eje x mostrar en Time Labels.
Tipos de datos: char
| string
MaximizeAxes
— Maximizar el control de los ejes
"auto"
(predeterminado) | "on"
| "off"
Especifique si se mostrará el alcance 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 trazados. 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. Todos los valores ingresados en las propiedadesTitle
yYLabel
están ocultos."off"
— Ninguno de los ejes aparece maximizado.
Uso de la ventana de alcance
En la ventana de alcance, haga clic en para maximizar los ejes, ocultar todas las etiquetas e insertar los valores de los ejes.
Tipos de datos: char
| string
BufferLength
— Longitud del búfer
50000
(predeterminado) | número entero positivo
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 de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Data and Axes, especifique la longitud del búfer en el cuadro Buffer Length .
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Mediciones
MeasurementChannel
— Canal para el cual obtener mediciones
1
(predeterminado) | número entero positivo
Canal para el cual obtener mediciones, especificado como un número entero positivo en el rango [1 N], donde N es el número de canales de entrada.
Uso de la ventana de alcance
En la pestaña Measurements , seleccione un Channel.
Tipos de datos: double
BilevelMeasurements
— Mediciones binivel
BilevelMeasurementsConfiguration
objeto
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 de alcance
En la pestaña Measurements , en la sección Measurements , haga clic en Bilevel Settings para modificar las medidas binivel.
CursorMeasurements
— Medidas del cursor
CursorMeasurementsConfiguration
objeto
Mediciones de cursor para mostrar cursores de pantalla o de forma de onda, especificados como un objeto CursorMeasurementsConfiguration
.
Todas las propiedades CursorMeasurementsConfiguration
son ajustables.
Uso de la ventana de alcance
En la pestaña Measurements , en la sección Measurements , seleccione Data Cursors para habilitar los cursores en la pantalla. Haga clic en Data Cursors para modificar la configuración del cursor.
PeakFinder
— Medidas del buscador de picos
PeakFinderConfiguration
objeto
Mediciones del buscador de picos para calcular y mostrar los valores de pico calculados más grandes, especificados como un objeto PeakFinderConfiguration
.
Todas las propiedades PeakFinderConfiguration
son ajustables.
Uso de la ventana de alcance
En la pestaña Measurements , en la sección Measurements , seleccione Peak Finder para habilitar el buscador de picos. Haga clic en Peak Finder para modificar la configuración del buscador de picos.
SignalStatistics
— Mediciones de estadísticas de señal.
SignalStatisticsConfiguration
objeto
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 de alcance
En la pestaña Measurements , en la sección Measurements , seleccione Signal Statistics. Haga clic en Signal Statistics para elegir las estadísticas a calcular.
Trigger
— Mediciones de disparo
TriggerConfiguration
objeto
Mediciones de activación, especificadas como un objeto TriggerConfiguration
. Defina un evento de activación 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 de alcance
En la pestaña Measurements , en la sección Trigger , seleccione Enable Trigger y haga clic en Settings para modificar el configuración del disparador.
Visualización
Name
— Nombre de la ventana
"Time Scope"
(predeterminado) | vector de caracteres | escalar de cadena
Especifique el nombre del ámbito como un vector de caracteres o una cadena escalar. Este nombre aparece como título de la ventana de la figura del osciloscopio. Para especificar un título de un gráfico de alcance, utilice la propiedad Title
.
Tipos de datos: char
| string
Position
— Posición de la ventana
centro de pantalla (predeterminado) | [left bottom width height]
Posición de la ventana de alcance en píxeles, especificada por el tamaño y la ubicación de la ventana de alcance como un vector de cuatro elementos de la forma [left bottom width height]
. Puede colocar la ventana de alcance 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 un alto de 500
píxeles. Los valores exactos de la posición dependen de la resolución de su pantalla.
ChannelNames
— Nombres de canales
{''}
(predeterminado) | arreglo de celdas de vectores de caracteres | arreglo de cadenas
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 debajo de 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
ActiveDisplay
— Pantalla activa para configurar propiedades.
1
(predeterminado) | número entero
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. Establecer esta propiedad controla qué pantalla se utiliza para las siguientes propiedades: YLimits
, YLabel
, ShowLegend
, ShowGrid
, Title
, y PlotAsMagnitudePhase
.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Display and Labels, especifique la visualización activa usando Active Display.
Title
— Título mostrado
''
(predeterminado) | vector de caracteres | escalar de cadena
Especifique el título de visualización como un vector de caracteres o una cadena escalar.
Dependencia
Cuando establece esta propiedad, ActiveDisplay
controla la visualización que se actualiza.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del ámbito de tiempo, en Display and Labels, especifique el título para mostrar en el cuadro Title .
Tipos de datos: char
| string
YLabel
— y-etiqueta del eje
"Amplitude"
(predeterminado) | vector de caracteres | escalar de cadena
Especifique el texto para que el alcance se muestre a la izquierda del eje y.
Dependencias
Esta propiedad se aplica solo cuando PlotAsMagnitudePhase
es false
. Cuando PlotAsMagnitudePhase
es true
, las dos etiquetas de 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 visualización que se actualiza.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del ámbito de tiempo, en Display and Labels, especifique una etiqueta para el eje y en el cuadro Y-Label .
Tipos de datos: char
| string
YLimits
— y-límites del eje
[-10,10]
(predeterminado) | [ymin, ymax]
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 sólo 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 visualización que se actualiza.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del alcance del tiempo, en Display and Labels, especifique los límites para el eje y en el cuadro Y-Axis Limits .
ShowLegend
— Mostrar leyenda
false
(predeterminado) | true
Para mostrar una leyenda con los nombres de las entradas, establezca esta propiedad en true
.
Desde la leyenda puedes controlar qué señales son visibles. En la leyenda del osciloscopio, haga clic en el nombre de una señal para ocultar la señal en el osciloscopio. Para mostrar la señal, haga clic nuevamente en el nombre de la señal.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del ámbito de tiempo, en Display and Labels, seleccione Show Legend.
Tipos de datos: logical
ShowGrid
— Visibilidad de la cuadrícula
true
(predeterminado) | false
Establezca esta propiedad en true
para mostrar las líneas de la cuadrícula en el gráfico.
Uso de la ventana de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del ámbito de tiempo, en Display and Labels, seleccione Show Grid.
PlotAsMagnitudePhase
— Trazar la señal como magnitud y fase.
false
(predeterminado) | true
Trazar la señal como magnitud y fase, especificada como:
true
: el osciloscopio traza la magnitud y la fase de la señal de entrada en dos ejes separados dentro de la misma pantalla activa.false
: el osciloscopio traza las partes real e imaginaria 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 de alcance
En la pestaña Scope , haga clic en Settings. En el cuadro de diálogo Configuración del ámbito de tiempo, en Display and Labels, seleccione Magnitude Phase Plot.
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 | Genere el script MATLAB para crear un alcance con la configuración actual |
printToFigure | Imprimir ventana de alcance en MATLAB figura |
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 alcance. No llames a reset
después de llamar a release
.
Ejemplos
Ver onda sinusoidal en el alcance del tiempo
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 vea la señal sinusoidal llamando al objeto de alcance de tiempo scope
.
scope = timescope(SampleRate=8e3,... TimeSpanSource="property",... TimeSpan=0.1); scope(xin)
Ejecute release
para permitir cambios en los valores de propiedad y las características de entrada. El osciloscopio escala automáticamente los ejes.
release(scope);
Oculta la ventana de alcance.
if(isVisible(scope)) hide(scope) end
Muestra la ventana de alcance.
if(~isVisible(scope)) show(scope) end
Utilice el panel de medidas binivel con señal de entrada de reloj
Crear y mostrar señal de entrada de reloj
Cargue los datos del reloj, x
y t
. Encuentre 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 permitir cambios en los valores de propiedad y las características de entrada, llame a release
.
scope = timescope(SampleRate=1/ts,TimeSpanSource="auto");
scope(x);
release(scope);
Utilice el panel Medidas binivel para encontrar el tiempo de asentamiento
En la pestaña Medidas, en Configuración binivel, seleccione Aberraciones.
Inicialmente, el Time Scope no muestra la medición del Tiempo(s) de establecimiento. Esta ausencia se produce porque el valor predeterminado del parámetro Settle Seek es mayor que toda la duración de la simulación.
Para cambiar el valor del parámetro Settle Seek(s), haga clic en Configuración binivel, y en Nivel de referencia, establezca el valor de búsqueda de liquidación en 2e-6
y presione Enter.
Time Scope ahora muestra un valor de tiempo de establecimiento de flanco ascendente de 118.392
ns.
Este valor del tiempo de establecimiento es en realidad el promedio estadístico de los tiempos de establecimiento para los cinco flancos ascendentes. Para mostrar el tiempo de establecimiento de un solo flanco ascendente, puede ampliar esa transición.
Pase el cursor sobre la esquina superior derecha de los ejes del alcance 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.
El ámbito de tiempo actualiza el valor del tiempo de establecimiento del flanco ascendente para reflejar la nueva ventana de tiempo.
Configurar mediciones binivel mediante programación en el objeto MATLAB Time Scope
Cree una onda sinusoidal y visualícela en el ámbito del tiempo. 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 usando la función sin
. Cree 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 alcance para mostrar medidas de transición mediante programación estableciendo la propiedad ShowTransitions
en true
. Muestra la onda sinusoidal en el osciloscopio.
Las mediciones de transición, como el tiempo de subida, el tiempo de caída y la velocidad de aceleración, aparecen en el panel Transiciones en la parte inferior del osciloscopio.
scope.BilevelMeasurements.ShowTransitions = true; scope(swv); release(scope);
Medidas de aberración
Habilite el osciloscopio para mostrar mediciones de aberración mediante programación estableciendo la propiedad ShowAberrations
en true
. Muestra la onda sinusoidal en el osciloscopio.
Las mediciones de aberración, como el disparo previo, el sobreimpulso, el insuficiente y el tiempo de establecimiento, aparecen en el panel Aberraciones en la parte inferior del osciloscopio.
scope.BilevelMeasurements.ShowAberrations = true; scope(swv); release(scope);
Mediciones de ciclo
Habilite el alcance para mostrar mediciones de ciclos mediante programación estableciendo la propiedad ShowCycles
en true
. Muestra la onda sinusoidal en el osciloscopio.
Las mediciones de ciclos, como el período, la frecuencia, el ancho del pulso y el ciclo de trabajo, aparecen en el panel Ciclos en la parte inferior del osciloscopio.
scope.BilevelMeasurements.ShowCycles = true; scope(swv); release(scope);
Configurar estadísticas de señal mediante programación en el objeto MATLAB Time Scope
Cree una onda sinusoidal y visualícela en el ámbito del tiempo. Habilite el osciloscopio 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
Significar
Mediana
RMS
Pico a pico
Diferencia
Desviación Estándar
Cuadrado medio
Inicialización
Cree la onda sinusoidal de entrada usando la función sin
. Cree 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 alcance para mostrar estadísticas de señal mediante programación configurando la propiedad SignalStatistics
> Enabled
en true
.
scope.SignalStatistics.Enabled = true;
De forma predeterminada, el osciloscopio 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 osciloscopio. Aparece un panel de Estadísticas en la parte inferior de la ventana del osciloscopio que muestra las estadísticas de la parte de la señal que puede ver en el osciloscopio.
Si utiliza las opciones de zoom en el osciloscopio, las estadísticas se ajustan automáticamente al rango de tiempo en la pantalla.
scope(swv); release(scope);
Visualice múltiples entradas con diferentes frecuencias de muestreo
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)
Utilice múltiples ejes en el alcance
Este ejemplo muestra cómo agregar títulos, establecer límites del eje 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)
Vea señales de entrada de onda sinusoidal con diferentes frecuencias de muestreo y compensaciones
Cree un objeto dsp.SineWave
. Cree un objeto dsp.FIRDecimator
para diezmar la onda sinusoidal en 2. Cree 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. Muestre 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
Mostrar señal de entrada de valor complejo
Cree un vector que represente una señal sinusoidal de valor complejo y un objeto timescope
. Llame al osciloscopio 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 traza 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 traza 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)
Mostrar señal de entrada de tamaño cambiante
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 osciloscopio 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, Time Scope traza solo 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 las características de entrada. El osciloscopio escala automáticamente los ejes.
release(scope)
Encuentre la frecuencia cardíaca usando el panel Peak Finder con señal de entrada de ECG
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 permitir cambios en los valores de propiedad y las 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 Medidas, seleccione Peak Finder para habilitar las mediciones del buscador de picos.
Haga clic en la flecha Peak Finder y establezca la propiedad Num Peaks en 10
y presione enter
.
En el panel Picos en la parte inferior de la ventana, Time Scope muestra una lista de diez valores de amplitud de pico y los momentos en que ocurren.
La lista de valores máximos 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 Ámbito de tiempo y elimine las variables que creó del espacio de trabajo.
clear scope x1 y1 n del mhb ts
Imprimir visualización del alcance del tiempo en la figura de MATLAB
Desde R2023b
Utilice la función printToFigure
para imprimir la ventana de visualización del objeto timescope
en una nueva figura de MATLAB® .
Vea una onda sinusoidal en Time Scope.
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);
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 identificador de la figura scopeFig
permite modificar la apariencia 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 hacer que la figura sea invisible configurando el argumento Visible
en false
.
scopeFig = printToFigure(scope,Visible=false);
Limitaciones
No admite la generación de código C/C++ usando 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 de alcance y borrar sus datos asociados, use la función MATLAB
clear
.Para ocultar o mostrar la ventana de alcance, use las funciones
hide
yshow
.Utilice la función MATLAB
mcc
para compilar código que contenga un alcance. No puede abrir cuadros de diálogo de configuración del alcance si tiene más de un componente compilado en su aplicación.
Historial de versiones
Introducido en R2020aR2023b: Soporte para la función printToFigure
Puede imprimir la visualización del objeto timescope
en una figura MATLAB usando la nueva función printToFigure
.
R2022b: Los nombres de los canales admiten una arreglo de cadenas.
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"]);
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)