logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.
  • #1 9733693
    Osmo
    Poziom 18  
    Witam, pracuje nad pewnym specyficznym projektem, w ramach którego przyszło mi zamienić sygnał PCM na PDM, programowo, a więc muszę napisać program który ciąg próbek PCM zamieni na sygnał PDM.
    Szperam w tym celu po google już od 3 dni ale jedyne co znalazłem to przykład konwersji delta-sigma 1 rzędu, niestety to za mało, muszę symulować konwersję co najmniej 2 rzędu, najlepiej piątego.
    Słabo znam zagadnienia cyfrowego przetwarzania sygnałów, stąd napisanie tego, nawet w oparciu o materiały teoretyczne to nie lada wyzwanie.

    Stąd pytanie, czy ktoś może spotkał się z takim zagadnieniem, posiada przykłady kodu przeprowadzającego modulacje wyższych rzędów lub jest w stanie pomóc mi w napisaniu takiego kodu ?


    Przykład jaki znalazłem:

    Cytat:
    // Encode samples into pulse-density modulation
    // using a first-order sigma-delta modulator

    function pdm(real[0..s] x)
    var int[0..s] y
    var real[-1..s] qe

    qe[-1] := 0 // initial running error is zero

    for n from 0 to s
    if x[n] >= qe[n-1]
    y[n] := 1
    else
    y[n] := -1
    qe[n] := y[n] - x[n] + qe[n-1]

    return y, qe // return output and running error
REKLAMA