Main Content

Loop Filter

Model second-, third-, or fourth-order passive loop filter

  • Loop Filter block

Libraries:
Mixed-Signal Blockset / PLL / Building Blocks

Description

The Loop Filter subsystem block is a passive filter whose order can vary from two to four. In a phase-locked loop (PLL) system, the subsystem filters the output of Charge Pump block and delivers the control voltage to a VCO block to generate required frequency signal.

nth Order Passive Loop Filter

Ports

Input

expand all

Input current, specified as a scalar. In a phase-locked loop (PLL) system, the in port is connected to the output of a Charge Pump block, which provides the current value.

Data Types: double

Output

expand all

Output voltage, specified as a scalar. In a PLL system, the out port is connected to the input port of a VCO block and provides the control voltage to VCO.

Data Types: double

Parameters

expand all

Configuration

Order of the loop filter. Simulates a second-, third-, or fourth-order passive RC loop filter.

Programmatic Use

  • Use get_param(gcb,'FilterType') to view the current order of Loop filter type.

  • Use set_param(gcb,'FilterType',value) to set Loop filter type to a specific order.

Capacitor value C1, specified as a positive real scalar in farads.

Programmatic Use

  • Use get_param(gcb,'C1') to view the current value of C1 (F).

  • Use set_param(gcb,'C1',value) to set C1 (F) to a specific value.

Data Types: double

Capacitor value C2, specified as a positive real scalar in farads.

Programmatic Use

  • Use get_param(gcb,'C2') to view the current value of C2 (F).

  • Use set_param(gcb,'C2',value) to set C2 (F) to a specific value.

Data Types: double

Capacitor value C3, specified as a positive real scalar in farads.

Dependencies

To enable this parameter, select 3rd Order passive or 4th Order passive in Loop filter type.

Programmatic Use

  • Use get_param(gcb,'C3') to view the current value of C3 (F).

  • Use set_param(gcb,'C3',value) to set C3 (F) to a specific value.

Data Types: double

Capacitor value C4, specified as a positive real scalar in farads.

Dependencies

To enable this parameter, select 4th Order passive in Loop filter type.

Programmatic Use

  • Use get_param(gcb,'C4') to view the current value of C4 (F).

  • Use set_param(gcb,'C4',value) to set C4 (F) to a specific value.

Data Types: double

Resistor value R2, specified as a positive real scalar in ohms.

Programmatic Use

  • Use get_param(gcb,'R2') to view the current value of R2 (ohms).

  • Use set_param(gcb,'R2',value) to set R2 (ohms) to a specific value.

Data Types: double

Resistor value R3, specified as a positive real scalar in ohms.

Dependencies

To enable this parameter, select 3rd Order passive or 4th Order passive in Loop filter type.

Programmatic Use

  • Use get_param(gcb,'R3') to view the current value of R3 (ohms).

  • Use set_param(gcb,'R3',value) to set R3 (ohms) to a specific value.

Data Types: double

Resistor value R4, specified as a positive real scalar in ohms.

Dependencies

To enable this parameter, select 4th Order passive in Loop filter type.

Programmatic Use

  • Use get_param(gcb,'R4') to view the current value of R4 (ohms).

  • Use set_param(gcb,'R4',value) to set R4 (ohms) to a specific value.

Data Types: double

Select to enable increased buffer size during simulation. This increases the buffer size of the Convert Sample Time subsystem inside the Loop Filter 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 Convert Sample Time subsystem inside the Loop Filter 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.

Data Types: double

Impairments

Select to add circuit impairments to simulation. By default, this option is disabled.

Temperature of the resistor, specified as a scalar in degree Celsius. Operating temperature (℃) determines the level of thermal (Johnson) noise.

Dependencies

To enable this parameter, select Enable impairments in the Impairments tab.

Programmatic Use

  • Use get_param(gcb,'Temperature') to view the current value of Operating temperature (℃).

  • Use set_param(gcb,'Temperature',value) to set Operating temperature (℃) to a specific value.

Data Types: double

More About

expand all

References

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

[2] Bleany, B.I and Bleany B. Electricity and Magnetism. Oxford, UK: Oxford University Press, 1976.

Version History

Introduced in R2019a

See Also

|