How To Perform Crest Factor Reduction With IDPD Measurement Using RFmx

Updated Feb 16, 2026

Environment

Software

  • RFmx
  • RFmx SpecAn

This article will go over one possible method for performing Pre-DPD Crest Factor Reduction (CFR) with an IDPD measurement using the RFmx software. 

 

The Pre-DPD CFR functionality is accessible using the RFmxSpecAn DPD personality. To perform CFR, you will first need to configure and run an RFmxSpecAn DPD measurement to apply the signal conditioning. After applying the Pre-DPD signal conditioning, a new reference waveform will be created which you can use as the reference waveform for the IDPD measurement. 

  1. Using the RFmxSpecAn API, select the DPD measurement. Configure the RFmxSpecAn DPD Pre-DPD CFR properties for your specific measurement requirements. Use the RFmxSpecAn DPD Apply Pre-DPD Signal Conditional function to create a new reference waveform to be used by the IDPD measurement.
  2. Select the IDPD measurement. On the RFmxSpecAn IDPD Configure Reference Waveform function, use the output waveform from Step 1 as the input reference waveform. 
  3. If performing an AMPM measurement, use the output waveform from Step 1 as the reference waveform in for the RFmxSpecAn AMPM Configure Reference Waveform function. 

As a result, this will allow you to apply pre-DPD Crest Factor Reduction to your input reference signal prior to performing an IDPD measurement using the RFmxSpecAn API. 

There are two shipping examples that you can utilize to perform this task: "RFmxSpecAn Memory DPD (Advanced).vi" and "RFmxSpecAn IDPD.vi." This example refers to the LabVIEW shipping examples, but there are also C#/.NET equivalents as well. You can use steps 14-17 of the "RFmxSpecAn Memory DPD (Advanced).vi" for an example on how to select and configure the pre-DPD waveform settings. You can then add steps 14-17 from the previous example to the "RFmxSpecAn IDPD.vi" example between steps 12 and 13. The output of the RFmxSpecAn DPD Apply Pre-DPD Signal Conditioning function will then be used as the input reference waveform of the IDPD measurement. 

 

An example of the LabVIEW code could look like the following: