Please update your browser. For the best Liquid Instruments experience, update to the latest version of Chrome, Edge, Firefox, or Safari. Update Microsoft Edge.
Liquid Instruments Logo
Products
Hardware Platforms
Moku:Delta
Moku:Delta
New
For advanced design and validation
Moku:Pro
Moku:ProFor versatile test and measurement
Moku:Lab
Moku:LabFor experimental research labs
Moku:Go
Moku:GoFor quick testing and debugging
Compare Hardware
Compare HardwareView a side-by-side of all Moku hardware
Technologies
GenInst Studio
New
Generate personalized instruments
Integrated InstrumentsProfessional-grade instruments at your fingertips
Neural NetworkFPGA-powered neural network integration
Multi-Instrument ModeCombine instruments to create a customized test system
Moku CompileCode, compile, and deploy to your Moku's FPGA
Software
MokuOSDownload the Moku app for Windows, macOS, iPadOS & visionOS
APIsPython, MATLAB, LabVIEW
UtilitiesCommand line and graphical tools for file conversion
Instruments
Analysis
Oscilloscope
Spectrum Analyzer
Frequency Response Analyzer
Lock-in Amplifier
Phasemeter
Logic Analyzer / Pattern Generator
Time & Frequency Analyzer
Data Logger
Generation
Waveform Generator
Arbitrary Waveform Generator
Control & Conditioning
PID Controller
Digital Filter Box
FIR Filter Builder
Laser Lock Box
Custom & Utility
GenInst Studio
New
Gigabit Streamer
Custom Instrument
Neural Network
Multi-Instrument Mode
Applications
Optics and Photonics
Microscopy and Spectroscopy
Photon Counting
Quantum Optics
Aerospace and defense
A&D Instrumentation
Component Test
Automated Testing
Semiconductor Test
Control Systems and Bode Analysis
MEMS Testing
AI and Machine Learning
Generative Instrumentation
New
Neural Networks
Education
Education and Research
Resources
App Notes
Blog
Case Studies
Coursework
Guides
Product Documentation
Publications
Webinars
White Papers
Support
Company
Contact Us
About Us
Leadership
Partners
News & Updates
Press
Events Calendar
Careers
Store
Moku:Delta
Moku:Pro
Moku:Go
Upgrade Moku:Pro
Upgrade Moku:Lab
Upgrade Moku:Go
0
Get a quote Buy Now
Build personalized instruments with GenInst Studio in minutes, not months. | Register for the webinar
White papers

Implementing a phase-locked loop with Moku:Pro

Deploy and examine a PLL with Multi-Instrument Mode on Moku:Pro

