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

В нашей разрабатываемой системе используется только три нижних уровня взаимодействия эталонной модели OSI: физический, канальный и сетевой.

Физический уровень – нижний уровень системы, который отвечает непосредственно за безошибочную передачу потока битов по радиоканалу и проведение радиоизмерений в Т. В нашей системе используется множество механизмов, направленных на оптимизацию и повышение эффективности процесса передачи битов, а именно:

-синхронизация – для подстройки терминалов по времени;

-модуляция/демодуляция-перенос сигнала на несущую частоту для передачи по радиоканалу;

-помехоустойчивое кодирование/декодирование – для обнаружения и исправления ошибок, возникающих в среде распространения, путем добавления избыточности.

В нашей системе имеется 2 основных типа сообщений – это служебные и трафика, но вид “служебные” я решил рассмотреть более детально, выделив 4 подвида:

-сообщения трафика;

-сообщения  корректировки по мощности от Т к ТД как подвид служебных сообщений;

-сообщения запроса от ТД как подвид служебных, но реализуемых только для передачи от ТД к Т;

-сообщения о правильном/неправильном приеме как подвид служебных, так же реализуемых только для передачи от ТД к Т;

-сообщения с дальнейшими инструкциями как подвид служебных и реализуемых аналогично, только от ТД к Т.

Сначала представим иерархическую модель терминала с отображением доставки различных типов сообщений


Рисунок 1 – Путь доставки служебного сообщения – запроса от ТД к Т


Рисунок 2 – Путь доставки служебного сообщения – NMK/ACK

Тут мне следовало бы уточнить, что конечный пункт NMK – сообщения это уровень L2, где из буфера будут повторяться неправильно переданные пакеты трафика. Что касается ACK сообщения – это некий маяк для Т после которого будет ожидаться сообщение с дальнейшими инструкциями для Т, путь доставки которого отображен ниже на рисунке 3.


Рисунок 3 – Путь доставки служебного сообщения с дальнейшими инструкциями Т

Под дальнейшими инструкциями подразумевается время, через которое Т должен будет выйти из состояния сна.

Далее представим иерархическую модель выделенного узла сети (ТД) с отображением доставки различных типов сообщений


Рисунок 4 – Путь доставки служебного сообщения с корректировками по P от Т к ТД

При доставке этого сообщения уровень принятия решений ТД поймет о том, что необходимо увеличить мощность радиопередатчика и повторит передачу сообщения.

 

Рисунок 5 – Путь доставки сообщения трафика от Т к ТД

При доставке сообщений трафика имеется 2 исхода дальнейшего развития событий, а именно:

- при отсутствии ошибок в пакетах запись на USB показаний по номеру счетчика и формирование ACK и сообщения о дальнейших инструкциях Т;

- при наличии ошибок в пакетах формирование NAK и дальнейшая работа с Т.

2. Экспериментальная часть. Разработка и экспериментальное исследование программной модели канала передачи данных.

2.1. Разработка и описание блок-схемы алгоритма модели.

В силу того, что к функционалу уровня L1 терминала относится еще и проведение радиоизмерений, то блок схемы алгоритма приема- передачи сообщений  L1 уровня ТД и Т будут отличаться. Ниже на рисунках 6 и 7 проиллюстрированы данные блок – схемы:



Рисунок 6 – Блок - схема алгоритма модели приёма-передачи сообщений L1 уровня ТД



Рисунок 7 - Блок - схема алгоритма модели приёма-передачи сообщений L1 уровня Т

Отличающиеся моменты в схемах выделены розовым цветом для наглядности.

Что касается описания действия работы данных схем,  то видим наглядно, что поток битов с L2 уровня вначале всегда проходит через операцию помехоустойчивого кодирования. Затем данные проходят через BPSK – модулятор и затем происходит добавление преамбулы и пакет становится готовым к отправке по радиоканалу. Далее все преобразования происходят в обратной последовательности , но с учетом различия места принятия сообщения Т или ТД, о чем упоминалось ранее.

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

В данной части работы предложено описание разработанной в среде Matlab модели системы, демонстрирующей пример приёма и передачи сообщений. Разрабатываемая модель функционирует согласно схемам передающего и приемного трактов, показанных выше.

Приведем фрагмент программы, реализующий передающую и приёмную части ТД

