wersja mobilna
Online: 875 Czwartek, 2016.12.08

Technika

Współpraca oprogramowania NI LabVIEW z AWR Visual System Simulator

piątek, 18 października 2013 12:34

Środowisko projektowe AWRDE (AWR Design Environment) jest zestawem narzędzi przeznaczonych do projektowania urządzeń elektronicznych pracujących w zakresie wysokich częstotliwości. Zostało ono stworzone z myślą o zwiększeniu wydajności pracy inżynierów tworzących układy mikrofalowe.

Środowisko AWR zawiera programy Microwave Office do tworzenia schematów oraz projektowania płytek drukowanych, AXIEM do wykonywania symulacji elektromagnetycznych, APLAC do symulacji stanów przejściowych w domenie czasu i Visual System Simulator do obliczania bilansu łączy oraz projektowania systemów w.cz.

Poniższy artykuł skupia się głównie na programie Visual System Simulator (VSS) oraz jego współpracy z LabVIEW. VSS jest narzędziem umożliwiającym symulację kompletnych systemów komunikacyjnych i mikrofalowych - począwszy od radarów, po technologię LTE. Rozpoczynając od wersji AWR 2011, VSS może wykorzystywać możliwości kodu napisanego w LabVIEW. Ta funkcjonalność nie tylko poszerza możliwości przetwarzania sygnałów w VSS, lecz także umożliwia połączenie z fizycznym sprzętem.

Wykorzystywanie elementów LabVIEW w VSS

Rys. 1. LabVIEW VI skonfigurowany do użycia w środowisku VSS

Współpraca wewnątrz środowiska AWR jest możliwa dzięki zaimportowaniu elementów LabVIEW do diagramów VSS. Zostało to uzyskane dzięki technologii VI server, która umożliwia wykonywanie kodu LabVIEW zdalnie zarówno w środowisku uruchomieniowym (runtime engine), jak i deweloperskim. Poniżej przedstawimy tworzenie oraz konfigurację kodu LabVIEW do wykonania przez VSS.

Stworzenie i konfiguracja funkcji VI w LabVIEW

Aby wyjaśnić, w jaki sposób odbywa się komunikacja między VSS oraz LabVIEW najłatwiej jest rozpocząć od prostego przykładu, który wykonuje operację na tablicy liczb zespolonych typu double (często są one wykorzystywane jako reprezentacja próbek IQ). Rys. 1 przedstawia panel przedni i schemat blokowy VI w LabVIEW. Trzeba zwrócić uwagę na fakt, że zarówno wskaźnik, jak i kontrolka zostały skonfigurowane w ikonie konektora na panelu przednim.

Konfiguracja wejść i wyjść w konektorze jest kluczowym krokiem w przygotowaniu kodu LabVIEW do uruchomienia z poziomu VSS, gdyż ta właśnie czynność definiuje, które parametry będą widoczne. Każda z tych kontrolek i wskaźników stworzy połączenie portów w LabVIEW z elementami diagramu VSS. W analogiczny sposób przygotowuje się funkcję subVI w LabVIEW.

Konfiguracja elementów LabVIEW w VSS

Rys. 2. Panel konfiguracji jest wykorzystywany do połączenia wskaźników oraz kontrolek środowiska LabVIEW z odpowiednimi portami w środowisku VSS

Gdy VI jest gotowy, kolejnym krokiem jest umieszczenie go na diagramie VSS. W ustawieniu domyślnym element LabVIEW nie ma żadnych połączeń - te należy dodać w trakcie konfiguracji. Aby tego dokonać, należy kliknąć dwukrotnie na węźle LabVIEW. Otworzy się panel konfiguracji (rys. 2). Następnie należy wyszukać i wprowadzić ścieżkę prowadzącą do pliku o rozszerzeniu .vi, który został przygotowany w poprzednim kroku.

Następnie można przystąpić do konfiguracji zarówno wejść, jak i wyjść wybierając przycisk "add" w odpowiedniej kategorii. Jeśli VI został odpowiedni o przygotowany, VSS będzie w stanie odnaleźć dostępne połączenia. Na rysunku 2 można dostrzec, że wybrany plik ma kilka skonfigurowanych wskaźników oraz kontrolek na konektorze. Każdy element jest przypisany do wejściowego bądź wyjściowego portu VSS. Pojedynczy element LabVIEW może mieć wiele wejść oraz wyjść.

Budowa diagramu VSS

Mając poprawnie skonfigurowany blok LabVIEW, każdy port dostępny w VSS może być połączony do innego elementu w środowisku VSS. Podczas przesyłania danych pomiędzy LabVIEW i VSS ich poprawnym typem jest tablica zawierająca liczby zespolone w postaci double (bądź struktura zawierająca tablicę zespolonych liczb double). Ten typ danych można prosto przypisać pozostałym elementom VSS (rys. 3). Widać, że kod LabVIEW może być zaimportowany bezpośrednio do diagramu VSS, dzięki czemu będzie wykonywany w powiązaniu z pozostałymi elementami tego środowiska.

Uruchomienie diagramu VSS

