Zalman_ 0 22 июля, 2022 Опубликовано 22 июля, 2022 · Жалоба Появилась задача по реализации синхронизатора для декодера турбокодов на ПЛИС. Я в этой теме новичок, пытался делать сам, но в итоге он получился не очень по качеству работы (долго входит в состояние синхронизма и плохо держит при помехах). Долго возился, в итоге решил написать сюда. Можете ли посоветовать учебники/статьи/сайты, где описаны варианты реализации синхронизаторов (по возможности, с учетом аппаратной платформы в виде ПЛИС)? Можете поделиться какими-то наработками в коде (SV/Verilog/VHDL) по этой теме? Буду рад любой помощи в данном вопросе Заранее спасибо!) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 22 июля, 2022 Опубликовано 22 июля, 2022 · Жалоба ИМХО, вас спасет только DA синхронизация на длинных последовательностях с хорошим корреляционным пиком. Длина определяется отступом 6дб от энергетики турбокода. Почитать в любой книге по связи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zalman_ 0 25 июля, 2022 Опубликовано 25 июля, 2022 · Жалоба В 22.07.2022 в 15:52, des00 сказал: ИМХО, вас спасет только DA синхронизация на длинных последовательностях с хорошим корреляционным пиком. Длина определяется отступом 6дб от энергетики турбокода. Почитать в любой книге по связи. Задача в том, что самому выбрать последовательность для синхронизации я не могу, так как необходимо настроиться на известный сигнал. Со своей стороны я знаю лишь маркер - 11110101000010111000. Синхронизатор построен по такому алгоритму, что в битовом формате среди всего поступающего потока осуществляется поиск этого маркера на протяжении нескольких циклов. Если не нахожу в предполагаемом месте, то сдвигаю на N бит и продолжаю поиск. Если нахожу маркер, то для уверенности в факте синхронизации анализирую еще 3 цикла (в сумме 4) и только после этого данные подаются на турбодекодер. Алгоритм работает медленно, ввиду того, что приходится последовательно анализировать несколько циклов. Можно ли как-то ускорить этот процесс ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 25 июля, 2022 Опубликовано 25 июля, 2022 · Жалоба Zalman_ Можете сделать согласованный фильтр на сигнал +1 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1 ? Пороговое устройство, поиск максимума? Потом рекурсивную версию, чтобы на нули слишком много памяти не тратить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zalman_ 0 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба В 25.07.2022 в 20:27, petrov сказал: Zalman_ Можете сделать согласованный фильтр на сигнал +1 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1 0 0 0 0 +1 -1 ? Пороговое устройство, поиск максимума? Потом рекурсивную версию, чтобы на нули слишком много памяти не тратить? А чем согласованный фильтр будет отличаться от описанного мной алгоритма? Что в Вашем варианте, что в моем проводится анализ входного битового потока и при наличии сходства выдается флаг о том, что маркер был пойман. Как я понял, вы предлагаете идею, похожую на обнаружение кодов Баркера (насколько помню, там обнаружение происходит по корреляционному пику). Только не могу понять в чем существенное отличие от описанного мной алгоритма ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба Zalman_ А чем согласованный фильтр будет отличаться от описанного мной алгоритма? _ Если честно, я не понял вашего описания. _ происходит по корреляционному пику _ Обычное обнаружение известного сигнала, весь сигнал должен быть в памяти фильтра, чтобы преодолеть порог, разумеет отсюда возникает задержка. Хотите быстро и надёжно, значит нужна длинная известная последовательность, как уже выше писали, если короткая периодическая, значит надо долго ждать накопления. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 5 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба 17 минут назад, Zalman_ сказал: А чем согласованный фильтр будет отличаться от описанного мной алгоритма? Что в Вашем варианте, что в моем проводится анализ входного битового потока и при наличии сходства выдается флаг о том, что маркер был пойман. Вам предложили аналоговый (оцифрованный) сигнал сворачивать на согласованном фильтре, там даже при наличии шумов до определённого порога всегда будет корреляционный пик который можно принимать за синхронизацию. А у вас любая битовая ошибка портит паттерн и вы его уже не распознаете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zalman_ 0 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба Наверное, меня не так поняли Задача стоит в синхронизации перед декодером Turbo Product Code (TPC). На входе у меня координаты точек после демодулятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба Zalman_ Давайте все детали подробно, мы уже поняли что вам нужна блочная синхронизация, какая сигнализация для этого предусмотрена, как она вставляется, модулируется? Откуда это вообще взялось, кто придумал, стандарт какой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба On 7/25/2022 at 10:16 AM, Zalman_ said: Если нахожу маркер, то для уверенности в факте синхронизации анализирую еще 3 цикла (в сумме 4) и только после этого данные подаются на турбодекодер. Алгоритм работает медленно, ввиду того, что приходится последовательно анализировать несколько циклов. Если хочется параллельно - значит надо сравнивать 4 числа (приходящих с задержками 0-3 цикла) с константой 20'hF50B8. Для допуска ошибки - сравнение делать через XOR с подсчётом единиц (ошибок) и их порогом. Если битовая синхронизация может слететь - сравнивать больше чисел с больших задержек (>10). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 26 июля, 2022 Опубликовано 26 июля, 2022 · Жалоба _4afc_ Если хочется параллельно - значит надо сравнивать 4 числа (приходящих с задержками 0-3 цикла) с константой 20'hF50B8. Для допуска ошибки - сравнение делать через XOR с подсчётом единиц (ошибок) и их порогом. Если битовая синхронизация может слететь - сравнивать больше чисел с больших задержек (>10). _ И при этом рядом турбокоды, как такое возможно? )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zalman_ 0 27 июля, 2022 Опубликовано 27 июля, 2022 · Жалоба В 26.07.2022 в 17:32, petrov сказал: Zalman_ Давайте все детали подробно, мы уже поняли что вам нужна блочная синхронизация, какая сигнализация для этого предусмотрена, как она вставляется, модулируется? Откуда это вообще взялось, кто придумал, стандарт какой? AHA 4540 Нужно сделать два выделенных блока Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 27 июля, 2022 Опубликовано 27 июля, 2022 · Жалоба Zalman_ Микросхема AHA 4540 сама осуществляет синхронизацию, зачем вы это делаете вручную? _ Если это просто как образец для подражания берётся, то не стоит такое повторять, можно получше сделать, известная достаточно длинная последовательность c хорошей АКФ модулирует BPSK, обнаруживается согласованным фильтром, по ней же неоднозначность фазы устраняется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zalman_ 0 29 июля, 2022 Опубликовано 29 июля, 2022 · Жалоба В 27.07.2022 в 14:38, petrov сказал: Zalman_ Микросхема AHA 4540 сама осуществляет синхронизацию, зачем вы это делаете вручную? _ Если это просто как образец для подражания берётся, то не стоит такое повторять, можно получше сделать, известная достаточно длинная последовательность c хорошей АКФ модулирует BPSK, обнаруживается согласованным фильтром, по ней же неоднозначность фазы устраняется. 1. Планируется система обработки сигналов, структура которых уже давно известна и определена (отмечу, что разрабатываемая система только принимает сигнал и влиять на передающую часть я физически не могу). Данные сигналы входят в список тех сигналов, которые обрабатывает схема AHA 4540. Наиболее неприятный сигнал с точки зрения длительности периода, имеет период 16320. 2. Делаю вручную потому, что система обработки сигналов создается на ПЛИС. 3. Из предыдущих пунктов вытекает то, что необходимо создать либо такую же систему (по качеству работы), либо лучше. По итогу, не хотелось бы создавать велосипед в этой области, поэтому и прошу помощи в этом вопросе от более опытных людей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 29 июля, 2022 Опубликовано 29 июля, 2022 · Жалоба Zalman_ Данные сигналы входят в список тех сигналов, которые обрабатывает схема AHA 4540. _ Какие созвездия используются? Все используемые созвездия модулируются одной и той же известной последовательностью 11110101000010111000 для блочной синхронизации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться