Квантование и дискретизация + кодировка (по сути: реализация АЦП)

Допустим у меня есть массив данных, я его импортирую и строю по нему график. Так теперь задача состоит в том, чтобы этому графику задать шаг дискретизации и заквантовать его по уровню плюсом еще было бы если помогли бы разобраться с кодированием, чтобы мы могли получить как бы цифровой сигнал, главное, чтобы еще можно было регулировать эти параметры. Об этом я и прошу помощи, встроенные методы matplotlib пробовал, но они ограничены. Код предлагать не буду, т.к. его нету. В качестве примера возьмите функцию sin x ограниченную на отрезке [0,10].


Ответы (1 шт):

Автор решения: MBo

Ну давайте так для начала попробуем:

xmax = 10 #интервал в секундах
x = 0
freq = 100  #частота дискретизации в Гц
ff = 1
xstep = 1 / freq
bits = 16
mult = 1 << (bits - 1) 

while x < xmax:
    y = sin(x*ff) 
    dig = int(y * mul)
    result.append(dig)
    x += чstep

введите сюда описание изображения

→ Ссылка