Добавлен: 05.12.2023
Просмотров: 70
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
n = len(data)
k = 0
while 2**k < n + k + 1:
k += 1
check_bits = np.zeros(k, dtype=int)
j = 0
for i in range(1, n + k + 1):
if i == 2**j:
check_bits[j] = -1
j += 1
else:
check_bits[j - 1] ^= data[i - 1]
return check_bits
# функция, которая кодирует данные с помощью кода Хэмминга
def hamming_encode(data):
n = len(data)
k = 0
while 2**k < n + k + 1:
k += 1
code = np.zeros(n + k, dtype=int)
j = 0
for i in range(1, n + k + 1):
if i == 2**j:
code[i - 1] = -1
j += 1
else:
code[i - 1] = data[i - j - 1]
check_bits = get_check_bits(code)
for i in range(len(check_bits)):
if check_bits[i] == 1:
code[2**i - 1] = 1
else:
code[2**i - 1] = 0
return code
# функция, которая декодирует данные с помощью кода Хэмминга
def hamming_decode(code):
n = len(code)
k = 0
while 2**k < n:
k += 1
check_bits = get_check_bits(code)
error = 0
for i in range(len(check_bits)):
if check_bits[i] == 1:
error += 2**i
if error > 0:
code[error - 1] = 1 - code[error - 1]
data = np.zeros(n - k, dtype=int)
j = 0
for i in range(1, n + 1):
if i == 2**j:
j += 1
else:
data[i - j - 1] = code[i - 1]
return data
# пример использования
data = np.array([1, 0, 1, 1])
print("Исходные данные: ", data)
code = hamming_encode(data)
print("Закодированные данные: ", code)
decoded_data = hamming_decode(code)
print("Раскодированные данные: ", decoded_data)
2.4 Вычисление вероятности ошибки при приеме кодового слова и битовой вероятности ошибки на выходе декодера и оценка частоты появления ошибок
Отношение сигнал/шум по мощности на входе приемника системы с временным разделением каналов
где .
Тогда, W
Вероятность ошибки при демодуляции принимаемого радиоимпульса
Битовая вероятность ошибки на выходе демодулятора:
где
Битовая вероятность ошибки на выходе декодера
= 4
Среднее время безошибочной работы в одном канале равно:
Следует, что все время работы системы безошибочно.
Поскольку отношение сигнал/шум или вероятность ошибки 0, то возможно сокращение избыточности засчет отказа от помехоустойчивого кодирования. Таким образом избыточность кода сократится на 16%.
2.5 Выбор способов введения и численных значений параметров синхросигналов
Длительность импульсов, передаваемых в групповом сигнале в системе в ВРК, определяется из соотношения:
Длительность синхроимпульса выбирается из соотношения:
где kτ – коэффициент превышения длительности синхроимпульса
В данной работе примем kτ=5, так что, согласно (5.1), длительность синхроимпульса равна:
Период повтора импульсов, для обеспечения не перекрывания сигналов по времени, равен:
Пусть логическая единица передаётся прямоугольным видеоимпульсов амплитудой 1В, алогический нуль – отсутствием напряжения. Импульсы i-го канала должны быть сдвинуты по времени на i*τ секунд. Тогда сообщения передаются сигналами x1(t), x2(t). В общем виде, сигнал, передающийся по s-му каналу записывается в виде:
Сообщения, передаваемые по первому и второму каналам соответственно:
Временные диаграммы сигналов в каналах и группового сигнала представлены на рис.2.1-2.4.
Рис.2.1. Синхроимпульсы
Рис.2.2. Сигнал на первом канале
Рис.2.3. Сигнал на втором канале
Рис.2.4. Групповой сигнал
Как видно из рис.2.4, сигналы не перекрываются по времени, и зная параметры τ и T на приёмной стороне, не составит труда разделить сигналы.
Ниже представленны структурные схемы СПИ с ВРК
Рис.2.5 Передающая часть обобщенной структурной схемы СПИ с ВРК
Рис.2.6 Приёмная часть обобщенной структурной схемы СПИ с ВРК
-
Разработка функциональной схемы системы в целом для передачи в одном направлении
Рис. 3.1 Функциональная схема передающего тракта СПИ
Рис. 3.2 Функциональная схема передающего тракта СПИ
Заключение
Учитывая исходные данные и результаты проведённых расчётов, была обоснована сфера применения разрабатываемой СПДИ (система подходит для передачи значений направления и скорости ветра при метеорологических наблюдениях, скорости движения конвейера);
Рассмотрен вариант применения помехоустойчивого кодирования кодами Хэмминга, исходя из чего было доказано, что помехоустойчивое кодирование повышает, наряду с помехоустойчивостью информационную производительность системы;
В результате проделанной работы на основании исходных данных и проведённых расчётов была сформирована функциональная схема двуканальной некогерентной системы передачи дискретной информации.
Список используемой литературы
-
Г.В. Заболотников, М.Г. Весёлкин. Использование международных авиационных метеорологических кодов МЕТАЯ (8РЕС1) и ТАБ [Текст] / Г. В. Заболотников, М.Г. Весёлкин // С.-Пб.: РГГМУ, 2006 - 33 с. -
Нечаев С.А. Теоретические основы электротехники. – Лысьва, ПНИПУ, 2014 – 26 с. -
Акулиничев Ю.П. Теория электрической связи. ч. 1 Учеб. пособие. – Томск, ТМЦДО, 2005. -
ГОСТ Р 58912-2020 -
Филиппов Б.И. Теория электрической связи. – Новосибирск: издательсво СГУТиИ, 2011 -
Баскаков С.И. Радиотехнические цепи и сигналы. – М.: Высшая школа, 1983 -
В.А. Григорьев, О.И. Лагутенко, О.А. Павлов, Ю.А. Распаев, В.Г. Стародубцев, И.А. Хворов. Теория электрической связи. – Санкт-Петербург, 2012