witam ponownie
dzis problem wygląda następująco:
-mamy taki malutki kodzik (jest to wycinek ale zaraz opisze co tu sie dzieje)
http://imageshack.us/photo/my-images/69 ... gramu.jpg/
od lewej:
1. do bloczka cross correlation wchodza 2 sygnały (x i y) pobrane z generatora
2. z bloczka lecimy do tablicy, gdzie wycinam sobie poprzednie próbki
te dwa bloczki oddzielone sa petla FOR, ktora wykonuje N powtórzen programu (pobiera 2 sygnały, oblicza funkcje korelacji i nastepnie wycina nam potrzebne próbki)
3. minialgorytmik odpowidzialny za wyznaczenie położenia szczytu funkcji
Jaki mam problem?
Jezeli wszystko wpakuje do pętli FOR:
http://imageshack.us/photo/my-images/507/45370962.jpg/
to wszystko działa elegancko (pobiera sygnał, wyznacza funkcje korelacji, wpisuje do tablicy, wyznacza polozenie szczytu.. i znow pobiera.. funkcja korelacji i polozenie szczytu - wszystko N-razy i za pętla dostajemy usrednienie z naszych N pomiarów)
tylko moim zadaniem jest wykonanie czegos jak w obrazku 1 - czyli troche inna budowa programu:
w pętli for ma być:
(pobieramy sygnał, obliczamy Rxy, wycinamy potrzebne próbki -> wpisujemy gdzies do jakiejs lokalizacji[nie mam pojęcia do jakiej] te N pomiarów [czyli N funkcji korelacji] później usredniamy je i wykonujemy tylko JEDEN pomiar tego czubka funkcji (a nie N-pomiarów czubka funkcji, tak jak w poprzednim przykladzie)
moglbym prosic o male wskazówki jak to zrobić?
z gory bardzo dziekuje za pomoc i pozdrawiam
majster
ponizej kod całego programu w wersji 2 (gdzie w pętli FOR wykonuje sie wszystko)
http://speedy.sh/Evg2A/Usrednianie-funkcji.vi
N cykli programu i usrednienie wyniku
-
- Posty: 9
- Rejestracja: 07 lis 2012 09:48
- Wersja środowiska: LabVIEW 2011
-
- Posty: 96
- Rejestracja: 20 lut 2012 12:30
- Wersja środowiska: LabVIEW 2014
- Lokalizacja: Katowice / Ruda Śląska
Re: N cykli programu i usrednienie wyniku
Z tego co rozumiem to:
Dostajemy N funkcji korelacji każda ma po M próbek. Po indeksowaniu pętli for dostajemy tablicę MxN gdzie każdemu wierszowi odpowiada funkcja korelacji z jednego pomiaru. Chcemy uśrednić tą tablicę (czyli dodać elementy w każdej kolumnie, podzielić przez N) tak by uzyskać 1D tablicę przedstawiającą uśrednioną funkcję korelacji. Funkcję tą chcemy podać na bloczek PEAK, wyznaczający nam w jakiś sposób piki uśrednionej funkcji.
Średnią po kolumnach z dwuwymiarowej tablicy możemy uzyskać tak: Uzyskaną tablicę podajemy na PEAK (który ma być tak jak w 1 przykładzie na zewnątrz pętli for) co powinno dać oczekiwany efekt.
Dostajemy N funkcji korelacji każda ma po M próbek. Po indeksowaniu pętli for dostajemy tablicę MxN gdzie każdemu wierszowi odpowiada funkcja korelacji z jednego pomiaru. Chcemy uśrednić tą tablicę (czyli dodać elementy w każdej kolumnie, podzielić przez N) tak by uzyskać 1D tablicę przedstawiającą uśrednioną funkcję korelacji. Funkcję tą chcemy podać na bloczek PEAK, wyznaczający nam w jakiś sposób piki uśrednionej funkcji.
Średnią po kolumnach z dwuwymiarowej tablicy możemy uzyskać tak: Uzyskaną tablicę podajemy na PEAK (który ma być tak jak w 1 przykładzie na zewnątrz pętli for) co powinno dać oczekiwany efekt.
- Załączniki
-
- ACM.vi
- (13.06 KiB) Pobrany 323 razy
Ostatnio zmieniony 24 lis 2012 15:20 przez may, łącznie zmieniany 1 raz.