Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 28, 2015 19:31:31

ElShikari
Зарегистрирован: 2015-04-28
Сообщения: 3
Репутация: +  0  -
Профиль   Адрес электронной почты  

Нужна помощь с программой по кодированию. Корреляционный код

Корреляционный код

Разновидностью кода с повторением является корреляционный код или код с удвоением элементов, который характеризуется введением дополнительных символов для каждого разряда информационной части. Если в разряде информационной части стоит 0, то в корреляционном коде этот разряд записывается символами 01, если 1 – символами 10. Например, комбинация 10101 будет представлена в виде 1001100110. Показатель искажения кода – появление в «парных» элементах сочетаний вида 00 или 11.
Характеристики корреляционного кода полностью совпадают с характеристиками кода с простым повторением. Различие в помехоустойчивости кодированных сигналов обнаруживается лишь для несимметричных каналов, у которых вероятности переходов и различны, а также для каналов, имеющих различные вероятности искажения соседних символов по сравнению с другими возможными искажениями.

Необходимо написать программу (на Python 3.4) которая работает на вышеуказанном алгоритме. Т.е. пользователь вводит двоичный код, программа кодирует и выдает результат.

Сам только начинаю программировать и буду очень признателен за помощь.

Офлайн

#2 Апрель 28, 2015 19:56:04

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Нужна помощь с программой по кодированию. Корреляционный код

a = input("-> ")
b = ""
for i in a:
    b += i + "10"[i == "1"]
print(b)



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Апрель 28, 2015 20:21:24

ElShikari
Зарегистрирован: 2015-04-28
Сообщения: 3
Репутация: +  0  -
Профиль   Адрес электронной почты  

Нужна помощь с программой по кодированию. Корреляционный код

terabayt
Можете помочь еще с этим?

Инверсный код

Особой разновидностью кода с повторением служит инверсный код (код Бауэра). Отличие его от кода с простым повторением заключается в том, что в тех случаях, когда исходная комбинация содержит четное число единиц, вторая комбинация в точности воспроизводит исходную. Если же исходная комбинация содержит нечетное число единиц, повторение происходит в инвертированном виде. Например, комбинации 01100 и 10110 инверсным кодом представляются как 0110001100 и 1011001001.

Офлайн

#4 Апрель 28, 2015 20:30:38

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Нужна помощь с программой по кодированию. Корреляционный код

a = input("-> ")
if a.count("1") % 2:
    for i in a:
        a += "10"[i == "1"]
else:
    a *= 2
print(a)



————————————————
-*- Simple is better than complex -*-

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version