Lab5 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania


Skład grupy.

Indeks

Rok Akad.

Kierunek / specjalność

Nr Stan. lab.

III

III

Elektronika/Aparatura Elektroniczna

Elektronika/EZI


  1. Cel ćwiczenia

Celem ćwiczenia jest pojęcie znaczenia kodu asemblerowego oraz sposobów jego wykorzystania przy tworzeniu projektów na procesorach DSP. Wykonanie ćwiczenia pozwoli na poznanie zależności panujących pomiędzy kodem asemblerowym a kodem w języku C , a także na zapoznanie z zależnościami czasowymi charakteryzującymi funkcje napisane w obu kodach. Ostatecznym skutkiem powinno być zyskanie umiejętności zastosowania oraz sposobu użycia asemblera.

  1. Przebieg ćwiczenia

a)Początkowym etapem ćwiczenia było stworzenie nowego projektu zgodnie z wcześniejszymi doświadczeniami , oraz dołączenie do niego niezbędnych plików zamieszczonych na stronie laboratorium , a dedykowanych dla ćwiczenia asembler. Analogicznie do doświadczeń z poprzednich laboratoriów stanowisko pracy zostało poprawnie skonfigurowane.

b)W oknie „console” możemy zaobserwować , że nasz projekt zawiera implementacje filtru FIR o 51 współczynnikach oraz składa się z 6 wyszczególnionych etapów. Każdy z etapów ma za zadanie przetworzenie w inny sposób sygnału muzycznego z odtwarzacza mp3 oraz podanie go na wyjście(głośniki).Analiza poszczególnych etapów działania programu ukazuje nam różnice pomiędzy nimi. Pierwszy etap - nie wprowadza żadnych zmian ,przenosi próbki z wejścia na wyjście. Drugi etap - jest oparty na filtrze FIR zaimplementowanym w języku C dla zegara PPL równego 100 MHz. Trzeci etap - powtórnie realizuje filtr FIR w języku C , zmienia jednak częstotliwość na 40 MHz. Czwarty etap - również opiera się na filtrze FIR , jednak tutaj użyty został kod asemblerowy ,a częstotliwość wynosi 100 MHz. Piąty etap - napisany w asemblerze , ze zmianą częstotliwości na 12 MHz. Szósty etap wykorzystuje asemblerową wersję funkcji myfunction() do odpowiedniego przetworzenia sygnału.

c)Następnym etapem pracy było poddanie analizie każdego z 6 opisanych wyżej etapów. Etapy przy każdej z częstotliwości PPL działają zgodnie z założeniami , oznacza to , że filtrują dany sygnał( z wyjątkiem jednego etapu).

„Jeden z etapów przetwarzania TMS320C5515 USB odbywa się z szybkością wynoszącą połowę oczekiwanej szybkości. Który? Dlaczego tak się dzieje?”

Jest to etap trzeci. Etap ten charakteryzuje się opóźnieniem sygnału w tym przypadku oznacza to , że wykonywany jest o połowę wolniej niż wskazywałaby na to spodziewana szybkość wykonania. Aby spróbować odnaleźć powód takiej sytuacji , przez grupę została użyta opcja „clock”. Za pomocą tej opcji , zbadano liczbę instrukcji ,niezbędną do realizacji jednego przebiegu pętli filtru FIR zaimplementowanego w języku C. Zgodnie z instrukcją liczba instrukcji powinna wynieść 1923 i właśnie taka liczba z została otrzymana. Analogiczny pomiar dla filtru zaimplementowanego w asemblerze wyniósł 68.Jeżeli 40 MHz w zakresie taktowania daje nam 1/40 µs to przy 1923 instrukcjach otrzymamy wartość 1923*1/40 co w przybliżeniu da nam 48 µs. Obliczona wartość pozwala zauważyć ,że jeżeli przy taktowaniu kodeka 48 KHz czas jednego przebiegu to 20,8 µs to przetwarzanie jest dwukrotnie dłuższe. Doświadczalnie zauważone zostało , że dźwięk na wyjściu według obu członków grupy jest zniekształcony.

d)Kontynuując pracę , grupa stanęła przed zadaniem zmiany częstotliwości taktowania PPL. Zmiany wyżej wymienionej częstotliwości taktowania , pozwoliły wysnuć wnioski odnośnie dopuszczalnych zmian pozwalających na poprawne przetwarzanie sygnału zarówno dla filtrów zaimplementowanych w język C jak i w asemblerze. Dopuszczalne wartości wymienione w instrukcji to - 1,2,12,40,60,75,98 oraz 100.Badanie wykazało , że częstotliwość taktowania dla języka C możemy zniżyć do 75 MHz zachowując poprawność działania filtrów. Odnośnie filtrów zaimplementowanych w asemblerze , granica to przesuwa się bardzo znacząco. Dopiero częstotliwość taktowania 12 MHz znacząco wpływa na jakość filtru(doświadczenia słuchowe). Funkcja myfunction() działa poprawnie do 12 MHZ , dla częstotliwości 2 MHz nie funkcjonuje ona poprawnie , tak samo jak filtr asemblerowy. Częstotliwość 1 MHz jest zabójcza dla wszystkich etapów , łącznie z pierwszym realizującym zwykłe przekazanie próbek.

