Digital Signal Processing Reference
In-Depth Information
Programmbeispiel 5-1 Klirrfaktormessung mit der DFT
% Short-time spectral analysis with the fft
% dsplab5_1.m * mw * 21Oct2010
f0 = 50; T0 = 1/f0; % fundamental frequency in Hz and signal period
fs = 1e3; Ts = 1/fs;
% sampling frequency and sampling period
Ns = floor(T0/Ts);
% number of samples per period
n = 0:Ns-1;
% normalized discrete time
% Signal
x = zeros(1,Ns);
x(1:floor(Ns/2)) = sin(2*pi*f0*Ts*(0:floor(Ns/2)-1)); % sine half wave
X = fft(x);
% dft spectrum
X = X/Ns;
% normalize dft spectrum
%% Graphics
% Time signal, sampled signal
t = 1e3*Ts*n; % time scale in ms
FIG1 = figure( 'Name' , 'dsplab5_1 : distortion' , 'NumberTitle' , 'off' );
subplot(2,1,1), plot(t,x,t,x, '.' , 'MarkerFaceColor' , 'b' ,...
'MarkerEdgeColor' , 'b' , 'MarkerSize' ,20), grid
axis([0 1e3*Ts*Ns 0 1]);
xlabel( '{\itt} in ms \rightarrow' )
ylabel( '{\itx}({\itt}) \rightarrow' )
% DFT spectrum
M = Ns/2;
% omit spectral line at normalized frequency pi
if rem(Ns,2)==0
M = Ns/2 - 1;
end
f = (0:M)*fs/Ns;
% frequency scale
MAX = max(abs(X));
subplot(2,1,2), stem(f,abs(X(1:M+1))/MAX, 'filled' ), grid
axis([0 max(f) 0 1]);
xlabel( '{\itf} in Hz \rightarrow' )
ylabel( 'norm. | {\itX}({\itf}) | \rightarrow' )
%% Text on screen
fprintf( '\n' )
% text output on screen
fprintf( 'dsplab5_1 : distortion\n' )
fprintf( 'f0 = %5i Hz\n' ,f0)
fprintf( 'fs = %5i Hz\n' ,fs)
fprintf( 'max|X(f)| = %g\n' ,MAX)
fprintf( 'f in Hz |X(f)|/max|X(f)|: \n' )
for k = 1:M+1
fprintf( ' %5i %6.4f \n' ,f(k),abs(X(k)/MAX))
end
%% Distortion
D1 = abs(X(2)).^2; % rms-value for fundamental frequency signal
D = sum(abs(X(2:1:M+1)).^2);
% rms-value for higher harmonics
d = sqrt((D-D1)/D);
% distortion (THD)
fprintf( 'distortion d = %6.4f \n' ,d)
5.1.5 Auffüllen mit Nullen
Durch Anhängen von Nullen kann ein Signal endlicher Länge stets, ohne Werte wegzulassen,
auf eine Länge gebracht werden, die die Anwendung der schnellen Radix-2-FFT erlaubt. Mit
dem Auffüllen mit Nullen auf die gewünschte DFT-Länge, englisch Zero-padding genannt,
kann unter Umständen die Darstellung des Spektrums günstig beeinflusst werden. Man beachte
Search WWH ::




Custom Search