Podstawy programowania w środowisku LabVIEW,
projekt analizatora widma
Celem ćwiczenia jest doskonalenie umiejętności tworzenia typowych aplikacji w środowisku
LabVIEW na przykładzie projektu witrualnego analizatora widma. Analizator widma zostanie zbu-
dowany w oparciu o oscyloskop cyfrowy będący przedmiotem ćwiczenia nr 8, i będzie umożliwiał
równoczesną obserwację sygnału i jego widma częstotliwościowego.
Projektowany analizator powinien na bieżąco dokonywać analizy częstotliwościowej sygnału
obserwowanego na ekranie oscyloskopu cyfrowego. Spośród wielu instrumentów przeznaczonych do
analizy częstotliwościowej, dostępnych w bibliotekach programu LabVIEW w naszym analizatorze
zastosujemy instrument o nazwie Amplitude and Phase Spectrum (rys.1) dostępny w podgrupie
Frequency Domain podgrupy Signal Processing grupy Analyse. Grupa Analyse widoczna jest na pa-
nelu funkcji, jeżeli przy pomocy ikonki „Options” w oknie Functions ustawimy dla „Palette View”
opcję „default”.
Rys.1.Struktura instrumentu Amplitude and Phase Spectrum
Amplitude and Phase Spectrum jest instrumentem obliczający widmo amplitudowe i fazowe rzeczy-
wistego sygnału czasowego doprowadzonego do wejścia „Signal (V)”. Wartości skuteczne amplitud
składowych widma dostępne są na wyjściu „Amp Spectrum Mag (Vrms)” natomiast kąty fazowe
tych składowych obliczone w radianach dostępne są na wyjściu „Amp Spectrum Phase (radians)”.
Fazy mogą być obliczone w formie rozwiniętej jeśli wejście „unwrap phase (T)” jest ustawione jako
„True”- w przeciwnym wypadku są przedstawiane jako wartości z zakresu od -π do π. Do wejścia
„dt” należy wprowadzić podaną w sekundach wartość okresu próbkowania sygnału. Na wyjściu „df”
dostępna jest w hercach wartość rozdzielczości częstotliwościowej obliczonego widma.
Część praktyczna
1. Po uruchomieniu programu LabVIEW wybieramy „Open VI” i wczytujemy nasz wirtualny oscy-
loskop cyfrowy napisany na ćwiczeniu nr 8. Na wstępie dobrze jest zapisać wczytany program
pod nową nazwą np.: „Analizator.vi”.
2. Ponieważ analizator tak jak oscyloskop będzie pracował w sposób cykliczny, na początku musi-
my w panelu programu powiększyć wielkość pętli warunkowej „While do” tak aby można było
wewnątrz niej umieścić kilka dodatkowych elementów analizatora. Kolejny krok to umieszczenie
w programie instrumentu Amplitude and Phase Spectrum. Znajduje się on w podgrupie Frequen-
cy Domain podgrupy Signal Processing grupy Analyse. Grupa Analyse widoczna będzie na pane-
lu funkcji, jeżeli przy pomocy ikonki „Options” w oknie Functions wybierzemy dla „Palette
1
View” opcję „default”. Instrument Amplitude and Phase Spectrum umieszczamy na prawo od
pozostałych elementów na panelu programu. Następnie szpulką łączymy wejście „Signal (V)”
wstawionego elementu z wyjściem „Val” funkcji ScaleArr. Do wejścia „dt” natomiast musimy
wprowadzić wartość okresu próbkowania w sekundach. W naszym programie okres próbkowania
w milisekundach jest dostępny na środkowym wejściu elementu „Bundle” poprzedzającym
„Ekran”. Wystarczy wobec tego pomnożyć go przez 0,001 (lub podzielić przez 1000) i można go
wprowadzić do „dt”. Aby możliwe było obserwowanie widma fazowego w formie rozwiniętej
lub nie - do wejścia „unwrap phase (T)” należy dołączyć logiczny sygnał sterujący z dowolnego
przełącznika typu boolean umieszczonego na panelu użytkownika i nazwanego „Rozw. fazy”.
3. W analizatorze do obserwacji widma sygnału niezbędny jest oczywiście ekran, do którego budo-
wy wykorzystamy instrument o nazwie „Waveform Graph”, który wstawiamy z grupy „Graph”
palety „Controls” do panelu użytkownika, najlepiej powyżej lub poniżej ekranu oscyloskopu. Na-
zywamy go „Widmo”, jego osie opisujemy odpowiednio jako „f [Hz]” i „Amplituda [V]”. Po
umieszczeniu „Waveform Graph” na panelu użytkownika wracamy do panelu programu, gdzie
konieczne będzie odpowiednie przygotowanie danych dla „Waveform Graph”. Dane te muszą
mieć format „Waveform” tzn zawierać:
• wartość początkową „t0” współrzędnej poziomej wykresu,
• przyrost „dt” współrzędnej poziomej wykresu,
• właściwe dane kreślonego przebiegu zapisane w tablicy „Y”.
Taką postać danych możemy uzyskać wykorzystując element „Build Waveform” z grupy „Wave-
form”. Po umieszczeniu go w panelu programu ma on dwa wejścia, górne do którego można
wprowadzić gotową postać danych typu „waveform” i dolne oznaczone „t0”. Konieczne jest do-
danie mu jeszcze jednego wejścia (ustawiamy kursor na lewej części „Build Waveform”, klika-
my prawym klawiszem myszki i wybieramy „Add Element”). Teraz musimy zmienić oznaczenia
obu wejść, które nazywają się „t0”. W tym celu ustawiamy kursor na pierwszym „t0”, klikamy
prawym klawiszem myszki i przy pomocy „Select Item” wybieramy „Y”. Dla drugiego „t0” w
ten sam sposób wybieramy „dt”. Następnie łączymy wyjście „Amp Spectrum Mag (Vrms)” in-
strumentu Amplitude and Phase Spectrum z wejściem „Y” elementu „Build Waveform”. Wyjście
„df” instrumentu Amplitude and Phase Spectrum łączymy natomiast z wejściem „dt” elementu
„Build Waveform”, ponieważ „df” jest przyrostem współrzędnej poziomej wykresu widma. War-
tości „t0” nie ma potrzeby ustawiać na „0” ponieważ jest to wartość domyślana. Pozostaje jeszcze
połączenie wyjścia „Build Waveform” z wejściem „Widma”.
4. Identycznie jak w pkt.3. postępujemy aby umieścić na panelu użytkownika ekranu z widmem
fazowym. Jeśli znajduje się on bezpośrednio nad lub pod ekranem widma amplitudowego to
można zrezygnować na nim z osi częstotliwości. Oczywiście widmo fazowe pobieramy z wyjścia
„Amp Spectrum Phase (radians) instrumentu Amplitude and Phase Spectrum.
2
5. W tym momencie analizator może już prawidłowo pracować, ale można go jeszcze udoskonalić,
tak aby na przykład podawał nam jaka jest aktualnie podstawowa częstotliwość analizowanego
sygnału. Do tego celu wykorzystamy instrument o nazwie Harmonic Analyzer (rys.2), który mo-
żemy znaleźć w tej samej podgrupie Frequency Domain podgrupy Signal Processing grupy Ana-
lyse. Jest to instrument znajdujący w widmie sygnału podanym na wejście „Auto Power Spec-
trum” częstotliwość podstawową i jej harmoniczne (całkowite wielokrotności) oraz obliczający
Rys.2. Struktura instrumentu Harmonic Analyzer
wartość zniekształceń sygnału w postaci współczynników THD (Total Harmonic Distortion) i
THD+Noise. Po umieszczeniu tego instrumentu w programie, dla naszych potrzeb wystarczy gdy
wprowadzimy informacje tylko do dwóch jego wejść. Do wejścia „Auto Power Spectrum” musi-
my oczywiście wprowadzić widmo z wyjścia „Amp Spectrum Mag (Vrms)” instrumentu Ampli-
tude and Phase Spectrum. Natomiast do wejścia „Sampling Rate” wprowadzamy częstotliwość
próbkowania czyli musimy obliczyć odwrotność wprowadzonego do Amplitude and Phase Spec-
trum okresu próbkowania. Pozostałe nie obsadzone wejścia instrumentu Harmonic Analyzer
przyjmą domyślne wartości, które dla naszej analizy są odpowiednie. Ponieważ interesuje nas
jedynie jaka jest podstawowa częstotliwość analizowanego sygnału a na wyjściu „Harmonic
Frequencies” udostępniana jest tablica wszystkich harmonicznych widma począwszy od podsta-
wowej, dlatego musimy z tej tablicy pobrać tylko pierwszy element. Wykorzystamy do tego
funkcję Index Array (z grupy Array), która zwraca z n -wymiarowej tablicy podanej na jej wej-
ście element o podanym indeksie. W naszym przypadku interesująca nas częstotliwość podsta-
wowa w jednowymiarowej tablicy „Harmonic Frequencies” ma indeks nr 0, i taką stałą wartość
podłączamy do wejścia „Index” funkcji „Index Array”. Oczywiście nie zapominamy o podłącze-
niu do jej wejścia „Array” wyjścia „Harmonic Frequencies”. śeby można było zobaczyć jaka jest
to częstotliwość musimy jeszcze do panelu użytkownika wstawić Digital Indicator, nazwać go „f1
[Hz]” i połączyć z wyjściem „Element” funkcji „Index Array”.
6. Zanim uruchomimy nasz analizator należy jeszcze tak skonfigurować instrumenty „Waveform
Graph” (służące do wyświetlania widm amplitudowego i fazowego), żeby obraz widma na ekra-
nie był zawsze czytelnie wyświetlany bez konieczności ręcznego skalowania obrazu. Taki efekt
uzyskamy ustawiając dla obu osi opcje „Auto Scale”, „Loose Fit” i „Visible Scale Label”. Aby
obsługa analizatora była prosta i wygodna należy jeszcze uporządkować rozmieszczenie elemen-
tów na panelu i zmienić ich rozmiary. Tak zbudowany program został przedstawiony na rysun-
kach poniżej.
Literatura:
1. National Instruments Corporation: LabView User Manual, November 2001 Edition.
3
2. W. Tłaczała : Ś rodowisko LabVIEW w eksperymencie wspomaganym komputerowo. WNT,
Warszawa 2002
4
Imię i Nazwisko ……………………………………. Rok ..... Grupa ….. Data: ………………
Podstawy programowania w środowisku LabVIEW,
projekt oscyloskopu cyfrowego
Sprawozdanie
Zadania do wykonania:
1. Zbudować wg powyższych wskazówek działający analizator.
2. Ustawić nr karty pomiarowej na 0, a przełącznik 12/16 bit na 16 bit.
3. Dokonać przy jego użyciu analizy sygnałów: sinusoidalnego i prostokątnego o różnym czasie
trwania (różnej liczbie próbek).
4. Ustawić nr karty pomiarowej na 1, nr kanału na 0, a przełącznik 12/16 bit na 12 bit.
5. Podłączyć do zacisków analogowego wejścia karty generator i dokonać obserwacji sygnałów
wytwarzanych przez generator.
6. Sprawdzić dla kilku przypadków czy częstotliwość podstawowa f1 wskazywana przez anali-
zator jest poprawna, tzn. porównać z długością okresu sygnału na ekranie oscyloskopu wie-
dząc, że:
frsygnału = liczba widocznych cykli / czas ich trwania (1)
7. Dla trzech ustawień czasu obserwacji zanotować w tabeli wskazywaną przez analizator czę-
stotliwość podstawową sygnału i sprawdzić czy zgadza się obliczoną wg wzoru (1).
czas trwania
liczba widocz-
Wskazywana czę sto-
Obliczona wg (1)
cykli [ms]
nych cykli
tliwość f1 [Hz]
fsygnału [Hz]
8. Do sprawozdania dołączyć wydruki panelu użytkownika i panelu programu.
Wnioski:
5