Witam,
Swego czasu otrzymałem wzór algorytmu na wyznaczenie autokorelacji w celu znalezienia okresu przebiegu:
Nie wiem jak to rozumieć, gdyż inne wzory jakie znalazłem w uproszczeniu wyglądają następująco:
a[j]=∑ t[i]*t(i+j)
co by oznaczało, że dla elementu tablicy korelacji =j należy liczyć sumy iloczynów elementu i z elementami o to przesunięcie (i+j) a nie od elementu =0 jak w powyższym wzorze (wskazuje na to t[j]). Jak należy w takim razie liczyć? Rozumiem, że dla elementów których index (i+j) przekracza liczbę elementów w tablicy wejściowej - należy przyjąć zero czyli iloczyn dla takich elementów też będzie równy 0? Rozumiem, że aby znaleźć okres sygnału to trzeba mieć spróbkowane przynajmniej kilka okresów? Jak z częstotliwością mierzonego sygnału? Z góry dzięki serdeczne... robiw[/code]
Swego czasu otrzymałem wzór algorytmu na wyznaczenie autokorelacji w celu znalezienia okresu przebiegu:
t[0..N-1] // realizacja
a[0..N-1] // autokorelacja
for i= 0 .. N-1
a[i]= 0
for j= 0.. N-1
a[i] += t[i]*t[j]
poszukaj indeksu maksimum w a[1..N-1], ten indeks*okres próbkowania to właśnie okresNie wiem jak to rozumieć, gdyż inne wzory jakie znalazłem w uproszczeniu wyglądają następująco:
a[j]=∑ t[i]*t(i+j)
co by oznaczało, że dla elementu tablicy korelacji =j należy liczyć sumy iloczynów elementu i z elementami o to przesunięcie (i+j) a nie od elementu =0 jak w powyższym wzorze (wskazuje na to t[j]). Jak należy w takim razie liczyć? Rozumiem, że dla elementów których index (i+j) przekracza liczbę elementów w tablicy wejściowej - należy przyjąć zero czyli iloczyn dla takich elementów też będzie równy 0? Rozumiem, że aby znaleźć okres sygnału to trzeba mieć spróbkowane przynajmniej kilka okresów? Jak z częstotliwością mierzonego sygnału? Z góry dzięki serdeczne... robiw[/code]