Rys. 3. Współpraca jest możliwa dzięki umieszczeniu elementu LabVIEW na diagramie VSS

Wykonanie kodu LabVIEW wewnątrz diagramu VSS odbywa się podczas symulacji. Zgodnie z założeniem przepływu danych w VSS, próbki są przekazywane kolejno do i z każdego elementu LabVIEW za pomocą skonfigurowanych kontrolek oraz wskaźników. Kod LabVIEW w środowisku AWR może być wykonywany w środowisku deweloperskim bądź uruchomieniowym - w zależności od wyboru użytkownika. Jeśli wybrana jest pierwsza opcja, zarówno schemat blokowy, jak i panel przedni oraz wszelkie narzędzia debuggowania są w pełni dostępne podczas wykonywania kodu.

LabVIEW i testy HIL

Rys. 4. Symulacja HIL wymaga sterowania urządzeniami w.cz., takimi jak generatory czy analizatory sygnałów wielkich częstotliwości

Jedną z zalet współpracy LabVIEW ze środowiskiem AWR jest możliwość włączenia rzeczywistych danych do symulacji. Opcja ta szczególnie przydaje się podczas symulacji typu HIL (Hardware-in-the-Loop). W takim przypadku, fizyczny sprzęt może być podłączony do środowiska V SS za pomocą odpowiedniego interfejsu tworząc jeden z elementów symulacji.

Na rysunku 4 przykładowy VI został zaprojektowany w sposób umożliwiający połączenie ze sprzętem. Jak widać, wymiana danych między urządzeniami oraz VSS odbywa się za pośrednictwem LabVIEW. Element LabVIEW przekazuje tablicę próbek IQ do generatora w.cz. oraz pobiera tablicę z próbkami IQ z analizatora w.cz. W ten sposób dowolny komponent może zostać włączony do symulacji.

Jedną z zalet symulacji HIL jest kombinacja fizycznych oraz symulowanych (zamodelowanych) komponentów, umożliwiająca symulację skomplikowanych urządzeń, jak np. odbiornik w.cz., bądź pełen system komunikacyjny. Jest to cenna funkcjonalność w przypadku, gdy któryś z komponentów jest szczególnie trudny do zamodelowania bądź jeśli praca systemu zależy w dużej mierze od warunków otoczenia. Poddanie elementu odpowiednim warunkom środowiskowym jest wówczas relatywnie proste w wykonaniu.

Wykorzystanie LabVIEW do przetwarzania sygnałów w środowisku AWR

Współpraca LabVIEW i VSS oferuje ogromne możliwości w zakresie przetwarzania danych. LabVIEW udostępnia wiele algorytmów, jak np.:

  • transformaty, włączając FFT, IFFT, Hilberta, Laplace’a itp.
  • operacje matematyczne jak różniczkowanie, całkowanie, dopasowanie krzywej czy operacje na macierzach,
  • operacj e na sygnałach, łącznie z decymacją, interpolacją czy korelacją wzajemną,
  • funkcje filtrujące, takie jak: FIR, IIR, Bessela, Czebyszewa oraz definiowane przez użytkownika,
  • modulację i demodulację AM, FM, PM, MSK, PSK, QAM i inne,
  • tworzenie i analiza standardów bezprzewodowych jak 802.11a/b/g/n/ac, Bluetooth, GSM/EDGE, WCDMA/HSPA/HSPA+, LTE oraz WiMAX.

Rys. 5. Modulacja oraz demodulacja w LabVIEW wykorzystana w środowisku VSS

Środowisko VSS ma natywny zestaw bibliotek służących do przetwarzania sygnałów, jednak integracja z LabVIEW umożliwia w prosty sposób dostosowanie algorytmów do własnych potrzeb lub wykorzystanie wcześniejszych funkcji. Co więcej, wykorzystując funkcje LabVIEW przeznaczone do pomiarów standardów bezprzewodowych takich jak 802,11ac czy LTE z łatwością można skorelować otrzymane wyniki symulacyjne ze zmierzonymi.

Zazwyczaj przesyłanie wyników realnych pomiarów pomiędzy środowiskiem symulacyjnym oraz fizycznym sprzętem okazuje się trudnym zadaniem, szczególnie w przypadku bardziej skomplikowanych warstw fizycznych standardu komunikacyjnego, jakie można zaobserwować np. w WCDMA, LTE czy 802,11ac, gdzie nawet najmniejsza zmiana w algorytmie pomiarów może powodować otrzymanie różnych wyników. W związku z powyższym, wygodnym jest stosowanie tego samego algorytmu zarówno w symulacji, jak i w testach prototypu.

Dla przykładu, weźmy pod uwagę proces projektowania oraz testowania wzmacniacza mocy wykorzystywanego w LTE. Mierzone wartości obejmują tradycyjne parametry opisujące wzmacniacz mocy, jak poziom kompresji 1 dB czy punkt IP3. Analizując jednak urządzenie przeznaczone ściśle do pracy z LTE, należy zwrócić uwagę na istotne dla tego standardu wartości, takie jak pomiar mocy w kanale podstawowym i kanałach sąsiednich (ACP) czy wielkość wektora błędu (EVM).

