Adam Korzeniewski p Katedra Systemów Multimedialnych

Podobne dokumenty
Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.

Przekształcenie Fouriera i splot

Splot i korelacja są podstawowymi pojęciami przetwarzania sygnałów.

Andrzej Leśnicki Laboratorium CPS Ćwiczenie 7 1/7 ĆWICZENIE 7. Splot liniowy i kołowy sygnałów

Przetwarzanie potokowe pipelining

Architektura potokowa RISC

Architektura mikroprocesorów z rdzeniem ColdFire

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura Systemów Komputerowych

Ćwiczenie 3. Właściwości przekształcenia Fouriera

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 04

Kod U2 Opracował: Andrzej Nowak

Programowanie Niskopoziomowe

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Technika audio część 2

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura typu Single-Cycle

Plan wykładu. Własności statyczne i dynamiczne elementów automatyki:

Budowa komputera Komputer computer computare

9. Dyskretna transformata Fouriera algorytm FFT

Architektura systemów komputerowych. dr Artur Bartoszewski

5. Rozwiązywanie układów równań liniowych

Magistrala systemowa (System Bus)

Dyskretne układy liniowe. Funkcja splotu. Równania różnicowe. Transform

Budowa i zasada działania komputera. dr Artur Bartoszewski

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

SPRZĘTOWA REALIZACJA FILTRÓW CYFROWYCH TYPU SOI

Pracownia Komputerowa wykład V

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35

FFT i dyskretny splot. Aplikacje w DSP

Architektura systemów komputerowych. Przetwarzanie potokowe I

Struktura i działanie jednostki centralnej

LEKCJA TEMAT: Współczesne procesory.

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Logiczny model komputera i działanie procesora. Część 1.

Ćwiczenie 4. Filtry o skończonej odpowiedzi impulsowej (SOI)

Generowanie sygnałów na DSP

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe używane w technice komputerowej

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

3. FUNKCJA LINIOWA. gdzie ; ół,.

WPROWADZENIE Mikrosterownik mikrokontrolery

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Urządzenia zewnętrzne

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

Algebra. Jakub Maksymiuk. lato 2018/19

Luty 2001 Algorytmy (7) 2000/2001

Transformata Laplace a to przekształcenie całkowe funkcji f(t) opisane następującym wzorem:

Zastowowanie transformacji Fouriera w cyfrowym przetwarzaniu sygnałów

0 + 0 = 0, = 1, = 1, = 0.

3. Macierze i Układy Równań Liniowych

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Programowalne układy logiczne

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Szybka transformacja Fouriera (FFT Fast Fourier Transform)

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Definicja i własności wartości bezwzględnej.

wagi cyfry pozycje

Architektura typu multi cycle

DYSKRETNA TRANSFORMACJA FOURIERA

Transformata Fouriera i analiza spektralna

Wykład z Technologii Informacyjnych. Piotr Mika

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1

Podstawy Automatyki. wykład 1 ( ) mgr inż. Łukasz Dworzak. Politechnika Wrocławska. Instytut Technologii Maszyn i Automatyzacji (I-24)

Pracownia Komputerowa wyk ad V

Arytmetyka liczb binarnych

Przykładowe pytania DSP 1

, A T = A + B = [a ij + b ij ].

Witold Komorowski: RISC. Witold Komorowski, dr inż.

Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski p Katedra Systemów Multimedialnych

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/ / 27

Instrukcja do laboratorium z cyfrowego przetwarzania sygnałów. Systemy i wybrane sposoby ich opisu

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Zapis liczb binarnych ze znakiem

Metoda eliminacji Gaussa. Autorzy: Michał Góra

2. Szybka transformata Fouriera

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

CYFROWE PRZETWARZANIE SYGNAŁÓW

Cyfrowe przetwarzanie sygnałów Jacek Rezmer -1-

organizacja procesora 8086

Organizacja typowego mikroprocesora

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych

Tadeusz Pankowski

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Filtry FIR i biblioteka DSPLIB

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Architektura komputerów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

WYRAŻENIA ALGEBRAICZNE

Transkrypt:

Adam Korzeniewski adamkorz@sound.eti.pg.gda.pl p. 732 - Katedra Systemów Multimedialnych

Operacja na dwóch funkcjach dająca w wyniku modyfikację oryginalnych funkcji (wynikiem jest iloczyn splotowy). Jest działaniem przemiennym (podobnie jak mnożenie)

Algorytm FFT jest tak bardzo skuteczny, że w przypadku obliczania splotu kołowego y n x n h n 2 ( N mnożeń i N 1 2 dodawań) opłaca się obliczyć FFT FFT widma sygnałów x n X k, h H k, pomnożyć widma Y k k H k i obliczyć odwrotne przekształcenie Y k y n. X IFFT

Ten sposób obliczania splotu nazywa się szybkim splotem, gdyż obliczenia trwają krócej już od N = 32 w przypadku splatania sygnałów zespolonych i od N = 64 w przypadku splatania sygnałów rzeczywistych. Korzystne jest to, że w tym zastosowaniu FFT nie ma potrzeby przenumerowywania próbek. Dodatkowe korzyści odnosi się w typowej sytuacji, gdy splot jest obliczany dla różnych sygnałów x[n] przy tej samej funkcji h[n]. Wystarczy wtedy obliczyć przekształcenie tylko jeden raz.

