background image

 

Analiza i zapis sygnału 

 

Przybliżony czas ćwiczenia 

Poniższe ćwiczenie ukończysz w czasie 45 minut. 

Wstęp 

LabVIEW wyposażony jest w zbiór bloczków wspomagających analizę sygnałów. To ćwiczenie 

nauczy cię w jaki sposób możesz wykorzystać LabVIEW do prostej analizy sygnału oraz jak 

zapisać uzyskane dane do pliku. 

Przegląd ćwiczenia 

W poniższym ćwiczeniu, stworzysz wirtualne narzędzie generujące sygnał, filtrującego, 

wskazujące przekroczenie przez sygnał zadanego limitu oraz rejestrujące dane.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

background image

 

Gotowe ćwiczenie 

 

 

 

 

 

 

 

 

 

 

 

background image

 

Krok po kroku

 

1. Modyfikacja szablonu VI na własne potrzeby 

Wykonaj poniższe kroki, aby stworzyć VI generujący, analizujący oraz wyświetlający sygnał: 

a.

 

W oknie Getting Started kliknij More… 

 

b.

 

Z listy Create New, wybierz VI ›› From 

Template ›› Tutorial (Getting Started) ›› 

Generate, Analyze, and Display. Szablon 

ten generuje sygnał i analizuje jego 

wartość skuteczną (RMS – Root Mean 

Square).  

 

c.

 

Kliknij OK, lub po prostu kliknij 

dwukrotnie na wybranej pozycji z listy. 

 

 

 

d.

 

Wciśnij <Ctrl+H>, aby wyświetlić okno pomocy podręcznej. 

 

e.

 

Przejdź do okna diagramu blokowego wciskając kombinację 

<Ctrl+E>

 

 

f.

 

Kiedy nakierujesz kursor na bloczek Amplitude and Level 

Measurements, pomoc podręczna wyświetli przydatne 

informacje. Nie zamykaj okna pomocy, będzie ono użyteczne 

w dalszej części ćwiczenia. 

 

 

 

g.

 

Usuń wskaźnik RMS, nie będzie on potrzebny w tym 

ćwiczeniu. Usuń także połączenia, które zostały 

przerwane po usunięciu wskaźnika. Żeby to uczynić, 

wciśnij kombinację <Ctrl+B>.  

 

 

 

background image

 

h.

 

W oknie panelu przedniego kliknij prawym przyciskiem myszy w wyświetlacz 

graficzny (Waveform Graph) i wybierz Properties, aby zmienić właściwości obiektu. 

 

i.

 

W zakładce Appearance, zaznacz Visible, a w 

polu tekstowym wpisz Unfiltered Signal

 

j.

 

Wciśnij OK, aby zapisać zmiany i zamknąć okno. 

 

 

k.

 

Uruchom VI. Sygnał pojawi się na wykresie. 

 

l.

 

Wciśnij przycisk STOP, aby zatrzymać VI. 

 

2. Tworzenie dodatkowego sygnału 

Bloczek Simulate Signal generuje domyślnie sygnał sinusoidalny. Aby zmienić własności 

sygnału możesz kliknąć prawym przyciskiem myszy w bloczek i wybrać Properties. Wykonaj 

poniższe kroki, aby wygenerować dodatkowy sygnał, dodający szum biały do sygnału 

sinusoidalnego. 

 

a.

 

W oknie diagramu blokowego kliknij w bloczek Simulate Signal

Wciśnij i przytrzymaj klawisz <Ctrl>. Trzymając <Ctrl> przeciągnij 

bloczek Simulate Signal. Bloczek zostanie skopiowany w miejsce, 

gdzie został zwolniony przycisk myszy. LabVIEW automatycznie 

nazwie nowy bloczek Simulate Signal2

 

 

b.

 

Kliknij dwukrotnie w nowo powstały bloczek, aby wyświetlić 

właściwości bloczku. 

 

c.

 

Z listy Signal Type wybierz Sine, aby generowany sygnał był 

sinusoidą. 

 

 

 

d.

 

Zmień wartość wartość częstotliwości (Frequency) na 60Hz

 

e.

 

Wprowadź wartość amplitudy równą 0.1

 

 

background image

 

f.

 

Zaznacz Add Noise, aby dodać szum. 

g.

 

Z listy Noise type wybierz Uniform White Noise

h.

 

Wprowadź wartość amplitudy szumu równą 0.1 w polu Noise Amplitude

i.

 

Wprowadź wartość -1 w polu Seed number

j.

 

W sekcji Timing wybierz opcję Run as fast as possible

 

k.

 

W sekcji Signal Name odznacz opcję Use Signal type name

 

