Страница 2 из 2

Re: Тема 9. Радиосеть передачи данных

Добавлено: 24 апр 2017, 16:13
dimmitrii
Демонстрация работы скрипта

Re: Тема 9. Радиосеть передачи данных

Добавлено: 08 май 2017, 02:10
dimmitrii

Код: Выделить всё

clc;
clear all;
%% исходные данные
     % Определение структуры пакета L2
    LengSinhro=342; % длинна сообщения Sinhro
    LengECV=10; % длинна сообщения настройка эквалаййзера
    LengL2=324; % длинна сообщения L2-BCCH
    LengFEC=8; % длинна сообщения FEC
     %% Создание сообщения L2 уровня
messegeSinhro=zeros(1,LengSinhro); % заполнение фреймов
messegeECV=[0 1 0 0 1 1 0 0 1 0]; % заполнение фреймов
messegeL2=ones(1,LengL2); % заполнение фреймов
messegeFEC=[0 1 0 0 0 0 1 0]; % заполнение фреймов
messegeBCCH=cat(2,messegeSinhro,messegeECV,messegeL2,messegeFEC);
disp('Т1: создание сообщения L1 завершено');
disp('T1: сообщение передано');
txData = rot90(messegeBCCH);   % Смещение фазы сообщения для выполнения модуляции
hMod = comm.BPSKModulator('PhaseOffset',pi/2);
    hAWGN = comm.AWGNChannel('NoiseMethod', ...
                         'Signal to noise ratio (SNR)','SNR',15);
    hDemod = comm.BPSKDemodulator('PhaseOffset',pi/2);
    % Вычисление ощибки вносимой каналом
    hError = comm.ErrorRate;
    for counter = 1:1368
        modSignal = step(hMod, txData);
        noisySignal = step(hAWGN, modSignal);
        receivedData = step(hDemod, noisySignal);
        errorStats = step(hError, txData, receivedData);
    end
    fprintf('Error rate = %f\nNumber of errors = %d\n', ...
      errorStats(1), errorStats(2))
       if messegeBCCH(1:342)==0; % Выделение типа
         disp('найдено сообщение BCCH');
         dataBCCH=messegeBCCH(352:676);
          dataEVC=messegeBCCH(342:352);
           dataFEC=messegeBCCH(676:684);
           disp('отправим DATA на L3 уровень')
     end;
     

Re: Тема 9. Радиосеть передачи данных

Добавлено: 08 май 2017, 02:11
dimmitrii
Должна работать в версии matlab2009B, проблемы с каналом были устранены