Main Content

Estimate Standard Deviation of Quantization Noise of Complex-Valued Signal

Quantizing a complex signal to p bits of precision can be modeled as a linear system that adds normally distributed noise with a standard deviation of ϛnoise=2-p6 [1,2].

Compute the theoretical quantization noise standard deviation with p bits of precision using the fixed.complexQuantizationNoiseStandardDeviation function.

p = 14;
theoreticalQuantizationNoiseStandardDeviation = fixed.complexQuantizationNoiseStandardDeviation(p);

The returned value is ϛnoise=2-p6.

Create a complex signal with n samples.

rng('default');
n = 1e6;
x = complex(rand(1,n),rand(1,n));

Quantize the signal with p bits of precision.

wordLength = 16;
x_quantized = quantizenumeric(x,1,wordLength,p);

Compute the quantization noise by taking the difference between the quantized signal and the original signal.

quantizationNoise = x_quantized - x;

Compute the measured quantization noise standard deviation.

measuredQuantizationNoiseStandardDeviation = std(quantizationNoise)
measuredQuantizationNoiseStandardDeviation = 
2.4902e-05

Compare the actual quantization noise standard deviation to the theoretical and see that they are close for large values of n.

theoreticalQuantizationNoiseStandardDeviation
theoreticalQuantizationNoiseStandardDeviation = 
2.4917e-05

References

  1. Bernard Widrow. “A Study of Rough Amplitude Quantization by Means of Nyquist Sampling Theory”. In: IRE Transactions on Circuit Theory 3.4 (Dec. 1956), pp. 266–276.

  2. Bernard Widrow and István Kollár. Quantization Noise – Roundoff Error in Digital Computation, Signal Processing, Control, and Communications. Cambridge, UK: Cambridge University Press, 2008.

See Also