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

Jak ustalić threshold dla algorytmu Goertzela przy wykrywaniu częstotliwości?

robiw 23 Wrz 2019 15:23 1287 6
  • #1 18182222
    robiw
    Poziom 26  
    Witam Kolegów,
    Zastanawiam się nad zastosowaniem algorytmu Goertzela do poszukiwania konkretnej częstotliwości w sygnale dyskretnym pozyskanym z ADC. Z teorii wiem, że wartość Magnitude dla tego algorytmu jest największa dla poszukiwanej częstotliwości jednak jak odróżnić tą wartość od innych wartości Magnitude dla pozostałych częstotliwości, innymi słowy jak ustalić threshold? Oczywiście mógłbym sprawdzać Magnitude dla częstotliwości w pobliżu częstotliwości szukanej ale to bezcelowe bo po pierwsze i tak nie daje pewności co do wyniku a po drugie zaprzepaszcza cały sens algorytmu Goertzela, który sprowadza się do znacznego uproszczenia w stosunku do FFT? Prośba o praktyczne wskazówki...robiw
  • #2 18183925
    Konto nie istnieje
    Poziom 1  
  • #3 18184615
    robiw
    Poziom 26  
    Hej,
    Jedyne, co muszę ustalić na etapie projektowania to potrzebne współczynniki dla danej częstotliwości poszukiwanej. Na etapie działania programu, jako wynik działania funkcji dostaję wartość Magnitude i na podstawie jej wielkości muszę ocenić czy poszukiwana częstotliwość znajduje się w spróbkowanym sygnale czy nie...czyli muszę ocenić tą otrzymaną wartość. Jak? robiw
  • #4 18184670
    Konto nie istnieje
    Poziom 1  
  • #5 18185336
    robiw
    Poziom 26  
    Hej,
    Dzięki za dogłębne wyjaśnienie. Oczywiście chcę wykryć obecność danej częstotliwości a nie fakt czy jest dominująca czy też nie. Pytam zupełnie teoretycznie, gdyż chcę zrozumieć jak działa ten algorytm. Niemniej jednak nie do końca się rozumiemy. Tutaj jest fanie wyjaśnione, jak działa ten algorytm i jak go zastosować w mikrokontrolerze:

    https://www.embedded.com/design/configurable-systems/4024443/The-Goertzel-Algorithm

    I teraz...wynikiem wykonania algorytmu na sygnale jest...wartość liczbowa...która przyjmuje największą wielkość, gdy w spróbkowanym sygnale znajduje się poszukiwana częstotliwość. Właśnie, jakaś wartość...powiedzmy, że "wyjdzie" 156123? I co teraz? Jak określić czy taka wielkość oznacza, że szukana częstotliwość występuje w próbkowanym sygnale czy nie??? robiw
  • #6 18185366
    Konto nie istnieje
    Poziom 1  
  • #7 18185477
    robiw
    Poziom 26  
    Dzięki za sugestie. Rzeczywiście chyba lepiej sprawdzić. Mam jednak jakieś kody dla DTMF z wykorzystaniem tego algorytmu. Sprawdzę, jak tam ustalają threshold i dam znać :-)...robiw
REKLAMA