13. wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · dtmf z parami funkcji...

35
13. Wybrane algorytmy cyfrowego przetwarzania sygnałów Dyskretna transformata Fouriera – algorytm FFT (ang. fast Fourier transform) Wykrywanie tonów DTMF (ang. Dual Tone Multi Frequency) Filtracja cyfrowa Efekty akustyczne Bibliografia: - Chassaing Rulph, Donald Reay, Digital Signal Processing and Applications with the C6713 and C6416 DSK, Wiley-Interscience 2008. - Sophocles J. Orfanidis, Introduction to Signal Processing, Copyright © 2010 by Sophocles J. Orfanidis, - DTMF Tone Generation and Detection An Implementation Using the TMS320C54x, Texas Instruments, Application Report, SPRA096A - May 2000

Upload: others

Post on 24-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13. Wybrane algorytmy cyfrowego przetwarzania sygnałów

• Dyskretna transformata Fouriera – algorytm FFT (ang. fast Fourier

transform)

• Wykrywanie tonów DTMF (ang. Dual Tone Multi Frequency)

• Filtracja cyfrowa

• Efekty akustyczne

Bibliografia:

- Chassaing Rulph, Donald Reay, Digital Signal Processing and Applications with the C6713 and C6416 DSK, Wiley-Interscience 2008.

- Sophocles J. Orfanidis, Introduction to Signal Processing, Copyright © 2010 by Sophocles J. Orfanidis,

- DTMF Tone Generation and Detection An Implementation Using the TMS320C54x, Texas Instruments, Application Report, SPRA096A - May 2000

Page 2: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Transformata Fouriera ma szerokie zastosowanie w analizie i syntezie

układów i systemów elektronicznych, gdyż pozwala na połączenie dwóch sposobów przedstawiania sygnałów — reprezentacji w dziedzinie czasu i reprezentacji w dziedzinie częstotliwości. Dyskretna transformata Fouriera (ang. discrete fourier transform - DFT) stosowana jest wtedy, gdy wartości liczbowe sygnału są określone dla skończonej liczby wartości zmiennej (czas) należącej do pewnego przedziału Najczęściej przyjmuje się, że wartości te są równoodległe o jednakowy przedział czasu gdzie jest częstotliwo-ścią próbkowania. Sygał jest zatem reprezentowany przez skończony ciąg wartości liczbowych — próbek sygnału. Zadanie obliczenia dyskretnej transformacji Fouriera sygnału sprowadza się do wyznaczenia wartości liczbowych sum

dla przekształcenia prostego (czas — częstotliwość) oraz sum

dla przekształcenia odwrotnego IDFT (ang. inverse DFT) - częstotliwość — czas, gdzie

to współczynnik obrotu (cosinus zespolony, zespolona funkcja wykładnicza).

x t N t

[0,T ]. t=T / N=1 / f p , f p

{x n} , n=0,1, , N −1 ,

X k =∑n=0

N −1

x nW Nnk k=0,1, , N−1 , 13.1.a

x n= 1N ∑

k=0

N −1

X k W N−nk n=0, 1, , N−1 , 13.1.b

x t

W Nm=e− j 2 m /N 13.1.c

