Range of quantizer to avoid clipping of transmitted signal

2 views (last 30 days)
I have a signal ,say
s = sqrt(0.5) * (randn(1,10000) + 1i * randn(1,10000))
After quantizing it to say 512 levels, I observe that there is clipping of the original signal. I would like to know if there is a method in matlab to calculate the range of quantizer for a signal with complex normal distribution (signal s defined above) in a way that the original signal is not clipped.
Thank you in advance!

Answers (1)

Walter Roberson
Walter Roberson on 29 Sep 2015
No, there is not. As I explained before, Normal Distribution has an infinite tail in both directions. If you quantize it to any finite number of bins of finite width then you cannot cover the entire range, so the signal will be clipped. To avoid the clipping you would either need to use an infinite number of quantization levels or else an infinite width for each level.
  6 Comments
Walter Roberson
Walter Roberson on 29 Sep 2015
Bin width needs to be a fraction of the range not of the minimum value. Max minus min. And remember to take the complex portion into account.
rihab
rihab on 29 Sep 2015
Does the following make sense:
rIn = min(max(real(s),minValue),maxValue);
rIn = round(rIn/q)*q; %q is defined as q = (maxValue-minValue)/2^enob
rQuad = min(max(imag(s),minValue),maxValue);
rQuad = round(rQuad/q)*q;
rQuant = rIn + 1i*rQuad

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!