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

Korekcja fazy filtrów FIR (delay equalization, allpass)

PiotrekPlock 20 Sie 2009 22:25 4036 11
REKLAMA
  • #1 6915222
    PiotrekPlock
    Poziom 11  
    Witam
    Zrealizowałem właśnie na LPC2148 filtr pasmowoprzepustowy FIR (rzędu ok 100~200, z liniową fazą),

    jako że układ jest częścią systemu redukcji dźwięku w pomieszczeniu, wymagana jest stała faza w całym paśmie przepustowym (o szerokości kilku Hz). Tymczasem jak ustawię fazę w środku pasma to na skrajach jest już zupełnie inaczej.

    Tak więc potrzebuję jakiś korektor fazowy. Z tego co zdążyłem się zorientować, można to zrobić np na filtrze wszechprzepustowym i tu pojawiają się pytania:

    Czy istnieją jakieś narzędzia do projektowania filtrów allpass na podstawie zadanej charakterystyki fazowej?

    Czy są jakieś inne struktury (układy cyfrowe) których opóźnienie fazowe spada (najlepiej liniowo) wraz ze wzrostem częstotliwości (w paśmie o niewielkiej szerokości)

    Czy są jakieś inne metody (najlepiej DSP) korekcji fazy filtrów?
  • REKLAMA
  • #2 6956508
    shg
    Poziom 35  
    Liniowa faza = stałe przesunięcie w czasie, różne w zależności od częstotliwości, opisane zależnością liniową.
    Jeżeli używasz tego jako zwrotnicy w audio, to wystarczy pozostałe sygnały opóźnić o tyle ile wynosi opóźnienie tego filtra i będzie OK, różnice w fazie dla wszystkich "emitowanych" częstotliwości wyniosą 0. Natomiast różnice w fazie między wejściem a wyjściem takiego układu nadal pozostaną liniowe, ale to już wynika tylko z opóźnienia.
  • #3 6964455
    Aro_
    Poziom 15  
    Jeżeli to działa w czasie rzeczywistym to trudno będzie uzyskać filtr zerofazowy (o ile to w ogóle możliwe).
    Cytat:
    Czy istnieją jakieś narzędzia do projektowania filtrów allpass na podstawie zadanej charakterystyki fazowej?

    Wystarczy że masz jakiś program który potrafi wyznaczyć DFT. Rysujesz żądaną charakterystykę, wyznaczasz odwrotne DFT, trochę kosmetyki i gotowa odpowiedź impulsowa.
    Wydaje mi się jednak, że to nie rozwiąże do końca twojego problemu, ale spróbować zawsze można:)
  • REKLAMA
  • #4 6974128
    PiotrekPlock
    Poziom 11  
    shg napisał:
    Liniowa faza = stałe przesunięcie w czasie, różne w zależności od częstotliwości, opisane zależnością liniową.
    Jeżeli używasz tego jako zwrotnicy w audio, to wystarczy pozostałe sygnały opóźnić o tyle ile wynosi opóźnienie tego filtra i będzie OK, różnice w fazie dla wszystkich "emitowanych" częstotliwości wyniosą 0. Natomiast różnice w fazie między wejściem a wyjściem takiego układu nadal pozostaną liniowe, ale to już wynika tylko z opóźnienia.


    Problem polega na tym że nie mogę opóźnić pozostałych sygnałów, gdyż w momencie filtracji występują one już w pomieszczeniu odsłuchowym.
  • #5 6975473
    shg
    Poziom 35  
    PiotrekPlock napisał:
    Problem polega na tym że nie mogę opóźnić pozostałych sygnałów, gdyż w momencie filtracji występują one już w pomieszczeniu odsłuchowym.


    No to się nie da.
    Filtr zawsze będzie wnosił jakieś przesunięcie fazy, nie da się przesunąć w drugą stronę, bo to byłby układ nieprzyczynowy, układ nie może znać próbek z przyszłości, a tylko w ten sposób można by to zrobić, innego wyjścia nie ma.
  • #6 6975753
    PiotrekPlock
    Poziom 11  
    udało mi się zaprojektować allpassa z rosnącą fazą w paśmie przepustowym ale niestety okazał się niestabilny (chraka jest na foto)

    Korekcja fazy filtrów FIR (delay equalization, allpass)

    nie chodzi mi układ który wyprzedza fazę ale o taki którego opóźnienie w paśmie przepustowym jest praktycznie równoważne z dodatnim przesunięciem fazowym (tylko na późniejszym okresie sygnału). Przykład tego co chciałbym uzyskać jest na foto2 (jest to IIR który nie wymagałby korekcji)

    Korekcja fazy filtrów FIR (delay equalization, allpass)
  • #7 7061302
    sebektomczyk
    Poziom 11  
    Pobaw się programem "Filter Solution" - wersja darmowa dostępna jest w internecie.

    Pozdrawiam
    Sebastian Tomczyk
    http://www.stelektronik.pl/
  • REKLAMA
  • #8 7065808
    PiotrekPlock
    Poziom 11  
    sebektomczyk napisał:
    Pobaw się programem "Filter Solution" - wersja darmowa dostępna jest w internecie.


    napisałem do nich o triala bo darmowa wersja na niewiele się tu zdaje

    masz jakieś doświadczenia z tym programem ? udało Ci się może zaprojektować filtry tego rodzaju co szukam ?
  • #9 7066665
    sebektomczyk
    Poziom 11  
    Typowych filtrów z liniową fazą nie projektowałem, gdyż nie było to mi potrzebne. Z tego co się orientuję, to mogą to być filtry uśredniające typu: H(z)=H(b/a)=(b1/n .. bn/n)/1. Mają one liniową fazę w paśmie przepustowym, ale opadającą charakterystykę amplitudową Poza tym możesz zastosować proste filtry FIR I-go rzędu - przy częstotliwościach dalekich od częstotliwości próbkowania/2 ich charakterystyka fazowa jest zbliżona do liniowej. W razie czego mogę Ci podesłać mój program do loggera, gdzie jest programowe DSP i charakterystyki, ale myślę że w Filter Solution zobaczysz więcej.

    Pozdrawiam
    Sebastian Tomczyk
    http://www.stelektronik.pl/

    Moderowany przez Artur k.:

    Reklama w treści postu.
    Blokada pisania.

  • REKLAMA
  • #10 7066964
    PiotrekPlock
    Poziom 11  
    ale mi chodzi o lokalnie malejące opóźnienie fazowe (wraz z częstotliwością) a nie o liniową fazę. Liniową fazę mogę uzyskać za pomocą FIRów z symetryczną odpowiedzią impulsową lub stosując allpassy equalizujące opóźnienie grupowe, tyle że nie o to chodzi

    Potrzebuję narzędzia do projektowania filtrów o zadanej charakterystyce fazowej i chodzi mi o jej określony przebieg w danym paśmie a nie tylko o to czy ma być liniowa czy nie
  • #12 7069462
    PiotrekPlock
    Poziom 11  
    Poza klasycznymi narzędziami do projektowania filtrów w matlabie 6.5 znalazłem tylko możliwość projektowania pod kątem opóźnienia grupowego(irrgrpdelay i FDAtool) a nie o to chodzi. W toolboxie Filter Design dla matlaba 2008 jest funkcja fdesign.arbmagnphase ale ona wbrew nazwie również nie daje możliwości zadania charki fazowej
REKLAMA