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

petrov

Свой
  • Постов

    2 760
  • Зарегистрирован

  • Победитель дней

    3

Весь контент petrov


  1. https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=124120&tab=comments#comment-1290228
  2. des00 Всегда считал что для любой модуляции нужно измерять модулируемый параметр. Для АМ это амплитуда, для ВИМ время Давайте рассмотрим MFSK. Положения фильтров известны, определяем на выходе какого фильтра максимальный сигнал. Вроде у Прокиса рассматривается оптимальный приёмник для некогерентной передачи ортогональными сигналами вообще без привязки к конкретной модуляции. Ваш метод выкинуть и сделать по новой, он конечно хороший. Но не всегда и во всех системах допустимый. А самое главное вместо раскрытия деталей обсуждаемого вопроса, еще больше запутывает автора и ламеров кто не в теме, типа меня. Делать кодирование абы как бессмысленно, запросто может не дать ничего, а то и ухудшить. Делать одну сложную вещь не сделав другие, которые на неё влияют непосредственно. Не хотел никого запутать. Не понимаю, какие детали я должен раскрыть.
  3. des00 позвольте спросить, я конечно совсем не разбираюсь в ВИМ, но почему вы рассматриваете только амплитудное квантование и не рассматриваете временное? Синхронизируемся по импульсам, соответственно возможные положения информационных импульсов нам точно известны, ничего квантовать по времени не нужно. Разумеется сначала нужно делать какой-то оптимальный приёмник, а не надеяться на лечение волшебным кодом древней эвристической реализации, ну как бы делают уже полноценные оптические модемы. С МСИ тут вообще полный швах будет, даже не рассматриваю.
  4. Leka Покупать/делать генератор синусоиды 1МГц...1ГГц - дорого. Как проще и дешевле оценить АЧХ широкополосного усилителя (и тп) ? Можно оценивать ИХ по длинной псевдослучайной последовательности, возможно хватит 1-бит ЦАП-АЦП, накапливать в плиске, в комп передавать и считать FFT.
  5. Michael358 А почему не подходит?Потому что для обоих бит импульса мягкие решения равны? В случае QAM АБГШ канал приводит к искажению принятого символа таким образом, что он скорее всего попадает в ближайшие соседние точки созвездия. Точки нумеруются специальным образом, соседние различаются одним битом, можно разложить принятый вектор на мягкие решения для двоичного кода. У вас же в случае АБГШ максимальный импульс искажённый может быть любой, никакая нумерация не приведёт к уменьшению битовых ошибок, как если бы для QAM искажение приводило бы равновероятно к попаданию в любую точку созвездия. Или вообще сверточный код не подходит Свёрточный код может быть и недвоичным, например из каждого состояния кодера возможны четыре перехода в следующие, а не два. Вам нужно исправлять не биты, а символы недвоичные.
  6. Michael358 Пока решено доделать текущую реализацию. Бесполезная работа на таком уровне понимания. Мягкие решения для QAM вам не подходят. У вас некогеренная передача ортогональными сигналами. На каждое положение импульса у вас должен быть согласованный фильтр. Допустим сигнал у вас нормирован АРУ или ещё как. Выбираем с выхода банка фильтров максимальную амплитуду и вторую после максимальной, их разница и будет мягким решением. Например без шума выход максимального фильтра - 1, второго после максимального - 0, разница 1-0=1. Если сигнал - просто шум, амплитуды на выходах фильтров в среднем одинаковые, будем получать мягкое решение близкое к нулю. Ну и соответственно любые промежуточные мягкие решения будут. Это мягкое решение относится ко всем битам, передаваемым соответствующим импульсом, бинарный свёрточный код здесь не подходит. Ну и это всё только для АБГШ канала, если у вас не АБГШ, то вообще не с этого надо начинать.
  7. Michael358 Основное было про можно и замирания. Всё же сначала должны быть нормально сделаны модуляция, синхронизация, оптимальная обработка, а потом уже Витерби. А модуляции самые разные используют. https://www.researchgate.net/profile/Mohamed_Sufyan_Islim/publication/313891612_Modulation_Techniques_for_Li-Fi/links/58adfe5d92851cf7ae85b224/Modulation-Techniques-for-Li-Fi.pdf
  8. Michael358 Оптический канал с быстрыми замираниями. Сигнал детектируется фотоприёмником. Просто вкл.-выкл. или линейный участок этого оптического канала можно использовать? Замирания из-за чего происходят?
  9. Michael358 У нас негарантированная среда передачи Что это значит? без внешней синхронизации. Это редко дают, надо добывать из сигнала. К несущей доступа нет. Значит надо получить. То есть мы оперируем только кривой огибающей информационного сигнала. Возможно, это не самый оптимальный вид модуляции. Буду рад, если подскажете, какие ещё варианты можно использовать в этом случае. Варианты зависят от условий задачи. Повторю, то что видел при использовании ВИМ, очень хорошо видно было многолучёвку на этом импульсном этом сигнале, плоские замирания. Отдельно код ничего не даёт, надо всё средство связи в целом разрабатывать с учётом канала.
  10. Michael358 2) Можно ли перейти на мягкие решения при время-импульсной модуляции(ВИМ), где кодовое значение зависит от положения импульса относительно начала определённого временного интервала. Сейчас детектирование импульса происходит на компараторе (входное напряжение выше порога срабатывания - есть импульс, ниже - импульс отсутствует). Планируется подключение АЦП ВИМ ещё деды делали, тогда это было оправдано, на современной элементной базе такое делать стыдно. Когда смотришь ВИМ сигнал с реального канала, очевидно, свёрточный код не поможет, поскольку из-за многолучевого распространения вместо одного импульса получается куча размазанных с произвольными сдвигами.
  11. Aleх получить это самое комплексное число Вот с этого и надо начинать. Как преобразовать реальный сигнал в комплексный, рассчитывать фильтры в явном виде. А не так, что есть Герцель, корреляция, БПФ, и сейчас они решат все проблемы волшебным образом. Эксель не годится для ясного видения, лучше симулинка ещё ничего не придумали для таких задач.
  12. Aleх Вот я и перебрал все варианты вычисления фазы: Герцеля, БПФ на одну частоту, и корелятор. Никакую фазу они не вычисляют. Фазу вычисляет функция arg() от комплексного числа. https://en.wikipedia.org/wiki/Argument_(complex_analysis)
  13. Aleх Стало намного понятнее. Не стало. Лучше учебник почитайте. Коррелятор - это не фильтр. Фильтр инвариантен к сдвигу во времени, коррелятор нет. А у самой функции синуса есть такое важное свойство, что она инвариантна к сдвигу с точностью до фазового поворота.
  14. Mothg2 Одно из конечных устройств работает при температуре 120 градусов. А на какой элементной базе планируется делать данный модем? Принимать тоже надо при 120 градусах?
  15. Mothg2 Но возникла задача передачи по длинному кабелю 5км и более телеметрии до 500кбод. https://www.moxa.com/en/products/industrial-network-infrastructure/ethernet-switches/ethernet-extenders/iex-402-series
  16. Aleksey_Serov я сделал просто - конкатенацией, например a(32)&a(32)..и так 12 раз....&a(32 downto 20), что-то мне подсказывает что это тоже не очень "стиль" Это нормальный стиль, описана правильная схема - это главное, а не красота описания. Если хотите компактнее описывать, автоматизировать генерацию, пишете свою универсальную функцию размножения сигнала в своём PACKAGE, подключаете, как вы numeric_std подключаете, тогда вам будет достаточно одного оператора "&" для приклеивания вектора с размноженным битом.
  17. Aleksey_Serov про unsigned_vector я ничего не читал http://www.pldworld.com/_hdl/4/_ref/dz.ee.ethz.ch/vhdl_packages.htm Прям на месте можно преобразовывать типы, никаких доп. ресурсов это не требует. Можно сделать сумматор-вычитатель одной операцией "+" и манипуляциями с битами векторов.
  18. Fs только для расчётов используется, частота дискретизации, на которой фильтр будет работать, определяется подключаемой схемой.
  19. https://yadi.sk/d/W0pylxJZBTnvFg qpsk_8_sps_fb_sync_2020_11_25.mdl QPSK 8 sps feedback sync matlab simulink r2016b
  20. Zalman_ Вот буквально в предыдущей теме ссылка на модельку где все это работает.
×
×
  • Создать...