POLITECHNIK WRSZWSK INSTYTUT SYSTEMÓW ELEKTRONICZNYCH LORTORIUM SYSTEMÓW POMIROWYCH INSTRUKCJ DO ĆWICZENI NR 5 SYMULCJ SYSTEMU POMIROWEGO W ŚRODOWISKU JĘZYK GRFICZNEGO VEE Do użytku wewnętrznego opracował dr Jerzy Jędrachowicz adiunkt PW, ul. Nowowiejska 5/9, -665 Warszawa e-mail: jyjz@ise.pw.edu.pl Warszawa, kwiecień 24
. Cel ćwiczenia CelemćwiczeniajestpokazanieprzydatnościgraficznegojęzykaVEE [4]wprojektowaniu cyfrowego analizatora widma(w) sygnałów kwazistacjonarnych. Przyjmuje się przy tym założenie, że W 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[], przynajmniej w zakresie procesu projektowania wspomnianego W. 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. rchitektura 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żą:. programowesterowniki 2 rzeczywistychprzyrządówpomiarowych(pp)orazsterownikizastosowanych interfejsów(np. HP-I, Fire-Wire, US) 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. VisualEngineeringEnvironment 2 Nazywaneteżdrajweramiprzyrządówpomiarowych
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 POMIROW-KONTROLNY Zrodlo pobudzenia Sterownik SPK DNY OIEKT Przyrzad pomiarowy Rysunek. Model prostego SPK. Na rysunku 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żelitylkojesteśmywstanieopisaćgozapomocą 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ń W 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 W pracującego w czasie na bieżąco. 3.. 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. lok generatora funkcyjnego dostępny jest w menu Device Virtual Source Function Generator(rysunek 2). 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 Real64Slider,zktórychjedenjestpokazanynarysunku2C. 2
Do obserwacji przebiegu na wyjściu generatora funkcyjnego należy wykorzystać blok wizualizacji znajdujący się w menu Display XY Trace(rysunek 2). 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 uto Execute(w opcji Properties). W trakcie symulacji należy wykonać eksperymenty pozwalające udzielić odpowiedzi na następujące pytania:. Jaka jest zasada przepływu sygnałów sterujących i danych między blokami? 2. Jaki jest efekt ustawienia statusu uto 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 Function Generator XY Trace mplitude Frequency Function Frequency mplitude DcOffset Phase Sine 3.88 Deg Func.8 Y name.6.4.2 -.2 -.4 -.6 Trace -.8 - Phase Time Span Num Points 2m 256 4m 8m 2m 6m 2m X name C D Real64 Slider Mag 2 8 Magnitude Spectrum.8 6 4.6 Trace 2.4 2 4 6 7.2 Freq x: 355 y: 6 Rysunek 2. loki funkcjonalne potrzebne w zadaniu 3.. 3.2. Symulacja prostego SPK Zadanie polega na zaprojektowaniu SPK z W pracującym w czasie na bieżąco. Do rozwiązania zadania należy wykorzystać bloki z zadania 3., potrzebne do generacji sygnału pobudzającego. Przedmiotem projektu jest przede wszystkim W(nie można używać gotowego bloku Magnitude Spectrum). 3
Do wyświetlania widma należy tu wykorzystać standardowy wyświetlacz XY Trace(rysunek 2), 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 W należy analizowane widmo przeskalować. Jednostką poziomu widma w fabrycznych analizatorach widmajestdv(decybelwzględemv;d=v)lubdm(decybelwzględemmv).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 3) dostępny w menu Device Function&Objectrowser Category SignalProcessing fft(x),oraz blok wyznaczania z widma wartości amplitud poszczególnych jego składowych(rysunek 3), dostępnywmenudevice Function&Objectrowser Category Complex Part mag(x). Wykorzystując opisane powyżej bloki zbudować symulator systemu do badań W pracującego w czasie na bieżąco. W czasie łączenia bloków należy zwrócić uwagę na doprowadzenie odpowiednich danych do wejść i bloku Skalowanie. Main C x x fft(x) mag(x) fft(x) mag(x) Skalowanie 2*log(/) Rysunek 3. Dodatkowe bloki potrzebne w zadaniu 3.2. Widmem amplitudowym przebiegu sinusoidalnego powinien być prążek. W kreuje znacznie bogatsze widmo, więcej, za każdym razem istotnie inne. Wytłumaczeniem tego zjawiska jest fakt, że algorytm FFT ma wbudowany mechanizm okresowego przedłużania fragmentu analizowanego sygnału[5]. W zależności od fazy rozpoczęcia próbkowania zmienia się kształt okresowo przedłużonego sygnału a zatem i jego widmo. Zrozumienie tego zjawiska powinny ułatwić wnioski wynikające z odpowiedzi na pytania 3 i 4 z poprzedniego zadania. Symulacja W pracującego w czasie na bieżąco jest subtelnym zadaniem. W rzeczywistych warunkach pomiarowych W pobiera okresowo do analizy określoną liczbę próbek sygnału. Szerokość okna analizy rzadko bywa przy tym zsynchronizowana z okresem analizowanego przebiegu. Stąd spełnienie warunków koherentnego próbkowania ma zerowe prawdopodobieństwo. W wyniku otrzymujemy przedłużenie okresowe sygnału, którego kształt zależy od chwili rozpoczęcia próbkowania. 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 funkcji momentu rozpoczęcia pobierania próbek w warunkach braku koherencji. Symulacyjnie możemy takie warunki zamodelować poprzez analizę rekordu próbek sygnału o zmiennej chwili rozpoczęcia próbkowania(fazie początkowej) przy stałej szerokości okna czasowego analizy. W tym celu należy w modelu generatora wprowadzić Zauważmy,żewtw.opróbkowaniuchwilarozpoczęciapróbkowanianiejestistotna. From Thru Step For Range 36 5 Delay Gate Rysunek 4. loki funkcjonalne do płynnej regulacji fazy początkowej przebiegu. 4
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:. 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: arleta, lackmana, Hamminga, Hanninga i okno prostokątne(dostępne w menu Device Function& Object rowser 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(pc), który jest podstawowym elementem konstrukcyjnym cyfrowych oscyloskopów i analizatorów widma. Najprostszym matematycznym modelem PC jest funkcja round(x). W bibliotece funkcji VEE jest ona dostępna wmenudevice Function&Objectrowser Category RealPart round(x) (rysunek 5). Main C x round(x) round(x) a To File To File: probki.txt Clear File t PreRun & Open WRITE TEXT a REL32 FIX:6 EOL From File From File: probki.txt RED TEXT x REL32 RRY:256 X D uild Waveform rray Time Span 2m Waveform Rysunek 5. loki 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 realizowanyjestprzezbloki/o To File(rysunek5),aodczytzplikuprzezblok 5
I/O From File(rysunek5C).Wybórmetodyzapisuiodczytudanychorazichformat jest w dyspozycji osoby wykonującej zadanie. Ostatnim blokiem wymaganym do realizacji zadania jest blok formatowania danych uild Waveform(rysunek 5D) dostępny w menu Data uild Data. lok 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 PC. 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 [] W. Winiecki, J. Nowak, S. Stanik, Graficzne zintegrowane środowiska programowe, Rozdz. 5, Mikom, Warszawa 2. [2] W. Mielczarek, Urządzenia pomiarowe i systemy kompatybilne ze standardem SCPI, Rozdz., Helion, Gliwice 999. [3] R. Helsel, Graphical Programing- Tutorial for HP VEE, Prentice Hall PTR, 995. [4] gilentvee6.manualsinpdfformat-cdversion. [5]. Papoulis, Obwody i układy, Rozdz. 8, WKiŁ, Warszawa 988. 6