Блочный перемежитель

Простейшие вопросы в области инженерной разработки
Ответить
ortah
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 сен 2017, 20:35
Версия LabVIEW: 13
Контактная информация:

Блочный перемежитель

Сообщение ortah »

Здравствуйте, уважаемые товарищи!
Вот пытаюсь сделать блочный перемежитель. Суть его работы заключается в произвольном перемешивании бит информационного сигнала, с целью устранения идущих подряд нулей или единиц, что уменьшит количество ошибок в случае воздействия помехи. Вот результат моей работы. Проблема в том, что на выходе количество подряд идущих одинаковых символов только увеличилось. Подскажите пожалуйста, как мне это исправить?
Заранее спасибо за советы!
Вложения
Снимок.PNG
Снимок2.PNG
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Блочный перемежитель

Сообщение IvanLis »

ortah писал(а):Здравствуйте, уважаемые товарищи!
Вот пытаюсь сделать блочный перемежитель. Суть его работы заключается в произвольном перемешивании бит информационного сигнала, с целью устранения идущих подряд нулей или единиц, что уменьшит количество ошибок в случае воздействия помехи. Вот результат моей работы. Проблема в том, что на выходе количество подряд идущих одинаковых символов только увеличилось. Подскажите пожалуйста, как мне это исправить?
Заранее спасибо за советы!
У Вас путаются понятия "скремблирование" и "перемежение", а соответственно цели использования и ожидаемый результат.

Скремблирование делается с целью выравнивания вероятностей появления "0" и "1", но это не значит, что они будут идти строго по порядку (получится меандр). Это позволяет решить ряд проблем, в том числе с рассинхронизацией и потерей энергетики при появлении постоянной составляющей.
Одно из условий скремблирования - без изменения скорости, а реализуется путем наложения ПСП.

Перемежение делается для борьбы с пакетизированными (сгруппированными) ошибками и используются совместно с помехоустойчивым кодированием (иначе смысл теряется).
Например в пакете 16bit в результате помехи были искажены 16bit, тут уже любые помехоустойчивые коды бессильны, но если раскидать эти ошибки равномерно по 16 пакетам (по одной на пакет), то ошибка будет гарантированно исправлена при декодировании.
Делается перемежение тоже без изменения скорости, но реализуется путем организации буфера, например 16*16. В него построчно загоняются 256bit, но а считываются столбцами. На приемном конце выполняется обратная операция.
При этом соотношение и положение "0" и "1" вообще не рассматривается.

Так что из всего, что сейчас сделано в программе мало что пригодится. Переделывайте все заново.
Если Вы замахиваетесь на цифру, то используйте и генератор соответствующий: Digital Pattern Generator (http://zone.ni.com/reference/en-XX/help ... l_pattern/).
Рассмотрение спектра сигнала тут тоже не уместно, по крайней мере в представленной форме.
ortah
beginner
beginner
Сообщения: 11
Зарегистрирован: 25 сен 2017, 20:35
Версия LabVIEW: 13
Контактная информация:

Re: Блочный перемежитель

Сообщение ortah »

IvanLis
Спасибо, теперь стало понятно. Вот попробовал сделать по другому через инструмент MT Block Interleave. В принципе с использованием массивов все получилось. Подскажите пожалуйста, нельзя ли просто преобразовать массивы в цифру? Или нужно переделать с нуля?
Вложения
Снимок3.PNG
Снимок4.PNG
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Блочный перемежитель

Сообщение IvanLis »

ortah писал(а):Подскажите пожалуйста, нельзя ли просто преобразовать массивы в цифру? Или нужно переделать с нуля?
Просто, непросто...
Можно так:
Снимок экрана от 2018-04-15 17-43-22.png
Ответить

Вернуться в «Для чайников»