Cleaning Up Dirty RF: RF/Communication Physical Layer Research With LabVIEW and NI USRP

 Read in  |   Print

"LabVIEW system design software does a great job representing the parallel programming I need to implement signal processing and communication algorithms for my research. In my experience with C++, Java, and other languages, I haven't seen another approach that represents parallelism so directly and intuitively."

- Jan Dohl, Vodafone Chair, TU Dresden

The Challenge:
Developing an improved method for applying digital signal processing to correct nonlinear RF impairments, and validating the approach using real-world wireless signals.

The Solution:
Migrating simulation-only code to NI LabVIEW software and using real-time digital signal processing (DSP) with two NI USRP™ (Universal Software Radio Peripheral) software defined radios to specifically address nonlinear amplifier impairments and validate algorithms with real-world signals.

Jan Dohl - Vodafone Chair, TU Dresden


The Concept of Dirty RF

As a researcher at TU Dresden in the Vodafone Chair Mobile Communications System Group, I focus on developing methods to improve analog RF performance on inexpensive mobile front ends. My research addresses mitigating hardware impairments by using DSP techniques, a concept known as dirty RF. I could use expensive laboratory hardware to address negative impairment effects such as nonlinearities, in-phase/quadrature imbalance, phase noise, and carrier frequency offset, but a less-expensive DSP approach can significantly improve common communication system quality.

Many communications systems use low-cost RF front ends that encompass mixers, power amplifiers, and low-noise amplifiers with less-than-ideal performance characteristics. RF front ends with ideal performance are expensive and impractical for consumer electronics, where cost drives volume. The lower-cost RF components in consumer devices facilitate broad adoption, but at the expense of manifesting RF impairments that can impede the communication link and decrease network capacity. Consumer device developers therefore face a tradeoff between cost and performance when designing an RF front end.

As cell phone and Wi-Fi usage increases exponentially, researching and developing more efficient, accurate DSP hardware impairment corrections continues to be significant for engineers. Additionally, because the analog front end is often one of the most challenging and expensive to design radio components, cleaning up impairments using mathematical algorithms has the potential to reduce  wireless device costs and improve data rates and wireless link reliability.

Algorithm Development

This dirty RF project began with existing mathematical models that blindly characterized specific nonlinear amplifier impairment effects. I then customized the models by authoring an algorithm to improve degraded signal correction and iterated on the algorithms through repetitive software simulation. Using feed forward correction, a method of feeding impaired wireless signals through corrective mathematic algorithms digitally, I developed the proof of concept using simulation-only software. By doing this, I could compare estimated values to our method, assuming I had perfect knowledge through simulation.

Real-World Validation

The next phase of research was to build a test bed to prove overall algorithm effectiveness in a real-world system. As a new LabVIEW software user, I used the native LabVIEW MathScript RT Module to migrate all existing code to the graphical programming environment. In less than four weeks, I implemented the first working prototype running in real time using a wireless link between two NI USRP software defined radios. Although the implementation uses a PC running Windows, the software applied the impairment corrections in real time without a dedicated DSP or field-programmable gate array, which simplified prototype development.

With LabVIEW and an NI USRP software defined radio, I rapidly moved from simulation to a working, over-the-air prototype. The prototype uses dirty RF to characterize and correct nonideal RF components commonly found in low-cost transmitters and receivers.

Prototyping such a system quickly and easily is uncommon because it takes significant effort to establish a wireless link and implement the subsystem. To achieve real-world signal validation, I needed to

  • Synchronize the transmitter and receiver
  • Establish an orthogonal frequency-division multiplexing (OFDM) link with the possibility for different modulation schemes
  • Implement estimation and mitigation algorithms on LabVIEW software
  • Incorporate artificial impairments with known behavior to have a comparison to the simulations
  • Collect performance metrics, log results to files, and build a visually pleasing graphical user interface

The prototype addressed each of these requirements using a software defined radio platform consisting of two NI USRP-2920 transceivers, which acted as a single input, single output transmit and receive pair, and LabVIEW VIs that executed on a host PC. The first step involved characterizing the system by modeling various noise sources expected from the NI USRP RF front end, which included phase noise from clock sources and nonlinear gains from amplification stages and other components.

By designing a LabVIEW application to establish an OFDM link, I achieved the following end results:

  • An OFDM link with 1,024 subcarriers, each modulated up to 256-QAM
  • Proof that the estimation and mitigation methods can mitigate nonlinear impairments originating from real nonlinear amplifier hardware
  • Identification of where the methods could be further improved
  • A data rate of ~1.4 Mbps


As an experienced ANSI C/C++ and MathWorks, Inc. MATLAB® software programmer, I quickly became comfortable with the LabVIEW system design software approach and shortened development time by directly reusing .m file scripts developed for simulation. I was very pleased with the success I had in converting many of my .m file scripts into native LabVIEW code for increased parallelism and execution performance.

LabVIEW system design software does a great job representing the parallel programming I need to implement signal processing and communication algorithms for my research. In my experience with C++, Java, and other languages, I haven't seen another approach that represents parallelism so directly and intuitively.

The final application, entitled “Dirty RF Demonstrator,” took advantage of the LabVIEW system design software approach with NI USRP hardware to provide both an efficient means of developing the working prototype and interactive project challenge exploration. The platform also provided the flexibility to reconfigure the setup to simulate different impairments commonly introduced by low-cost RF under various operating conditions. It also can be expanded according to research needs.

I plan to publish my research results at several conferences in 2012. Ultimately, I have effectively demonstrated the validity of noise models and the effectiveness of noise mitigation algorithms with a real-world prototype. Moving forward, I will use the results of my work in the “Dirty RF Demonstrator” project to support additional research to explore nonlinear hardware impairments.

MATLAB® is a registered trademark of MathWorks, Inc.

Author Information:
Jan Dohl
Vodafone Chair, TU Dresden
Tel: +49 (0)351 463 41050

Bookmark and Share

Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community

Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI