Baseband PLL
Libraries:
Mixed-Signal Blockset /
PLL /
Architectures
Description
The Baseband PLL block models PLLs in the phase domain. The block accepts a real-valued phase offset vector and produces the outputs for a loop filter, phase detector, and VCO. The block acts as feedback control system that automatically adjusts the phase of a locally generated signal to match the phase of an input signal.
Examples
Open the model basebandPLLTB
attached with this example.
model = 'basebandPLLTB';
open_system(model)
Connect the switch to the VCO without any phase noise. Run simulation.
set_param([model '/Input'],'sw','1'); sim(model);
To observe the effect of phase noise, change the switch position to connect the VCO with phase noise. Run simulation.
set_param([model '/Input'],'sw','0'); sim(model);
As you can see, even if you have a VCO signal with phase noise, the loop filter inside the Baseband PLL model is cleaning the effect of the phase noise to provide a clean PLL output.
Open the model basebandPLLLoopFilter
attached with this example.
model = 'basebandPLLLoopFilter';
open_system(model)
The model uses contains two loop filters, a 2nd-order passive loop filter and a 4th-order passive loop filter. All other parameters such as the loop bandwidth and phase margin are the same for both filters.
Run simulation to see the PLL outputs of both the filters.
sim(model);
As you can see, the 4th-order loop filter better attenuates the noises at higher frequencies.
Ports
Input
Input signal, specified as a scalar. The input signal is the output of a baseband VCO in the phase domain.
Data Types: double
Output
Output of the loop filter in the phase domain, returned as a scalar.
Data Types: double
Output of the phase detector in the phase domain, returned as a scalar.
Data Types: double
Output of the VCO in the phase domain, returned as a scalar.
Data Types: double
Parameters
To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.
Determine how to define the loop filter. You can define a passive loop filter between the orders two to four, or you can represent a loop filter using transfer function.
If you are defining a passive loop filter, you have to define the Charge pump current (A), Min clock divider value. Loop bandwidth (Hz), and Phase margin (degrees) of the PLL system.
Programmatic Use
Block parameter:
Ftype |
Type:
double |
Values:
Transfer function | 2nd order
passive | 3rd order passive |
4th order passive |
Default:
Transfer function |
Measure of change in output frequency for input voltage change, specified as a positive real scalar in Hz/V.
Programmatic Use
Block parameter:
Kvco |
Type:
double |
Values: positive real scalar |
Default:
100e6 |
Full scale magnitude of the charge pump output current, specified as a positive real scalar in amperes.
Dependencies
To enable this parameter, set Loop filter type to
2nd order passive
, 3rd order
passive
, or 4th order passive
.
Programmatic Use
Block parameter:
Icp |
Type:
double |
Values: positive real scalar |
Default:
5e3 |
Minimum value by which the clock divider can divide the input frequency, specified as a positive real scalar.
Dependencies
To enable this parameter, set Loop filter type to
2nd order passive
, 3rd order
passive
, or 4th order passive
.
Programmatic Use
Block parameter:
Nmin |
Type:
double |
Values: positive real scalar |
Default:
100 |
Frequency at which the magnitude of the open loop transfer function becomes 1, specified as a positive real scalar in Hz. Lower values of Loop bandwidth (Hz) result in reduced phase noise and reference spurs at the expense of longer lock time and less phase margin.
Dependencies
To enable this parameter, set Loop filter type to
2nd order passive
, 3rd order
passive
, or 4th order passive
.
Programmatic Use
Block parameter:
Fc |
Type:
double |
Values: positive real scalar |
Default:
50e3 |
Phase of the open loop transfer function at the loop bandwidth subtracted from 180°, specified as a positive real scalar in degrees. For optimum lock time, select a phase margin between 40° and 55°.
Dependencies
To enable this parameter, set Loop filter type to
2nd order passive
, 3rd order
passive
, or 4th order passive
.
Programmatic Use
Block parameter:
phi |
Type:
double |
Values: positive real scalar |
Default:
45 |
Numerator of the loop filter transfer function. If you are defining a passive loop filter, this is automatically calculated for you. You can also manually change it if you are representing the loop filter using the transfer function.
Dependencies
To edit this parameter, set Loop filter type to
Transfer function
.
Programmatic Use
Block parameter:
Fn |
Type:
double |
Values: real scalar | real valued scalar |
Default:
[1.9212e-10, 5e-05] |
Denominator of the loop filter transfer function. If you are defining a passive loop filter, this is automatically calculated for you. You can also manually change it if you are representing the loop filter using the transfer function.
Dependencies
To edit this parameter, set Loop filter type to
Transfer function
.
Programmatic Use
Block parameter:
Fd |
Type:
double |
Values: real valued vector |
Default:
[2.0157e-15, 3.0576e-09, 0] |
Select to plot the gain margin and phase margin of the PLL system before simulation. By default, this option is selected.
Select to plot the pole-zero map, loop bandwidth, step response, and impulse response of the PLL system before simulation. You must have a license to Control System Toolbox™ to plot the step response and impulse response of the PLL system. By default, this option is selected.
Click to plot the presimulation loop dynamics of the PLL system.
Version History
Introduced in R2025a
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)