D5 instrukcja v1 5 id 130749 Nieznany

background image

Ćwiczenie D5:

A

LGORYTMY

APROKSYMACJI

CAŁKI

PRZY

ZASTOSOWANIU

PROCESORÓW

SYGNAŁOWYCH

TMS320

SERII

28

XX

opracował:

mgr inż. Roman Niestrój

Roman.Niestroj@polsl.pl

Cele ćwiczenia:

poznanie wybranych algorytmów aproksymacyjnych

wykorzystanie sprzętowych możliwości obliczeniowych
procesora sygnałowego

doskonalenie umiejętności programowania w środowisku
Code Composer Studio

Metody aproksymacji całki w systemach cyfrowych

W procesie opracowywania programów dla cyfrowych systemów sterowania bardzo często zachodzi
konieczność aproksymowania operacji całkowania. Przy przekształcaniu równań analogowych
obiektów dynamicznych do postaci dyskretnej można posłużyć się jedną z następujących metod
aproksymacji całki:

wsteczną metodą prostokątów (wsteczna metoda Eulera);

postępującą metodą prostokątów (postępująca metoda Eulera);

metodą trapezów;

metodą Simpsona.

Metody te różnią się od siebie dokładnością uzyskanego wyniku a także ilością niezbędnych do
wykonania operacji matematycznych. W algorytmach aproksymacyjnych bazujących na
wymienionych metodach, występują operacje mnożenia i dodawania, które są sprzętowo
wykonywane przez procesory sygnałowe.

Wsteczna metoda prostokątów

Wsteczna metoda prostokątów pozwala na przybliżenie całki sumą iloczynów wartości kolejnych
próbek sygnału wejściowego cyfrowego układu całkującego i czasu próbkowania T, przy czym licząc
N-tą próbkę sygnału wyjściowego cyfrowego układu całkującego bierze się pod uwagę N próbek
sygnału wejściowego cyfrowego układu całkującego. Aproksymację całki wsteczną metodą
prostokątów dla przykładowego sygnału w przedstawiono na rysunku 1.
Aproksymację całki wsteczną metodą prostokątów można przedstawić następująco:

( )

( )

=

N

i

T

N

i

w

T

dt

t

w

0

0

gdzie: w - wielkość całkowana; N - numer próbki (zmienna dyskretna).

Transmitancja operatorowa K(z) w dziedzinie zmiennej z dla aproksymacji całki wsteczną metodą
prostokątów wyraża się zależnością:

( ) ( )

1

=

z

T

z

K

gdzie: K – transmitancja operatorowa; z – operator.

Schemat blokowy cyfrowego układu całkującego wykorzystującego wsteczną metodę prostokątów
przedstawiono na rysunku 2.

background image

Rys. 1. Aproksymacja całki wsteczną metodą prostokątów.

Rys. 2. Schemat blokowy cyfrowego układu całkującego wykorzystującego aproksymację

całki wsteczną metodą prostokątów.

Przedstawiony na rysunku 2 cyfrowy układ całkujący realizuje równanie różnicowe wynikające
z transmitancji operatorowej K(z):

( ) (

)

( )

n

w

T

n

y

n

y

+

=

1

gdzie: y – wielkość wyjściowa z układu całkującego.

Wsteczna metoda prostokątów wymaga realizacji przez system cyfrowy jednej operacji mnożenia
i jednej operacji sumowania.

Postępująca metoda prostokątów

Postępująca metoda prostokątów pozwala na przybliżenie całki sumą iloczynów wartości kolejnych
próbek sygnału wejściowego cyfrowego układu całkującego i czasu próbkowania T, przy czym licząc
N-tą próbkę sygnału wyjściowego cyfrowego układu całkującego bierze się pod uwagę (N-1) próbek
sygnału wejściowego cyfrowego układu całkującego. Aproksymację całki postępującą metodą
prostokątów dla przykładowego sygnału w przedstawiono na rysunku 3.
Aproksymację całki postępującą metodą prostokątów można przedstawić następująco:

( )

( )

=

+

N

i

T

N

i

w

T

dt

t

w

0

)

1

