Projektowanie i uruchamianie prostego systemu pomiarowego z
Transkrypt
Projektowanie i uruchamianie prostego systemu pomiarowego z
POLITECHNIKA WARSZAWSKA INSTYTUT SYSTEMÓW ELEKTRONICZNYCH LABORATORIUM SYSTEMÓW POMIAROWYCH INSTRUKCJA DO ĆWICZENIA NR 5 SYMULACJA SYSTEMU POMIAROWEGO W ŚRODOWISKU JĘZYKA GRAFICZNEGO VEE Do użytku wewnętrznego opracował dr Jerzy Jędrachowicz adiunkt PW, ul. Nowowiejska 15/19, 00-665 Warszawa e-mail: [email protected] Warszawa, kwiecień 2004 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie przydatności graficznego języka VEE1 [4] w projektowaniu cyfrowego analizatora widma (AW) sygnałów kwazistacjonarnych. Przyjmuje się przy tym założenie, że AW powinien pracować w czasie na bieżąco a bank analizujących widmo filtrów pasmowych będzie emulowany za pomocą algorytmu FFT. Stąd głównym celem metrologicznym ćwiczenia jest pokazanie, jak w rzeczywistych warunkach pomiarowych zachowuje się estymata widma sygnału sinusoidalnego [5]. Język graficzny VEE wspomaga pracę projektanta na wszystkich istotnych etapach budowy systemu pomiarowo-kontrolnego (SPK): poczynając od wyboru sprzętu, jego oprogramowania, obróbki uzyskanych danych, a na prezentacji i archiwizacji wyników kończąc [3]. Stąd pomocniczym, ale bardzo istotnym celem ćwiczenia jest poznanie konstrukcji środowiska języka graficznego VEE, w szczególności pod kątem zasad korzystania z jego zasobów [1], przynajmniej w zakresie procesu projektowania wspomnianego AW. 2. Opis ćwiczenia Zastosowanie obiektów graficznych (bloków) w projektowaniu SPK zostało wymuszone przez stopień złożoności współczesnych zadań metrologicznych, wymagających niejednokrotnie zaawansowanego cyfrowego przetwarzania sygnałów. Typowe, programowe środowisko języka graficznego wykorzystuje gotowe bloki do projektowania SPK na wszystkich etapach jego powstawania. Architektura SPK staje się przez to bardziej czytelna i zrozumiała, nawet dla osób nie znających szczegółów konstrukcyjnych poszczególnych obiektów. Nie jest ważne jak dany blok jest dokładnie zbudowany ale ważne jest, co otrzymuje się na wyjściu przy zadanym wejściu. Podejście blokowe znacząco skraca czas projektowania i uruchomienia SPK, ale może też prowadzić do zaskakujących wyników, jeżeli stosuje się bloki bez rozumienia ich funkcji (np. FFT). Środowisko VEE oferuje szereg bloków i innych pomocniczych narzędzi programowych umożliwiających akwizycję danych, ich obróbkę, a na wizualizacji i archiwizacji kończąc. Do najważniejszych z nich należą: 1. programowe sterowniki2 rzeczywistych przyrządów pomiarowych (PP) oraz sterowniki zastosowanych interfejsów (np. HP-IB, Fire-Wire, USB) do komunikacji z PP, 2. bloki arytmetyczne, funktory logiczne, bloki funkcji matematycznych, oraz bloki sterujące wykonaniem programu (instrukcje warunkowe, pętle, przełączniki), 3. bloki wizualizacji danych, bloki zapisu i odczytu danych z plików. Podobnie jak większość współczesnych języków graficznych wspomagających projektowanie, również VEE posiada możliwości symulacji i uruchamiania (debugowania) SPK. Z narzędzi symulacyjnych najistotniejsze dla konstruktora są symulatory pracy rzeczywistych przyrządów. Pozwalają bowiem budować i weryfikować konstrukcję SPK bez pełnego zabezpieczenia sprzętowego. Sprawdzenie na drodze symulacji większości funkcji konkretnego PP ułatwia późniejszą budowę SPK współpracującego z fizycznie istniejącym PP, na przykład generatorem funkcyjnym. 1 2 Visual Engineering Environment Nazywane też drajwerami przyrządów pomiarowych 1 Do najważniejszych mechanizmów służących uruchamianiu SPK należą: — — — — — możliwość pracy krokowej, śledzenie przepływu danych i wykonania programu, możliwość wprowadzenia pułapek i przerwań, podgląd danych na bieżąco lub na żądanie, możliwość monitorowania stanu interfejsów komunikacyjnych. SYSTEM POMIAROW0-KONTROLNY Sterownik SPK Zrodlo pobudzenia Przyrzad pomiarowy BADANY OBIEKT Rysunek 1. Model prostego SPK. Na rysunku 1 pokazany został schemat blokowy prostego SPK. W pierwszym przybliżeniu można uznać, że składa się on, obok sterownika i obiektu badanego, ze źródła sygnału pobudzającego obiekt i przyrządu pomiarowego zbierającego próbki sygnału na wyjściu obiektu. Jak zostało wcześniej powiedziane, środowisko VEE umożliwia symulację różnych urządzeń, co jest szczególnie przydatne w sytuacji, gdy chwilowo ich fizycznie nie posiadamy. Zauważmy, że możemy również zasymulować obiekt badany, jeżeli tylko jesteśmy w stanie opisać go za pomocą matematycznego modelu. Pozwala to etapowo uruchamiać SPK od symulacji poczynając, poprzez stopniowe włączanie rzeczywistych urządzeń, a na finalnej konstrukcji SPK kończąc. 3. Zadania do wykonania Zadanie pierwsze ma na celu poznanie podstawowych bloków środowiska VEE i zasad ich wykorzystania na przykładzie budowy SPK do badania modelu generatora funkcyjnego. W drugim zadaniu zostanie zbudowany symulator do badań AW pracującego w czasie na bieżąco. Trzecie zadanie stanowi wprowadzenie do zagadnień realizowanych w ćwiczeniu nr. 8, które poświęcone będzie wykorzystaniu środowiska VEE do konstrukcji rzeczywistego AW pracującego w czasie na bieżąco. 3.1. Podstawowe bloki funkcjonalne środowiska VEE i zasady ich wykorzystania Celem tego zadania jest poznanie zasad: - korzystania z dostępnych w VEE bloków, programowania bloków, łączenia bloków, przepływu danych między blokami, sterowania wykonaniem programu. Realizacja zadania polega na napisaniu prostego programu do badania modelu generatora funkcyjnego. Blok generatora funkcyjnego dostępny jest w menu Device ⇒ Virtual Source ⇒ Function Generator (rysunek 2A). W modelu generatora należy wprowadzić terminale wejściowe umożliwiające regulację dwóch jego podstawowych parametrów: częstotliwości i amplitudy. Do regulacji tych parametrów należy wykorzystać dwa bloki regulatorów dostępne w menu Data ⇒ Continuous ⇒ Real64 Slider, z których jeden jest pokazany na rysunku 2C. 2 Do obserwacji przebiegu na wyjściu generatora funkcyjnego należy wykorzystać blok wizualizacji znajdujący się w menu Display ⇒ XY Trace (rysunek 2B). Natomiast do wyznaczenia i wizualizacji widma amplitudowego sygnału należy wykorzystać blok z menu Display ⇒ Spectrum ⇒ Magnitude Spectrum (rysunek 2D). Następnie należy wykonać połączenia między użytymi blokami tak, aby powstał działający program. Wykorzystując opcje Properties każdego z użytych bloków proponuje się nadać im, adekwatne do pełnionej funkcji, nazwy w języku polskim, np. widmo amplitudowe. W celu śledzenia przepływu danych i/lub sygnałów sterujących należy uaktywnić opcję w menu Debug ⇒ Show Data Flow przez jej zaznaczenie. Ponadto jednemu z regulatorów (częstotliwości lub amplitudy) należy przypisać status Auto Execute (w opcji Properties). W trakcie symulacji należy wykonać eksperymenty pozwalające udzielić odpowiedzi na następujące pytania: 1. Jaka jest zasada przepływu sygnałów sterujących i danych między blokami? 2. Jaki jest efekt ustawienia statusu Auto Execute określonego bloku? 3. Jaki wpływ na parametry generowanego sygnału i kształt jego widma amplitudowego mają dwa parametry generatora: Time Span i Num Points? 4. Jak należy interpretować widmo amplitudowe wyświetlane za pomocą wyświetlacza Magnitude Spectrum? Main A B Function Generator Function Amplitude Sine Y name Frequency 300 Amplitude 0.88 Frequency DcOffset Phase Phase XY Trace 0 Deg Func 0 Time Span 20m Num Points 256 C Trace1 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 4m 8m 12m 16m 20m X name D Magnitude Spectrum Real64 Slider 0 120 Mag 1 100 80 60 0.8 40 20 0.6 Trace1 0.4 0 0 2000 4000 6000 7000 Freq 0.2 x: 3515 y: 60 0 Rysunek 2. Bloki funkcjonalne potrzebne w zadaniu 3.1. 3.2. Symulacja prostego SPK Zadanie polega na zaprojektowaniu SPK z AW pracującym w czasie na bieżąco. Do rozwiązania zadania należy wykorzystać bloki z zadania 3.1, potrzebne do generacji sygnału pobudzającego. Przedmiotem projektu jest przede wszystkim AW (nie można używać gotowego bloku Magnitude Spectrum). 3 Do wyświetlania widma należy tu wykorzystać standardowy wyświetlacz XY Trace (rysunek 2B), wprowadzając odpowiedni opis osi X i Y oraz jednostki. Ponadto w celu zapewnienia zgodności poziomu wyświetlanego widma z poziomem pokazywanym przez fabryczne AW należy analizowane widmo przeskalować. Jednostką poziomu widma w fabrycznych analizatorach widma jest dBV (decybel względem 1V; 0dB = 1V) lub dBm (decybel względem 1mV). Operację skalowania można wykonać za pomocą bloku Device ⇒ Formula (patrz rysunek 3C - blok Skalowanie). Obliczenie widma amplitudowego można wykonać za pomocą dostępnych bloków funkcji matematycznych. Są to po pierwsze: blok FFT (rysunek 3A) dostępny w menu Device ⇒ Function & Object Browser ⇒ Category ⇒ Signal Processing ⇒ fft(x), oraz blok wyznaczania z widma wartości amplitud poszczególnych jego składowych (rysunek 3B), dostępny w menu Device ⇒ Function & Object Browser ⇒ Category ⇒ Complex Part ⇒ mag(x). Wykorzystując opisane powyżej bloki zbudować symulator systemu do badań AW pracującego w czasie na bieżąco. W czasie łączenia bloków należy zwrócić uwagę na doprowadzenie odpowiednich danych do wejść A i B bloku Skalowanie. Widmem amplitudowym przebiegu sinusoidalnego powinien być prążek. AW kreuje znacznie bogatsze widmo, więcej, za każMain dym razem istotnie inne. Wytłumaczeniem tego zjawiska jest fft(x) A fakt, że algorytm FFT ma „wbudowany” mechanizm okresowego x fft(x) Result przedłużania fragmentu analizowanego sygnału [5]. W zależności od fazy rozpoczęcia próbkowania zmienia się kształt okresowo mag(x) B przedłużonego sygnału a zatem i jego widmo. Zrozumienie tego x mag(x) Result zjawiska powinny ułatwić wnioski wynikające z odpowiedzi na pytania 3 i 4 z poprzedniego zadania. Symulacja AW pracującego Skalowanie C w czasie na bieżąco jest subtelnym zadaniem. W rzeczywistych A 20*log10(A/B) Result B warunkach pomiarowych AW pobiera okresowo do analizy określoną liczbę próbek sygnału. Szerokość okna analizy rzadko bywa przy tym zsynchronizowana z okresem analizowanego przebiegu. Rysunek 3. Dodatkowe Stąd spełnienie warunków koherentnego próbkowania ma zerobloki potrzebne w zadaniu we prawdopodobieństwo. W wyniku otrzymujemy przedłużenie 3.2. okresowe sygnału, którego kształt zależy od chwili rozpoczęcia próbkowania1 . Przypomnijmy, że pomiar jest koherentny, jeżeli okno czasowe algorytmu FFT obejmuje całkowitą liczbę okresów analizowanego sygnału. W warunkach koherentnego próbkowania przedłużenie okresowe pozostaje niezniekształconym przebiegiem sinusoidalnym a jego widmem amplitudowym jest prążek. Natomiast brak koherentności próbkowania powoduje, że obserwowane w rzeczywistych warunkach widmo jest rozmyte, zawiera składową stałą i wyższe harmoniczne. Eksperyment symulacyjny ma pokazać, jak zmienia się kształt obserwowanego widma amplitudowego w funkRysunek 4. Bloki funkcji momentu rozpoczęcia pobierania próbek w warunkach braku cjonalne do płynnej rekoherencji. Symulacyjnie możemy takie warunki zamodelować pogulacji fazy początkowej przez analizę rekordu próbek sygnału o zmiennej chwili rozpoczęcia przebiegu. próbkowania (fazie początkowej) przy stałej szerokości okna czasowego analizy. W tym celu należy w modelu generatora wprowadzić Delay For Range 1 From 0 Thru 360 Step 5 Zauważmy, że w tw. o próbkowaniu chwila rozpoczęcia próbkowania nie jest istotna. 4 1 Gate terminal wejściowy Phase do regulacji fazy początkowej generowanego przebiegu. Płynną regulację fazy początkowej można osiągnąć wykorzystując bloki przedstawione na rysunku 4. Wyjście bloku Gate należy dołączyć do terminala Phase generatora. Zagadnienia metrologiczne zalecane do realizacji w zadaniu: 1. Dobrać parametry generowanego sygnału (okno czasowe i częstotliwość) tak, żeby zapewnić koherentność pomiaru. Jak w tych warunkach wygląda widmo amplitudowe sygnału i jaki jest wpływ chwili rozpoczęcia próbkowania sygnału na kształt jego widma? 2. Następnie należy tak dobrać parametry generowanego sygnału, aby nie był spełniony warunek koherentności pomiaru. Jak w tych warunkach wygląda widmo amplitudowe sygnału i jaki jest wpływ chwili rozpoczęcia próbkowania sygnału na kształt jego widma? 3. Zastosować okno kształtujące sygnał przed analizą FFT. W środowisku VEE dostępnych jest 5 różnych okien: Barleta, Blackmana, Hamminga, Hanninga i okno prostokątne (dostępne w menu Device ⇒ Function & Object Browser ⇒ Category ⇒ Signal Processing). Zbadać, jak poszczególne okna poprawiają kształt widma amplitudowego w warunkach braku koherencji pomiaru. Dlaczego zastosowanie okna przed analizą FFT stabilizuje widmo sygnału, a jego kształt bliższy jest referencyjnemu wynikowi, jakim powinien być pojedyńczy prążek? 3.3. Symulacja działania SPK z wykorzystaniem modelu badanego obiektu Celem tego zadania jest wprowadzenienie do zagadnień związanych z wykorzystaniem środowiska VEE do pracy z fizycznymi przyrządami (patrz ćwiczenie 8). W szczególności istotne są problemy związane z formatem danych programujących oraz odczytem wyników zbieranych przez przyrząd pomiarowy. Z punktu widzenia metrologicznego jest to kontynuacja poprzedniego zadania i związku z tym należy tu wykorzystać uzyskane już rezultaty. Dodatkowym, bardzo istotnym elementem w tym zadaniu jest dołączenie do SPK obiektu badanego. Proponuje się zastosować jako obiekt badany przetwornik analogowo-cyfrowy (PAC), który jest podstawowym elementem konstrukcyjnym cyfrowych oscyloskopów i analizatorów widma. Najprostszym matematycznym modelem PAC jest funkcja round(x). W bibliotece funkcji VEE jest ona dostępna w menu Device ⇒ Function & Object Browser ⇒ Category ⇒ Real Part ⇒ round(x) (rysunek 5A). Main B C To File A To File: round(x) x round(x) From File probki.txt Clear File At PreRun & Open Result a probki.txt From File: READ TEXT x REAL32 ARRAY:256 WRITE TEXT a REAL32 FIX:6 EOL X D Build Waveform Array Time Span 20m Waveform Rysunek 5. Bloki funkcjonalne do wykorzystania w zadaniu 3.3. Fragment symulatora wraz z potrzebnymi blokami wymaganymi do realizacji zadania przedstawiony jest na rysunku 5. Operacje zapis/odczyt danych do/z przyrządów w warunkach symulacyjnych zastąpione są przez operacje zapis/odczyt do/z pliku dyskowego. Zapis do pliku realizowany jest przez blok I/O ⇒ To ⇒ File (rysunek 5B), a odczyt z pliku przez blok 5 I/O ⇒ From ⇒ File (rysunek 5C). Wybór metody zapisu i odczytu danych oraz ich format jest w dyspozycji osoby wykonującej zadanie. Ostatnim blokiem wymaganym do realizacji zadania jest blok formatowania danych Build Waveform (rysunek 5D) dostępny w menu Data ⇒ Build Data. Blok ten formatuje przebieg czasowy na podstawie danych pochodzących z rekordu i szerokości okna czasowego analizy (parametr Time Span). W celu zbadania efektu działania obiektu badanego należy porównać przebieg i widmo amplitudowe na wejściu i wyjściu PAC. Można to osiągnąć w prosty sposób. Trzeba jedynie wprowadzić następny terminal wejściowy w blokach wyświetlania przebiegu i widma. Daje to takie same możliwości jak praca z oscyloskopem dwukanałowym. Poza badaniami efektów działania obiektu badanego należy zapoznać się z formatem zapisu danych na dysku. W tym celu należy z poziomu Windows otworzyć zapisany wcześniej plik danych. Zadaniem dodatkowym jest wybór odpowiedniego formatu danych w celu ograniczenie rozmiaru zapisywanego pliku. Należy w tym celu ustalić, jaki jest typ argumentu i wyniku działania funkcji round(x). Literatura [1] W. Winiecki, J. Nowak, S. Stanik, Graficzne zintegrowane środowiska programowe, Rozdz. 5, Mikom, Warszawa 2001. [2] W. Mielczarek, Urządzenia pomiarowe i systemy kompatybilne ze standardem SCPI, Rozdz. 10, Helion, Gliwice 1999. [3] R. Helsel, Graphical Programing - A Tutorial for HP VEE, Prentice Hall PTR, 1995. [4] Agilent VEE 6.0 Manuals in PDF Format - CD version. [5] A. Papoulis, Obwody i układy, Rozdz. 8, WKiŁ, Warszawa 1988. 6