Keywords: Frequency spectrum of a sinusoid and its quantization noise floor.gif en This is a comparison of quantizing a sinusoid to 64 levels 6 bits and 256 levels 8 bits The additive noise created by 6-bit quantization is 12 dB greater than the noise created by 8-bit quantization When the spectral distribution is flat as in this example the 12 dB difference manifests as a measurable difference in the noise floors 2014-04-04 10 08 39 own Bob K Octave script <source lang Matlab > graphics_toolkit gnuplot N 256; sams_per_fft; window blackmanharris N /sum blackmanharris N ; A -N/2; left limit of plots B N/2-1; right limit of plots Fs N; sams_per_sec; HzPerBin Fs/N; freq_bin 9+1/sqrt 2 ; any signal frequency not harmonically related to Fs freq_Hz freq_bin HzPerBin; L 120000; amount of data to average n 1 L; x exp j 2 pi freq_Hz/Fs n ; non-quantized signal sig8 round 2 8 x /2 8; sig6 round 2 6 x /2 6; sams_per_offset 0 75 N; overlap 25 number of samples available beyond just one FFT excess_sams length x - N; j1 floor excess_sams / sams_per_offset ; sams_per_offset floor excess_sams / j1 ; num_ffts 1 + j1; define the first block of data samples 1 N; amplitude8 zeros 1 N ; amplitude6 zeros 1 N ; Loop over all the available blocks for j1 1 num_ffts amplitude8 amplitude8 + abs fft sig8 samples window ; amplitude6 amplitude6 + abs fft sig6 samples window ; samples samples + sams_per_offset; end amplitude8 20 log10 fftshift amplitude8/num_ffts ; amplitude6 20 log10 fftshift amplitude6/num_ffts ; abscissa A B; figure 1 'color' 95 1 1 1 subplot 2 1 1 ; h area abscissa amplitude6 abscissa +N/2+1 'FaceColor' 871 49 0 'edgecolor' 871 49 0 ; set h 'BaseValue' -90 set gca 'YTick' 0 -40 -68 -90 set gca 'XTick' set gca 'YGrid' 'on' 'color' 'white' xlim A B ylim -90 2 text A 10 '6 bits' xlabel '\leftarrow frequency \rightarrow' 'fontsize' 10 ylabel 'decibels' 'fontsize' 10 title 'Spectral view of a sinusoid and its quantization noise-floor' 'fontsize' 12 ; Move subplot downward to prevent title being cropped by gnuplot bug set gca position get gca position - 0 0 0 0 02 subplot 2 1 2 ; h area abscissa amplitude8 abscissa +N/2+1 'FaceColor' 871 49 0 'edgecolor' 871 49 0 ; set h 'BaseValue' -90 set gca 'YTick' 0 -40 -80 set gca 'XTick' set gca 'YGrid' 'on' 'color' 'white' xlim A B ylim -90 2 text A 10 '8 bits' xlabel '\leftarrow frequency \rightarrow' ylabel 'decibels' 'fontsize' 10 </source> cc-zero Uploaded with UploadWizard Digital signal processing English text |