x FFT x h y x h ş X k H k Y k X k H k IFFT y FFT h

Jeżeli sygnał wejściowy x[n] jest bardzo długi (czy wręcz nieskończony, tak jak to jest przy przetwarzaniu w czasie rzeczywistym sygnałów dźwiękowych, czy obrazów ruchomych), to jego splatanie z odpowiedzią impulsową filtru h[n] o długości K jest rozbijane na sumę szybkich splotów.

Sygnał wejściowy należy rozbić na sumę bloków, każdy o długości M. Splot liniowy dwóch sygnałów o długościach M i K daje sygnał o długości M + K - 1. Splot kołowy powinien mieć taką właśnie długość N = M + K - 1, aby równał się splotowi liniowemu. Dlatego przed wykonaniem splotu kołowego sygnał h[n] jest uzupełniany M-1 zerami do N oraz blok sygnału wejściowego x i [n] jest uzupełniany K-1 zerami do N. Wyniki kolejnych splotów kołowych y i [n] są sumowane na zakładkę o długości K-1, stąd metoda ma angielską nazwę overlap-add.

x K h N M + K 1 M 1 0 Uzupełnienie zerami M M M M K 1 0 x 1 y 1 M K 1 + Uzupełnienie zerami M K 1 0 x 2 y 2 M K 1 + Uzupełnienie zerami M K 1 0 x 3 y 3 M L K 1

Równoważny sposób postępowania polega na zapamiętaniu K-1 końcowych próbek z poprzedniego bloku x i-1 [n] i uzupełnieniu tymi próbkami początku następnego bloku x i [n]. Tym razem splot kołowy daje K-1 początkowych próbek fałszywych (różniących się od wyniku splotu liniowego) i są one odrzucane z sygnału wyjściowego.

x K h K 1 0 Uzupełnienie zerami K 1 Odrzuć to N M + K 1 M 1 0 Uzupełnienie zerami M M M x 1 M y 1 M K 1 K 1 Odrzuć to Zapamiętaj i przenieś x 2 y 2 M M K 1 K 1 Odrzuć to Zapamiętaj i przenieś x 3 y 3 M M L

Liczba kolejnych bloków próbek sygnału wejściowego x[n] może być nieskończenie wielka. Ten sposób wprowadzania może być stosowany w procesorach sygnałowych przetwarzających sygnały cyfrowe w czasie rzeczywistym. Kolejne próbki ze źródła sygnału (mikrofon, kamera telewizyjna) są wprowadzane do odbiorczego bufora kołowego, a wyniki są wyprowadzane do nadawczego bufora kołowego.

Wykonanie programu komputerowego, to wykonanie sekwencji instrukcji. Instrukcję można przedstawić jako 5 bloków (stopni), każdy wykonywany w 1 cyklu zegara. Bloki oznaczymy literami F, D, E, A, S (pierwsze litery nazw w języku angielskim).

E F D ALU A S pobranie instrukcji z pamięci (ang. instruction fetch) dekodowanie instrukcji (ang. instruction decode) wykonanie instrukcji (ang. instruction execute) otwarcie dostępu do pamięci (ang. memory access) zapisanie wyniku wykonania instrukcji (ang. store, write back)

W zwykłym (niepotokowym) przetwarzaniu najpierw wykonuje się bloki pierwszej instrukcji, następnie drugiej instrukcji, itd. Wyniki wykonania kolejnych instrukcji są zapisywane co 5 cykli zegara. Przetwarzanie niepotokowe Clock cycle 1 2 3 4 5 6 7 8 9 10 Instr. 1 F1 D1 E1 A1 S1 Instr. 2 F2 D2 E2 A2 S2

Procesor sygnałowy ma logikę przystosowaną do wykonywania wszystkich bloków jednocześnie, dzięki czemu jest możliwe przetwarzanie potokowe. Począwszy od 5-go cyklu zegara wykonywanych jest 5 bloków jednocześnie, każdy dla innej, kolejnej instrukcji. Wyniki S1, S2,... są dostępne w kolejnych cyklach zegara (5-tym, 6-tym, itd.), a nie po co 5-tym cyklu zegara, jak to było w przetwarzaniu niepotokowym.

Potencjalnie jest możliwe 5-cio krotne zwiększenie prędkości obliczeń. Niestety trzeba z góry przewidzieć sytuacje konfliktowe, hazard (w literaturze naukowej wymienia się kilkadziesiąt takich sytuacji). Na przykład w przypadku instrukcji skoku, w najgorszym przypadku trzeba wycofać instrukcje, które następowały po instrukcji skoku i rozpocząć zapełnianie potoku od adresu, do którego nastąpił skok.

Clock cycle Przetwarzanie potokowe 1 2 3 4 5 6 7 8 9 10 Instr. 1 F1 D1 E1 A1 S1 Instr. 2 F2 D2 E2 A2 S2 Instr. 3 F3 D3 E3 A3 S3 Instr. 4 F4 D4 E4 A4 S4 Instr. 5 F5 D5 E5 A5 S5 Instr. 6 F6 D6 E6 A6 S6

KONIEC