% Kreuzkorrelation von x und y % ---------------------------- % % Aufruf: % Function [rxy,fpo]=ccorr(x,y,N) % % Parameter: % x : Eingangsdaten 1 % y : Eingangsdaten 2 % N : Maximale Verschiebung der Eingangsdaten % % Rückgabewerte: % rxy: Kreuzkorrelationskoeffzienten % fpo: Anzahl der Floating-Point Operationen % ------------------------------------------------------------------------- % Datum : 07.08.2001 % Autor : Jens Ahrensfeld % Thema : Diplomarbeit % Datei : ccorr.m % Benötigte Dateien: % % ------------------------------------------------------------------------- function [rxy,fpo]=ccorr(x,y,N) % Ermittling der FFT-Länge (für Radix-2) C = 2^ceil(log2(N)); % Zero-Padding wenn N != 2^r xzp = [x;zeros(C-N,1)]; yzp = [y;zeros(C-N,1)]; flops(0); % C-Punkte FFT der Eingangsdaten Xk = fft(xzp,C); Yk = fft(yzp,C); % Korrelation im Frequenzbereich Rk = Xk.*conj(Yk); % Rücktransformation rk = ifft(Rk,C)/C; % Abspeichern der ersten N Werte rxy(1:N/2) = rk(N/2+1:N); rxy(N/2+1:N) = rk(1:N/2); fpo = flops; % ------------------------------------------------------------------------- % Ende ccorr.m