# Interlacing
Interlacing is a technique to access the full sampling rate capability of Moku device in Multi-Instrument Mode. Moku devices use the FPGA system clock to process data. By default, the Custom Instrument uses one data sample per clock cycle and thus operate at a sampling rate dictated by the FPGA clock.
This sampling rate can be increased by interlacing - processing multiple samples at the same FPGA clock rate simultaneously. For example, accessing 4 samples at 31.25 MHz clock on the Moku:Go increases the effective sample rate to 125 MSa/s. This parallel processing of samples is referred to as interlacing and can be done using both Moku Cloud Compile and On-premises Moku Compile.
Subscription requirements
You need to subscribe to the Enterprise or Premium tier of Moku Compile to access the interlacing feature. Base tier users are restricted to sampling at the clock rate.
The interpolation factor defines the CustomInstrumentInterlaced entity. This is defined as per wrappers, where the interlacing factor is set by the number of samples. Depending on the hardware model and the number of slots used in Multi-Instrument Mode, the input and output interlacing factor varies.
Moku:Delta
| 3 slots* | 5 slots* | 8 slots | |
|---|---|---|---|
| Core clock | 312.5 MHz | ||
| Interlacing factor | 16 | 4 | 2 |
| Maximum sampling rate | 5 GSa/s | 1.25 GSa/s | 625 MSa/s |
Moku:Pro
| 4 slots* | |
|---|---|
| Core clock | 312.5 MHz |
| Interlacing factor | 4 |
| Maximum sampling rate | 1.25 GSa/s |
Moku:Lab
| 2 slots* | 3 slots* | |
|---|---|---|
| Core clock | 125 MHz | |
| Interlacing factor | 4 | 2 |
| Maximum sampling rate | 500 MSa/s | 250 MSa/s |
Moku:Go
| 2 slots* | 3 slots* | |
|---|---|---|
| Core clock | 31.25 MHz | |
| Interlacing factor | 4 | 2 |
| Maximum sampling rate | 125 MSa/s | 62.5 MSa/s |
# Output Interpolation vs Interlacing
Interlacing is different from Output Interpolation available on all devices. While both provides output samples at the higher sampling rates, the processing of the data points are different.
Output interpolation computes additional samples based on linear interpolation on the data points at the base rate. This means while the data is being generated at the higher sampling rate, the effective operating bandwidth is limited to the clock of the device.
On the other hand, interlacing would allow each data point to be individually computed based on the custom design itself.