Signal Generator
SourcesEl bloque SignalGenerator es una fuente de señal versátil que genera diversas formas de onda periódicas dependientes del tiempo para fines de simulación y ensayo. Puede producir señales sinusoidales, cosinusoidales, cuadradas, diente de sierra y triangulares. Este bloque es fundamental para generar señales de prueba, consignas dinámicas de referencia y perturbaciones periódicas en lazos de control y procesamiento de señales.
El bloque actúa como un generador de funciones virtual, calculando su salida directamente a partir del tiempo actual de simulación y los parámetros especificados.
Modelo Matemático
El generador de señales admite múltiples formas de onda fundamentadas en el ángulo de fase y la posición de ciclo normalizada :
La señal de salida depende del tipo seleccionado en signalType:
Donde:
- es la señal de salida en el tiempo
- es la amplitud de pico de la señal (
amplitude) - es la frecuencia en Hertz (
frequency) - es el desfase angular (
phase) - es el nivel de continua (desplazamiento DC)
Entradas y Salidas
| Direction | ID | Label | Tipo | Status |
|---|---|---|---|---|
| → In | trigger |
Trigger | number | Optional |
| ← Out | out |
Signal | number | Output |
Parámetros
| Parámetros | Label | Tipo | Por defecto | Descripción |
|---|---|---|---|---|
signalType |
Signal Type | select | sine |
Type of periodic signal to generate |
amplitude |
Amplitude | number | 1 |
Peak amplitude of the signal |
frequency |
Frequency | number | 1 |
Signal frequency in Hertz |
offset |
Offset | number | 0 |
DC offset added to the signal |
phase |
Phase | number | 0 |
Initial phase offset in degrees |
dutyCycle |
Duty Cycle | number | 0.5 |
Duty cycle for square wave (0-1) |
Ejemplos de Uso
Prueba de Respuesta en Frecuencia
Inyectar una onda senoidal de 10 Hz en una función de transferencia para examinar ganancia y desfase:
SignalGenerator (signalType: "sine", frequency: 10) → TransferFunction → Scope
Señal PWM
Generar una señal de modulación por ancho de pulsos de 10 Hz con ciclo de trabajo del 30 %:
SignalGenerator (signalType: "square", frequency: 10, dutyCycle: 0.3) → ControllerObservaciones y Buenas Prácticas
- Criterio de Nyquist: Para señales de alta frecuencia, la frecuencia de muestreo de la simulación () debe cumplir ampliamente para prevenir distorsión por aliasing.
- Sin Estado: Se calcula de forma puramente analítica respecto al tiempo , sin sobrecarga de memoria de estado.
- Optimización WASM: Implementado en WebAssembly de alto rendimiento para síntesis rápida en tiempo real.
Bloques Relacionados
- PulseGenerator: Para trenes de pulsos unipolares
- Step: Para escalones individuales
- Constant: Para fuentes continuas fijas
- BodePlot: Para análisis automatizado del diagrama de Bode