l.

 

W polu Signal Name wpisz 60Hz and Noise. Po zmianie tej 

nazwy zmieni się również nazwa wyjścia na bloczku.  

 

Zmiana nazwy sygnału ułatwia późniejsze rozpoznanie sygnału łącząc schemat na 

diagramie blokowym. 

 

 

 

m.

 

Wciśnij przycisk OK, aby zapisać zmiany. 

  

 

background image

 

3. Dodawanie dwóch sygnałów 

Aby scalić dwa sygnały tworząc z nich jeden, możesz użyć bloczku Formula. W 

przeciwieństwie do bloczku Merge Signals, pozwalającego wyświetlić dwa sygnały na jednym 

wykresie, bloczek Formula pozwala dodać do siebie dwa sygnały dając w wyniku jeden 

sygnał stanowiący ich sumę. Możesz użyć tego bloczka, by dodać szum do sygnału 

sinusoidalnego. Wykonaj poniższe kroki, aby tego dokonać: 

 

a.

 

Kliknij trzykrotnie lewy przycisk myszy na 

połączeniu pomiędzy wyjściem Sine i wejściem 

Signals. Usuń połączenia wciskając <Delete>

 

 

b.

 

Kliknij przycisk Search w oknie Functions, aby 

wyszukać bloczek Formula

 

 

 

 

 

 

 

c.

 

Umieść bloczek na diagramie pomiędzy bloczkami Simulate 

Signal oraz Amplitude and Level Measurements.                  

Po umieszczeniu bloczka na diagramie, pojawi się okno,     

w którym możemy wpisać odpowiednie wyrażenie.            

W kolumnie Label zmień etykietę dla X1 na Sine, a dla X2 

na 60Hz and Noise. Zauważ, że bloczek automatycznie 

wpisze do wyrażenia pierwsze wejście – Sine

 

 

 

 

 

d.

 

Wciśnij przycisk + a następnie X2, aby dodać do 

siebie sygnały Sine i 60Hz and Noise

 

 

e.

 

Wciśnij przycisk OK, aby zapisać zmiany i zamknąć 

okno formuły.  

 

 

background image

 

f.

 

Połącz wyjście Sine na bloczku Simulate Signal z wejściem Sine na bloczku Formula

 

g.

 

Połącz wyjście 60Hz and Noise 

na bloczku Simulate Signal2 z 

wejściem 60Hz and Noise na 

bloczku Formula

 

h.

 

Połącz wyjście Result na bloczku 

Formula ze wskaźnikiem 

Unfiltered Signal oraz z wejściem 

Signals bloczku Amplitude and 

Level Measurements

 

i.

 

Wyświetl panel przedni wciskając 

kombinację <Ctrl+E>. 

 

j.

 

Uruchom VI. Na wykresie pojawi się 

suma sygnałów. 

 

k.

 

Wciśnij przycisk STOP, aby zatrzymać 

działanie VI. 

 

l.

 

Wybierz File ›› Save As i zapisz plik. 

 

 

 

4. Filtrowanie sygnału. 

Aby przepuścić sygnał przez filtry, należy użyć bloczku Filter. Wykonaj poniższe kroki, aby 

użyć filtra odpowiedzi impulsowej (IIR – Infinite Impulse Response): 

 

a.

 

Usuń połączenie pomiędzy wyjściem Result na bloczku Formula i wejściem Signals na 

bloczku Amplitude and Level Measurements

 

b.

 

Usuń przerwane połączenia. 

 

     

 

background image

 

c.

 

Wyszukaj bloczku Filter i umieść go na 

diagramie blokowym pomiędzy 

generatorem Simulate Signal2 oraz 

bloczkiem Amplitude and Level 

Measurements. Pojawi się okno 

konfiguracji nowego bloczku. 

 

 

 

d.

 

W sekcji Filter Specifications zmień wartość Cutoff 

Frequency na 25Hz. 

 

e.

 

Wciśnij OK, aby zapisać zmiany.  

 

 

 

 

f.

 

Przejdź do okna panelu przedniego. 

 

 

g.

 

Kliknij w wyświetlacz nazwany 

wcześniej Unfiltered Signal

Trzymając <Ctrl> przeciągnij 

niżej wyświetlacz. Spowoduje 

to stworzenie dodatkowego 

wyświetlacza graficznego.  

 

h.

 

Umieść stworzony wyświetlacz 

poniżej pierwszego. 

 

i.

 

Kliknij potrójnie w nazwę 

Unfiltered Signal 2, aby 

zmienić tytuł wyświetlacza. 

Nazwij go Filtered Signal

 

 

j.

 