e)Odpowiedzi na resztę pytań zawartych w instrukcji.

O ile szybszy jest filtr FIR zaimplementowany w asemblerze w porównaniu do jego odpowiednika w C?Wyciągając wnioski z wcześniejszych obliczeń dla częstotliwości 40 MHz(filtr w języku C), oraz porównując go do języka asemblerowego ,widzimy , że wartość 48 µs analogicznie w asemblerze wynosi w przybliżeniu 2 µs. Jest więc to stosunek szybkości 1x24 na korzyść asemblera.

W jaki sposób możesz zaimplementować własną funkcję asemblerową?

Jeśli uda nam się poprawnie zaimplementować kod w języku asemblera , samo dołączenie funkcji jest już trywialne. Zgodnie z doświadczeniami płynącymi z wykonywanego ćwiczenia wystarczy dołączyć nasz plik z rozszerzeniem .asm charakterystycznym dla języka asemblera(w ćwiczeniu funkcje C (.c) zastąpiliśmy funkcją asemblerową(.asm)).

W jaki sposób możesz określić, czy funkcję lepiej zaimplementować w języku asemblerowym, czy raczej pozostawić w C?

Analiza zasadności zastąpienia funkcji napisanej w języku C funkcją asemblerową , oparta musi być na naszych potrzebach czasowych , gdyż funkcje w języku asemblerowym są dużo szybsze. Biorąc pod uwagę prędkość wykonywania funkcji asemblerowej musimy zwrócić uwagę na dużo większą złożoność napisania funkcji wykonującej te same działania w języku asemblera niż w języku C. Jeśli potrzebujemy zysku na czasie wykonywania programu ,a możemy pozwolić sobie na poświęcenie większej ilości czasu na napisanie funkcji w języku asemblera oraz stworzeniu paru niedogodności wynikających z zastosowania asemblera , to jego zastosowanie jest zasadne.

  1. Wnioski

Język asemblera jest bardzo ważny w zagadnieniu optymalizacji programów wykorzystujących procesory sygnałowe. Programista powinien rozważyć wszystkie za i przeciw nim zdecyduje się na zastąpienie funkcji napisanej w języku C na funkcje asemblerową. W decyzji powinny pomóc mu założenia prędkościowe oraz optymalizacyjne dotyczące projektu oraz własne możliwości czasowe ,a także umiejętności zwłaszcza w zakresie pisania kodu w języku asemblera. Wykonanie ćwiczenia pozwoliło nam poznać kolejne przydatne opcje proponowane nam przez środowisko programistyczne CSS. Niewątpliwie nabycie umiejętności w zakresie użytku języka asemblerowego , pozwala twórcy na większą kontrolę swojego programu oraz umożliwia zwiększenie wydajności programu.

4). Wyposażenie/aparatura

Sprzęt laboratoryjny wykorzystany podczas realizacji:

Asembler

5

Autor sprawozdania

Temat ćwiczenia

Nr ćwicz.

Laboratorium procesorów sygnałowych 19.12.2014/Piątek 13:15

1

Autor sprawozdania

Temat ćwiczenia

Nr ćwicz.

Laboratorium procesorów sygnałowych data: ..........................



Wyszukiwarka

Podobne podstrony:
Lab4 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
Lab1 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
Lab2 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
Lab3 Procesory sygnałowe sprawozdanie PWR, PWr, sprawozdania
IiAS lab 1, Mechatronika AGH IMIR, semestr 6, Identyfikacja i analiza sygnałów 2, sprawozdania
Systemy przetwarzania sygnałów sprawozdanie nr 1, WI, Semestr VI, Systemy przetwarzania sygnałów
Systemy przetwarzania sygnałów sprawozdanie nr 6, WI, Semestr VI, Systemy przetwarzania sygnałów
Systemy przetwarzania sygnałów sprawozdanie nr 3, WI, Semestr VI, Systemy przetwarzania sygnałów
Optymalizacja procesów chemicznych i elektrochemiczne procesy produkcyjne, Uczelnia PWR Technologia
Systemy przetwarzania sygnałów sprawozdanie nr 2, WI, Semestr VI, Systemy przetwarzania sygnałów
Procesy przesiewania, sprawozdania agh gig przeróbka mechaniczna
PRÓBKOWANIE SYGNAŁU - Sprawozdanie z laboratorium Technologia Informacjna, Automatyka, Semestr 1, Te
Systemy przetwarzania sygnałów sprawozdanie nr 5, WI, Semestr VI, Systemy przetwarzania sygnałów
[BAT] BAT dla procesów rafineryjnych, Uczelnia PWR Technologia Chemiczna, Semestr 6, BAT-y egzamin
Mateusz Gasiorek 180514 sprawko, [W4] AIR SEMESTR III, TEORIA SYGNAŁÓW, SPRAWOZDANIE, SPRAWOZDANIE
Systemy przetwarzania sygnałów sprawozdanie nr 4, WI, Semestr VI, Systemy przetwarzania sygnałów
,miernictwo L,Pomiar wartości skutecznej napięć okresowo zmiennych metodą analogowego przetwarzania
Plaff J , Polityka rachunkowości w procesie badania sprawozdań finansowych, Wydaw UE, Katowice 2014

więcej podobnych podstron