Zliczenie ilości pulsów, ale inaczej
Zliczenie ilości pulsów, ale inaczej
Witam. Mam ściągniętą z karty pomiarowej macierz przebiegu prostokątnego. Chcę policzyć ile w nim jest pulsów. Jak liczę ile jest w tych próbkach wartości true, to zlicza mi wszystkie próbki o wartości true, które są zawarte w jednym "pulsie". I tak zamiast jednego pulsu liczy mi np.:5. Wykonywałem moje obliczenie tak, że przeglądał macierz i szukał wartości true (było na int i szukał wartości 1, ale to to samo) i przenosił tę próbkę do drugiej macierzy. Stąd po przejrzeniu całej macierzy wejściowej miałem stworzoną drugą, która zawierała same wartości true. Na końcu wyświetlałem sobie rozmiar macierzy drugiej.
Ale jak mówiłem jeden puls jest spróbkowany w kilku miejscach, jak zrobić, aby liczył mi go tylko raz? Licznik sprzętowy nie wchodzi w grę. Częst. badanego przebiegu to ok 8-10kHz.
Ale jak mówiłem jeden puls jest spróbkowany w kilku miejscach, jak zrobić, aby liczył mi go tylko raz? Licznik sprzętowy nie wchodzi w grę. Częst. badanego przebiegu to ok 8-10kHz.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
- Ender
- Posty: 137
- Rejestracja: 02 cze 2005 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Cieszyn
Re: Zliczenie ilości pulsów, ale inaczej
Witam
Zapis do wersji 7.1 przerasta moje możliwości, więc screen będzie musiał wystarczyć ;) Mam nadzieję, że o to chodzi.
Pozdrawiam
Ender
Zapis do wersji 7.1 przerasta moje możliwości, więc screen będzie musiał wystarczyć ;) Mam nadzieję, że o to chodzi.
Pozdrawiam
Ender
- Załączniki
-
- Licznik pulsów.PNG (9.88 KiB) Przejrzano 12434 razy
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Re: Zliczenie ilości pulsów, ale inaczej
Właśnie w tym sęk, że jak zadasz mu sygnał, w którym 2-3 próbki mają wartość false, potem 2-3 próbki mają wartość true itd. to podczas zliczania, zliczy każdą próbkę na której jest true, a ja chcę zliczyć cały puls jako 1. Rozumiesz? Jeśli nie to postaram się wrzucić obrazek z opisem.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
- Ender
- Posty: 137
- Rejestracja: 02 cze 2005 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Cieszyn
Zliczenie ilości pulsów, ale inaczej
.... przecież ten program to właśnie robi. Sprawdzałeś? Wykrywa zmianę z F na T i tylko wtedy zlicza puls. Zamiast symulowanego sygnału podepnij na wejście tablicę z elementami boolean, zmieniaj je dowolnie i zobaczy czy wynik będzie się zgadzał.
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Re: Zliczenie ilości pulsów, ale inaczej
Sprawdziłem i rzeczywiście działa!!:) Nie wiem tylko dlaczego konwersja sygnału, którą zastosowałeś u mnie nie działa. W error-ze jest napisane, że nie można dokonać konwersji sygnału z long na ulong. Jak zastosowałem bloczek konwersji to wyświetla, że nie można przekonwertować z ulong do ulong (??). Obszedłem to, ale zdziwiło mnie to.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Zliczenie ilości pulsów, ale inaczej
No patrze na to rozwiązanie Ednera i od razu mi się ono wydawało jakieś takie ... niedziałające do końca poprawnie. No i się zmusiłem do przetestowania i znalazłem błąd.
Bo jak ostatni impuls składa się z jednej wartości T i jest na końcu w tablicy, to nie zostanie zlicznony, bo pętla go nie bada. Są dwa impulsy a wynik równa się jeden.
A powinno być chyba tak, ale jakoś mi to rozwiązanie też nie leży
Bo jak ostatni impuls składa się z jednej wartości T i jest na końcu w tablicy, to nie zostanie zlicznony, bo pętla go nie bada. Są dwa impulsy a wynik równa się jeden.
A powinno być chyba tak, ale jakoś mi to rozwiązanie też nie leży
Re: Zliczenie ilości pulsów, ale inaczej
No dobrze, to jeszcze jeden myk, a jak poszerzyć funkcjonalność tak, żebym ja jako użytkownik podawał ile sygnałów TRUE ma znaleźć? Kiedy osiągnie tą liczbę ma mieć zliczone ile próbek musiał zbadać aby zliczyć TRUE i rozpocznie cały proces od nowa. Próbowałem to zrobić tak jak na zdjęciu, ale to nie działa... W miejscu podłączania wyniku porównania do stopu pętli while w moim programie jest strzałeczka pętli sprzężenia zwrotnego w przód i nie ma oczywiście błędu niepodłączenia. Dorzucam też cały vi, może będzie prostrzy do analizy.
- Załączniki
-
- matoda T (streaming).vi
- (81.19 KiB) Pobrany 308 razy
-
- Untitled.png (5.75 KiB) Przejrzano 12368 razy
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
Re: Zliczenie ilości pulsów, ale inaczej
Witam, napisałem niejasno? Jest to niewykonalne?:) Czy każdy kto potrafi to zrobić mnie olał? Nie musi to być kod, chociaż jakaś sugestia jak to zrobić. Mój jakiś tam pomysł po nawet modyfikacjach kompletnie się nie sprawdza. Pozdro i mam nadzieje dostać odp.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Zliczenie ilości pulsów, ale inaczej
Twoja odpowiedź jest jasna, tylko napisz proszę po co chcesz zliczać ilość TRUE?
- Ender
- Posty: 137
- Rejestracja: 02 cze 2005 00:00
- Wersja środowiska: LabVIEW 2009
- Lokalizacja: Cieszyn
Re: Zliczenie ilości pulsów, ale inaczej
Zakładając, że przez sygnał TRUE rozumiesz to, co wcześniej nazywałeś pulsem, to wyszło mi coś takiego (dzięki wino za naprawienie błędu).
Może faktycznie napiszesz nam jaki jest cel końcowy tego wszystkiego? Znając życie, to po piątej modyfikacji programu okaże się, że chcesz zmierzyć np częstotliwość sygnału albo inną rzecz, którą załatwia się jednym bloczkiem... ;)
Może faktycznie napiszesz nam jaki jest cel końcowy tego wszystkiego? Znając życie, to po piątej modyfikacji programu okaże się, że chcesz zmierzyć np częstotliwość sygnału albo inną rzecz, którą załatwia się jednym bloczkiem... ;)
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Re: Zliczenie ilości pulsów, ale inaczej
Muszę zmierzyć prędkość z wykorzystaniem metody M i T oraz kombinowanej M/T. Pierwsze co napisaliście de facto dla mnie (chciałem napisać, że pomogliście, ale byłoby to nadużycie:P) to pomiar prędkości wg metody M, a drugie wg T. Gdzie częstotliwość próbkowania jest jednocześnie generatorem wzorcowym dla mnie. Z trzecią metodą poradziłem sobie sam, ale tylko dzięki wam:) W każdym razie dzięki wielki, pochwały już rozdałem. Jak nadal nie będę dawał rady, to jeszcze się odezwę i zapytam.
Metoda M/T robi tak: Ma zadany czas pomiaru podczas którego zlicza impulsy [true] (u mnie generatorem czasu są kolejne spróbkowane elementy, czyli podaje ile próbek ma brać pod uwagę podczas zliczania). Potem po ostatnim impulsie mierzy ile jeszcze czasu jest od ostatniego impulsu do końca czasu pomiarowego. Obie wielkości wykorzystuje przy liczeniu prędkości obrotowej (czyli ilość zliczonych impulsów [true] i czas nazwijmy go dodatkowy).
Tym sposobem nawet, jak czas pomiaru skończy się między dwoma impulsami [true] to i tak całość pomiaru jest brana pod uwagę i maleje błąd.
Pozdrawiam
Metoda M/T robi tak: Ma zadany czas pomiaru podczas którego zlicza impulsy [true] (u mnie generatorem czasu są kolejne spróbkowane elementy, czyli podaje ile próbek ma brać pod uwagę podczas zliczania). Potem po ostatnim impulsie mierzy ile jeszcze czasu jest od ostatniego impulsu do końca czasu pomiarowego. Obie wielkości wykorzystuje przy liczeniu prędkości obrotowej (czyli ilość zliczonych impulsów [true] i czas nazwijmy go dodatkowy).
Tym sposobem nawet, jak czas pomiaru skończy się między dwoma impulsami [true] to i tak całość pomiaru jest brana pod uwagę i maleje błąd.
Pozdrawiam
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>
- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Zliczenie ilości pulsów, ale inaczej
A korzystasz z jakiejś karty firmy NI? Czy sam sobie generujesz te impulsy?
Re: Zliczenie ilości pulsów, ale inaczej
Właśnie większość problemów wynikła z tego, że używam innej karty. Karta to LabJack U3-HV. W sumie jest kiepska, ale kosztuje 113$... Więc jak za te pieniądze to rewelka, że można zrobić cowolwiek.
Żyj tak, aby Twoim znajomym zrobiło się nudno jak umrzesz <J.Tuwim>