Na diagramie blokowym połącz wyjście Result na bloczku Formula, z wejściem Signal 

na bloczku Filter oraz z wejściem wyświetlacza oznaczonego Unfiltered Signal

 

 

background image

 

k.

 

Połącz wyjście Filtered Signal na 

bloczku Filter z wejściem Signals na 

bloczku Amplitude and Level 

Measurements oraz do wyświetlacza 

oznaczonego Filtered Signal

 

l.

 

Zapisz plik <Ctrl+S>

 

 

5. Zmiana wyglądu wyświetlaczy. 

Klikając prawym przyciskiem myszy na wyświetlacz i wybierając Properties, w zakładce 

Display Format możemy zmienić sposób wyświetlania osi X i Y. Wykonaj poniższe kroki, aby 

zmienić format stworzonych wyświetlaczy: 

 

a.

 

W oknie panelu przedniego, kliknij 

prawym przyciskiem myszy w wyświetlacz 

niefiltrowanego sygnału (Unfiltered 

Signal). Wybierz z menu Properties

 

 

b.

 

W zakładce Display Format, wybierz z 

rozwijanego menu Time (X-Axis)

 

 

 

c.

 

Wybierz Default editing mode.  

 

 

d.

 

Z listy Type wybierz Automatic formatting

 

e.

 

W polu Digits wpisz 6 i wybierz Significant digits z listy Precision Type

 

 

f.

 

Zaznacz opcję 

Hide trilling 

zeros

 

 

background image

10 

 

g.

 

Z rozwijanego menu wybierz tym razem Amplitude (Y-Axis)

 

h.

 

Powtórz kroki od c. do f.  

 

i.

 

W zakładce Scales wybierz 

Amplitude (Y-Axis)

 

j.

 

Odznacz pole Autoscale.  

 

k.

 

Wprowadź wartość -2.5 do pola 

Minimum, oraz 2.5 do pola 

Maximum

 

l.

 

Wciśnij OK, aby zapisać zmiany. 

 

m.

 

Powtórz kroki od a. do l. we właściwościach wyświetlacza Filtered Signal

 

6. Analiza amplitudy sygnału 

Możesz użyć bloczku Amplitude and Level Measurements do analizy charakterystyki 

napięciowej sygnału.  

 

a.

 

Kliknij dwukrotnie w bloczek Amplitude and Level Measurements na diagramie 

blokowym. 

 

b.

 

Odznacz pole RMS

 

 

c.

 

Zaznacz pole Peak to peakPeak to 

peak pojawi się na liście Results z 

wyświetloną aktualnie zmierzoną 

wartością. 

 

d.

 

Wciśnij OK, aby zapisać zmiany. Wyjście z bloczku zmieniło nazwę z RMS na Peak to 

peak

 

 

background image

11 

 

7. Szybkość działania VI 

Aby spowolnić wyświetlanie sygnału na wykresie, możesz dodać bloczek Time Delay

Wykonaj poniższe kroki, aby umożliwić kontrolę czasu, w którym będzie miała miejsce 

pojedyncza iteracja pętli: 

 

a.

 

Znajdź bloczek Time Delay

 

b.

 

Umieść go lewym dolnym rogu pętli. Pojawi 

się okno konfiguracji. 

 

 

c.

 

Wprowadź wartość 0.1 sekundy i wciśnij 

przycisk OK

 

 

d.

 

Uruchom VI. W ciągu sekundy program 

wykona 10 iteracji. 

 

8. Dodanie kontrolki ostrzegającej. 

Czasem możesz potrzebować widocznego wskaźnika przekroczenia wyznaczonej granicy 

wartości. Możesz do tego użyć diody LED: 

 

a.

 

W okienku Controls na panelu przednim wybierz 

kategorię LEDs

 

b.

 

Jeżeli panel Controls nie jest widoczny, kliknij 

prawym przyciskiem myszy w puste miejsce.  

 

c.

 

Wybierz diodę Round LED i umieść ją po lewej stronie 

wyświetlaczy na panelu przednim. 

 

 

d.

 

Kliknij podwójnie na nazwie Boolean i wprowadź nową: Warning Light. Wykorzystasz 

tą diodę w dalszej części ćwiczenia. 

e.

 

Wybierz File ›› Save As

 

background image

12 

 

f.

 

Przeglądnij dostępne opcje zapisu. Wybierz 

Substitute copy for original w sekcji Copy

Stworzysz tym samym kopię bieżacego 

projektu i jednocześnie rozpocząć pracę 

nad kopią.  

 

g.

 

Wciśnij przycisk Continue, zapisz nowe VI 

jako Warning Light.vi  

 