Page 3: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Wyznaczenie DFT w oparciu o zależność (oraz IDFT z wykorzys-

taniem wymaga wykonania mnożeń oraz dodawań. Stosując algorytm szybkiej transformacji Fouriera FFT (odwrotnej szybkiej transformacji Fouriera) liczbę obliczeń można zmniejszyć do ok. Algorytm FFT o podstawie 2 (długość sekwencji wejściowej jest potęgą 2)

1. Podział przetwarzanej sekwencji na dwie połowy:

oraz

Transformatę DFT całej sekwencji z uwzględnieniem transformat obydwu części można zapisać odpowiednio

Podstawiając w drugiej sumie powyższego wzoru otrzymuje się

N

X k = ∑n=0

N /2−1

x nW Nnk ∑

n=N /2

N −1

x nW Nnk 13.1.d

13.1.a 13.1.b N 2

N /2⋅log2 N .

{x n}={x 0 , x 1 , , x N−1}

{x (0) , x (1) ,… , x( N2

−1)} {x( N2 ) , x( N

2+1),… , x ( N−1)}.

n=nN /2

X k = ∑n=0

N /2−1

x nW NnkW N

kN /2 ∑n=0

N /2−1

xnN2 W N

nk 13.1.e

Page 4: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Wykorzystując własność wyrażenia

zależność przyjmuje postać Z kolei wyrażenie dla parzystego i dla nieparzystego. Pozwala to zapisać równanie oddzielnie dla parzystego

nieparzystego.

X k = ∑n=0

N /2−1 [x n−1k xnN2 ]W N

nk . 13.1.f

W NkN /2=e− j k =e− j k=cos− j sink=−1k

13.1.c

13.1.e

−1k=1 k −1 kk

k

13.1.f

X k = ∑n=0

N /2−1 [x nxn N2 ]W N

nk . 13.1.g

X k = ∑n=0

N /2−1 [x n−xnN2 ]W N

nk . 13.1.h

Page 5: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Zastępując dla parzystych oraz dla nieparzystych

równania oraz dla przyjmują odpowiednio postać

Wykorzystując własność współczynnika obrotu

oraz stosując podstawienia

13.1.h 13.1.gk=2 k k

X 2k= ∑n=0

N /2−1 [x nxn N2 ]W N

2nk , 13.1.i

X 2k1= ∑n=0

N /2−1 [x n−xnN2 ]W N

n W N2nk . 13.1.j

k=2 k1 kk=0,1, , N /2−1

W N2m=W N /2

m , 13.1.k

13.1.c

a n=x nxnN2 , bn=x n−xn N

2 ,

Page 6: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Wyrażenia oraz przyjmują bardziej czytelną postać

dwóch -punktowych transformat DFT

13.1.j 13.1.i

X 2k= ∑n=0

N /2−1

a nW N /2nk , 13.1.l

X 2k1= ∑n=0

N /2−1

bnW Nn W N /2

nk . 13.1.m

N /2

Page 7: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT 2. Podział uzyskanych dwóch sekwencji oraz

na cztery sekwencje punktowe. Wyznaczenie transformat DFT dla poszczególnych sekwencji w sposób analogiczny do czynności w punkcie nr 1.

{a 0 , a 1 , , a N /2−1}N /4{b 0W N

0 , b1W N1 , , bN /2−1W N

N /2−1}

Page 8: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT 3. Przeprowadzanie dekompozycji DFT do momentu uzyskanych

sekwencji dwuelementowych tzw. ''motylków''.

W przypadku 2-punktowego DFT równanie przyjmuje postać

lub

W drugim równaniu wykorzystano własność współczynnika obrotu

13.1.0

N /2

X k =∑n=0

1

xnW 2nk k=0, 1 , 13.1.n

X 0=a 0W 20a 1W 2

0=a 0a 1X 1=a 0W 2

0a 1W 21=a 0−a 1 13.1.o

W 21=e− j 2 /2=−1 13.1.c

Page 9: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Omówiona metoda dekompozycji DFT nosi nazwę algorytmu FFT o

podstawie 2 z podziałem w dziedzinie częstotliwości DIF (ang. decimation in frequency ).

Page 10: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Jak można zauważyć w fazie końcowej algorytm ten wymaga posortowania

uzyskanych wartości widma. Można do tego wykorzystać metodę numeracji o odwróconej kolejności bitów (ang. bit-reversal procedure)

0 (000)2 → (000)

2 0

1 (001)2 → (100)

2 4

2 (010)2 → (010)

2 2

3 (011)2 → (110)

2 6

4 (100)2 → (001)

2 1

5 (101)2 → (101)

2 5

6 (110)2 → (011)

2 1

7 (111)2 → (111)

2 7

Page 11: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT

Page 12: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT Istnieje również metoda dekompozycji DFT z podziałem w dziedzinie

czasu DIT (ang. decimation in time ). Powstaje ona w wyniku rozkładu algorytmu spowodowanego podziałami danych wejściowych na ciagi danych parzystych i nieparzystych.

W NkN /2=−W N

k

X kN /2=C k −W Nk Dk , k=0 ,1, , N /2−1

W N2nk=W N /2

nk

Page 13: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT FFT o podstawie 2 z podziałem w dziedzinie czasu DIT.

Dla

X (k+4)=C (k )−W 8k D(k ) , k=0 , 1, 2,3.

X (k )=C (k )+W 8k D(k ) , k=0 , 1,2, 3,N=8

Page 14: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT W celu poprawy szybkości działania algorytmu stosuje się FFT o

podstawie 4 (z podziałem w dziedzinie częstotliwości DIF).

Przyjmując, że w drugiej, trzeciej i czwartej sumie odpowiednio: oraz otrzymuje się:

gdzie:

n=n+N /4, n=n+N /2 n=n+3N /4

Page 15: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT FFT o podstawie 4 z podziałem w dziedzinie częstotliwości DIF (cd.)

Przyjmując, że dla otrzymuje się:

W N4 =W N /4 k=0, 1,… ,(N /4)−1

Page 16: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.1. Dyskretna transformata Fouriera – algorytm FFT FFT o podstawie 4 z podziałem w dziedzinie częstotliwości DIF (cd.)

16 punktowa FFT

Page 17: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF Tony DTMF (ang. Dual Tone Multi Frequency) stosowane są w telefonach z

wybieraniem tonowym. Wciśnięcie dowolnego znaku na klawiaturze (najczęściej cyfry) jest sygnalizowane za pomocą dwóch sygnałów sinusoidalnych.

Własności tonów DTMF a) Projektowanie tonów DTM - pary częstotliwości tonów DTMF dobrano precyzyjnie według przyjętego planu - tony harmoniczne oraz produkty ich wzajemnych modulacji nie powodują nieroz- poznawalności sygnałów DTMF, - częstotliwości poszczególnych tonów dobrano tak, aby stosunek częstotliwości sąsiednich składowych był równy 21:19. Jest to nieznacznie mniej niż odległość