(

0

Transmitancja operatorowa K(z) w dziedzinie zmiennej z dla aproksymacji całki postępującą
metodą prostokątów wyraża się zależnością:

( ) ( )

1

z

Tz

z

K

=

Schemat blokowy cyfrowego układu całkującego wykorzystującego postępującą metodę prostokątów
przedstawiono na rysunku 4.

Rys. 3. Aproksymacja całki postępującą metodą prostokątów.

background image

Rys. 4. Schemat blokowy cyfrowego układu całkującego wykorzystującego aproksymację

całki postępującą metodą prostokątów.

Przedstawiony na rysunku 4 cyfrowy układ całkujący realizuje równanie różnicowe wynikające
z transmitancji operatorowej K(z):

( ) (

)

(

)

1

1

+

=

n

w

T

n

y

n

y

Podobnie jak wsteczna metoda prostokątów, postępująca metoda prostokątów wymaga realizacji
przez system cyfrowy jednej operacji mnożenia i jednej operacji sumowania.

Metoda trapezów

Metoda trapezów pozwala na przybliżenie całki sumą iloczynów średniej arytmetycznej dwóch
kolejnych próbek sygnału wejściowego cyfrowego układu całkującego i czasu próbkowania T, przy
czym licząc N-tą próbkę sygnału wyjściowego cyfrowego układu całkującego bierze się pod uwagę
próbki sygnału wejściowego cyfrowego układu całkującego o numerach N i (N-1). Aproksymację
całki metodą trapezów dla przykładowego sygnału w przedstawiono na rysunku 5.

Rys. 5. Aproksymacja całki metodą trapezów.

Aproksymację całki metodą trapezów można przedstawić następująco:

( )

(

)

( )

[

]

0

)

1

