Sunteți pe pagina 1din 4

Generarea !i recep!ia tonurilor multifrecven!

" (DTMF)
DTMF (Dual Tone Multifrequency) reprezint" un sistem de semnalizare care nlocuie!te semnalizarea clasic",cu pulsuri,n re#eaua telefonic". De asemenea sistemul DTMF este utilizat !i n alte aplica#ii : sisteme bancare prin telefon,po!t" electronic" pe linie telefonic",control la distan#" prin telefon. Un semnal multifrecven#" (DTMF) reprezint" o sum" de dou" sinusoide convenabil alese; exist" mai multe standarde DTMF care difer" prin num"rul de frecven#e alese !i prin valoarea acestora. Cel mai utilizat standard este standardul CCITT care recomand" dou" grupuri de frecven#e : un grup de frecven#e joase (697 Hz,770 Hz, 852 Hz , 941 Hz) !i un grup de frecven#e nalte (1209 Hz , 1336 Hz, 1477 Hz, 1633 Hz). Un ton DTMF se obtine prin nsumarea unei frecven#e din grupul frecvn#elor joase cu o frecven#" din grupul frecven#elor nalte. Avantajele utiliz"rii procesorului de semnal ADSP 2101 n generarea !i recep#ia tonurilor DTMF snt urmatoarele: - precizie ridicat" n generarea frecven#elor necesare - modificarea simpl" a standardului DTMF (prin schimbarea structurii de date a programului) - posibilitatea implement"rii unor sisteme de generare !i recep#ie DTMF multicanal

Generarea tonurilor DTMF


Generarea tonurilor multifrecven#" poate fi realizat" simplu prin calculul matematic al celor 2 e!antioane de sinusoid" (corespunz"tor celor 2 frecven#e necesare) dup" care se efectueaz" suma acestora. Organigrama simplificat" pentru un program de generare a tonurilor DTMF este prezentat" n figura 1.

Initializari (intr.,pointeri,stare) citeste ton din memorie (f1,f2) Initializeaza var. pt. sin Intrerupere asincrona (IRQ2) Intrerupere periodica (SPORT0) (8 kHz)

Asteapta intr.

stare=stare+1 (mod 16) citeste ton din memorie (f1,f2) Initializeaza var. pt. sin

calculeaza sin(f1)

calculeaza sin(f2) scalare 1/2

calculeaza suma sinusoidelor Tabela de tonuri DTMF TAB f0,1 f02 , ... f15,1 f15,2 genereaza la iesire ton

ton DTMF= (1/2)(sin fi,1+sin fi,2)

Figura 1 Implementarea unui generator DTMF

Acest program genereaz" o succesiune cunoscut" de tonuri DTMF (citite din memorie) sau un ton de disc (440 Hz + 350 Hz). Recep!ia tonurilor DTMF Decodarea unui ton DTMF presupune extragerea celor 2 frecven#e (tonuri) din semnal !i testarea acestora pentru a se determina dac" semnalul este ton DTMF;dac" cele 2 frecven#e corespund standardului DTMF atunci se determin" codul de 4 bi#i asociat semnalului DTMF. Decodarea analogic" a tonurilor DTMF se realizeaz" prin detec#ia !i num"rarea trecerilor prin zero ale semnalului testat dup" ce acesta a fost trecut printr-un set de filtre trece band" foarte selective.n prelucrarea digital" este convenabil s" se efectueze o transformare din domeniul timp n domeniul frecven#" (transformarea Fourier discret" - DFT). Aceast" transformare este efectuat" utiliznd algoritmul Goertzel (/1/) care prezint" urmatoarele avantaje: - nu este necesar" stocarea a N e!antioane ale semnalului testat (N este num"rul de puncte n care se calculeaz" transformata Fourier discret"). - calculul unui punct al DFT se realizeaz" simultan cu citirea e!antionului curent al semnalului testat. - nu este necesar" adresarea cu inversarea bi#ilor (ca la FFT). - implementarea algoritmului Goertzel este simpl" (echivalent" cu un filtru IIR de ordin 2). n continuare este prezentat pe scurt algoritmul Goertzel. Figura 2 prezint" structura filtrului IIR de ordin 2 care implementeaz" algoritmul Goertzel. Formulele de calcul ale transformatei Fourier discrete snt urm"toarele: | X(k) | 2 = A 2 + B 2 - A.B.c k A = Q k (N-1); B = Q k (N-1); Q k (n) = c k .Q k (n-1) - Q k (n-2) + x(n); c k = 2. cos (2k/N); Alegerea lui N !i k se face conform rela#iei: f recven#a dorit" ( frecven#a de e!antionare) k N

----------------------------------- = -----

unde frecventa dorit" este frecven#a pentru care se calculeaz" transformata Fourier , iar N este num"rul de puncte n care se calculeaz" transformata Fourier.

Rezult" : k = (N.frecven#a dorita)/(frecven#a de e!antionare) ;trebuie ales N astfel nct k s" rezulte ct mai apropiat de un numar ntreg.

Figura 2 Algoritmul Goertzel Pentru detec#ia unui ton DTMF este necesar" determinarea amplitudinii celor 2 componente spectrale (frecven#ele care nsumate genereaz" tonul DTMF) !i a armonicelor acestora. Se alege N = 205 pentru frecven#ele fundamentale !i N = 201 pentru armonici. Rezult" urm"toarele valori pentru k !i coeficientul c k : frecventa 697 Hz 770 Hz 852 Hz 941 Hz 1209 Hz 1336 Hz 1477 Hz 1633 Hz frecventa 1394 Hz 1540 Hz 1704 Hz 1882 Hz 2418 Hz 2672 Hz 2954 Hz 3266 Hz k 18 20 22 24 31 34 38 42 k 35 39 43 47 61 67 74 82 coeff c k 1,703275 1,635859 1,562297 1,482867 1,163138 1,008835 0,790074 0,559454 coeff c k 0,917716 0,688934 0,449394 0,202838 -0,659504 -1,000000 -1,352140 -1,674783 3

Frecven#a de e!antionare este de 8 kHz. Testele efectuate dup" calculul DFT snt urm"toarele: 1. - determinarea frecven#ei de linie !i a frecven#ei de coloan" cu amplitudini maxime, din cele 8 componente spectrale asociate frecven#elor fundamentale. 2. - verificarea amplitudinii componentelor spectrale alese la punctul 1 (acestea trebuie s" dep"!easc" un prag minim impus). 3. - se verific" dac" mai exist" !i alte componente spectrale care au amplitudinea peste pragul impus la punctul 2 (acest lucru nu este permis pentru un ton DTMF). 4. - se calculeaz" diferen#a n decibeli dintre nivelul frecven#ei de rnd !i nivelul frecven#ei de coloan" (determinate anterior) !i se compar" cu un prag impus (altul dect cel definit anterior);diferen#a nu trebuie s" dep"!easc" acest prag. 5. - pentru frecven#ele de rnd !i de coloan" determinate se verific" amplitudinile componentelor spectrale ale armonicii a -2 -a ;acestea trebuie s" fie neglijabile. 6. - codul binar asociat tonului DTMF se genereaz" numai dac" acesta are durata corect" (tonul DTMF are o durat" de 40-50 ms ).

S-ar putea să vă placă și