Files
matlab/common/ldtft.m
T
jens b31f3e7435 - added
git-svn-id: http://moon:8086/svn/matlab/trunk@153 801c6759-fa7c-4059-a304-17956f83a07c
2021-03-22 20:28:22 +00:00

25 lines
1019 B
Matlab
Executable File

% ##################################################################################
% ## 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 #####