I assume this is pretty much a standard problem. I have a PAM2 signal that comes from a complex envelope (i.e., it is not zero-centered) and is heavily imposed by noise. This shows 20 different examples of my signal:

enter image description here

What is the most reliable approach to convert these to $00000001000100000101\cdots$?

The standard approach seems to be to subtract the mean value. However, this is only reliable when ones and zeros are balanced (not the case for me).

Right now, I subtract half of the maximum value and add half of the minimum value. If this value is greater than zero, I interpret it as one, otherwise as zero. This gives decent (but I feel still sub-optimal) results and I wonder what is the most reliable way to do this.

  • $\begingroup$ How many symbols can you buffer before you can make a decision, and how unbalanced in terms of #1s and 0s do you expect it to be? Is the noise expected to be gaussian? Stationary? AGC, histogram, k-means clustering, em-gmm, ... $\endgroup$
    – Knut Inge
    Commented Jun 12, 2020 at 6:37
  • $\begingroup$ It's a burst and has a short duration (here 32 bits, maybe 512 bits). I buffer all of them. So far, no prior knowledge on the 0/1 balance. Noise expected Rayleigh I guess (I+Q are Gaussian individually) $\endgroup$
    – divB
    Commented Jun 12, 2020 at 16:18
  • $\begingroup$ Noise for 0 is Rayleigh and Noise for 1 is Ricean assuming you are taking the magnitude of complex I and Q samples with Gaussian noise individually. $\endgroup$ Commented Jun 12, 2020 at 18:14

1 Answer 1


I suggest as a simple approach start with the threshold you chose and then bin the samples that are above and below threshold and take the average of each of those separately and then adjust your threshold to be between those two values. Mid way would be optimum when the two symbols are equiprobable in the presence of identical balanced noise on all samples (meaning the distribution going positive is the same as the distribution going negative). In the case on more 1’s than 0’s or vice versa with known or computed SNR, the threshold decision would be determined by a weighted average of the two symbol means using the SNR’s to be closer to the symbol that occurs less likely. (To optimize bit error rate).

Given the OP's comment under the question of using complex IQ samples with Gaussian noise, the 0 bit would be Rayleigh distributed and the 1 bit would be Ricean. The approach above could determine the estimated variance for each of the symbols (and therefore SNR from mean and variance) and then if the probability of occurrence is known for each symbol, a threshold can be determined that would minimize the error rate by equating the net areas of each distribution beyond the threshold weighted by the probability of occurrence.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.