sin_gen

sin_gen :
An analog sinusoid generator

The sin_gen primitive generates a sinusoidal signal that can optionally be exponentially decaying or frequency/amplitude-modulated.

The generated stimulus waveform V(t) is defined as follows:

for t < delay:
    V(t) = offset + amp*AM_offset*sin(init_phase)
for t >= delay:
    V(t) = offset + amp*exp(-damp(t-delay)) *
           [AM_offset + AM_amp*sin(2*PI*AM_freq*(t-delay)] *
           sin[2*PI*freq*(t-delay)+FM_index*sin(2*PI*FM_freq*(t-delay)) + init_phase]

In the last expression, the first, second, and third lines express the exponentially-decaying amplitude, amplitude modulation, and frequency modulation of the generated sinusoidal signal, respectively. The sinusoidal signal may have an arbitrary DC offset (offset) and start with an arbitrary initial phase (init_phase).

Some examples of generating a simple sinusoid, a sinusoid with exponentially-decaying amplitude, a sinusoid with single-frequency frequency modulation (FM), and a sinusoid with single-frequency amplitude-modulation (AM):

* A simple sinusoid:
    Set damp=0, AM_offset=1, AM_amp=AM_freq=0, FM_index=FM_freq=0
    V(t) = offset + amp*sin(2*PI*freq(t-delay)+init_phase)
    for t >= delay

* A sinusoid with exponentially-decaying amplitude:
    Set AM_offset=1, AM_amp=AM_freq=0, FM_index=FM_freq=0
    V(t) = offset + amp*exp(-damp*(t-delay))*sin(2*PI*freq*(t-delay)+init_phase)
    for t >= delay

* A sinusoid with single-frequency amplitude modulation (AM):
    Set damp=0, FM_index=FM_freq=0, init_phase=0
    V(t) = offset + amp*[AM_offset+AM_amp*sin(2*PI*AM_freq*(t-delay)] *
           sin(2*PI*freq*(t-delay))
    for t >= delay

* A sinusoid with single-frequency frequency modulation (FM):
    Set damp=0, AM_offset=1, AM_amp=AM_freq=0, init_phase=0
    V(t) = offset +
           amp*sin[2*PI*freq*(t-delay)+FM_index*sin(2*PI*FM_freq*(t-delay))]
    for t >= delay

Note: for frequency modulation, the narrowband FM is assumed. In other words, the modulation index, FM_index, which is defined as (max. deviation frequency) / (max. modulation frequency), is assumed to be << 1.

Input/Output Terminals

Name I/O Type Description
out output xreal signal output

Parameters

Name Type Default Unit Description
offset real 0.0 None offset
amp real 1.0 None amplitude
freq real 1.0e9 Hz frequency
delay real 0.0 seconds initial delay
damp real 0.0 1/sec damping factor
init_phase real 0.0 radian initial phase
AM_offset real 1.0 None AM offset
AM_amp real 0.0 None AM amplitude
AM_freq real 0.0 Hz AM frequency
FM_index real 0.0 None FM index
FM_freq real 0.0 Hz FM frequency
« replay_xreal
step_gen »