- refactored

This commit is contained in:
2022-06-30 13:32:40 +02:00
parent 77cd5261b1
commit 776932e5d1
144 changed files with 0 additions and 38 deletions
+52
View File
@@ -0,0 +1,52 @@
% 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
+32
View File
@@ -0,0 +1,32 @@
% Kreuzkorrelation von x und y
% ----------------------------
%
% Aufruf:
% Function [rxy]=ccorr2(x,y,M)
%
% Parameter:
%
% Rückgabewerte:
% -------------------------------------------------------------------------
% Datum : ..2001
% Autor : Jens Ahrensfeld
% Thema : Diplomarbeit
% Datei : newfunc.m
% Benötigte Dateien:
%
% -------------------------------------------------------------------------
function [rxy]=ccorr2(x,y,M)
% Berechne Erwartungswert xm, ym von X und Y im Intervall N
for n = N:N:L-W,
rmax(k) = 0;
for w = 0:W-1
sxy(k) = sum(x(n+w:-1:n-N+1+w).*y(n:-1:n-N+1));
sxym(k) = sum(abs(x(n+w:-1:n-N+1+w).*y(n:-1:n-N+1)));
rmax(k) = max(sxy(k)/sxym(k),rmax(k));
end;
% r(n:-1:n-N+1) = ones(N,1)*sxy(k)/sxym(k);
r(n:-1:n-N+1) = ones(N,1)*min(rmax(k),1);
k = k+1;
end;
+15
View File
@@ -0,0 +1,15 @@
% correl(x,y,N)
function rxy = correlt(x,y,S)
L = lge(x);
N = L-S;
if (N == 0)
error('N = 0 !');
end;
for s=1:S,
rxy(s)=sum(x(S-s+1:L-s+1).*y(S:L))^2/(sum(x(S-s+1:L-s+1).^2)*sum(y(S:L).^2));
%rxy(s)=abs(sum(x(S-s+1:L-s+1).*y(S:L)))/(sum(abs(x(S-s+1:L-s+1).*y(S:L)))+0.0001);
end;
+15
View File
@@ -0,0 +1,15 @@
% correl(x,y,N)
function rxy = corrph(x,y,S)
L = lge(x);
N = L-S;
if (N == 0)
error('N = 0 !');
end;
for s=1:S,
%rxy(s)=sum(x(S-s+1:L-s+1).*y(S:L))^2/(sum(x(S-s+1:L-s+1).^2)*sum(y(S:L).^2));
rxy(s)=abs(sum(x(S-s+1:L-s+1).*y(S:L)))/(sum(abs(x(1:L).*y(1:L)))+0.0001);
end;
+15
View File
@@ -0,0 +1,15 @@
% correl(x,y,N)
function rxy = corrlp(x,y,S)
L = lge(x);
N = L-S;
if (N == 0)
error('N = 0 !');
end;
for s=1:S,
rxy(s)=sum(x(S-s+1:L-s+1).*y(S:L))^2/(sum(x(S-s+1:L-s+1).^2)*sum(y(S:L).^2));
%rxy(s)=abs(sum(x(S-s+1:L-s+1).*y(S:L)))/(sum(abs(x(S-s+1:L-s+1).*y(S:L)))+0.0001);
end;
+17
View File
@@ -0,0 +1,17 @@
% correl(x,y,N)
function rxy = corrph(x,y,S)
L = lge(x);
N = L-S;
if (N == 0)
error('N = 0 !');
end;
for s=0:S-1,
%rxy(s)=sum(x(S-s+1:L-s+1).*y(S:L))^2/(sum(x(S-s+1:L-s+1).^2)*sum(y(S:L).^2));
%rxy(s)=abs(sum(x(S-s+1:L-s+1).*y(S:L)))/(sum(abs(x(S-s+1:L-s+1).*y(S:L)))+0.0001);
rxy(s+1)=sum(x(1:L-S).*y(1+s:L-S+s))/(sum(abs(x(1:L-S).*y(1+s:L-S+s)))+0.001);
%rxy(s+1)=sum((x(1:L-S).^2).*(y(1+s:L-S+s).^2))/(sum(x(1:L-S).^2 + y(1+s:L-S+s).^2) +0.001);
end;