Digitální signálový procesor

Z Multimediaexpo.cz

(Přesměrováno)

Digitální signální procesor nebo také Digitální signálový procesor (zkratka DSP) je mikroprocesor, jehož návrh je optimalizován pro algoritmy používané při zpracování digitálně reprezentovaných signálů. Hlavním nárokem na systém bývá průběžné zpracování velkého množství dat "protékajících" procesorem.

Obsah

Typická aplikace DSP

Jedním ze základních důvodů k vytvoření DSP byl fakt, že klasické analogové obvody sloužící pro zpracování signálu bývají náročné z hlediska návrhu, nastavení, provedení a reprodukovatelnosti, přičemž jakmile jsou vyrobeny nelze jejich funkci téměř modifikovat. Ve srovnání s tím cena "digitálního" křemíku stále klesá a výkon roste.

Typický řetězec pro zpracování signálu v DSP

Na obrázku je typické blokové schéma zařízení využívajícího DSP. Analogový signál je nejprve převeden A/D převodníkem na digitální a v této podobě je průběžně zpracováván digitálním signálním procesorem. Zpracovaný digitální signál je D/A převodníkem zpět převeden na analogový. V mnoha zařízeních prochází signál tímto řetězcem v reálném čase, ale na některých signálech je potřeba provést tak složité a výpočetně náročné algoritmy, že to ani velmi rychlý DSP procesor v reálném čase nestihne a digitalizovaná data musí být nejprve zaznamenána do paměti a odtamtud teprve postupně zpracovávána.

V některých zařízeních je ovšem použita jen polovina tohoto typického řetězce nebo jsou sice použity obě poloviny, ale v samostatných oddělených řetězcích zpracovávaných samostatnými procesory. Užití části řetězce nastává například v CD přehrávači, kdy je signál z kompaktního disku čten v digitální podobě, zpracován digtálním signálním procesorem a nakonec převeden na analogový. Příkladem odděleného zpracování je mobilní telefon, ve kterém se obvykle zpracovává vysílaný a přijímaný signál odděleně v samostatných procesorech.

Architektura DSP

Typický digitální signální procesor je vystavěn na harvardské architektuře. Tato architektura má oproti von Neumannovu modelu počítače oddělenou paměť pro program od paměti pro data. V praxi to znamená, že data a kód programu využívají vlastní sběrnice, což zvyšuje propustnost systému.

Dalšího zrychlení výpočtů se dosahuje pomocí specializovaných výpočetních jednotek procesoru, které dokážou pracovat paralelně. Typický DSP má kromě aritmeticko-logické jednotky (ALU) navíc rychlou násobičku, která dokáže operaci násobení s přičítáním A ← A + B.k. Tato operace je základní operací většiny algoritmů digitálního zpracování signálu. DSP zpravidla obsahuje dvě nebo více nezávislých adresních jednotek, tzv. DAG (DataAddress Generator), adresujících data v lineárních nebo kruhových bufferech. Typický DSP tak umožňuje během jednoho taktu provést jeden krok skalárního násobení dvou vektorů (vynásobení hodnot ze dvou bufferů, přičtení do akumulátoru, posun na další index v bufferech). Procesor s klasickou architekturou by na stejnou operaci potřeboval několik taktů (např. 1. načtení hodnoty z prvního bufferu, 2. vynásobení hodnotou z druhého bufferu, 3. přičtení výsledku do akumulátoru, 4. posun adresy prvního bufferu, 5. posun adresy druhého bufferu).

Rozdělení DSP

Základním dělením digitálních signálních procesorů je dělení podle použité aritmetiky. Existují DSP pracující:

  • V celočíselné aritmetice
  • V aritmetice s pevnou řádovou čárkou
  • V aritmetice s plovoucí řádovou čárkou

Procesory s celočíselnou aritmetikou jsou sice levné, ale algoritmy výpočtů stále narážejí na nutnost převádět reálná čísla na celá a mezivýsledky výpočtů se musí neustále upravovat tzv. normalizacemi. Proto je vývoj algoritmů v těchto typech procesorů výrazně náročnější. Hodí se proto zejména pro masovou produkci výrobků, kde nevadí poněkud vyšší cena vývoje, ale důležitá je zejména cena samotné součástky.

Procesory s plovoucí řádovou čárkou jsou sice složitější a dražší, ale vývoj softwaru je pro ně výrazně jednodušší. Nevýhodou zde může být rovněž vyšší spotřeba energie.

Procesory s pevnou řádovou čárkou mohou sice být určitým kompromisem, ale prakticky je nelze jasně odlišit od procesorů pracujících v celočíselné aritmetice.

Dalším kritériem pro dělení digitálních signálních procesorů je šířka jejich datové sběrnice. Ta bývá od 16 bitů výše.

Další dělení může být na jednojádrové nebo vícejádrové DSP.

Vývoj a výroba DSP

Algoritmy zpracování digitálních signálů jsou často velmi složité a často se celé nebo alespoň jejich podstatné části v různých aplikacích opakují. Proto je často výhodné vyvíjet specializované procesory obsahující již potřebné algoritmy. Firmy zabývající se vývojem DSP se proto dělí na firmy vyvíjející hardware procesorů a firmy vyvíjející algoritmy. hardwarový návrh DSP je pak často prodáván jako tzv. DSP core (jádro). Toto jádro je použito k výrobě specializovaných integrovaných obvodů, které ho doplňují o další potřebné součástky - například A/D a D/A převodníky a paměť ROM obsahující patřičné algoritmy. Například typický DSP pro mobilní telefony obsahuje 2 - 4 samostatná DSP jádra a veškeré algoritmy potřebné pro zpracování hovorového signálu na GSM a naopak.

Nejčastěji používané algoritmy DSP

Nejčastějšími algoritmy zpracování digitálních signálů jsou algoritmy filtrů. Rozdělujeme je do dvou kategorií na filtry:

  • FIR - Finite Impulse Response
  • IIR - Infinite Impulse Response

Dalším velmi častým algoritmem jsou transformace signálu (například fourierova transformace nebo z-transformace používaná v kompresních algoritmech).

Externí odkazy