December 17, 2021

    This technical paper provides an overview of an implementation and verification of a phase locked loop (PLL) using Moku:Pro’s Multi-Instrument Mode (MIM). The reader will gain an understanding of the features of Moku Pro’s MiM and its user interface together with Moku’s powerful ability to test and verify the performance of a widely implemented system, the PLL.

    Moku:Pro is an Instrument-on-Chip (IoC) test system able to run multiple instruments on a single FPGA-based hardware platform. Now, with Multi-Instrument Mode, entire systems of test equipment traditionally made up of separate hardware boxes or modules can be realized on a single Moku:Pro. Utilizing dynamic reconfiguration of the FPGA, users can hot-swap instruments independently without affecting the remaining instruments in the system. Furthermore, instruments can be interconnected, and signals passed between them entirely in the digital domain within the FPGA. This enables high data rates with ultra-low latency and none of the SNR degradation that typically would result from the analog-to-digital or digital-to-analog conversions between separate hardware modules or instruments.

    Multi-Instrument Mode greatly expands the versatility of the Moku:Pro, realizing the potential of IoC capabilities.

    Multi-Instrument Mode Architecture

    Figure 1: Multi-instrument mode user interface on Moku:Pro - all 4 slots empty
    Figure 1: Multi-Instrument mode user interface on Moku:Pro – all 4 slots empty

    Figure 1 shows the starting point of building a multi-instrument system. Moku:Pro’s FPGA is divided into 4 instrument slots. Each slot represents a segment within the UltraScale+ FPGA inside Moku:Pro, and each has access to Moku:Pro’s analog inputs and outputs. Signals can be passed between these instruments in the digital domain without ever leaving the FPGA and are therefore lossless with deterministic, nanosecond-level latency. Users have the flexibility to place Moku:Pro’s individual instruments into these slots; for example, the Spectrum Analyzer, Oscilloscope, Frequency Response Analyzer, and PID Controller can be deployed simultaneously and in any combination.

    Phase Locked Loop

    A phase locked loop is a system that tracks the phase of an incoming signal and uses this to control the frequency of an output signal, effectively locking the frequencies together. This is useful across the spectrum of applications, from research and development to design and prototyping, all the way into the hands of test engineers. For example, a PLL is a fundamental component of radio receivers and other telecommunications, providing stable clocks for computers, synchronizing clocks, or generating frequencies at multiples of the source signal (frequency synthesis).

    The most basic PLL is a phase detector followed by a low-pass filter and a voltage controlled oscillator. A VCO provides a frequency output proportional to its input voltage.

    PLL diagram
    Figure 2: PLL block diagram

    The phase detector takes two inputs: the external clock, and the reference or local oscillator. The phase detector (PD) output is a voltage that is dependent on the phase difference of the input clocks and is used to drive the VCO. There are different implementations of the PD. For example, a frequency mixer (or demodulator) can be used. This has the disadvantage of generating frequency spurs or harmonics and thus setting a requirement on the low-pass filter that might reduce the lock time or capture range. An alternative PD implementation would be a digitally implemented phase-frequency detector. Moku:Pro’s Phasemeter is an example of a high precision (6 μradian/√Hz), digital phase detector.

    Moku:Pro PLL Implementation

    Phase detector

    We will implement a PLL on Moku:Pro and examine its operation.

    First we note that a lock-in amplifier (LIA) has a demodulation stage followed by a low-pass filter. The Moku LIA can also convert the X-Y output to magnitude and phase (r-Φ) and thus we can use the LIA as a phase detector. Figure 3 shows the Moku Lock-in Amplifier user interface with the local oscillator set to 50 MHz, the demodulator followed by a lowpass filter (1 kHz), rectangular to polar conversion, and finally gain and offset functions. The phase output of the polar conversion is fed to Out A and will form our phase measurement.

    Figure 3: Moku:Pro Lock-in Amplifier user interface
    Figure 3: Moku:Pro Lock-in Amplifier user interface

    VCO

    The VCO is implemented on Moku:Pro using a Waveform Generator. The Moku Waveform Generator can modulate the output from a variety of sources. For example, the modulation source can be another waveform generator, an internal source, or an input to the instrument. Figure 4 shows the Waveform Generator user interface. To implement the VCO the Waveform Generator is configured to generate a frequency modulated (FM) sine wave, with source of modulation set to Input A; the modulation depth is set at +- 50 kHz/V and this will ultimately determine the maximum capture range.

    WG setup for VCO annotated
    Figure 4: Moku:Pro Waveform Generator; FM signal

    The Multi-Instrument Mode inter-instrument busses are 2 Vpp, so the maximum FM deviation is +/- 50 kHz. It is also worth noting that the carrier is set to 50.05 MHz. This is a deviation 50 kHz from the lock-in’s local oscillator of 50 MHz, so that this example will need the full FM deviation range.

    Multi-instrument configuration

    We will now configure Multi-Instrument Mode. Starting the blank configuration of Figure 1, we setup MiM to look like Figure 5.

    Slot 1 contains the LIA (PD function). Slot 2 is occupied by the FM waveform generator (VCO). The output of the VCO is driven to the internal bus #2 and thus looped back to input A of the Lock-in Amplifier (PD).

    Figure 5: MiM configured for PLL testing and measurement
    Figure 5: MiM configured for PLL testing and measurement

    It is helpful to be able to observe the PLL behavior in both time and frequency domains so we have deployed the Oscilloscope in slot 3 and the Spectrum Analyzer in slot 4. Both are set up to observe bus 1 (PD reference LO) and bus 2 (FM WG or VCO output). All 4 instruments operate simultaneously and independently.  This is a useful setup to examine the PLL behavior; in most applications it is more typical that the VCO would supply the LO, locking to a signal supplied externally via an ADC and into input A of the LIA.

    PLL operation

    At initial setup, the Lock-in Amplifier is configured with its Output A turned off. The means the PD output is disabled and the Waveform Generator (WG) will output its FM signal at 50.05 MHz. Figure 6 is the user interface of the LIA in slot 1 with the built-in oscilloscope showing the LO at 50 MHz and the incoming signal on input A (the WG output) at 50.05 MHz.  These signals are not locked and the incoming phase is continuously rolling past the reference LO.

    Figure 6: Lock-in Amplifier with output off; PLL unlocked
    Figure 6: Lock-in Amplifier with output off; PLL unlocked

    Figure 7 is the user interface of the slot 3 Oscilloscope which confirms the unlocked status of the PLL. The frequencies of the VCO and reference are 50 kHz apart, and the Oscilloscope data window shows the phase delta fluctuating from +/- 180 degrees.

    Figure 7: Oscilloscope with PLL unlocked
    Figure 7: Oscilloscope with PLL unlocked

    Figure 8 shows the slot 4 Spectrum Analyzer in the same unlocked PLL situation. We see the LO on channel A at 50.000 MHz and the VCO output at 50.051 MHz, a steady and fixed frequency offset

    Figure 8: Spectrum Analyzer with unlocked PLL
    Figure 8: Spectrum Analyzer with unlocked PLL

    Locking the PLL

    Now we enable the Lock-in Amplifier output with one single tap on Out A. The Lock-in Amplifier output is now driving an error signal representing the instantaneous phase error between the LO and the VCO output. The WG (VCO) responds and the loop locks while the WG output tracks the LO.

    Figure 9: Oscilloscope with locked PLL
    Figure 9: Oscilloscope with locked PLL

    Figure 9 shows the Oscilloscope in slot 3 with two locked sine waves and a steady phase difference between the LO and VCO of mean 16.65 degrees and standard deviation of 20 milli- degrees over sample size of n=10049. It is worth noting that channel A/red (reference LO from LIA) has a frequency std dev of 1.017 Hz at 50 MHz whereas the VCO shows a std dev of 3.229 Hz. This is likely due to quantization errors in the generation of the VCO output. To examine this further, the σ of the VCO output frequency was recorded for a range of FM modulation depths and therefore a range of control loop gains.  The results are shown in Table 1 and Figure 10.

    A deeper modulation depth (high FM deviation per volt) gives a wider locking bandwidth but lower gain. The data confirms this, and that narrower locking bandwidths improves the precision of the lock. At 10kHz/V the σ (fvco) is close to the σ (fc) This PLL performance will be investigated further in a future technical note using the precision of Moku:Pro’s Phasemeter.

    Fvco-vs-FM-depth
    Table 1: σ Fvco vs FM depth
    sd fcvo vs fm depth chart
    Figure 10: σ Fvco vs FM depth

    In Figure 11 the Spectrum Analyzer in slot 4 shows the VCO and LO are now locked at 50.0002 MHz, with the 200 Hz offset likely due to differing measurement algorithms of the Spectrum Analyzer vs. the Oscilloscope.

    Figure 11: Spectrum Analyzer with locked PLL

    Figure 11: Spectrum Analyzer with locked PLL

     

    Conclusion

    Moku:Pro’s Multi-Instrument Mode allows very flexible instrument configurations, deploying up to 4 instruments simultaneously. The instruments operate concurrently and independently of one another.

    In this technical note we have implemented a PLL. This locked a VCO (implemented by Moku:Pro’s Waveform Generator) to the Lock-in Amplifier internal reference. While this is a demonstration of the principles of PLLs and the intuitive Moku:Pro user interface, a typical application would involve locking to an external signal (sampled via Moku:Pro’s ADCs) of slightly unknown frequency such as a radio carrier wave. The locked signal may well the be driven externally to Moku:Pro via its DACs.

    The intuitive graphical user interface allowed us to perform this experiment in a few minutes and observe the fast lock time and lock range (+/- 50kHz). We have observed the PLL locking in both time and frequency domains and used the Oscilloscope’s data logging to record statistics, including the standard deviation of frequency of the PLL.

    There are numerous applications that are enabled by such a flexible test platform. While this note and example operated entirely within one Moku:Pro, either the PD or VCO element could be an external system under test. Further, the example could be used to evaluate a design proposal, using Moku hardware to evaluate design parameters before committing to hardware.

    Learn more about Multi-Instrument Mode.

    Contact our team to discuss your application.

    Have questions or want a printable version?

    Please contact us at support@liquidinstruments.com

    Try Moku in demo mode Download the Moku app → Get answers to FAQs Visit Knowledge Base → Connect with Moku users Join the user forum →

    Other Recommended White papers

    White papers
    Building advanced triggers for test using AI-enabled tools

    Compressing weeks of custom development and replacing fixed Oscilloscope trigger modes with Generative Instrumentation

    Date: July 14, 2026

    White papers
    Scaling parallel device testing with Python and FPGA-based tools

    How combining software flexibility with hardware determinism increases test throughput and reliability in R&D and production

    Featuring: Moku:Delta, Spectrum Analyzer, Oscilloscope, Python

    White papers
    Visualizing and characterizing qubit states in quantum systems

    Learn about the representing qubit states with the Bloch sphere, along with common pulse sequences and tips for implementation with Moku

    Featuring: Arbitrary Waveform Generator, Lock-in Amplifier, Moku:Delta, Moku:Pro

    Date: August 6th, 2025

    Back to all White papers

    Nav

    • Products
    • Instruments
    • Resources
    • Support
    • Company
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Offices

    United States
    (619) 332-6230
    12526 High Bluff Dr.
    Suite 150
    San Diego, CA 92130

    Australia
    +61 2 6171 9730
    243 Northbourne Avenue
    Suite 1, Level 1
    Lyneham, ACT 2602

    Australia
    +61 3 7073 3594
    Suite 5C, Level 5,
    700 Swanston Street,
    Carlton, VIC – 3058

     

     

    Follow us

    LinkedIn YouTube X Facebook Instagram

    官方微信

    © 2026 Liquid Instruments. All rights reserved.