LDPC Coding for EMI Mitigation in Wireless Communication Systems
Electromagnetic interference (EMI) can have a severe impact on wireless communication systems by introducing bit errors, especially in environments with sudden or burst like noise. In this paper, I explored the use of Low-Density Parity Check (LDPC) codes, and their effectiveness at mitigating EMI induced errors, as well as how they can improve overall communication reliability. A MATLAB based simulation was used to model a basic wireless system under two interference scenarios: standard additive white Gaussian noise (AWGN) and a combination of AWGN and burst noise to represent more severe EMI conditions that might be experienced in real world scenarios. The system was tested both with and without LDPC coding, and the bit error rate (BER) was used as the primary metric for comparison. The results showed a clear improvement in BER performance when the simulation was encoded and decoded using LDPC, particularly in the presence of burst interference. These results demonstrate the effectiveness LDPC coding has in reducing EMI related errors and promotes its potential use in EMI sensitive communication systems.
Introduction
EMI in Wireless Communication Systems
Wireless communication systems are highly vulnerable to electromagnetic interference (EMI), which when introduced, can disrupt the integrity of the transmitted or received signal, leading to data corruption and even complete loss of signal. These communication systems transmit information through the air using electromagnetic waves, which is why they are inherently susceptible to external interference and noise from natural or artificial sources, as there is no physical medium shielding the signal. It is especially important when developing or operating with these systems to consider the environments where reliability is a priority, like aerospace, automotive, or other industrial applications. In many of these systems, the throughput performance should not be the only priority, but also the consistent and error resistant transmission in the presence of unpredictable noise. One method that can counter the problem of unwanted interference in a wireless communication channel is through the use of error correction coding.
LDPC Code
Low-Density Parity-Check (LDPC) codes, a strong error correction method, are widely used in modern high speed communication systems because they get very close to the theoretical limit, or Shannon limit, for error correction while also scaling efficiently across many different platforms. They were originally developed by Gallager in 1960 (1), but initially they weren’t practical due to how computationally intensive the decoding portion was. Through the advancements of better hardware and improved algorithms, LDPC has now become a popular error correcting method in a large variety of systems, from Wi-Fi and 5G to satellites and space communication systems, anywhere where noisy environments apply.
In this project, I wanted to investigate how well LDPC holds up in the presence of electromagnetic interference (EMI), which is a real issue in many communication systems. A significant amount of EMI simulations uses additive white Gaussian noise (AWGN) as their primary source of interference, which is good for general analysis, however, simulating a true representative model would require the consideration of the full range of characteristics produced by EMI and how it often comes in bursts, or sudden and sharp noise spikes that are harder to recover from. To test this, I built a MATLAB simulation of a basic wireless system and ran two sets of tests; one with just AWGN and one with AWGN plus burst noise combined on top of it. In both cases, I compared systems with and without LDPC coding by measuring the bit error rate (BER) over a range of signal-to-noise ratios. I was able to see not just how LDPC improves performance in a clean noise model, but whether it still helps when the interference looks more like what a system would experience in a real-world environment. While LDPC has already been shown to work well in AWGN channels, there’s less work done showing how it performs under bursts of interference (2). This project defines LDPC as a prominent choice for error correction, especially in cases where physical EMI shielding, or isolation is less reliable.
Background
LDPC Background and Development
Low-Density Parity-Check (LDPC) codes have a long history in the field of communication systems, however remained relatively unused until recent advancements. The core idea is to use a sparse parity check matrix to encode messages in a way that enables highly efficient error correction near the theoretical Shannon limit (3). For example, consider a (3,2) matrix:
Where three parity check equations are defined, and a valid codeword, c = [c1, c2, c3], must satisfy
mod 2 (4)
Because the third check returned all zeros, this is considered a valid codeword, as certain combinations of bits must always add up to zero (mod 2). In practice, this structure allows the receiver to detect and correct errors by checking which constraints fail and using that information to iteratively fix the bit values. Even in this small example, this process shows how LDPC ensures error resilience by invalidating and rejecting codewords while accepting correct ones. However, in a real system with a large amount of bits and many parity checks, the decoder doesn’t explicitly look for zeros but must calculate and update probabilities for each bit being a 0 or 1, based on noisy input and feedback from neighboring nodes (5). What makes LDPC decoding computationally complex is not the math, but the scale and total number of iterations needed to converge on the most likely correct codeword under noisy conditions. This complexity is what led to its avoidance in applications, as decoding algorithms could not effectively handle the scale needed. It wasn’t until recent years that communication systems could implement this form of error correction, allowing them to benefit not only from the error performance, but also from its ability to scale across different channel conditions and system requirements.
AWGN and Burst Noise
While AWGN is the standard noise model used in simulations and theoretical work, real-world electromagnetic interference tends to be much less uniform and can often occur in bursts. This is especially true in industrial, aerospace, or automotive environments where switching transients, power electronics, and lightning related events introduce high intensity, short duration disturbances or fast transients. These bursts can cause clusters of bit errors that are much harder to recover from than the isolated errors introduced by AWGN. Several papers have looked at the application of LDPC codes in EMI conditions, but most still rely heavily on simplified noise models like the paper “Performance Analysis of LDPC Codes over Impulsive Noise Channels” (6). The authors evaluate LDPC performance under non-Gaussian noise using Middleton Class A noise models, showing LDPC’s strengths beyond AWGN, but it doesn’t explore burst noise or its interaction on grouped bit errors. Another paper, “Robust Initial LLRs for Iterative Decoders in Presence of Non-Gaussian Noise” (7), shows a modified decoding algorithm that performs rather well in impulsive conditions; however, the simulation setup doesn’t directly compare to the baseline AWGN performance and doesn’t incorporate BER trends across a wide SNR range. Compared to these to papers, this project uses a direct approach by simulating a realistic burst noise environment on top of AWGN and then evaluates overall performance, and how well standard LDPC decoding holds up. This allows for a better understanding of how useful the default implementation is when the interference actually looks like what happens in a real-world EMI heavy system.
Simulation Setup
MATLAB implementation
All the simulations conducted in this paper were done in MATLAB and focused on testing how well LDPC coding holds up under both normal AWGN and more severe burst noise conditions. I ran four different cases: BPSK with just AWGN and no LDPC, BPSK with AWGN and LDPC, BPSK with AWGN plus burst noise and no LDPC, and finally BPSK with both LDPC and burst noise. The Eb/N0 range was swept from 0 to 20 dB in 1 dB steps where each point was averaged over 100–200 frames, and the message length was set to 32,400 bits to match MATLAB’s built-in LDPC encoder and decoder.
I chose not to use MATLAB’s built-in BPSK modulator and demodulator functions because manually coding the modulation made it easier to see exactly what was happening at each step. I was able to map 0 to +1 and 1 to -1 corresponding to a 0- or 180-degree phase change, which gave me full control over the signal representation, which made debugging and interpreting the noise impact more straightforward. It also avoided any internal signal scaling or hidden assumptions that might be applied by MATLAB’s modulation scheme; however, the modulation can be easily altered to use MATLAB’s BPSK function. Keeping the signal generation transparent helps make sure the results are consistent and easy to trace back to the logic. Noise was added using MATLAB’s AWGN, function with measured mode to keep the SNR consistent across each frame. In the uncoded simulations, demodulation was done with a simple threshold, if the received value was less than zero, it was treated as a 1 and otherwise, it was decoded as 0. BER was calculated by comparing the demodulated bits with the original ones across all frames.
For the LDPC coded simulations, I used the built in comm.LDPCEncoder and comm.LDPCDecoder objects. The decoder was set up for a maximum of 50 iterations and was allowed to terminate the run early if the parity checks passed. On the receiver side, soft-decision decoding was done using LLRs. The LLR values were just twice the received signal values which is a standard way to estimate bit confidence under BPSK over AWGN (8). To simulate more realistic EMI, I created a basic burst noise model on top of AWGN. For each frame, with a 20% probability, a burst of strong noise was added to a random section of the received signal. The burst length was set to 25 bits, and the noise in that segment was scaled up using an amplitude multiplier of 10. This was done using rand to generate Gaussian noise, and then injecting it directly into a random portion of the signal. That way, the simulation still had background AWGN everywhere, but also included short, high intensity interference, something more representative of EMI events like transients or switching spikes.
This setup gave a good balance between clean theoretical results and a simulated real-world environment. By comparing the BER performance of LDPC and uncoded systems under both AWGN and burst conditions, I was able to see not just how LDPC helps in ideal channels, but also how it performs when the noise is more sudden and localized, which is where error correction actually matters the most.
Results
Model Discussion
The results lined up with what I expected. In the first simulation BPSK over AWGN with no LDPC, see figure 1, the bit error rate (BER) gradually improved as Eb/N0 increased, showing the typical sloped curve you’d expect, but never reaching zero. Once LDPC coding was added in the second simulation, see figure 2, the BER dropped off much faster. After about 3–4 dB, the decoder was able to correct nearly all errors, and the BER hit zero across higher SNR values. This is consistent with LDPC’s performance in clean Gaussian channels where the errors are sparse and uncorrelated. But that also makes it a bad visual for showing how LDPC works, since there’s almost no error left to correct after a point. Because LDPC was so effective at correcting for standard AWGN, I added burst noise into the model which allowed for a much easier visual of the error correction on the BPSK signal.
Figure 1 shows a BPSK signal affected by AWGN with no error correcting code.
The third simulation added burst noise on top of the AWGN, with no LDPC coding, which as expected, the BER was worse than the AWGN only case, and it did not improve nearly as fast as SNR increased. The burst segments, short periods of high energy interference, created clusters of bit errors that the system couldn’t handle well. The BER flattened out into a floor around , showing that even at high SNR, some frames still got hit hard enough to
Figure 2 shows a BPSK signal affected by AWGN, encoded and decoded using LDPC.
break. Finally, in the last simulation, see figure 4, with both AWGN and burst noise, LDPC was still able to correct many of the errors caused by the bursts. The BER dropped off again with increasing SNR, and the floor was much lower compared to the uncoded burst case. LDPC didn’t completely eliminate errors in the most severe conditions, but it clearly pushed the system toward a much better performance under EMI like conditions.
Figure 3 shows a BPSK signal affected by AWGN and burst noise, without error correction code.
Figure 4 shows a BPSK signal affected by AWGN and burst noise, encoded and decoded using LDPC.
Model Parameter Discussion
There are a few key parameters in the model that can be adjusted to make the EMI conditions more aggressive or more realistic, depending on what kind of system or environment you’re trying to simulate. One of the primary conditions is the burst amplitude. In these simulations, the amplitude of each noise burst was set to 10 but increasing it would make the interference spikes even stronger, which would result in more bit flips during each burst. Initially, my model did not impose noise with a strong enough amplitude, leading to very little error correction, however, I found 10 to be a good tradeoff between severity and feasibility. This aspect of the code can be useful for modeling high energy events like inductive switching transients or lightning coupling.
Another characteristic of the noise that can be changed is the probability of the bursts, or how often bursts occur per frame. Right now, the model used a probability of 0.2, meaning about 20% of the frames have a burst injected. If that’s increased, bursts would happen more frequently, which simulates a noisier or more unstable EMI environment.
The burst duration is also an important factor to consider when adjusting the noise conditions, as longer burst will flip more consecutive bits, which can imply that sudden burst noise would no longer be grouping of bits. LDPC codes tend to be worse when errors are clustered in groups like this (9), so increasing the burst length is an efficient way to stress the decoder more. This is important if you’re trying to simulate EMI coupling through cables or other scenarios where transients last longer than a few bits.
Lastly, you can modify the shape of the burst, which right now the burst is just additive Gaussian noise with increased amplitude, but this could be replaced with other waveforms. Sharp pulses damped sinusoidal waves, or even real recorded EMI data could be modeled if you wanted to build a more realistic interference simulation. That would take the simulation closer to real world EMI behavior but would also make the decoding results harder to predict and more intensive to analyze.
Conclusion
LDPC for Error Mitigation
This paper explored the use of LDPC coding as a method for mitigating electromagnetic interference in wireless communication systems. Using MATLAB, I simulated four different scenarios to evaluate bit error rate performance, BPSK with AWGN, BPSK with AWGN and LDPC, BPSK with burst noise and no LDPC, and finally BPSK with both burst noise and LDPC. The results confirmed that LDPC codes are highly effective in reducing BER under standard Gaussian noise, but more importantly, they also provided a noticeable improvement under harsher, burst-like EMI conditions. The comparison showed that even under short, high energy noise bursts, something more representative of real-world EMI events, LDPC was able to bring the system back to a much lower error floor. This validates LDPC not just as a theoretical coding tool, but as a practical solution in environments where interference is unpredictable and traditional shielding might not be enough.
Looking Ahead
While the current simulation setup gave good insight into LDPC’s behavior under EMI conditions, there’s a lot more that could be done to extend this work. One area of improvement would be to test other modulation schemes, like QPSK or 16-QAM, to see how LDPC performs when the symbols carry more information per bit and are more sensitive to noise. It would also be worth exploring the effect of interleaving, which can help spread burst errors out across the frame and potentially improve decoder performance. Another extension could involve building a more advanced burst noise model using actual EMI waveforms recorded from lab equipment or test environments, instead of just high-amplitude Gaussian pulses. Lastly, implementing a hardware-based version of this simulation using SDRs or FPGA-based LDPC decoders could bridge the gap between theory and real-world system design. These steps would push the analysis further and give a more complete picture of how LDPC can be optimize and deployed in EMI heavy communication systems.
References:
- J. Richardson, M. A. Shokrollahi, and R. L. Urbanke, “Design of capacity-approaching irregular low-density parity-check codes,” IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 619–637, Feb. 2001. Available: https://ieeexplore.ieee.org/document/1222728
- Liu, Y. Zhang, and L. Tian, “An optimized initialization for LDPC decoding over GF(q) in impulsive noise environments,” PLOS ONE, vol. 16, no. 5, May 2021. Available: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8101722/
- Torlak, Lecture 5: LDPC Codes, University of Texas at Dallas, EE 6391. Available: https://personal.utdallas.edu/~torlak/courses/ee6391/lectures/lecture5.pdf
- Montanari, LDPC – Low-Density Parity-Check Codes, Stanford University, STAT 316 Lecture Notes, 2021. Available: https://stanford.edu/~montanar/TEACHING/Stat316/handouts/ldpc.pdf
- Richardson and R. Urbanke, Modern Coding Theory. Cambridge, U.K.: Cambridge Univ. Press, 2008.
- Ghosh, A. Sengupta, and S. S. Pathak, “Performance analysis of LDPC codes over impulsive noise channels,” in 2016 International Conference on Emerging Technological Trends (ICETT), Kollam, India, 2016, pp. 1–5. Available: https://ieeexplore.ieee.org/document/7879830
- N. Sharma and K. P. Rao, “Robust initial LLRs for iterative decoders in presence of non-Gaussian noise,” in 2009 International Conference on Advances in Computing, Control, and Telecommunication Technologies, Trivandrum, India, Dec. 2009, pp. 264–267. Available: https://ieeexplore.ieee.org/document/5205626
- G. Proakis and M. Salehi, Digital Communications, 5th ed. New York, NY, USA: McGraw-Hill, 2007. Available: https://daskalakispiros.com/files/Ebooks/digital-communication-proakis-salehi-5th-edition.pdf
- ATP Electronics, “LDPC ECC Algorithm: How LDPC Codes Improve SSD Data Integrity,” ATP Inc. Blog, Jun. 2020. Available: https://www.atpinc.com/blog/ldpc-ssd-low-density-parity-check-ecc-algorithm
- MathWorks, “MATLAB – MathWorks.” Available: https://www.mathworks.com/products/matlab.html
- Lin and D. J. Costello Jr., Error Control Coding: Fundamentals and Applications, 2nd ed. Upper Saddle River, NJ, USA: Prentice Hall, 2004.