- refactored
This commit is contained in:
Executable
+24
@@ -0,0 +1,24 @@
|
||||
% ##################################################################################
|
||||
% ## Funktion [H, W] = ldtft(h, N) ##
|
||||
% ##################################################################################
|
||||
% DTFT Berechnet die DTFT an N aequidistanten Frequenzstuetzstellen.
|
||||
% Aufruf: [H, W] = ldtft(h, N)
|
||||
% h : Eingabevektor der Laenge L
|
||||
% N : Anzahl der Frequenzen im Intervall [-pi,pi); (N >= L)
|
||||
% H : DTFT Werte (komplexwertig)
|
||||
% W : Vektor der Stuetzstellen, an denen die DTFT berechnet wurde
|
||||
|
||||
function [H, W] = ldtft(h, N)
|
||||
|
||||
N = fix(N);
|
||||
L = length(h);
|
||||
h = h(:); % nur Vektoren
|
||||
if( N < L )
|
||||
error('DTFT: Anzahl Datenwerte muss kleiner sein als Anzahl Stuetzstellen')
|
||||
end;
|
||||
W = (2*pi/N) * [ 0:(N-1) ]';
|
||||
mid = ceil(N/2) + 1;
|
||||
W(mid:N) = W(mid:N) - 2*pi; % <--- Verschiebung [pi,2pi) to [-pi,0)
|
||||
W = fftshift(W);
|
||||
H = fftshift( fft( h, N ) ); % <--- Verschiebung der negativen Frequenzen
|
||||
% ##### EOF #####
|
||||
Reference in New Issue
Block a user