całego tonu muzycznego,

Page 18: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF

b) Wybór częstotliwości: - żadna z częstotliwości składowych nie jest wielokrotnością (składową harmoniczną) innej,

- suma dwóch częstotliwości nie jest równa żadnej częstotliwości składowej, - różnica dwóch częstotliwości nie jest równa żadnej częstotliwości składowej, c) Stosunek do tonów muzycznych: - tony nie powinny mieć częstotliwości muzycznych tzn. takich jak np.: 880Hz (a2), 990 (h2), 1056 (c2), - różnice między tonami nie powinny być interwałami muzycznymi takimi jak np.: sekunda, tercja, kwinta itp., d) Tolerancja częstotliwości: - częstotliwości tonów nie mogą się zmieniać w stosunku do swych nominalnych wartości bardziej niż ±1.8% - częstotliwości spoza zakresu są ignorowane przez systemy rozpoznawania znaków, e) Różnice w poziomach amplitud par sygnałów (ang.: „twist”): - w sytuacji idealnej amplitudy tonów powinny być takie same, - gdy sygnały są transmitowane w kanale telefonicznym amplitudy mogą się zmieniać, - różnice w poziomach amplitud par sygnałów (zwane „twist”) mogą być nie większe niż 3 dB,

Page 19: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF

- różnice większe niż 6 dB mogą wskazywać na pary sygnałów, które nie są tonami DTMF. f) Czasy trwania tonów DTMF: - każdy ton DTMF powinien trwać minimum 70 ms, - w niektórych krajach używane są tony o czasie trwania 45 ms, - rozmiar ramki czasowej algorytmu detekcji DTMF wynosi typowo 22.5 ms. - aby proces detekcji tonów DTMF był wiarygodny, potrzeba zwykle 2-3 ramek czasowych,

