ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
441774 Топик полностью
fk0, легенда (14.09.2013 10:30 - 10:32, просмотров: 130) ответил Shura на обычный совецкий АОН тоже не имел массива отсчётов АЦП, при этом герцеля хуярил только в путь
Не было там герцеля, для него умножения нужны. Алгоритм им. АОНа это такой ДПФ над прямоугольным входным сигналом [-1;+1] с XOR вместо умножения, т.к. sin и cos представлены в дельта-сигма модулированном виде. Входной сигнал набирался через равные промежутки времени (с частотой порядка ~25кГц) по биту в регистр, 8 бит. Затем регистр проксоривался с таблицей синуса и косинуса для каждой из 6 частот (12 раз). Можно было хранить половину таблицу косинуса (симметрично относительно нуля), остальное получать инверсией и сдвигом фазы в пару машинных команд (экономия ПЗУ порядочная). Для каждого из 12 результатов XOR подсчитывалось число установленных битов в байте и суммировалось к 12-и переменным (со знаком). Из которых в конце цикла вычислялись амплитуды каждой из 6-и частот суммированием абсолютных значений (вместо корня суммы квадратов). Выбирались две частоты с максимальной амплитудой и вычислялась цифра. Это если не было третьей цифры с большой, едва меньшей чем у второй, амплитудой -- в таком случае цифра не определена Цифра или код неопредлённости заносились в массив. Это на 10мс интервале, длительность же цифры 40 +- в два раза мс. И так во временном интервале достаточном для передачи всех цифр. Потом массив просматривался, объединялись одинаковые цифры (потому, что в протоколе нет двух одинаковых подряд, в таком случае есть код замещающий дублирующуюся цифру), находился маркер начала/конца номера (потому, что номер передавался начиная с какого попало места и передача была зациклена, в среднем передавалось 1.5-2 номера, иногда аж 4). Потом шаманский алгоритм просматривал лишние избыточные цифры и старался из двух копий получить одну со всеми правильными цифрами. Мог быть повторный запрос, если что, но скорей он бы уже не сработал. А, да, запрос посылался вначале N раз пока не начинался ответ (оценивалось тем же алгоритмом). Особым шиком было первый запрос посылать нормальный синус, второй меандр, третий опять синус... какие АТС на что лучше реагируют. Рассказан алгоритм из Русь-23, что ли, которую пришлось дизассемблировать.
[ZX]