Digital Signal Processing Reference
In-Depth Information
Die Auswirkung der Abtastung auf die Spektren der Signale wurde in Versuch Kurzzeit-
Spektralanalyse: Grundlagen vorgestellt. Wird das Abtasttheorem verletzt, kommt es zur Über-
faltungen des periodisch fortgesetzten Spektrums, dem Aliasing .
Anmerkungen: (i) Beachten Sie die hier gewählte Formulierung des Abtasttheorems. Bei der Grenz-
frequenz f g ist das Spektrum des analogen Signals bereits zu null angenommen. Bei der Abtastung einer
Sinus- oder Kosinusfolge mit der Frequenz f g / 2, also 2 Abtastwerte pro Periode, ist die Amplituden-
information unbestimmt; im Extremfall kann auch in den Nulldurchgängen abgetastet werden, sodass die
Folge nicht erfasst wird. (ii) In praktischen Fällen sollte das Betragsspektrum des analogen Signals bis zur
halben Abtastfrequenz „genügend“ abgeklungen sein, damit ein Aliasing-Beitrag vernachlässigt werden
kann. (iii) Mit dem Abtasttheorem werden u. a. Whittaker (1915), Nyquist (1928), Kotel'nikov (1933),
Raabe (1939) und Shannon (1948) in Verbindung gebracht. Die mindestens erforderliche Abtastrate wird
manchmal auch Nyquist-Rate genannt.
16.2.2
Vorbereitende Aufgaben
A16.1
Im Programmbeispiel 16-1 wird der Einfluss der zur Abtastung notwendigen Band-
begrenzung hörbar. Ein Audiosignal wird bandbegrenzt, unterabgetastet und auf der
PC Sound Card ausgegeben. Machen Sie sich mit dem Programm vertraut und
erklären Sie, wie die Bandbegrenzung durchgeführt wird.
Hinweise: Da nicht jede PC Sound Card eine weitgehend beliebige Einstellung der
Abtastfrequenz erlaubt, wird im Programmbeispiel auf die explizite Unterabtastung
verzichtet. Es wird jedoch die vor der Unterabtastung notwendige Bandbegrenzung
durchgeführt, sodass sich ein entsprechender Höreindruck ergibt. Der MATLAB-
Befehl menu stellt eine einfache graphische Benutzerschnittstelle am Bildschirm
bereit.
Programmbeispiel 16-1 Unterabtastung eines Audiosignals (Filterung mit DFT-Tiefpass)
% Subsampling of an audio signal
% dsplab16_1.m * mw * 1Apr2011
fprintf( 'dsplab16_1 : subsampling \n' )
filename = input( 'name of audio file (*.wav): ' , 's' );
[x,fs,bits] = wavread(filename);
% load audio signal
X = fft(x);
Lx = length(x);
K = 0;
while K~=7
K = menu([filename, ' fs = ' ,num2str(fs), ' Hz' ], 'original' ,...
'fs / 2' , 'fs / 4 ' , 'fs / 8 ' , 'fs / 16 ' , 'fs / 32 ' , 'exit' );
SR = 2^(K-1);
% subsampling factor
% lowpass filtering using fft
index = ceil(Lx/(2*SR));
X0 = [X(1:index); zeros(Lx+1-2*index,1); X(Lx+2-index:Lx)];
x_lp = real(ifft(X0));
if K~=7
soundsc(x_lp,fs,bits);
end
end
Search WWH ::




Custom Search