Metoda generowania tonów DTMF

Tony DTMF można wytwarzać za pomocą pary cyfrowych generatorów sinusoidalnych drugiego rzędu

Page 20: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF Tabela współczynników oraz

wartości początkowych oscylatorów par tonów DTMF

Metody rozpoznawania tonów DTMF

Tony DTMF stanowią stosunkowo nieliczny zbiór sygnałów sinusoidalnych, który dodatkowo podzielony został na dwie podgrupy o częstotliwościach [Hz]:

A={697, 770, 852, 941} oraz B={1209, 1336, 1477, 1633}.

Do wykrywania maksymalnie 16 par tego typu sygnałów można stosować metody uproszczone.

Page 21: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF

Metody rozpoznawania tonów DTMF (c.d.)

1. Metoda korelacyjna oparta o wyznaczanie funkcji korelacji badanego sygnału DTMF z parami funkcji

sin(2π fd t) oraz cos(2π fd t),

gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477, 1633}.

Użycie par sinus-cosinus pozwala w prosty sposób rozwiązać problem analizy fazy tonów składowych.

Po wyznaczeniu wszystkich funkcji korelacji wybiera się po jednym przedstawicielu z każdej grupy tonów A i B posiadającym największą wartość współczynnika korelacji. Na tej podstawie ustala się, którą parę częstotliwości DTMF jest badany sygnał, a tym samym jaki znak reprezentuje.

Page 22: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF

Metody rozpoznawania tonów DTMF (c.d.)

2. Wyznaczenie DFT za pomocą algorytmu FFT i przeprowadzenie analizy w sposób podobny jak w metodzie korelacyjnej wybranych prążków modułu widma.

Stosując 256 punktowy algorytm FFT dla wektora częstotliwości tonów

A={697, 770, 852, 941} będą to prążki o numerach 22, 25, 28, 31 a dla wektora B={1209, 1336, 1477, 1633} odpowiednio 39, 43, 47, 52.

3. Użycie banku „wąskich” środkowo przepustowych filtrów FIR o częstotliwościach środkowych odpowiadającym poszczególnym tonom DTMF.

Przeprowadzenie analizy porównawczej w sposób podobny jak w metodzie korelacyjnej średnich mocy sygnałów na wyjściach filtrów.

Page 23: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF

Metody rozpoznawania tonów DTMF (c.d.)

4. Użycie algorytmu Goertzela. Metoda ta jest stosowana, gdy w analizie widmowej estymowana jest tylko niewielka liczba prążków widma – sygnał jest sumą kilku składowych sinusoidalnych.

Algorytm ten wykorzystuje własność DFT (którą można wykazać po kilku przekształceniach), iż amplitudę pojedynczego prążka widma uzyskamy na wyjściu filtru IIR o postaci:

i transmitancji wyrażonej równaniem gdzie:

x (n) vk (n) yk (n)

H (z)

H (z)=1−W N

k z−1

1−2 cos(2π k / N ) z−1+z−2 , W Nk =e− j2π k /N .

Page 24: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF

Metody rozpoznawania tonów DTMF (c.d.)

Prążek widma (k-ty prążek) otrzymuje się obliczając N iteracji wyrażenia

gdzie i w N- tym kroku wyznaczając

Ostatnim etapem jest policzenie kwadratu modułu

Postępując w sposób opisany powyżej dla wszystkich prążków odpowiadających

częstotliwościom tonów DTMF, uzyskuje się zbiór wartości, które poddane

podobnej analizie jak w metodzie korelacyjnej pozwalają wyznaczyć

odpowiednie pary tonów.

X (k )

vk (n)=2cos (2π k / N ) vk (n−1)− vk (n−2)+ x(n)

vk (−1)=vk (−2)=0

X (k )= yk (N )=vk (N )−W Nk vk (N−1).

∣X (k )∣2 .