W tym przypadku możliwości LabVIEW do generacji oraz analizy takiego sygnału mogą być w prosty sposób wykorzystane do testów "wirtualnych" DUT (Device Under Test) poprzez interfejs VSS. Na rysunku 5 przedstawiono dwa niezależne VI stworzone w LabVIEW i skonfigurowane jako źródło oraz odbiornik, wykorzystane podczas weryfikacji projektu wzmacniacza mocy.

Element, znajdujący się po lewej stronie rysunku 5, wywołuje subVI, stworzony w LabVIEW, w celu wytworzenia sygnału w standardzie LTE. Jest on następnie przekazywany do bloku wzmacniacza, który został zasymulowany z wykorzystaniem modelu stworzonego w AWR Microwave Office. Jako wynik operacji modelu wzmacniacza, sygnał IQ jest wzmocniony oraz zniekształcony odpowiednio do jego charakterystyki.

Następnie dociera do położonego po prawej stronie bloku LabVIEW, który to z kolei wywołuje podfunkcje demodulujące oraz mierzące parametry odczytanego sygnału LTE. Jako, że zarówno w fazie symulacji, jak i testów prawdziwego urządzenia, algorytmy stworzone w LabVIEW pozostają te same, otrzymane wyniki są miarodajne, co pozwala na ich porównanie.

LabVIEW oraz platforma PXI w projektowaniu złożonych systemów

Ostatnim omawianym typem aplikacji, które można zweryfikować za pomocą LabVIEW oraz VSS, jest projektowanie zaawansowanych, wbudowanych systemów w.cz. Bardzo często takie systemy są projektowane i symulowane z wykorzystaniem narzędzi oferowanych przez AWR, po czym budowane są prototypy przy użyciu gotowych, dostępnych od ręki technologii (COTS). W powyższym przypadku generator oraz analizator sygnałów w.cz. zostaną wykorzystane do stworzenia aplikacji po twierdzającej podstawowe założenia projektu (tzw. proof-of-concept). Urządzenia te posłużą tym razem jako prototyp systemu, a nie narzędzia pomiarowe.

Przykładem będzie tutaj projekt oraz wykonanie prototypu systemu radarowego. W jego skład wchodzi nadajnik w.cz. oraz jednostka przetwarzająca otrzymane pasmo. W części nadawczej, system umożliwia generację szeregu impulsów radarowych oraz nadawanie ich w paśmie L oraz X. Po stronie odbiornika procesor pasma jest w stanie określić odległość obiektu, jego prędkość oraz kierunek w oparciu o zaawansowane algorytmy przetwarzania sygnałów.

W tak skomplikowanym projekcie jak system radarowy, zarówno urządzenia wejściowe, anteny, kanały bezprzewodowe, jak i obiekty docelowe mogą być zasymulowane w środowisku programistycznym, jak np. AWR Visual System Simulator. Jest to o tyle wygodne rozwiązanie, że projekt może być szybko i łatwo przetestowany a w razie potrzeb zmodyfikowany bez kosztownych zmian w sprzęcie.

W miarę rozwoju technologii, inżynierowie coraz lepiej są w stanie poradzić sobie z szumem oraz odbiciami sygnału, lecz algorytmy demodulacji stają się coraz bardziej skomplikowane. Dodatkowe wyzwanie stanowi fakt, że są one zazwyczaj projektowane w arytmetyce stałoprzecinkowej ze względu na wykorzystywanie do obróbki sygnałów układów FPGA.

Jedną z zalet wykorzystania środowiska AWR jest prostota integracji modułu LabVIEW FPGA oraz kodu VHDL z projektem systemu radarowego w VSS. W takim rozwiązaniu część sprzętowa jest zamodelowana w środowisku VSS, natomiast układ odpowiedzialny za przetworzenie pasma danych jest zaprojektowany w LabVIEW.

Tworzenie algorytmów w arytmetyce stałoprzecinkowej odbywa się albo za pomocą LabVIEW FPGA albo VHDL, po czym są one implementowane w realnym urządzeniu, jak np. FlexRIO, dzięki czemu możliwa jest weryfikacja projektu w środowisku zasymulowanym przez VSS. Zalety opisanego rozwiązania są podwójne. Nie tylko zapewnia ono łatwą metodę prototypowania systemu radarowego przy użyciu platformy PXI oraz narzędzi w.cz., lecz także pozwala na pominięcie fazy projektowania algorytmów w arytmetyce zmiennoprzecinkowej, dzięki czemu późniejsze przejście do fazy stałoprzecinkowej jest zbędne.

Podsumowanie

Współpraca LabVIEW oraz środowiska AWR umożliwia tworzenie szerokiego zakresu aplikacji, łącznie z systemami HIL, korelacją między symulacją a realnym testem oraz projektowanie zaawansowanych systemów w.cz. Więcej informacji na temat środowiska AWR oraz oprogramowania VSS znajduje się na stronie www.awrcorp.com. Szczegóły dotyczące platformy NI PXI oraz narzędzi w.cz. można odnaleźć na stronie www.ni.com/rf.

National Instruments Poland
poland.ni.com