File:Frequency spectrum of a sinusoid and its quantization noise floor.gif
Original file (864 × 438 pixels, file size: 11 KB, MIME type: image/gif, 0.1 s)
Captions
Summary
[edit]DescriptionFrequency spectrum of a sinusoid and its quantization noise floor.gif |
English: 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. |
|||
Date | ||||
Source | Own work | |||
Author | Bob K | |||
Permission (Reusing this file) |
I, the copyright holder of this work, hereby publish it under the following license:
|
|||
GIF development InfoField | N This GIF graphic was created with GNU Octave. |
|||
Octave/gnuplot source InfoField | click to expand
This graphic was created by the following Octave script: 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)
|
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 14:29, 4 April 2014 | 864 × 438 (11 KB) | Bob K (talk | contribs) | User created page with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on en.wikipedia.org
- Usage on sl.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
GIF file comment | Created with GIMP |
---|