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

Podobne dokumenty