В листинге 1 приведен фрагмент программы из канального уровня  для того,чтобы показать,что на L1 уровень поступает уже сформированное сообщение L2 уровня

Листинг 1

       % расчет CRC-кода (Cyclic Redundancy Check, CRC)

   % подготовка массива для расчета CRC

   m=[msg_Lev2 zeros(1,st.y-1)]; % вставка нулей в поле CRC

   [q r] = deconv(m,st.poly); % поиск частного и остатка от деления

   %информационной части на порождающий полином CRC кода

   r = mod(abs(r),2);

   CRC = r(st.length_msg_Lev2 + 1:end);%расчет CRC

   % сборка части L2-сообщения: добавление к сообщению поля CRC

   msg_Lev1 = [msg_Lev2 CRC];

   % msg_Lev1 - сообщение канального уровня, готовое для передачи на

   % физический уровень

   trx = msg_Lev1;

      

Далее в листинге 2 приведен фрагмент программы, реализующий передающую часть.

Листинг 2

   % Кодирование сообщения кодом БЧХ (63,57)

   code_word = encode(trx,st.n,st.k,'bch/binary');

 

   % Модуляция

   h = modem.pskmod(st.mPos);

 

   % h - модем PSK с позиционностью mPos

   % Параметры модуляции

   h.inputtype = 'bit';

   h.SymbolOrder = 'gray';

   h.PhaseOffset = 0;

   % собственно модуляция

   IQ_signal = modulate(h, code_word);

   % заполнение массива символами промодулированного сигнала

   trs = [trs IQ_signal'];

   % Подготовка к передаче

% Дополнение пакета синхросимволом - преамбулой.

% Преамбула состоит из  последовательности CAZAC.

   seq_blk = cazac_seq(st.N1_sync,st.N1_sync-1);

   sync = [seq_blk];

   % вставка преамбулы

   trs_L1 = [sync trs];

% Канал связи

   % моделирование прохождения сигнала по каналу связи

   trx_channel = channel(trs_L1, PwSignal, st);

   % отображение сигнально-кодового созвездия

   figure(10);

   plot(trx_channel,'.');

 

 

В ходе работы этой части кода(листинг 2) сообщение было закодировано, промодулировано, к нему добавилась преамбула и сообщение было отослано через канал связи.

 

После прохождения через КС как было указано выше сигнал проходит процедуру обработки на L1 уровне которая представлена в Листинге 3. 

Листинг 3

% Временная синхронизация

% формирование преамбулы, начало которой требуется найти

seq_blk = cazac_seq(st.N1_sync,st.N1_sync-1);

sync = [seq_blk];

%собственно поиск преамбулы - корреляция sync с принятым сигналом

for i_syn=1:length(rx_signal)-2*st.N1_sync+1

    rr1=rx_signal(i_syn:2*st.N1_sync+i_syn-1);

    flag_timing(i_syn) = rr1*conj(sync.')/(rr1*rr1');

end

% Параметры демодуляции

%h = modem.qamdemod(st.mPos);

modem.pskdemod(st.mPos);

h.SymbolOrder = 'gray';

h.PhaseOffset = 0;

h.OutputType = 'bit';

% собственно демодуляция

   s = demodulate(h,noise_sgn);

% Помехоустойчивое декодирование

received_mes_L1 = decode(s(4:st.n),st.n,st.k,'bch/binary');

 

Далее принятое сообщение следует на уровень L2.

2.3. Исследование качества приема сообщений по различным каналам связи.

Для исследования прохождения сообщения по каналу связи в программном модуле присутствует возможность  моделирования AWGN-канала. Дополнительно присутствует возможность моделирования многолучевого канала связи.

В результате работы программы было получено СКС(Рисунок 8) при ОСШ = 10 дБ, вероятность битовой шибки составила 0.


Рисунок 8 - СКС при ОСШ =10 дБ

А так же было получено СКС при ОСШ = 6 дБ(Рисунок 9), вероятность битовой ошибки составила 97e-4.


Рисунок 9 - СКС при ОСШ =6 дБ

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

Используемая литература:

1  .  Бакке А.В. "Лекции по курсу: Системы и сети связи с подвижными объектами"

2.    Скляр Б. "Цифровая связь"

3.    http://omoled.ru/publications/view/841