projekt łącza komunikacyjnego - pomiar BER

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Abzi
Posty: 6
Rejestracja: 01 mar 2012 18:49
Wersja środowiska: LabVIEW 2011

projekt łącza komunikacyjnego - pomiar BER

Post autor: Abzi »

Witam serdecznie,
Moim celem jest stworzenie struktury, która pozwoli obliczyć współczynnik BER dla łącza komunikacyjnego, jednak mam problem ze zliczaniem błędów. Czy jest to wina tego, iż tablica nie jest 'czyszczona' a następne dane są sumowane? Jak sobie z tym poradzić? W załączniku program, z góry dziękuje za wskazówki .
Załączniki
BER.vi
(32.74 KiB) Pobrany 292 razy
Awatar użytkownika
n_dakota
Posty: 58
Rejestracja: 23 sty 2011 13:32
Wersja środowiska: LabVIEW 2018
Lokalizacja: Budapeszt

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: n_dakota »

Nie analizowałem samego algorytmu, wprowadziłem tylko kilka usprawnień jeśli chodzi o kod w LabVIEW.
Kilka uwag ode mnie:
-zamiast używać sekwencji, postaraj się budować programy oparte na zasadzie dataflow,
-zredukuj do minimum użycie zmiennych lokalnych,
-jeśli do pętli for podłączysz wejście indeksowane, bez określenia N, to wykona się ona tyle razy, jaki jest rozmiar tablicy wejściowej (jeśli jest ich więcej, to minimalną ilość razy).

Proszę zobacz czy Twój problem został rozwiązany. Jeśli nie, to będziemy myśleć dalej :-)
Załączniki
BER.vi
(17.78 KiB) Pobrany 250 razy
Ostatnio zmieniony 21 mar 2012 12:08 przez n_dakota, łącznie zmieniany 1 raz.
Abzi
Posty: 6
Rejestracja: 01 mar 2012 18:49
Wersja środowiska: LabVIEW 2011

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: Abzi »

Dzięki za wskazówki,

Jak zauważyłeś, wprowadziłem w bloku komparacji próg, ale zmiana jego wartości nie ma wpływu na zliczanie błędów :ymsick:.
MicMac89
Posty: 122
Rejestracja: 05 wrz 2011 20:40
Wersja środowiska: LabVIEW 2011

projekt łącza komunikacyjnego - pomiar BER

Post autor: MicMac89 »

Jak rozumiem program ma zliczać błędy, które są powyżej pewnego progu. Po mojemu działa to dobrze, no chyba, że nie do końca rozumiem o co chodzi.
Ostatnio zmieniony 21 mar 2012 21:01 przez MicMac89, łącznie zmieniany 2 razy.
Certified LabVIEW Associate Developer
Abzi
Posty: 6
Rejestracja: 01 mar 2012 18:49
Wersja środowiska: LabVIEW 2011

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: Abzi »

Program ma służyć do obliczenia BER metodą zliczeniową. Po stworzeniu generatora losowego , dodaje szum jednostkowy. Szum jednostkowy porównuje na progu, na którego wyjściu mam 0 bądź 1 w zależności od amplitudy sygnału zaszumionego. Innymi słowy, rozpoznaje w ten sposób 0 bądź 1 w sygnale zaszumionym przy ustaleniu odpowiedniego progu. Patrząc na wykres , jeżeli daje próg np 2.00 przy analizie sygnału zaszumionego, powinienem po porównaniu otrzymać dużo błędów (amplituda większości sampli sygnału jest niższa niż 2), a BER powinien iść do góry... niestety tak się nie dzieje. :-?
Załączniki
BEREK.vi
(21.43 KiB) Pobrany 306 razy
MicMac89
Posty: 122
Rejestracja: 05 wrz 2011 20:40
Wersja środowiska: LabVIEW 2011

projekt łącza komunikacyjnego - pomiar BER

Post autor: MicMac89 »

Przeanalizowałem Twój program i po mojemu działa on tak:
1. Generujesz losowy sygnał binarny
2. Nakładasz na niego szum jednostkowy
3. Następnie sprawdzasz, gdzie tak powstały sygnał przekracza ustalony próg
4. Po czym jako błąd przyjmujesz wystąpienia różnicy pomiędzy tym co wygenerowałeś w punkcie pierwszym a progowaniem z punktu 3.

Jeśli tak jest to warto mieć punkt odniesienia, np. ilość jedynek w sygnale generowanym w punkcie pierwszym. Z racji, że jest to sygnał losowy, to ciężko określić tendencję co do BER. Ewentualnie porównywać dla tych samych próbek a innych progów.
Certified LabVIEW Associate Developer
Awatar użytkownika
czab
Posty: 54
Rejestracja: 26 cze 2011 14:59
Wersja środowiska: LabVIEW 2011

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: czab »

Nie bardzo mam czas zagłębiać się w debagowanie Twojego rozwiązanie, jednak na szybko popełniłem programik który wydaje się odpowiadać przedstawionym przez Ciebie założeniom - przy niewielkim współczynniku szumu, BER jest równy 0. Kiedy damy większy szum (zrobiłem maksymalnie 2x poziom sygnału na suwaczku, BER gwałtownie rośnie).

Zobacz proszę czy o coś takiego chodziło :)
Załączniki
ber.vi
(16.92 KiB) Pobrany 306 razy
Obrazek
Abzi
Posty: 6
Rejestracja: 01 mar 2012 18:49
Wersja środowiska: LabVIEW 2011

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: Abzi »

głupie pytanie, ale jak ustawić by before i after było na jednym wykresie ? myślę również nad update'em projektu: chciałbym wprowadzić możliwość zmieniania fazy sygnału 'after' o powiedzmy wartość losową 1-5Hz
MicMac89
Posty: 122
Rejestracja: 05 wrz 2011 20:40
Wersja środowiska: LabVIEW 2011

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: MicMac89 »

Jeden ze sposobów to połączenie ze sobą dwóch tablic i wyświetlenie ich na jednym wykresie (Graph). Pozwoliłem sobie zmodyfikować zaproponowany przez kolegę czab program.
Załączniki
ber.vi
Propozycja rozwiązania
(20.21 KiB) Pobrany 289 razy
Certified LabVIEW Associate Developer
Abzi
Posty: 6
Rejestracja: 01 mar 2012 18:49
Wersja środowiska: LabVIEW 2011

Re: projekt łącza komunikacyjnego - pomiar BER

Post autor: Abzi »

po paru modyfikacjach program wygląda następująco - załącznik

chciałbym wprowadzić możliwość przełączania pomiędzy rodzajem szumu dodawanego do generowanego kodu binarnego (white noise etc.) jednak nie potrafię tego zrobić :P
Załączniki
Wersja programu do prezentacji.vi
(47.39 KiB) Pobrany 267 razy
MicMac89
Posty: 122
Rejestracja: 05 wrz 2011 20:40
Wersja środowiska: LabVIEW 2011

projekt łącza komunikacyjnego - pomiar BER

Post autor: MicMac89 »

Może po protu Case Structure i wybór za pomocą Enum? Do Twojego VI dołączam taką opcję, nie chciałem burzyć Twojego pomysłu, pomyśl nad jego optymalizacją w celu dalszej rozbudowy.
Załączniki
Wersja programu do prezentacji.vi
Zaproponowane rozwiązanie
(47.14 KiB) Pobrany 299 razy
Certified LabVIEW Associate Developer
ODPOWIEDZ