Aritmetičke operacije su fundamentalne u digitalnoj obradi signala (DSP), utičući na performanse sistema, korišćenje resursa i ukupnu funkcionalnost. Kao vodeći dobavljač DSP-a, razumijemo značaj DSP aritmetičkih operacija u fiksnoj tački, koje se široko koriste zbog svoje isplativosti, niske potrošnje energije i lakoće implementacije u hardveru. U ovom blogu ćemo istražiti kako izvoditi aritmetičke operacije u DSP-u s fiksnom tačkom.
Razumijevanje fiksnog – predstavljanja tačaka
Prije nego što uđemo u aritmetičke operacije, ključno je razumjeti reprezentaciju fiksnih tačaka. Za razliku od brojeva s pomičnim zarezom, koji mogu predstavljati širok raspon veličina s promjenjivim eksponentom i mantisom, brojevi s fiksnim zarezom imaju fiksni broj bitova za cijeli broj i razlomke.
Broj fiksne tačke je tipično predstavljen kao (Qm.n), gde je (m) broj celobrojnih bitova, a (n) broj razlomačkih bitova. Na primjer, (Q7.8) broj koristi 7 bitova za cijeli broj i 8 bitova za razlomak, dozvoljavajući maksimalnu vrijednost cijelog broja od (2^7 - 1=127) i razlomičku rezoluciju od (2^{- 8}).
Izračunavanje stvarne vrijednosti broja fiksne točke (x) predstavljenog u (Qm.n) formatu je jednostavno. Ako je (x) predpisani broj, možemo koristiti sljedeću formulu:
[x=\text{sign bit}\times(- 1)\times2^{m}+ \sum_{i = 0}^{m - 1}x_{i}\times2^{i}+\sum_{j = 0}^{n - 1}x_{-(j + 1)}\times2^{-(j + 1)}
gdje su (x_{i}) i (x_{-(j + 1)}) pojedinačni bitovi cjelobrojnog i razlomačnog dijela.
Sabiranje i oduzimanje
Sabiranje i oduzimanje su najosnovnije aritmetičke operacije u fiksnoj tački DSP. Prilikom sabiranja ili oduzimanja dva broja fiksnih tačaka istog formata (npr. (Qm.n)), možemo jednostavno izvršiti operaciju nad binarnim prikazima na nivou bita, slično normalnom binarnom sabiranju i oduzimanju.
Međutim, moramo biti oprezni u pogledu prelijevanja. Prelivanje se događa kada rezultat operacije premašuje maksimalnu reprezentabilnu vrijednost u datom formatu fiksne točke. Na primjer, u 8-bitnom potpisanom (Q3.4) formatu, maksimalna vrijednost je (3.9375_{10}(011.1111_2)). Ako dodamo dva broja i rezultat premaši ovu vrijednost, dogodit će se prelijevanje.
Za upravljanje prelivanjem možemo koristiti tehnike kao što je aritmetika zasićenja. U aritmetici zasićenja, kada dođe do prelivanja, rezultat se postavlja na maksimalnu ili minimalnu reprezentabilnu vrijednost u formatu. Na primjer, ako sabiramo dva (Q3.4) broja i rezultat bi trebao biti (4.0), on će biti zasićen na (3.9375).
Množenje
Množenje u fiksnoj tački DSP je složenije od sabiranja i oduzimanja. Kada se množe dva broja fiksnih tačaka (A) u (Qm_1.n_1) formatu i (B) u (Qm_2.n_2) formatu, rezultat (P = A\puta B) će biti u (Q(m_1 + m_2).(n_1 + n_2)) formatu.
Na primjer, ako pomnožimo (Q1.3) broj sa (Q2.2) brojem, rezultat će biti u (Q(1 + 2).(3+2)=Q3.5) formatu. Ovo često dovodi do povećanog broja bitova, što može zahtijevati više hardverskih resursa.
Da bismo rezultat prilagodili željenom formatu, moramo izvršiti operaciju skaliranja. Faktori skaliranja zavise od originalnog i ciljnog formata fiksne točke. Uobičajeni pristup je pomicanje rezultata udesno kako bi se smanjio broj razlomaka bitova. Međutim, to može uzrokovati gubitak preciznosti.
Division
Deljenje je računarski najskuplja aritmetička operacija u DSP-u sa fiksnom tačkom. Jedan od načina da se izvrši dijeljenje je korištenje iterativnog algoritma, kao što je Newton-Raphsonova metoda.
Newton-Raphsonova metoda se koristi za pronalaženje recipročne vrijednosti broja. Dati broj (x), želimo pronaći (y=\frac{1}{x}). Iterativna formula za Newton-Raphsonovu metodu je:
[y_{k + 1}=y_{k}(2 - x\puta y_{k})]
gdje je (y_0) početna pretpostavka. Nakon pronalaženja recipročne vrijednosti, možemo je pomnožiti brojilom da dobijemo rezultat dijeljenja.


Drugi pristup je korištenje tabele pretraživanja. Možemo unaprijed izračunati rezultate dijeljenja za skup ulaznih vrijednosti i pohraniti ih u tablicu. Kada je potrebna operacija dijeljenja, možemo potražiti rezultat u tabeli na osnovu ulaznih vrijednosti. Međutim, ova metoda zahtijeva veliku količinu memorije za visoko preciznu podjelu.
Praktična razmatranja
Kada implementiramo aritmetičke operacije u DSP s fiksnom tačkom, moramo uzeti u obzir nekoliko praktičnih aspekata.
Prvo, preciznost je kritičan faktor. Izbor formata fiksne tačke direktno utiče na preciznost rezultata. Veći broj frakcijskih bitova pruža veću preciznost, ali također može povećati složenost hardvera.
Drugo, hardverski resursi su ograničeni. Operacije množenja i dijeljenja često zahtijevaju više hardverskih resursa od sabiranja i oduzimanja. Moramo optimizirati algoritme i formate podataka kako bismo smanjili potrošnju resursa.
Treće, performanse su ključne u aplikacijama u realnom vremenu. Moramo osigurati da se aritmetičke operacije mogu završiti u potrebnom vremenskom okviru. Ovo može uključivati korištenje tehnika cjevovoda ili paralelne obrade kako bi se ubrzale operacije.
Aplikacije i slučajevi upotrebe
Aritmetičke operacije fiksne tačke se široko koriste u različitim DSP aplikacijama. Na primjer, u audio obradi, fiksni DSP-ovi se koriste za zadatke kao što su filtriranje, ekvilizacija i kompresija. U ovim aplikacijama, isplativost i niska potrošnja energije fiksnih DSP-ova čine ih idealnim izborom.
U telekomunikacijama, fiksni DSP-ovi se koriste za modulaciju signala, demodulaciju i ispravljanje grešaka. Sposobnost izvođenja brzih aritmetičkih operacija u formatu fiksne tačke je od suštinskog značaja za ispunjavanje zahtjeva velike brzine modernih komunikacionih sistema.
Povezane veze
- Mononatrijev fosfat MSP Food Grade CAS:7558-80-7 aditiv za hranu
- Tetranatrijum pirofosfat E452(i) za preradu morskih plodova TSPP Na2H2P2O7
- Natrijum tripolifosfat 95% STPP E451 za hranu kao sredstvo za zadržavanje vode
Zaključak
Izvođenje aritmetičkih operacija u DSP-u s fiksnom tačkom zahtijeva dobro razumijevanje reprezentacije fiksne točke, kao i tehnike za rukovanje sabiranjem, oduzimanjem, množenjem i dijeljenjem. Kao dobavljač DSP-a, posvećeni smo pružanju visokih performansi fiksnih DSP rješenja koja zadovoljavaju različite potrebe naših kupaca.
Ako ste zainteresovani za naše DSP proizvode sa fiksnom tačkom ili imate bilo kakva pitanja o aritmetičkim operacijama u DSP-u, slobodno nas kontaktirajte za raspravu o nabavci. Radujemo se što ćemo raditi s vama na postizanju vaših ciljeva digitalne obrade signala.
Reference
- "Digitalna obrada signala: principi, algoritmi i aplikacije" John G. Proakis i Dimitris G. Manolakis.
- "Digitalna obrada signala u fiksnoj tački: Uvod" Richarda G. Lyonsa.
