This function is a controlled square wave oscillator with parameterizable values of low and high peak output, duty cycle, rise time, and fall time. It takes an input voltage or current value. This value is used as the independent variable in the piecewise linear curve described by the coordinate points of the cntl_array and freq_array pairs. From the curve, a frequency value is determined, and the oscillator will output a square wave at that frequency.

Array sizes of 2 for both the cntl_array and the freq_array will yield a linear variation of the frequency with respect to the control input. Any sizes greater than 2 will yield a piecewise linear transfer characteristic.

Alternatively to the pair of parameters cntl_array and freq_array it is possible to determine the frequency of the VCO using the pair of parameters FC and KF.


Parameter Description Units Default Limits
FC Center Frequency. Hertz 1Meg min=0
KF Frequency sensitivity in Hz/Volt. Hertz/Volt 100K  
cntl_array Control in array. Enter a list of values, using spaces as separators. Volts    
freq_array Frequency array. Enter a list of values, using spaces as separators. Hertz   min=0
out_low Output low value. Volts 0  
out_high Output high value. Volts 5  
duty_cycle Duty cycle.   0.5 min=1e-6, max=0.999999
rise_time Rise time. seconds 1n  
fall_time Fall time. seconds 1n  

Error Messages

SQUARE: Size of control array different than frequency array.

This error message normally occurs whenever the controlling input array and the frequency array are different sizes.