Range of quantizer to avoid clipping of transmitted signal

2 次查看(过去 30 天)
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!

回答(1 个)

Walter Roberson
Walter Roberson 2015-9-29
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 个评论
Walter Roberson
Walter Roberson 2015-9-29
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 2015-9-29
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by