(

,

1

5

,

0

0

0

=

+

=

w

i

w

i

w

T

dt

t

w

N

i

T

N

Transmitancja operatorowa K(z) w dziedzinie zmiennej z dla aproksymacji całki metodą trapezów
wyraża się zależnością:

( )

(

)

(

)

1

2

1

+

=

z

z

T

z

K

Schemat blokowy cyfrowego układu całkującego wykorzystującego metodę trapezów przedstawiono
na rysunku 6.

Rys. 6. Schemat blokowy cyfrowego układu całkującego wykorzystującego aproksymację

całki metodą trapezów.

background image

Przedstawiony na rysunku 6 cyfrowy układ całkujący realizuje równanie różnicowe wynikające
z transmitancji operatorowej K(z):

( ) (

)

(

)

( )

[

]

n

w

n

w

T

n

y

n

y

+

+

=

1

5

.

0

1

Metoda trapezów wymaga realizacji przez system cyfrowy dwóch operacji mnożenia i dwóch
operacji dodawania (w mikroprocesorach można dodawać tylko dwa składniki sumy jednocześnie).

Metoda Simpsona

Metoda Simpsona jest jedną z kwadratur interpolacyjnych Netwona-Cotesa, które powstają przez
scałkowanie wielomianu interpolacyjnego Lagrange'a, zbudowanego dla całkowanego ciągu próbek
sygnału w(n) i opartego na równoodległych węzłach (co przy stałej częstotliwości próbkowania jest
spełnione). Wyznaczając N-tą próbkę sygnału wyjściowego cyfrowego układu całkującego, metoda
Simpsona bierze pod uwagę próbki sygnału wejściowego cyfrowego układu całkującego o numerach
N, (N-1) i (N-2).

Aproksymację całki metodą Simpsona można przedstawić następująco:

0

NT

w

t

dtT

i=0

N

[

1
6

w

i

2
3

w

i−1

1
6

w

i−2

]

; w

1

=

0; w

2

=

0

Transmitancja operatorowa K(z) w dziedzinie zmiennej z dla aproksymacji całki metodą Simpsona
wyraża się zależnością:

K

z

=

T

z

2

4 z1

6 z

z −1

Schemat blokowy cyfrowego układu całkującego wykorzystującego metodę Simpsona przedstawiono
na rysunku 7.

Rys. 7. Schemat blokowy cyfrowego układu całkującego wykorzystującego aproksymację

całki metodą Simpsona.

Przedstawiony na rysunku 7 cyfrowy układ całkujący realizuje równanie różnicowe wynikające
z transmitancji operatorowej K(z):

y

n

=

y

n−1

T

[

1
6

w

n

2
3

w

n−1

1
6

w

n−2

]

Metoda trapezów wymaga realizacji przez system cyfrowy trzech operacji mnożenia i trzech operacji
dodawania (w mikroprocesorach można dodawać tylko dwa składniki sumy jednocześnie).

Uwagi końcowe

Dokładność przedstawionych metod aproksymacji całki zależy od wielu czynników, między innymi
od tego, czy częstotliwość próbkowania (i w związku z tym okres próbkowania T) jest przyjęta
prawidłowo. Następny czynnik, to sposób reprezentacji danych w systemie cyfrowym. Szczególnie
w systemach stałoprzecinkowych trzeba się liczyć z kumulacją błędów arytmetyki stałoprzecinkowej
przy stosowaniu metody Simpsona w sytuacji, gdy słowa bitowe, przeznaczone do przechowania
wartości współczynników występujących przy kolejnych próbkach sygnału wejściowego, będą zbyt
krótkie. Ta kumulacja błędów objawia się na wyjściu układu całkującego w postaci dryftu sygnału
całki. Dryft ten polega na tym, że na sygnał użyteczny nałożona jest pewna składowa narastająca
lub opadająca w czasie aż do nasycenia lub przepełnienia słowa bitowego przechowującego
obliczoną wartość całki. Podobne zjawisko wystąpi, gdy do wejścia układu całkującego dochodzi
składowa stała, zakłócająca wejściowy sygnał użyteczny (na przykład falę sinusoidalną). Dlatego
w układach sterowania maszyn elektrycznych często wykorzystuje się układy całkujące o specjalnej
strukturze, w których zjawisko dryftu nie występuje.

background image

Zadanie 1.

Opracować program w środowisku CCS dla procesora sygnałowego TMS320F2812,

realizujący różne algorytmy aproksymacji całki.

Opracowany program będzie składał się z dwóch plików: nagłówkowego i źródłowego, w których
powinna znajdować się pełna definicja obiektu aproksymacji całki. Sprawdzenie działania tego
obiektu będzie możliwe w programie dostarczonym przez prowadzącego, zawierającym programowy
generator przebiegów: sinusoidalnego, piłokształtnego, prostokątnego i trapezowego. Do
sprawdzenia zostaną wykorzystane elementy Graph dostępne w CCS, działające w oparciu
o emulacje sprzętową.

Do wykonania ćwiczenia potrzebny jest komputer z CCS i zestaw uruchomieniowy eZdspF2812.

Wskazówki do wykonania zadania:

Opracowując program (obiekt) aproksymacji całki należy wykorzystać pliki definiujące
obiekt dla obsługi diody LED z ćwiczenia D2, kopiując je z innymi nazwami i dołączając do
projektu. Następnie należy w nich przeprowadzić niezbędne modyfikacje.

Obiekt realizujący aproksymację całki różnymi metodami powinien być zbudowany w oparciu
o następujące wskazówki (w razie wątpliwości należy skorzystać z instrukcji do ćwiczenia
D2):

Typ obiektu:

INTEGRALSUPPORT

Typ wskaźnikowy:

*INTEGRALSUPPORT_handle

Wartość domyślna (konstruktor obiektu):

INTEGRALSUPPORT_DEFAULTS (zbudowana w oparciu o wartości domyślne dla

pól danych)

Pola danych:

int16 In

- Wejście obiektu (domyślnie 0)

int16 Memory1

- Pamięć próbek 1 (domyślnie 0)

int16 Memory2

- Pamięć próbek 2 (domyślnie 0)

int16 Memory3

- Pamięć próbek 3 (domyślnie 0)

int16 Out

- Wyjście obiektu (domyślnie 0)

int16 Ki

- Stała całkowania (domyślnie 1)

Uint16 Scale

- Skala wyjścia

(domyślnie 8)

Pola metod:

tpcalc

- Wskaźnik funkcji obsługi
(wyliczenia całki metodą trapezów)

becalc

- Wskaźnik funkcji obsługi
(wyliczenia całki metodą wsteczną Eulera)

fecalc

- Wskaźnik funkcji obsługi
(wyliczenia całki metodą postępującą Eulera)

smcalc

- Wskaźnik funkcji obsługi
(wyliczenia całki metodą Simpsona)

reset

- Wskaźnik funkcji resetującej obiekt
(przywracającej we wszystkich polach wartości
domyślne)

Funkcje metod:

integral_tp_calc

- dla metody tpcalc

integral_be_calc

- dla metody becalc

integral_fe_calc

- dla metody fecalc

integral_sm_calc

- dla metody smcalc

integral_reset

- dla metody reset

Taka budowa obiektu jest wymuszona przez procedury obsługi obiektu, zamieszczone
w programie głównym dla ćwiczenia D5 (plik lab_d5.c).
Wszystkie elementy (między innymi okna Graph) potrzebne do sprawdzenia działania obiektu
zawarte są w pliku przestrzeni roboczej, właściwym dla ćwiczenia D5
(lab_d5_eZdspF2812_CCS3x.wks). Projekt dla ćwiczenia D5 zawiera dodatkowo pliki
z ćwiczenia D2, definiujące obiekt dla diody (led_eZdspF2812.h, led_eZdspF2812.c),w celu
ułatwienia ich wykorzystania do budowy obiektu dla układu całkującego).