Page 25: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF Omówienie metody korelacyjnej rozpoznawania tonów DTMF

Zakłada się, że analizowany cyfrowy sygnał DTMT ma postać

gdzie: -amplituda, to częstotliwość próbkowania [Hz], częstotliwości pierwszej grupy tonów, częstotliwości drugiej grupy tonów DTMF. Ze względu na występowanie nieznanych wartości faz oraz analizy korelacyjnej należy użyć par sinus-cosinus.

Kolejne etapy metody korelacyjnej: 1. Dla każdej częstotliwości ze zbiorów i policzyć funkcję korelacji z badanym sygnałem

f s=8000

x (n)=C (sin(2π f A n/ f s+φ 1)+sin (2π f B n/ f s+φ 2)) ,

Cf A={697,770,852,941}f B={1209, 1336, 1477,1633}

φ1 φ1

f A f Bx (n).

W sin 697=∑n=1

N

x (n)sin(2π 697 n/8000) , W cos 697=∑n=1

N

x(n)cos (2π 697n /8000) ,

W sin 770=∑n=1

N

x(n)sin(2π 770 n/8000) , W cos 770=∑n=1

N

x (n)cos(2π 770n/8000) ,

W sin1477

=∑n=1

N

x (n)sin (2π 1477 n/8000) , W cos1477

=∑n=1

N

x (n)cos(2π 1477 n/8000) ,

Page 26: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.2. Wykrywanie tonów DTMF Omówienie metody korelacyjnej rozpoznawania tonów DTMF (c.d.)

2. Dla każdej częstotliwości znaleźć „uśredniony” współczynnik korelacji będący miarą podobieństwa badanego sygnału z danym tonem DTMF. Przykładowo można zastosować następujące przekształcenie:

3. Wybrać dwa największe współczynniki pierwszy, spośród wartości odpowiadających grupie tonów A: raz drugi dla grupy tonów B:

4. Określić, czy badany sygnał zawiera tony DTMF – czy współczynniki i przekraczają przyjęty poziom odniesienia.

5. Jeśli jest sygnałem DTMF określić jaki znak reprezentuje, np. gdy a sygnał reprezentuje znak '6' itd.

W 2=max (W 1209 ,W 1336 ,W 1477).

x (n)

W 1=max(W 697 , W 770 ,W 852 ,W 941) ,

W 1

W 2=W 1477

W 697=√W sin 6972 +W cos 697

2 ,W 770=√W sin 770

2 +W cos 7702 ,

⋯W 1477=√W sin 1477

2 +W cos 14772 ,

W 2

W 1=W 770

Page 27: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 1. Echo - pojedyncze odbicie:

- opóźnienie czasowe dotarcia do słuchacza dźwięku odbitego od ściany (dźwięku pośredniego) w stosunku do dźwięku bezpośredniego,

- miara strat wynikających z transmisji i odbicia dzięku pośredniego

Transmitancja oraz odpowiedź impulsowa:

Transmitancja otrzymana przez podstawienie oraz moduł transmitancji :

D

a ∣a∣⩽1 .

H (z)

H (ω ) z=e jω

∣H (ω )∣

.

y (n)=x (n)+a x (n−D)

Page 28: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 1. Echo c.d.:

Schemat blokowy algorytmu oraz wykres odpowiedzi impulsowej:

Układ generujący echo pracuje jako filtr grzebieniowy FIR o maksimach rozmieszczonych wokół częstotliwości , gdzie jest częstotliwością próbkowania oraz minimach odpowiadających zerom wielomianu

gdzie ρ=a D.

f 1= f s/ D f s

Page 29: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 1. Echo c.d.:

Pulsacje maksimów - częstotliwość podstawowa repetycji:

Pulsacje minimów:

Przykład dla :

Moduł transmitancji fitru grzebieniowego oraz rozmieszczenie zer na płaszczyźnie zespolonej:

ω k=(2 k )π / D , k=0,1, ... , D−1 .

ω k=(2k+1)π k / D , k=0,1, ... , D−1 .