9. Ustalanie progu alarmowania 

Aby ustalić wartość progu, dla którego zapalać się będzie dioda ostrzegawcza, możesz użyć 

bloczku Comparison. Wykonaj poniższe kroki, aby porównać wartość amplitudy z zadanym 

limitem: 

a.

 

Znajdź bloczek Comparison i umieść go po 

prawej stronie bloczku Amplitude and Level 

Measurements. Otworzy się okno konfiguracji 

bloczku. 

 

 

b.

 

W sekcji Compare Condition 

wybierz opcję > Greater

 

c.

 

W sekcji Comparison Inputs zaznacz 

opcję Value i wprowadź wartość 2

Jest to próg, powyżej którego 

zapalać się będzie dioda. 

 

d.

 

Wciśnij przycisk OK, aby zapisać 

zmiany. 

 

 

Nazwa bloczku zmienia się wraz z funkcją jaką pełni bloczek. W tym przypadku bloczek 

powinien zmienić nazwę na Greater.

  

 

background image

13 

 

e.

 

Połącz ze sobą wyjście Peak to Peak znajdujące się na bloczku Amplitude and Level 

Measurements, z wejściem Operand 1 na nowym bloczku Greater

 

f.

 

Kliknij prawym przyciskiem myszy na nowo 

stworzonym połączeniu i wybierz Create ›› 

Numeric Indicator. Pojawi się nowy 

wskaźnik numeryczny – Peak to Peak

 

 

 

Wskaźnik Peak to Peak pojawi się na połączeniu pomiędzy bloczkami. Przesuń go w 

puste miejsce, aby diagram blokowy stał się bardziej czytelny.  

 

10. Ostrzeganie 

Po ustaleniu wartości, powyżej której VI zapali diodę, musisz połączyć ją z bloczkiem Greater

Wykonaj poniższe kroki, aby VI alarmowało diodą przekroczenie wyznaczonej wartości: 

a.

 

W oknie diagramu blokowego przesuń wskaźnik 

Warning Light na prawo od bloczku Greater

Upewnij się, że wskaźnik nadal znajduje się w 

pętli. 

 

b.

 

Połącz wyjście Result z wejściem Warning Light

 

c.

 

Na panelu przednim jest widoczny wskaźnik numeryczny Peak to Peak. Został on 

dodany automatycznie w czasie wykonywania punktu 9. i wyświetlać będzie wartości 

wyjścia Peak to Peak

 

d.

 

Uruchom VI. Kiedy wartość Peak to Peak będzie większa od ustalonego progu 

równego 2, lampka ostrzegawcza zapali się. 

 

e.

 

Wciśnij przycisk STOP, aby zakończyć działanie VI.   

 

 

 

background image

14 

 

11. Zapis danych do pliku - konfiguracja 

Dane, które generuje VI możesz magazynować w pliku. Możesz do tego użyć bloczku Write 

To Measurement File. Wykonaj poniższe kroki, aby zapisać wartości Peak to Peak i inne 

dane do pliku: 

 

a.

 

Wyszukaj bloczek Write to Measurement i 

umieść go na diagramie blokowym na 

dole, z prawej strony bloczku Amplitude 

and Level Measurements. Pojawi się okno 

konfiguracji bloczku.  

 

b.

 

 Pole File Name pojawi się z pełną 

ścieżką dostępu do pliku wyjściowego – 

test.lvm

. Skorzystaj z przycisku po 

prawej z ikoną katalogu, aby wybrać 

nową ścieżkę zapisu pliku. Zapisz go na 

pulpicie pod tą samą nazwą – test.lvm 

 

 

Plik z rozszerzeniem .lvm możesz otworzyć korzystając z arkuszy kalkulacyjnych lub 

edytorów tekstowych. Składa się on z kolumn zawierających wybrane dane. 

 

 

Dane w pliku .lvm są zapisywane z dokładnością sześciu miejsc po przecinku. 

 

 

c.

 

W sekcji If a file already exists (w oknie konfiguracji 

bloczku) zaznacz Append to file. Kiedy wybrany 

przez nas plik już istnieje, dane będą do niego 

zapisywane nie usuwając tym samym poprzednio 

zapisanych danych. 

 

 

 

 

 

 

 

 

background image

15 

 

d.

 

W sekcji Segment Headers wybierz opcję One header 

Only. Wybór tej opcji pozwoli stworzyć LabVIEW 

tylko jeden nagłówek w pliku z danymi. 

 

 

e.

 

W polu File Description wprowadź opis: Sample 

of peak to peak values.  

 

f.

 

Wciśnij przycisk OK, aby zapisać zmiany. 

 

