Состояния канала

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

Каждое состояние характеризуется собственным значением параметра SNR (отношение сигнал/шум).

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


Лабораторная работа №1

Подготовка модели цифрового канала передачи данных

Цель работы: Моделирование прохождения сигнала в цифровом канале передачи данных.

Подготовка к лабораторной работе:

1. Повторить программирование в системе Mathcad.

2. Изучить соответствующие разделы в изданиях [1-3].

Порядок выполнения работы:

1. Сформировать четыре последовательности:

· состоящую из 500 нулей;

· состоящую из 500 единиц;

· состоящую из чередования 250 нулей и единиц – 01;

· текстовую строку, содержащую не менее 60-ти символов (60-70).

2. Разработать Mathcad-функцию преобразования десятичного числа, занимающего два байта в памяти, в бинарную последовательность, используя алгоритм взятия остатков от деления десятичного числа на два, приблизительно такого вида:

Bin:= dec2Bin(Dec),

где Bin – результат (вектор нулей и единиц размерностью 16), Dec – десятичное число, dec2Bin() – функция преобразования.

Примечание: Рекомендуется применять встроенные Mathcad-функции mod() и floor() (описание функций смотри в приложении 2).

3. Разработать Mathcad-функцию преобразования текстовой строки в последовательность бит с использованием функции из п.2 приблизительно такого вида:

BitSeq:= txt2Bit(TxtSeq),

где BitSeq – битовая последовательность, TxtSeq – текстовая строка, txt2Bit() – функция преобразования.

Примечание: Для преобразования строки в вектор десятичных ASCII-кодов использовать встроенную Mathcad-функцию str2vec() (приложение 2).

Для создания непрерывной последовательности бит использовать встроенную Mathcad-функцию stack() (приложение 2).

4. Разработать Mathcad-функцию преобразования двоичной последовательности (16 бит) в десятичное число, используя алгоритм преобразования числа в двоичной системе счисления в десятичное, приблизительно такого вида:

Dec:= bin2Dec(Bin),

где Dec – десятичное число, Bin – двоичная последовательность (16 бит), bin2Dec() – функция преобразования.

5. Разработать Mathcad-функцию преобразования битовой последовательности в текст с использованием функции из п.4 приблизительно такого вида:

TxtSeq:= bit2Txt(BitSeq),

где TxtSeq – текстовая строка, BitSeq – битовая последовательность, bit2Txt() – функция преобразования.

Примечание: Для извлечения 16-битовой последовательности двоичных чисел применять встроенную Mathcad-функцию submatrix() (приложение 2).

Для преобразования вектора десятичных чисел в текстовую строку применять встроенную Mathcad-функцию vec2str() (приложение 2).

6. Разработать Mathcad-функцию вычисления вероятности ошибки на бит при передаче битовой последовательности приблизительно такого вида:

BitER:= berCalc(TransmitSeq, ReceiveSeq),

где BitER – вероятность ошибки на бит, TransmitSeq – переданная последовательность бит, ReceiveSeq – принятая последовательность бит, berCalc() – функция вычисления вероятности ошибки.

Использовать поэлементное сравнение двух последовательностей с инкрементом счетчика ошибок при несовпадении. Полученное значение счетчика поделить на длину последовательности для вычисления BER.

7. Разработать Mathcad-функцию вычисления вероятности ошибки на символ при передаче текстовой строки приблизительно такого вида:

SymER:= serCalc(TransmitTxt, ReceiveTxt),

где SymER – вероятность ошибки на символ, TransmitTxt – переданный текст, ReceiveTxt – принятый текст, serCalc() – функция вычисления вероятности ошибки, аналогичная функции berCalc() из п.6. Удобно при подсчете SER сравнивать поэлементно векторы десятичных ASCII-кодов текстовых строк.

8. Проверить работу функций из пп.2-5 на любом примере.

9. Преобразовать текстовую строку, заданную в п.1, в битовую последовательность с помощью функции из пп.2, 3.

Содержание отчёта по лабораторной работе:

1. Номер название и цель лабораторной работы.

2. Задание к лабораторной работе.

3. Разработанные в лабораторной работе функции.

4. Результаты выполнения с пояснениями.

5. Выводы по лабораторной работе.

Контрольные вопросы:

1. Что представляют собой телекоммуникационные системы?

2. Перечислите виды каналов связи.

3. Какие параметры каналов связи вы знаете?

4. Какие требования предъявляются к цифровым каналам передачи данных?

5. Чем определяется качество линии связи?

6. Что такое интенсивность битовой ошибки и как вычислить ее значение при моделировании?


Лабораторная работа №2

Разработка модели цифрового канала передачи данных

Цель работы: Исследование влияния помех в канале передачи данных на прохождение сигнала методами компьютерного моделирования.

Подготовка к лабораторной работе:

1. Повторить программирование в системе Mathcad.

2. Изучить соответствующие разделы в изданиях [1-3].

Порядок выполнения работы:

1. Определить два состояния канала как состояния цепи Маркова: 0 – связь хорошая, 1 – связь плохая и задать переходы из одного состояния в другое с помощью матрицы вероятностей переходов – P.