D=8

Page 30: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 1. Echo c.d. - odejmowanie sygnału odbicia:

Transitancje oraz :

Pulsacje maksimów - częstotliwość podstawowa repetycji:

Pulsacje minimów:

Przykład dla :

Moduł transmitancji fitru grzebieniowego oraz rozmieszczenie zer na płaszczyźnie zespolonej:

H (z)

.

y (n)=x (n)−a x (n−D)

H (ω )

ω k=(2k+1)π k / D , k=0,1, ... , D−1 .

ω k=(2 k )π / D , k=0, 1, ... , D−1 ,

D=8

Page 31: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 2. Pogłos - wielokrotne odbicia.

Jeśli dodamy trzy kolejne echa otrzymamy filtr: Korzystając z wzoru na sumę skończonego szeregu geometrycznego transmitancję można wyrazić w postaci:

Zera licznika nie pokrywają się z zerami mianownika, które to generują maksima na charakterystyce częstotliwościowej filtru dla pulsacji będących wielokrotnością liczby . Maksima te są równe

Przykład dla : moduł transmitancji fitru grzebieniowego oraz rozmieszczenie zer na płaszczyźnie zespolonej:

H (z)

y (n)=x (n)+a x (n−D)+a2 x (n−2 D)+a3 x(n−3 D)

k ,H (ω k )=1+a+a2+a3 .4

D=8

Page 32: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 2. Pogłos c.d.- wielokrotne odbicia.

Jeśli dodamy nieskończoną liczbę kolejnych ech to otrzymamy filtr:

Korzystając z wzoru na sumę nieskończonego szeregu geometrycznego transmitancję można wyrazić w postaci:

Jest to transmitancja filtru grzebieniowego typu IIR - filtru pogłosowego (rewerberatora) opisanego równaniem różnicowym:

Transmitancja ma bieguny w punktach gdzie oraz Bieguny te są równomiernie rozłożone na okręgu o promieniu Częstotliwość podstawowa repetycji jest równa gdzie to częstotliwość próbkowania.

H (z)

y (n)=x (n)+a x (n−D)+a2 x (n−2 D)+a3 x(n−3 D)+.......

H (z)=1+a z−D+a2 z−2D+a3 z−3D+....... = 11−a z−D

y (n)=a y(n−D)+x (n).

H (z) pk=ρ e jω k , k=0,1 ,... , D−1,ω k=2π k / D ρ=a1/D .

ρ .f 1= f s/ D Hz (ω 1=2π /D) , f 1

Page 33: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 2. Pogłos c.d.- wielokrotne odbicia.

Przykład dla : schemat blokowy filtru fitru grzebieniowego IIR, odpowiedź impulsowa, moduł transmitancji oraz rozmieszczenie biegunów na płaszczyźnie zespolonej:

D=8

Page 34: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 3. Flanger - powolne okresowe zmiany opóźnienia.

gdzie częstotliwość powolnych zmian opóźnienia.

Schemat blokowy filtru grzebieniowego oraz jego moduł transmitancji:

Fd

y (n)=x (n)+a x (n−d (n))

d (n)=D2

(1−cos (2π F d n))

Page 35: 13. Wybrane algorytmy cyfrowego przetwarzania sygnałów · 2014. 10. 2. · DTMF z parami funkcji sin(2π fd t) oraz cos(2π fd t), gdzie fd ={ 697, 770, 852, 941, 1209, 1336, 1477,

13.4. Efekty akustyczne 3. Chorus - efekt chóru.

gdzie to generatory wolnozmieniających się liczb losowych o wartości średniej równej zero. Przedział zmian: [-0,5; 0,5).

Schemat blokowy filtru grzebieniowego:

ν 1(n) ,ν 2(n)

y (n)=x (n)+a1 x (n−d 1(n))+a2 x (n−d 2(n))

d 1(n)=D(0,5+ν 1(n)) , d 2(n)=D(0,5+ν 2(n)) ,