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:
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
