Тема 3. Обнаружение и идентификация радиосети. Часть 3.
Выполнил: студент группы 1110 Большов Д.С.

Объем работы:
1.4. Построение итоговой иерархической модели узлов сети (в соответствии с концепцией OSI). В модели должны быть обязательно учтены задачи доставки как служебных, так и информационных сообщений.
2. Экспериментальная часть. Разработка и экспериментальное исследование программной модели канала передачи данных.
2.1. Разработка и описание блок-схемы алгоритма модели.
2.2. Разработка программных модулей передачи и приема сообщений канального уровня.

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

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

Рисунок 15.Иерархическая модель.
   Физический уровень(ФУ) – это самый нижний уровень модели, он необходим для передачи потока данных. На физическом уровне определены правила взаимодействия двух сетевых устройств, соединенных друг с другом. Физический уровень предназначен для передачи потока данных от ТД к Т и наоборот.
Параметры ФУ:
  • вид модуляции;
  • тип помехоустойчивого кодирования;
  • обеспечение тактовой частотной и пакетной синхронизации.
   Канальный уровень  предназначен для защиты передаваемых данных от ошибок при передаче между узлами сети. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для передачи и приема пакетов. Протоколы канального уровня обеспечивают доставку сообщений только между узлами одной радиосети.
      Канальный уровень разделяют на 2 подуровня
  • ·        Подуровень адресации и формирования всех видов сообщений (Media Access Control -МАС)
  • ·        Подуровень управления доступом к физическому каналу связи (Channel Access and Control - САС).Уровень взаимодействующий с уровнем L3 (исходя из сценария производится управление ФК).
 На канальном уровне решаются следующие задачи: инкапсуляция сообщений, обеспечение надежной доставки (CRC), адресация сообщения, организация доступа к физическому каналу связи (ФКС).
Инкапсуляция сообщений заключается в том, что сообщение «обрастает» дополнительными полями. Набор полей зависит от того, по какому из логических каналов канального уровня  будет передаваться сообщение.
Также на канальном уровне происходит обнаружение ошибок путем расчета контрольной суммы (CRC), которая вычисляется на стороне получателя по известному алгоритму и сравнивает с полученной суммой. Если значения совпадают, считается, что пакет принят безошибочно. Если значения контрольных сумм отличаются, то фиксируется ошибка и формируется запрос на повторную передачу поврежденного пакета, в соответствии с его номером.На канальном уровне также представлена служба адресации, осуществляющая адресную передачу сообщений,  за счет помещения адреса Т или АР в соответствующее поле пакета канального уровня.

Рисунок 16. Иерархическая модель узлов сети.
Уровень управления сценариями L3 передает команды на подуровень CAC который взаимодействует с уровнем L1, с целью изменения мощности ТД и Т . Он необходим так, как в данной радиосети реализована возможность изменения зоны обслуживания, а также управление мощности Т и ТД. Сообщения(трафик) поступают на подуровень MAC, где происходит сборка сообщений,формирование и добавления CRC, далее сообщение поступает на уровень L1, где происходит модуляция(демодуляция),кодирование(декодирование),а также синхронизация.И передача сообщения по радиоканалу.
2. Экспериментальная часть. Разработка и экспериментальное исследование программной модели канала передачи данных.
2.1. Разработка и описание блок-схемы алгоритма модели.

Рисунок 17. Блок-схема алгоритма модели.
На рисунке 17 представлена блок-схема модели, показывающая передачу ТД BCCH и Т заявки на регистрацию.
У ТД есть свой уникальный ID,наименование сети, а также код, который объявляет Т, что нужно провести радиоизмерения. Эти данные поступают на канальный уровень ,где производится сборка сообщения, а также добавления CRC. Далее сообщение поступает на физический уровень, где происходит добавление к нему полей синхронизации, и помехоустойчивое кодирование. Далее на этом уровне происходит модуляция, предназначена для переноса сигнала на заведомо известную несущую частоту и для дальнейшей передачи его по радиоканалу. В канале связи на сигнал оказывает влияние шум. Т приняв сообщение на физическом уровне производит демодуляцию сообщения и исправление и обнаружение ошибок во время передачи. Далее сообщение на канальном уровне декодируется, то есть выделяются поля сообщения, информационная часть, также производится расчет CRC  и сравнение с полученным значением, и принимается решение о повторном запросе.Если ошибок нет то на Т выводится информация о ТД. Далее Т формирует заявку на регистрацию аналогичным образом (но разный состав сообщения) и передает сообщение ТД.
2.2. Разработка программных модулей передачи и приема сообщений канального уровня.


При разработки программных модулей необходимо передать широковещательное сообщение, состоящий из битов,которые отображают информацию о сети.Для этого необходимо:
  1. Считать из памяти параметры сети(в данном случае задаются самостоятельно).
  2. Сформировать сообщение.
  3. Передать на Т.
Пакеты, подготовленные к передаче, имеют иерархическую структуру, состоящую из физического, канального уровней и уровня управления, представлены в п.1.2.6 и п.1.3 части 2. 
   Программа начинается со считывания параметров сети:
% переменная, равная длине  поля "наименование сети"
set.name = 112;
% ID - сети, которой принадлежит терминал. ID-сети хранится на терминале
set.ID = [ 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 1];
% переменная, равная длине  поля "Код на проведение радиоизмерений"
set.ask = 14;
% сборка части L2-сообщения
msg_Lev2 = [ID_networt network_name_bin ask];   
% получение 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
% сборка сообщения
msg_Lev1 = [msg_Lev2 CRC];
 trx = msg_Lev1';
% добавление дополнительныхо бит с целью приведения итогового блока к величине, кратной степени.
code_word = [ 0 code];
% h - модем QPSK с позиционностью mPos
h = modem.pskmod(st.mPos);
% Параметры модуляции
h.inputtype = 'bit';
% Собственно модуляция сообщения L1 уровня
IQ_code = modulate(h, code_word');
%Наложение шума на сигнал
noise_sgn = awgn(IQ_code,PwSignal);
% Параметры демодуляции
h = modem.pskdemod(st.mPos);
h.OutputType = 'bit';
% собственно демодуляция
s = demodulate(h,rxIQ);
%Декодирование:
%Помехоустойчивое декодирование
received_mes_L1 = decode(s(4:st.n+1),st.n,st.k,'bch/binary');
% Подготовка к проверке CRC
[q r]=deconv(received_mes_L1,st.poly);
%проверка остатка 
   r=mod(abs(r),2);
   if r == zeros(1,length(received_mes_L1))
        detect=0;% ошибок нет
   else
        errs = errs + 1; 
        detect=1;% обнаружены ошибки
   end;   
% Собственно принятое сообщение
received_mes_L2 = received_mes_L1(1:st.length_msg_Lev2);

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

1)Тема 3. Обнаружение и идентификация радиосети. Часть 1
2)Тема 3. Обнаружение и идентификация радиосети. Часть 2.
3)Тема 5. Радиосеть управления подвижными объектами. Часть 3.
4)Тема 2. Доставка сообщений в структурированной радиосети. Часть 3
5)Сетевая модель OSI
6)Лабораторная работа “Исследование принципов организации канала передачи”