background image

Zadanie 2.

Zmierzyć czas wykonywania funkcji aproksymujących całkę w programie opracowanym

w zadaniu 1.

Pomiaru czasu wykonywania fragmentów programu dokonuje się przy pomocy Profilera zawartego
w CCS. Czas ten jest mierzony w cyklach maszynowych centralnej jednostki przetwarzającej
procesora sygnałowego. Wartości czasu zmierzone dla funkcji napisanych w języku C należy
porównać z czasem wykonywania funkcji o takim samym działaniu, napisanej w języku asembler
(przygotowanej przez prowadzącego). Ponadto należy przeanalizować sposób wywołania funkcji
napisanej w języku asembler z programu głównego napisanego w języku C (zwrócić uwagę na
wykorzystanie specyficznych trybów adresowania pośredniego). Do tego celu można wykorzystać
program funkcji realizującej aproksymację całki lub programy funkcji generatorów sygnałów (także
napisane są w języku asembler).

Do wykonania ćwiczenia potrzebny jest komputer z CCS i zestaw uruchomieniowy eZdspF2812.

Wskazówki do wykonania zadania:

Aby przyśpieszyć wykonanie zadania 2 można posłużyć się plikiem przestrzeni roboczej,
przygotowanym przez prowadzącego dla Profilera, zawartym w osobnym katalogu roboczym.
Plik ten zawiera wszystkie niezbędna okna i ustawienia potrzebne do wykonania zadania 2.
Podczas korzystania z Profilera należy WYŁĄCZYĆ tryb czasu rzeczywistego (Real-Time
Mode).

W czasie wykonywania ćwiczenia uczestnicy mogą korzystać z literatury dostarczanej przez
prowadzącego, dotyczącej wykorzystywanego procesora sygnałowego i środowiska
programistycznego.

Sprawozdanie z ćwiczenia

Sprawozdanie z ćwiczenia powinno zawierać kody napisanych w trakcie ćwiczenia programów wraz
z komentarzami opisującymi ich działanie.

Źródła literaturowe:

[1]. Dokumentacja procesora sygnałowego TMS320F2812. Texas Instruments.
[2]. Dokumentacja zestawu eZdsp i modułu DMC1500. Spectrum Digital.
[3]. C281x C/C++ Header Files and Peripheral Examples. Texas Instruments.

[5]. J. Klamka, Z. Ogonowski, M. Jamicki, M. Stasik: Metody numeryczne.

Wydawnictwo Politechniki Śląskiej, Gliwice 1998, skrypt 2068
[6]. J. Krupka, R.Z. Morawski, L.J. Opalski: Wstęp do metod numerycznych.

Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 1999

Żródła literaturowe [1, 2, 3] dostępne są na stronie internetowej firmy Texas Instruments
(

www.ti.com

).

opracowano dnia 30-10-2008, (v1.5)


Wyszukiwarka

Podobne podstrony:
Instrukcja V1 x id 217247 Nieznany
BoeBot v1 0 id 91312 Nieznany (2)
Instrukcja ESRI id 216707 Nieznany
instrukcja laboratoryjna id 216 Nieznany
Instruktaz stanowiskowy id 2176 Nieznany
INSTRUKCJA obserwacja id 217027 Nieznany
Instrukcja 12 id 215508 Nieznany
Final v1 id 171205 Nieznany
INSTRUKCJA BHP 4 id 215697 Nieznany
KOS instrukcja 7 TM id 248303 Nieznany
instrukcja DTC id 216677 Nieznany
ANSYS AI Nastran v1 0 id 65570 Nieznany (2)
Instrukcja Lab4 id 216877 Nieznany
INSTRUKCJE Cwiczenie 1 id 71952 Nieznany
5 Instrukcja if id 39694 Nieznany
Instrumenty pochodne id 217770 Nieznany
Instrukcja UV2 id 217242 Nieznany
lab2 Instrukcja P2 C P id 75048 Nieznany
instrukcja 10 id 215506 Nieznany

więcej podobnych podstron