Commit Graph
5 Commits
Author SHA1 Message Date
nikit3s c1ac8d59ca Приёмные скрипты: шкала dBFS вместо вольт
Разбор кадров и запись .raw/.bin не трогали. Заменена только шкала: у
микрофона нет опорного напряжения, уровни считаются от полной шкалы.
Бит1 STATUS теперь показывается как насыщение дециматора.
2026-08-14 16:10:57 +03:00
nikit3s 61488b41e2 Тестбенч: модель микрофона и сквозная проверка тракта
Модель -- сигма-дельта первого порядка с высокоимпедансным состоянием вне
рабочей фазы, так что выборка не в той фазе видна сразу. Три режима дают
точно вычислимый ответ: постоянные 1 и 0 -- плюс/минус полная шкала, а
чередование 1010 -- ровно ноль, эта частота попадает в нуль АЧХ CIC.
Четвёртый режим синусный, проверяется размах.

Буфер ФНЧ получил начальное значение: иначе первые свёртки тянули
неопределённость через весь тракт.
2026-08-14 16:07:41 +03:00
nikit3s 708eda782b Верхний уровень, ограничения и проект Gowin
Выводы микрофона в .cst пока закомментированы: номера подставим при
разводке. Бит1 STATUS кадра занят насыщением выхода дециматора.
2026-08-14 16:02:40 +03:00
nikit3s 2af3a91ec9 Приём PDM и дециматор: CIC sinc^4 /50 плюс ФНЧ /5
Микрофон тактируется на 3.125 МГц (50/16, Normal mode). CIC снимает поток
до 62.5 кГц без умножителей, дальше симметричный ФНЧ на 221 отвод даёт
12 500 Гц: он же давит полосы, сворачивающиеся при децимации на 5, и
выравнивает спад CIC.

Коэффициенты считает tools/gen_fir_coefs.py и кладёт в fir_coefs_pkg.vhd.
Масштаб подобран так, что постоянная единица на выводе данных микрофона
даёт полную шкалу 24 бит, поэтому шкала выхода -- dBFS.

Достигнуто: неравномерность полосы 0..5 кГц 0.032 дБ, подавление от
6250 Гц 72 дБ, подавление сворачиваемых полос 77 дБ.
2026-08-14 16:02:40 +03:00
nikit3s 2d66c49031 Модули буфера, упаковки кадров и UART
FIFO, сборка кадра с CRC-16, передатчик UART и индикация переносятся
из имеющегося наработанного тракта без изменения логики. В STATUS бит1
переопределён под насыщение дециматора: DRDY здесь нет.
2026-08-14 15:54:53 +03:00