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