FPGA Implementation of a Message-Passing OFDM Receiver for Impulsive Noise Channels Karl F. Nieman†, Marcel Nassar‡, Jing Lin†, and Brian L. Evans† †Wireless Communications and Networks Group, The University of Texas at Austin, Austin, TX ‡Mobile Solutions Lab, Samsung Information Systems America, San Diego, CA IEEE Asilomar Conference on Signals, Systems, and Computers Pacific Grove, CA November 6, 2013 Smart Grid Communications Communication backhaul carries traffic between concentrator and utility on wired or wireless links Local utility Data concentrator Medium Voltage (MV) 1 kV – 33 kV Low voltage (LV) < 1 kV MV-LV transformer Smart meter communications between smart meters and data concentrator via powerline or wireless links Smart meters Home area data networks connect appliances, EV charger and smart meter via powerline or wireless links Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 2 Impulsive Noise in 3-200 kHz PLC Band Outdoor medium-voltage line (St. Louis, MO) Indoor low-voltage line (UT Campus) ππ = 1 MHz Interleave Cyclostationary noise becomes asynchronous after interleaving Impulsive noise can be 40 dB above background noise Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 3 Impulsive Noise in OFDM Systems π¬ IFFT Vector of symbol amplitudes (complex) Filter Channel + Receiver FFT π² Equalizer and detector Gaussian (π) + Impulsive Noise (π±) FFT spreads received impulsive noise across all FFT bins – SNR of each FFT bin is decreased – Receiver communication performance degrades Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 4 Impulsive Noise Mitigation (Denoising) π¬ IFFT Vector of symbol amplitudes (complex) Filter Channel + Gaussian (π) + Impulsive Noise (π±) Receiver Impulsive noise estimation • π FFT bins (tones) – Transmitter null tones have zero power – Received null tones contain noise • Impulsive noise estimation – – – – + Exploit sparse structure of null tones π Ω is over complete dictionary π± is sparse vector π is complex Gaussian (π = π π±) - + FFT π² Equalizer and detector Conventional OFDM system Added in our system π¦π = π π = π± + π + |Ω| × π Ω is set of null tones (i.e. π₯Ωπ = 0) π is π × π DFT matrix Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 5 Impulsive Noise Mitigation Techniques • Compressive sensing approaches are used for low SNR • AMP provides best performance vs. complexity tradeoff compressive sensing Method Low SNR High SNR NonParametric? Computational Complexity Nulling/ Clipping[Tse12] Low Thresholded Least Squares/MMSE[Cai08] Med Sparse Bayesian Learning[Lin13] l1-norm minimization[Cai08] Approximate Message Passing (AMP) [Nas13] High (matrix inversion) High Med Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 6 Approximate Message Passing (AMP) 1. Initialization π₯π 0 = 0 πππ₯ π‘ = 1 − π πΎπ ∀ π ∈ {1, … , π} π π π‘ = 0 ∀ π ∈ {1, … , π} • M = null tones • N = FFT size • Iterate – Time-frequency projections 2. Output Linear π πππ₯ π‘ ππ π‘ = 3. Output Non-Linear πππ π‘ = π ππ π‘ = πΌβ¦ π π π π₯ π‘ π − ππ π‘ π π π‘ − 1 π π π‘ = πππ π‘ π¦π − ππ π‘ 5. Input Non-Linear π π‘ = ππ π π‘ ππ π‘ = πππ π₯π π‘ + πππ π‘ ππ π π πΌβ¦π π₯ π‘ • Mostly scalar arithmetic and data • Parallelizable for hardware implementation – FFT/IFFT, exponential, vector multiplies, divisions 1 πΎπ΅ + π π ∀ π ∈ {1, … , π} 4. Input Linear πππ π‘ π ππ = 1 − π πΎπΌ + πππ π‘ × ππ±π© ππ = πΎπΌ ππ π‘ 2 π πππ π‘π πΎπΌ +πππ π‘ 1 + ππ π₯π π‘ + 1 = πΎπΌ ππ π‘ πΎπΌ + πππ π‘ π π Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 7 Synchronous Dataflow (SDF) Model • Targeted architecture for real-time streaming performance: – Xilinx Virtex V field programmable gate arrays (FPGAs) – Embedded x86 computers running real-time OS (Phar Lap ETS) Task • SDF model of OFDM receiver with AMP noise mitigation: • Periodic schedule is 6950π 278π 278π ππππ ππ Processing O Input samples from ADC A Resampling FIR filters B Time and Freq. Offset Correction C FFT + Index Active and Null Subcarriers D AMP Noise Estimation E FFT + Index Active Subcarriers F Subtract Noise Estimate, De-Interleave Reference Symbols H Zero-Forcing Equalization I Equalize and Detect Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 8 Mapping AMP to Fixed-Point • Variables sized using MATLAB Fixed-Point Toolbox • Most variables sized within 16-bit wordlengths sizing for π using graphical tool Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 9 Graphical High-Level FPGA Synthesis National Instruments Communication System Design Tools – LabVIEW DSP Design Module – LabVIEW FPGA – LabVIEW Real-Time 2. Output Linear Step 2 of AMP π πππ₯ π‘ ππ π‘ = π ππ π‘ = πΌβ¦ FFT π₯ π‘ π − ππ π‘ π π π‘ − 1 DSP diagram replaces thousands of lines of VHDL code Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 10 AMP-Enhanced OFDM Testbed TX Chassis RX Chassis 1 × PXIe-1082 1 × PXIe-8133 1 × PXIe-7965R 1 × NI-5781 FAM 1 × PXIe-1082 1 × PXIe-8133 2 × PXIe-7965R 1 × NI-5781 FAM differential MCX pair (quadrature component = 0) differential MCX pair 16-bit DAC sample rate conversion 256 IFFT w/ 22 CP insertion zero padding (null tones) generate complex conjugate pair data and reference symbol interleave Ref. symbol LUT LabVIEW RT LabVIEW DSP Design Module NI 5781 14-bit ADC FlexRIO FPGA Module 1 (G3TX) sample rate conversion time and frequency offset correction 256 FFT w/ 22 CP removal, noise injection LabVIEW DSP Design Module NI 5781 FlexRIO FPGA Module 2 (G3RX) null tone and active tone separation testbench control/data visualization data symbol generation LabVIEW RT controller AMP noise estimate 256 FFT, tone select Subtract noise estimate from active tones Host Computer data and reference symbol deinterleave channel estimation/ ZF equalization LabVIEW DSP Design Module FlexRIO FPGA Module 3 (AMPEQ) BER/SNR calculation w/ and w/o AMP LabVIEW RT RT controller 2-mode Gaussian Mixture noise injected here: πΊπ π, πΎπ΅ , πΎπ ~ ππ π, πΎπ΅ + πΎπ + (1 − π)π π, πΎπ΅ Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 11 Results • System implemented using G3-PLC signaling structure ππ = 0.4 MHz, π = 256 (real-valued), 36 active tones • Receiver w/ AMP was mapped across two FPGAs – ‘G3RX’ – Downsampling, IFFT, time/frequency offset correction – ‘AMPEQ’ – AMP algorithm, equalization, and detection Received QPSK constellation at equalizer output Resource Utilization Utilization FPGA conventional receiver with AMP Trans. Rec. AMP+Eq 1 2 3 total slices 32.6% 64.0% 94.2% slice reg. 15.8% 39.3% 59.0% slice LUTs 17.6% 42.4% 71.4% DSP48s 2.0% 7.3% 27.3% blockRAMs 7.8% 18.4% 29.1% Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 12 Bit-Error-Rate Measurements uncoded bit-error-rate (BER) 8 dB for 30 dB impulsive noise 4 dB for 20 dB impulsive noise No loss (or gain) in non-impulsive (AWGN) noise signal-to-noise ratio (SNR) Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 13 Conclusions • Approximate Message Passing Framework allows – Impulsive noise mitigation at low and high SNR – Conversion of matrix operations to scalar and vector operations – Parallelization and efficient mapping to hardware • Up to 8 dB impulsive noise mitigation achieved using – Fixed-point data and arithmetic – Streaming G3-PLC rates • LabVIEW project and FPGA bitfiles available here: – http://users.ece.utexas.edu/~bevans/papers/2013/fpgaReceiver/index.html Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 14 References [Cai08] – G. Caire; T. Y. Al-Naffouri; A. K. Narayanan, "Impulse noise cancellation in OFDM: an application of compressed sensing," Information Theory, 2008. ISIT 2008. IEEE International Symposium on , 2008. [Tse12] – D-F. Tseng; Y. S. Han; W. H. Mow; L-C. Chang; A.J.H. Vinck, "Robust Clipping for OFDM Transmissions over Memoryless Impulsive Noise Channels," Communications Letters, IEEE , vol.16, no.7, 2012. [Lin13] – J. Lin; M. Nassar; B. L. Evans, "Impulsive Noise Mitigation in Powerline Communications Using Sparse Bayesian Learning," Selected Areas in Communications, IEEE Journal on , vol.31, no.7, 2013. [Nas13] – M. Nassar; P. Schniter; B. L. Evans, "A factor graph approach to joint OFDM channel estimation and decoding in impulsive noise environments," IEEE Trans. on Signal Processing, accepted for publication, 2013. [Max11] – Maxim and ERDF, "Open Standard for Smart Grid Implementation," 2011. 15 Questions? 16 Backup Slides 17 Powerline Communications (PLC) Categories Band Bit Rates Coverage Enables Standards Narrowband 3-500 kHz up to 800 kbps Multikilometer • (ITU) PRIME, G3 Smart meter • ITU-T G.hnem communication • IEEE P1901.2 Broadband 1.8-250 MHz up to 200 Mbps <1500 m Home area data networks • HomePlug • ITU-T G.hn • IEEE P1901 • Uses orthogonal frequency-division multiplexing (OFDM) • Communication challenges – Channel distortions – Non-Gaussian impulsive noise Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 18 Background | System Design and Implementation | Demo | Conclusion AMPEQ.lvdsp (first half) (second half) 19 Approximate Message Passing (AMP) • Reconstruct time-domain noise from frequencydomain null tones • Iterate until convergence • Algorithm consists of: • Mostly scalar arithmetic • FFT/IFFTs • Exponential π = number of null tones π = FFT size • Targeted at G3-PLC signaling structure Background | Impulsive Noise Mitigation | Mapping to Hardware | Implementation 20