Documentation

# VCO

Model voltage controlled oscillator

• Library:
• Mixed-Signal Blockset / PLL / Building Blocks

## Description

VCO or voltage controlled oscillator is a voltage to frequency converter. It produces an output signal whose frequency is controlled by the voltage at the input vctrl port. The frequency of the output signal, F is determined by:

$F=\left({K}_{\text{vco}}·{V}_{\text{ctrl}}\right)+{F}_{\text{out}}$

where:

• Kvco = Voltage sensitivity (in Hz/V)

• Vctrl = Control voltage (in V)

• F out= Free running frequency (in Hz)

## Ports

### Input

expand all

VCO control voltage used to generate output frequency of VCO. In a phase-locked loop (PLL) system, vctrl is the output of the Loop Filter that contains the phase error information.

Data Types: `double`

### Output

expand all

Output signal of VCO. In a PLL system, vco out is the output clock generated by the PLL. It is also fed back to the PFD block through a clock divider to complete the control loop.

Data Types: `double`

## Parameters

expand all

### Configuration

Measure of change in output frequency for input voltage change, specified as a real positive scalar with units in Hz/V.

#### Programmatic Use

• Use `get_param(gcb,'Kvco')` to view current Voltage sensitivity value.

• Use `set_param(gcb,'Kvco',value)` to set Voltage sensitivity to a specific value.

Data Types: `double`

Frequency of the VCO without any control voltage input (`0` V), or the quiescent frequency, specified as a real positive scalar in Hz.

#### Programmatic Use

• Use `get_param(gcb,'Fo')` to view current Free running frequency value.

• Use `set_param(gcb,'Fo',value)` to set Free running frequency to a specific value.

Data Types: `double`

Ratio of VCO output voltage to input voltage, specified as a real positive scalar in V. The input voltage has a nontunable value of 1 V.

#### Programmatic Use

• Use `get_param(gcb,'Amplitude')` to view current Output amplitude value.

• Use `set_param(gcb,'Amplitude',value)` to set Output amplitude to a specific value.

Data Types: `double`

Select to enable increased buffer size during simulation. This increases the buffer size of the Variable Pulse Delay block inside the VCO block. By default, this option is deselected.

Number of samples of the input buffering available during simulation, specified as a positive integer scalar. This sets the buffer size of the Variable Pulse Delay block inside the VCO block.

Selecting different simulation solver or sampling strategies can change the number of input samples needed to produce an accurate output sample. Set the Buffer size to a large enough value so that the input buffer contains all the input samples required.

#### Dependencies

This parameter is only available when Enable increased buffer size option is selected in the Configuration tab.

#### Programmatic Use

• Use `get_param(gcb,'NBuffer')` to view the current value of Buffer size.

• Use `set_param(gcb,'NBuffer',value)` to set Buffer size to a specific value.

### Impairments

Select to introduce phase noise as a function of frequency to the VCO. By default, this option is selected.

The frequency offsets of phase noise from the carrier frequency specified as a real valued vector in Hz.

#### Dependencies

To enable this parameter, select Add phase noise in the Impairments tab.

#### Programmatic Use

• Use `get_param(gcb,'Foffset')` to view current Phase noise frequency offset metric.

• Use `set_param(gcb,'Foffset',value)` to set Phase noise frequency offset to a specific metric.

Data Types: `double`

The phase noise power in a 1 Hz bandwidth centered at the specified frequency offsets relative to the carrier specified as a real valued vector in dBc/Hz. The elements of Phase noise level corresponds to relative elements in the Phase noise frequency offset.

#### Dependencies

To enable this parameter, select Add phase noise in the Impairments tab.

#### Programmatic Use

• Use `get_param(gcb,'PhaseNoise')` to view current Phase noise level metric.

• Use `set_param(gcb,'PhaseNoise',value)` to set Phase noise level to a specific metric.

Data Types: `double`

expand all

## References

[1] Banerjee, Dean. PLL Performance, Simulation and Design. Indianapolis, IN: Dog Ear Publishing, 2006.