2. Определить SNR – соотношение сигнал/шум (dB) для двух состояний канала как вектор из двух элементов.

3. Определить Nф – стандартное отклонение фонового шума канала.

4. Написать Mathcad-функцию изменения качества связи за один отсчет на основе матрицы вероятностей переходов, приблизительно такого вида:

State:= nextState(PreviousState, P),

где State – текущее состояние канала, PreviousState – предыдущее состояние, P – матрица вероятностей переходов, а nextState() – функция, определяющая новое состояние канала.

Примечание: Использовать встроенную Mathcad-функцию rnd() (приложение 2)

5. Выбрать величину погонного затухания из таблицы П.1 для заданного по варианту типа связи.

6. Вычислить величину коэффициента затухания A,соответствующую длине линии.

7. Написать Mathcad-функцию, моделирующую прохождение сигнала по каналу связи с искажениями и ослаблением, приблизительно такого вида:

ReceiveSeq:= channel(TransmitSeq, P, A, InitialState,Nф),

где ReceiveSeq – принятый сигнал, TransmitSeq – переданный сигнал, а InitialState – начальное состояние канала, Nф – характеристика фонового шума в канале, A – коэффициент затухания из п.6, channel() – функция, описывающая модель канала связи.

Приблизительное содержание функции channel():

· преобразование входного сигнала в амплитудно-частотную характеристику с помощью преобразований Фурье (функция cfft() из приложения 2);

· перемножение АЧХ сигнала с коэффициентом затухания;

· обратное преобразование Фурье (функция icfft() в приложении 2);

· добавление гауссовского шума с использованием функции rnorm() (приложение 2).

8. Проверить работу функций, из пп. 4, 7 на примере фиксированной последовательности бит.

9. Оформить отчет по лабораторной работе в виде рабочего листа Mathcad.

10. Сдать и защитить работу.

Содержание отчёта по лабораторной работе:

1. Номер название и цель лабораторной работы.

2. Задание к лабораторной работе.

3. Разработанные в лабораторной работе функции.

4. Результаты выполнения с пояснениями.

5. Выводы по лабораторной работе.

Контрольные вопросы:

1. Охарактеризуйте структурную схему системы связи.

2. Перечислите виды каналов связи.

3. Какие характеристики каналов связи вы знаете?

4. Дайте определение отношения сигнал/шум.

5. Что такое затухание сигнала, погонное затухание?

6. Как затухание влияет на качество передачи?

7. Для чего используются преобразования Фурье?


Литература

1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд. – СПб.: Питер, 2006. – 958 с.

2. Столлингс В. Компьютерные системы передачи данных, 6-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2002. – 928 с.

3. Блэк Ю. Сети ЭВМ: Протоколы, стандарты, интерфейсы: Пер. с англ. – М.: Мир, 1990. – 506 с.

4.


ПРИЛОЖЕНИЕ 1

Таблица П.1 – Варианты к лабораторной работе №2

№ рабочего места Тип передающей среды Величина погонного затухания Длина линии, м
  Витая пара кат.5    
  Витая пара кат.6    
  Коаксиальный кабель    
  Оптоволокно    
  Беспроводная среда    
  Витая пара кат.5    
  Витая пара кат.6    
  Коаксиальный кабель    
  Оптоволокно    
  Беспроводная среда    
  Витая пара кат.5    
  Витая пара кат.6    
  Коаксиальный кабель    
  Оптоволокно    
  Беспроводная среда    

ПРИЛОЖЕНИЕ 2

Таблица П.2 – Некоторые встроенные Mathcad-функции

Функция Описание функции
ceil(X) Округляет значение аргумента X до ближайшего большего целого.
cols(M) Возвращает количество столбцов матрицы (вектора) M.
cfft(S) Выполняет преобразование Фурье последовательности S.
floor(X) Округляет значение аргумента X до ближайшего меньшего целого.
Icfft(Z) Выполняет обратное преобразование Фурье последовательности Z.
last(V) Возвращает индекс последнего элемента вектора V.
length(V) Возвращает длину вектора V.
mod(X,Y) Возвращает остаток от деления аргумента X на аргумент Y.
rows(M) Возвращает количество строк матрицы (вектора) M.
rnd(X) Возвращает равномерно распределенное на интервале [0; X] число.
rnorm(N, m, s) Возвращает вектор из N элементов случайных нормально распределенных чисел со средним – m и среднеквадратическим отклонением s.
stack(A, B, С, D) Объединяет векторы A, B, C, D в один вектор суммарной длины в том порядке, в каком они передаются в функцию.
str2vec(S) Возвращает вектор десятичных ASCII – кодов символов строки S.
submatrix(M,ir,jr,ic,jc) Извлекает подматрицу из матрицы М со строки ir по jr и со столбца ic по jc.
vec2str(D) Преобразует вектор десятичных ASCII – кодов D в текстовую строку.

Елена Викторовна Кокорева

Алексей Валерьевич Сединин

Александр Федорович Ярославцев


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: