VCO

From GNU Radio
Revision as of 02:53, 15 January 2023 by Duggabe (talk | contribs) (revised explanation of frequency calculations)
Jump to navigation Jump to search

VCO - Voltage controlled oscillator. Produces a sinusoid of frequency based on the amplitude of the input. See VCO (complex) for a complex sinusoidal output.

input: float stream of control voltages;

output: float oscillator output

Parameters

Sample Rate
sampling rate (Hz)
Sensitivity
units are radians/sec/(input unit)
Amplitude
output amplitude

Example Flowgraph

This flowgraph can be found at [1]

RTTY vco fg.png

For this flowgraph, the standard RTTY tones of 2295 (mark) and 2125 (space) are generated. The calculations for this follow:

  • Choosing a full-scale frequency of 2500Hz with an input of +1.0, the VCO Sensitivity = (2 * math.pi * 2500 / 1.0) = 15708
  • At the output of the Low Pass Filter, a Mark has a value of +1.0 and a Space has a value of 0.0
  • When the output of the Low Pass Filter is +1.0, the input of the VCO is (1.0 * 0.068) + 0.850 = 0.918  That generates a frequency of 0.918 * 2500 => 2295
  • When the output of the Low Pass Filter is 0.0, the input of the VCO is (0.0 * 0.068) + 0.850 = 0.850  That generates a frequency of 0.850 * 2500 => 2125

See Sample_Rate_Tutorial#Sink_hardware_example for a discussion of the timing involved in a similar flowgraph.

Source Files

C++ files
TODO
Header files
TODO
Public header files
TODO
Block definition
TODO