kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Tests zur Verwendung der Kovarianz zur Signalanalyse mit Scilab

(EN google-translate)

(PL google-translate)

//Kovarianz

t=linspace(0,1,10000);
f1=sin(2.0*%pi*440.0*t);
f2=sin(2.0*%pi*660.0*t);
f3=sin(2.0*%pi*880.0*t);

q1=sin(2.0*%pi*440.0*t+%pi/2);
q2=sin(2.0*%pi*660.0*t+%pi);
q3=sin(2.0*%pi*880.0*t+%pi/4);



zz = [
        cov(f1',q1'), cov(f1',q2'), cov(f1',q3');
        cov(f2',q1'), cov(f2',q2'), cov(f2',q3'); 
        cov(f3',q1'), cov(f3',q2'), cov(f3',q3') 
     ];
     
zzz = [
          zz(2,1) zz(2,3) zz(2,5)
          zz(4,1) zz(4,3) zz(4,5)
          zz(6,1) zz(6,3) zz(6,5)
      ];     
     
disp(zzz);     

Code 0-1: Kovarianz-Tests.

  - 1.450D-14    9.350D-16    8.079D-16  
    3.776D-18  - 0.5          7.426D-16  
    6.768D-17  - 1.033D-15    0.3535534  

Code 0-2: Ergebnis

Interpretation

  • Bei einer Phasenverschiebung einer Viertel Periode ist die Gemeinsamkeit zweier sonst gleicher Signale noch schwer nachzuweisen.
  • Bei einer Phasenverschiebung um eine achtel Periode wird dagegen die Gemeinsamkeit sehr deutlich.
  • Oktavierungen liefern nur schwache Korrelationen.

Alternative Untersuchung mit Rechtecksignalen

//Kovarianz

t=linspace(0,1,10000);
f1=sin(2.0*%pi*440.0*t);
f2=sin(2.0*%pi*660.0*t);
f3=sin(2.0*%pi*880.0*t);

q1=sin(2.0*%pi*440.0*t+%pi/2);
q2=sin(2.0*%pi*660.0*t+%pi);
q3=sin(2.0*%pi*880.0*t+%pi/4);

f1=sign(f1);
f2=sign(f2);
f3=sign(f3);

q1=sign(q1);
q2=sign(q2);
q3=sign(q3);


zz = [
        cov(f1',q1'), cov(f1',q2'), cov(f1',q3');
        cov(f2',q1'), cov(f2',q2'), cov(f2',q3'); 
        cov(f3',q1'), cov(f3',q2'), cov(f3',q3') 
     ];
     
zzz = [
          zz(2,1) zz(2,3) zz(2,5)
          zz(4,1) zz(4,3) zz(4,5)
          zz(6,1) zz(6,3) zz(6,5)
      ];     
     
disp(zzz);     

Code 0-3: Gleiche Untersuchung mit Rechtecksignalen.

    0.0004994    0.0026986    0.0027008  
    0.0011041  - 0.9999888  - 0.0011034  
    0.0004994    0.0026986    0.4999505  

Code 0-4: Ergebnis

Interpretation

Das Ergebnis ist qualitativ gleich, jedoch liegen die weniger korrellierten Signale hier viel näher an den besser korrellierten.

Mix - Vergleichssignale sind harmonisch, Testsignale rechteckig

//Kovarianz

t=linspace(0,1,10000);
f1=sin(2.0*%pi*440.0*t);
f2=sin(2.0*%pi*660.0*t);
f3=sin(2.0*%pi*880.0*t);

q1=sin(2.0*%pi*440.0*t+%pi/2);
q2=sin(2.0*%pi*660.0*t+%pi);
q3=sin(2.0*%pi*880.0*t+%pi/4);

//f1=sign(f1);
//f2=sign(f2);
//f3=sign(f3);

q1=sign(q1);
q2=sign(q2);
q3=sign(q3);


zz = [
        cov(f1',q1'), cov(f1',q2'), cov(f1',q3');
        cov(f2',q1'), cov(f2',q2'), cov(f2',q3'); 
        cov(f3',q1'), cov(f3',q2'), cov(f3',q3') 
     ];
     
zzz = [
          zz(2,1) zz(2,3) zz(2,5)
          zz(4,1) zz(4,3) zz(4,5)
          zz(6,1) zz(6,3) zz(6,5)
      ];     
     
disp(zzz);     

Code 0-5: Mix.

   1.999D-14    6.843D-17    0.0014364  
  - 5.254D-16  - 0.6366141  - 0.0002332  
  - 3.529D-16  - 3.762D-16    0.4497693  

Code 0-6: Ergebnis

Interpretation

Bei harmonischen Referenzsignalen sind die Ergebnisse signifikanter als bei rechteckigen.

Umsetzung

Für eine effiziente Implementierung sollte...

  • ...das jeweilige Referenzsignal in Phasenverschiebungen von z.B. 0/10 bis 9/10 Perioden verwendet werden,
  • ...die Sampleanzahl an die Frequenz angepasst werden, z.B. 5 Perioden des Referenzsignals.
  • ...die Anzahl der Vergleichssamples durch Reduktion der Stützpunkte begrenzt werden.
  • ...die Stützpunkte bei Implementierung auf einem Mikrocontroller vorausberechnet werden.