logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[AVR] Detekcja kodu DTMF bez użycia zewnętrznego IC

MES Mariusz 12 Wrz 2011 11:39 2589 4
REKLAMA
  • #1 9918781
    MES Mariusz
    Poziom 36  
    Posty: 5452
    Pomógł: 8
    Ocena: 223
    Witam.

    Detekcję kodu DTMF najczęściej realizuje się chyba z pomocą kostek MT8870 / UM92870. Opis: Scalony dekoder kodu DTMF. Robił ktoś z Was / widział ktoś rozwiązanie gdzie detekcję kodów DTMF wykonuje się bez zewnętrznego układu?
  • REKLAMA
  • Pomocny post
    #2 9918850
    nsvinc
    Poziom 35  
    Posty: 2870
    Pomógł: 262
    Ocena: 88
    Proste - sygnał podłączasz pod ADC w procesorze, robisz sygnałowi FFT (albo może wystarczy po prostu kilka filtrów), i badasz składowe (widmo) tego sygnału...

    Potrzeba osiem filtrów na poniższe częstotliwości:
    [AVR] Detekcja kodu DTMF bez użycia zewnętrznego IC

    Mogą to być filtry IIR (mały nakład co sampel), przy czym obecność sygnału na wyjściu filtra musi triggerować licznik timeouta, który po pewnym czasie zresetuje filtr.
  • REKLAMA
  • #3 9918949
    KeinXor
    Poziom 24  
    Posty: 511
    Pomógł: 62
    Ocena: 63
    A czy nie prościej wykorzystać układ CM8870PI ...
  • REKLAMA
  • #4 9918966
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    MES Mariusz napisał:
    Robił ktoś z Was / widział ktoś rozwiązanie gdzie detekcję kodów DTMF wykonuje się bez zewnętrznego układu?
  • Pomocny post
    #5 9920006
    nibbit
    Poziom 20  
    Posty: 270
    Pomógł: 40
    Ocena: 4
    Tak. Robi się to za pomocą algorytmu Goertzela - jest to uproszczona wersja FFT, w której liczy się moc jednego prążka. Takie obliczenie robi się 8 razy dla każdego z tonów. Na STM32 poszło to bez problemu.

    EDIT:
    http://www.keil.com/download/docs/325.asp
    Te źródła działają bardzo dobrze.
REKLAMA