Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Generator interpolacyjny, co to jest?

Wnuczek13 03 Maj 2008 19:30 1512 5
  • #1 03 Maj 2008 19:30
    Wnuczek13
    Poziom 2  

    Mam taki problem musze napisać krótką notatkę na temat "generatora interpolacyjnego". Problem w tym, że nie wiem co to jest i nie mogę nic na ten temat znaleźć. :cry: Zna może ktoś inną nazwe lub ma jakieś materiały na ten temat. Jeżeli może mi ktoś pomóc to bedę wdzięczny. :D

    Z góry dziękuję Wnuczek.

    0 5
  • #2 04 Maj 2008 23:04
    majster_15
    Poziom 23  

    Witam :)
    A czy przypadkiem nie chodzi o generator przestrajany? Kiedyś spotkałem się właśnie z taką nazwą tegoż generatora.

    Pozdrawiam, Matt.

    0
  • #3 05 Maj 2008 12:42
    Wnuczek13
    Poziom 2  

    Cześć. Dzięki za odpowiedź.

    Też mi się tak wydawało. Zapytałem wykładowcy to zaczął mi tłumaczyć że to coś związanego z akustyką, coś o wygładzaniu przebiegów itp. Jakbyś miał coś o tym przestrajanym to poproszę.

    Dzięki.

    0
  • #4 05 Maj 2008 13:04
    Paweł Es.
    Pomocny dla użytkowników

    Jeżeli akustyka to może chodzi o generator cyfrowy z interpolacją. Polega to na tym, że masz tablicę z próbkami funkcji np. sinus, w sumie N próbek. Generator na podstawie takiej tablicy może pracować na kilka sposobów:

    jeżeli odtwarzasz (co okres próbkowania) kolejne próbki to otrzymujesz częstotliwość wyjściową:

    $$Fwy=\frac{Fp}{N}$$

    Jeżeli odtwarzasz próbki co 1<M<(N/2) i M całkowite to:

    $$Fwy=M*\cdot\frac{Fp}{N}$$

    Dla zwiększenia dokładności przestrajania można uczynić przyrost M rzeczywistym a ponieważ tablica ma tylko całkowitą liczbę próbek to powstaje problem jak czytać "między komórkami" i tu są trzy metody:

    - obcięcia M jest liczone zmienno przecinkowo a tablica jest adresowana
    częścią całkowitą M

    - zaokrąglania
    M jest zaokrąglane do najbliższej całkowitej i adresuje tablicę

    - interpolacji
    z tablicy pobierasz próbkę spod adresu Int(m)
    a wartość wyjściową wyliczasz przez interpolację liniową wartości pośredniej próbek na podstawie części ułamkowej M

    WY=tab[int(m)]+Frac(m)*[tab[int(m)+1]-tab[int(m)])

    frac(m) - część ułamkowa M
    Int(m) - część całkowita M

    oczywiście przy adresowaniu należy uwzględnić zapętlanie M by nie wyjść poza tablicę próbek

    Czyli jeżeli tablica ma 512 próbek to liczysz:

    M=M+DM
    IF M>512 then M=M-512

    {tu obliczenia próbki wyjściowej}

    DM - przyrost indeksu (F*N/Fs)
    M - indeks (faza)

    F - żądana częstotliwość
    Fs - częstotliwość próbkowania
    N - długość tablicy jednego okresu np. sinusoidy

    Jeżeli w tablicy umieścimy inny przebieg niz sinusoida to trzeba pamiętać, że dla uniknięcia aliasingu, maksymalna częstotliwość wyjściowa musi byc tak dobrana by najwyższa składowa (np. harmoniczna) przebiegu wypadła poniżej Fs/2.

    0
  • #5 06 Maj 2008 00:56
    Wnuczek13
    Poziom 2  

    To by nawet pasowało :D Ma ktoś jakiś schemat, opis budowy, zasadę działania itp. to poproszę. Może jest jakaś inna nazwa niż: generator interpolacyjny czy generator cyfrowy z interpolacją?

    Z góry dziękuję.

    0
  • #6 06 Maj 2008 01:00
    Paweł Es.
    Pomocny dla użytkowników

    Zasadę działania masz opisaną, a taki generator to się zwykle programowo realizuje na DSP (ze względu na mnożenie wymagane przy interpolacji). Bez interpolacji generatory można robić na akumulatorze sprzętowym (sumator+rejestr).

    0