Перейти к содержанию
    

Состояния демодулятора, диаграмма работы, логика мониторинга, переключений и т.д.

По-моему мнению, зачастую куда сложнее отладить логику работы демодулятора по сравнению с алгоритмами по отдельности. Грубая синхронизация, точная, демодуляция, оценки ОСШ и канала - всё это моделируется относительно несложно по отдельности. Однако нужно в работу приемника заклдывать, что делать при пропадании сигнала, как организовать переход от более точной обратно к грубой синхронизации, при этом всём нужно следить за буферами, флагами и т.д. Если по алгоритмам полно публикаций и моделей, то почему-то вопросы продумывания логики работы демодулятора в целом нигде не разбираются. Например, мониторинг разных порогов при работе ФАПЧ, чтобы дать оценку корректности её работы и понять, нужна ли грубая пересинхронизация, я встречал только в книжке Незами. Саму реализацию данного подхода я видел в работающем коде на одной из прошлых работ, когда только начинал работать в области цифровой связи.

Существуют ли какие-то нибудь практические книги, публикации, подобные труду Незами, в которых объясняется принцип функционировая приемника? Безусловно, возможны сотни комбинаций из алгоритмов слежения, оценок, демодуляции, для каждой будет своя диаграмма работы. Здесь как раз проявляется искусство инженера. Но всё-таки захотель увидеть что-то фундаментальное на конктретном примере от более опытных и знающих.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У нас на работе при разработке сложных модемов стараемся придерживаться работы в команде. Например, одни работаю на физическом уровне (модулятор, демодулятор, синхронизаторы, управление мк/сх), другие на канальном уровне (управление доступом к каналу, TDD,  отслеживание за кадровой синхронизацией, канальные кодеки), третьи на более высоком уровне (обмен полезной нагрузкой с пользователем устройства, сетевые интерфейсы и прочее).

Часто получается, что физический и канальный уровень тесно сплетены и в реальном времени обмениваются всякими флагами. А вот 3-й уровень уже мало связан с первыми двумя.

Как-то само все пришло, что лучше разбивать реализацию программной части приемопередатчика/модема на уровни. Так и проще реализация, больше понимания, меньше халиваров и возможность дальнейшего заимствования отдельных модулей. Управление порогами, отслеживание флагов и состояний работы отрабатывали в железе от простого к сложному. Например, сначала проверяется и налаживается симплексная непрерывная связь в облегченном режиме (один вечный передатчик, второй вечный приемник), затем в усложненном режиме, а потом уже в полудуплексном режиме.

Возможно, лучше смотреть спецификации стандартов.

По логике работы демодулятора относительное время назад задавал, по-моему чем-то, схожий вопрос.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@quato_a у нас тоже такое разделение используется. Я раньше в основном занимался моделированием и реализацией отдельных алгоритмов для физического уровня. Сейчас допиливаю доставшийся демодулятор, но он настолько ужасен, что лучше переписать самому. Пропуски фреймов в начале, нет толком флагов-состояний, какие-то срывы синхронизаций, дофига банальных описок и ошибок. Начал заводить флаги, делать разные проверки, посыпались буферы, где-то вообще начало зацикливаться. В итоге улучшения, безусловно, есть, но тратится много времени и не всегда решения красивы. Перед тем, как переписывать, хочу как следует продумать логику и структуру работы, чтобы в итоге самому не сделать нечто подобное. То есть сами отдельные элементы мне понятны, но как такогово опыта сделать полностью "с нуля" нет. Видимо, в данном случае только практика поможет.

Спасибо за ссылку. Читаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, Grizzly said:

Существуют ли какие-то нибудь практические книги, публикации, подобные труду Незами, в которых объясняется принцип функционировая приемника? Безусловно, возможны сотни комбинаций из алгоритмов слежения, оценок, демодуляции, для каждой будет своя диаграмма работы. Здесь как раз проявляется искусство инженера. Но всё-таки захотель увидеть что-то фундаментальное на конктретном примере от более опытных и знающих.

Мне не встречалось, все на собственном опыте. У меня стоит специальный секвенсер, который аппаратно контролирует статистику работы приемника и принимает решения по какому сценарию работаем.

Вот тут как раз должен помочь симулинк со своим стейт флоу. расписать основные параметры, крутиляторы и варьировать алгоритмы 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, Grizzly said:

@quato_a ... Сейчас допиливаю доставшийся демодулятор, но он настолько ужасен, что лучше переписать самому...

Знакомый опыт. Тоже приходилось рефакторить доставшийся модем... много боли

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, des00 сказал:

аппаратно

У меня пока что программная реализация с последующим переносом на DSP и использованием всяких аппаратных блоков типа FFT.

3 часа назад, quato_a сказал:

много боли

Эх, буду набираться опыта :drinks:

8 часов назад, des00 сказал:

стейт флоу

Тоже думал про его использование.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прочитайте описание уровня MAC для вашей системы, или для схожей с вашей. По номенклатуре межуровневых сигналов вы сможете понять логику работы, какие блоки вам нужны в PHY, какие оценки и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, FatRobot сказал:

какие блоки вам нужны в PHY, какие оценки и т.п.

С этим разобрался. Осталось грамотно воедино собрать и заставить работать :) Пока допиливаю доставшееся в наследство, но, скорее всего, перепишу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...