LabVIEW

 umieści w nagłówku pliku wyjściowego opis wprowadzony w polu File 

Description

 

12. Zapis danych 

Wykonaj poniższe kroki, aby LabVIEW zapisał dane do zdefiniowanego pliku: 

 

a.

 

W oknie diagramu blokowego połącz wyjście Peak to Peak znajdujące się na bloczku 

Amplitude and Level Measurements z wejściem Signals na bloczku Write to 

Measurement File

 

b.

 

Wybierz File ›› Save As i zapisz VI pod nazwą Save Data.vi 

 

c.

 

Przejdź do panelu przedniego i uruchom VI. 

 

d.

 

Wciśnij przycisk STOP

 

e.

 

Otwórz plik test.lvm, znajdujący się na pulpicie, przy pomocy arkusza kalkulacyjnego, 

lub edytora tekstowego. Początek pliku zawiera nagłówek z informacjami o projekcie. 

 

f.

 

Zamknij plik test.lvm kiedy już przeglądniesz jego zawartość. 

 

 

 

 

 

 

 

background image

16 

 

13. Dodanie przycisku który po wciśnięciu zapisuje dane 

Jeśli nie chcesz zapisywać wszystkich wartości, a tylko wybrane, możesz stworzyć przycisk, po 

naciśnięciu którego tylko wtedy będą zapisywane dane. Wykonaj poniższe kroki, aby 

stworzyć tak funkcjonujący przycisk. 

 

a.

 

Znajdź przycisk Rocker i umieść go z prawej strony 

panelu przedniego.  

 

b.

 

Kliknij na nim prawym przyciskiem myszy i wybierz 

z menu Properties, aby wyświetlić jego 

właściwości. 

 

 

c.

 

Zmień nazwę z Boolean na Write to File.  

 

 

 

d.

 

W zakładce Operation wybierz Latch when 

pressed z listy Button behavior

 

e.

 

Wciśnij przycisk OK, aby zapisać zmiany. 

 

 

f.

 

Zapisz VI. 

 

W zakładce Operation możesz ustawić, w jaki sposób ma reagować przycisk po 

naciśnięciu. Aby sprawdzić różne opcje, wypróbuj podgląd przycisku w sekcji Preview 

Selected Behavior

 

 

 

 

 

background image

17 

 

 

14. Zapis danych na polecenie użytkownika. 

Wykonaj poniższe kroki, aby VI zapisywał wartość do pliku po kliknięciu przycisku na panelu 

przednim: 

a.

 

W oknie diagramu blokowego kliknij podwójnie na bloczek Write To Measurement 

File, aby wyświetlić jego właściwości. 

 

b.

 

Zmień nazwę pliku, do którego będą zapisywane 

dane na Selected Samples.lvm

 

c.

 

Wciśnij przycisk OK, aby zapisać zmiany. 

 

d.

 

Kliknij prawym przyciskiem myszy na wejście 

Signals w bloczku Write To Measurement File i 

wybierz z listy Insert Input/Output. Dodasz w ten 

sposób nowe wejście – Comment.  

 

 

 

e.

 

Kliknij prawym przyciskiem myszy w nowe wejście Comment i 

wybierz z menu Select Input/Output ›› Enable. W miejscu 

Comment pojawi się wejście Enable.  

 

Wejścia i wyjścia pojawiają się w zdefiniowanej kolejności. Żeby dodać wybrane 

wejście/wyjście, możesz dodać nową pozycję wybierając Insert Input/Output, a 

następnie zamienić go na wybrane z listy wybierając Select Input/Output z menu 

kontekstowego. 

 

f.

 

Przesuń bloczek przycisku Write to File na lewo od bloczku Write To Measurement 

File

 

g.

 

Połącz wyjście z przycisku Write to File do wejścia 

Enable na bloczku Write to Measurement File

 

 

 

background image

18 

 

15. Odczyt zapisanych danych 

Wykonaj poniższe kroki, aby odczytać dane zapisane w pliku Selected Samples.lvm

a.

 

Przejdź do okna panelu przedniego i uruchom VI. Wciśnij przycisk Write to File 

kilkukrotnie. 

 

b.

 

Wciśnij przycisk STOP

 

c.

 

Otwórz plik Selected Samples.lvm przy pomocy arkusza kalkulacyjnego lub edytora 

tekstu. 

 

Do pliku Selected Samples.lvm zapisywane są dane jedynie po wciśnięciu przycisku 

Write to File. W pliku test.lvm były zapisywane wszystkie dane. 

 

d.

 

Zamknij plik. 

 

e.

 

Zapisz projekt i wyjdź z VI.