Выполнил: студент группы TС-11 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Выполнил: студент группы TС-11

 

 

Национальный технический университет Украины

«Киевский политехнический институт»

 

 

Институт телекоммуникационных систем

 

 

Дисциплина «Программные средства в телекоммуникационных системах2»

 

 

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

Моделирование цифровых каналов передачи информации в Matlab. Помехоустойчивое кодирование с прямой коррекцией ошибок.

 

Выполнил: студент группы TС-11

 

Георгин Дмитрий

  (ФИО)

Проверил: ст.преподаватель

_______________ Кайденко Н.Н.

«_____»_______________2013г.

 

Киев 2013

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

Моделирование цифровых каналов передачи информации в Matlab. Помехоустойчивое кодирование с прямой коррекцией ошибок.

1 Цель работы

Целью работы является приобретение навыков построения моделей цифровых каналов передачи информации в среде MatLab.     

2 Состав рабочего места

2.1 Оборудование: IBM-совместимый персональный компьютер (ПК).

2.2 Программное обеспечение: операционная система WindowsХРи выше, система MatLab версии R2006a и выше.

3 Краткие теоретические сведения

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

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

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

4.1 В модели канала передачи информации используются созданные в лабораторной работе №1 скрипт-файлы и файл-функции.

4.2 Создать файл-функции, реализующие кодер сверточного кода и декодер сверточного кода, работающий по алгоритму Витерби. Возможно создание одной файл-функции.

4.3 Добавить в модель канала передачи информации функции помехоустойчивого кодирования (перед модулятором и после демодулятора). Параметры кода: сверточный код - перфорированный на основе порождающего многочлена [171 133], начальная задержка кодера - 7, количество путей декодера Витерби (traceback) – 5, векторы пунктурирования [1 0 1 1] для скорости 2/3; [1 0 1 1 1 0 ] для скорости ¾. Остальные параметры согласно варианта задания из таблицы 1. Тип декодера для всех вариантов с «жесткими решениями».

4.4 Провести моделирование канала передачи информации в диапазоне значений отношения сигнал/шум, получить характеристику помехоустойчивости в диапазоне значенийBER 10-2-10-5. Сравнить полученную характеристику с теоретической и с характеристикой для канала без помехоустойчивого кодирования.

4.5 Создать файл-функции, реализующие кодер Рида-Соломона и декодер Рида-Соломона.

4.6 Модернизировать скрипт-файл модели канала для работы с пакетами данных. Длина пакета определяется параметрами кода Рида-Соломона.

4.7 Добавить в модель канала передачи информации функции помехоустойчивого кодирования кодом Рида-Соломона, (перед кодером сверточного кода и после декодера Витерби). Параметры кода: Рида-Соломона перфорированный на основе систематического кода (255,239,16), остальные параметры согласно таблице 1.

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

 

 

Таблица 1 – Варианты заданий.

Тип

модуляции

Отобра-жение

Рекомендуемые

Функции Матлаб, класс modem

Скорость

СК

Код РС

8-PSK

binary

pskmod, pskdemod

2/3

(128,112,16)

 

clear all

M=8;

InputRandData = randint(10000,1,M); %Матриця- рядок випадкових чисел довжиною 10000 біт %

punc23=[1 0 1 1 ]; % Вектор пунктування 2/3 (1101)%

msg = randint(300000,1,2); %випадкові дані %

msg=InputRandData;

L_c=length(msg)

 

% модулювання завадостійкості %

 

N_bit=1e3;

% Для профіля 3 згідно стандарта IEEE 802.16-2009 %

L_block=112; % Кількість кодованих байт %

T_block=16; % Кількість байт провірочних символів %

L_block_b=L_block*8;

N_block=fix(N_bit/(L_block_b));

Data_in=randint(N_bit,1);

tic

% Формування матриці вхідних даних , розбитих на блоки %

for i=1:N_block

Data_block(i,:)=Data_in((i-1)*L_block_b+1:i*L_block_b);

end

% Перетворення із бітового формата в байтовий %

n=1;

while n<=N_block

for i=1:L_block

Data_blockB(n,i)=bi2de(Data_block(n,(8*(i-1)+1):8*i),'left-msb');

end

n=n+1;

end

 

% Кодуванняе кодом Ріда-Соломона

% Систематичний код RS (255,239,8) у відповідності з IEEE 802.16-2009 %

RS_enc_obj = fec.rsenc(255,239); % Систематичний код РС %

RS_enc_Short = copy(RS_enc_obj);

RS_enc_Short.ShortenedLength=239-L_block; % Укорочення кода

RS_enc_Short.PuncturePattern(T_block+1:end)=0; % Перфоріровання по масці %

RS_enc_SP=encode(RS_enc_Short,Data_blockB'); % Кодування %

 

%переиворення із байтів в біти %

 

RS_enc_SP_b=de2bi(RS_enc_SP);

 

%%%Модуляція %%%

 

M_PSK=functmod(M,RS_enc_SP_b);

 

% Адитивный білий гаусовий шум %

 

EbNo=3;%відношення сигнал/шум

k=log2(M);

PSK_sh=awgn(M_PSK,EbNo+10*log10(k)-10*log10(1));

 

%Демодуляцsія

 

DEM_PSK=functdemod(M,PSK_sh);

DEM_PSK_B=bi2de(DEM_PSK);

 

% Декодування з використанням обєктів Matlab R.2008a

RS_dec_obj = fec.rsdec(RS_enc_Short); % Обєкт декодер

[RS_dec_SP,cnumerr] = decode(RS_dec_obj,DEM_PSK_B); % Декодування %

ck_d = isequal(RS_dec_SP,Data_blockB') % Првірка правильності декодування %

disp=(ck_d)

 

%%% Підрахунок коефіцієнта помилок %%%

[number,ratio]=biterr(Data_blockB',RS_dec_SP)

 

%%%%%Теоретичний Bit Error Rate

 

Ber_t=berawgn(EbNo,'psk',M,'nondif');

 

результат:

L_c =

 

  10000

 

 

ck_d =

 

0

 

 

disp =

 

0

 

 

number =

 

26

 

 

ratio =

 

0.0290

 

clear all

M=8;

InputRandData = randint(10000,1,M); %Матриця- рядок випадкових чисел довжиною 10000 біт %

punc23=[1 0 1 1 ]; % Вектор пунктування 2/3 (1101)%

msg = randint(300000,1,2); %випадкові дані %

L_c=length(msg)

%Кодер%

tr_st = poly2trellis(7, [171 133]); %визначення треліс структури, затримка-7

code = convenc(msg,tr_st);

coded_word=convenc(msg,tr_st,punc23);

L_cp=length(coded_word)

C_Rate=L_c/L_cp

%Модуляция%

M_PSK=functmod(M,coded_word);

scatterplot(M_PSK);grid % Побудова графіка модуляції %

% Аддитивнийбілий гаусовий шум %

EbNo=6;%Отношение сигнал/шум

k=log2(M);

PSK_sh=awgn(M_PSK,EbNo+10*log10(k)-10*log10(1));

scatterplot(PSK_sh);grid

%Демодуляция%

DEM_PSK=functdemod(M,PSK_sh);

scatterplot(DEM_PSK);grid % Побудова графіка демодуляції %

%Декодер%

tblen = 5; % traceback

decoded_word =vitdec(coded_word,tr_st, tblen, 'trunc','hard',punc23);

[N_err, ber] =biterr(decoded_word,msg)

%Підрахунок коефіцієнта помилок%

%[number,ratio]=biterr(InputRandData,decoded_word);

disp([N_err, ber])

%Теоретичний Bit Error Rate%

Ber_t=berawgn(EbNo,'psk',M,'nondif');

%bertool%

disp('Получено Отпротправленно')

disp([msg,decoded_word])

 

результат:

 

Получено Отпротправленно

 

 

0 0

0 0

1 1

0 0

1 1

1 1

1 1

0 0

1 1

0 0

1 1

0 0

0 0

0 0

0 0

0 0

1 1

0 0

1 1

0 0

0 0

1 1

0 0

0 0

0 0

1 1

1 1

1 1

0 0

0 0

0 0

1 1

1 1

0 0

0 0

1 1

0 0

1 1

0 0

1 1

0 0

1 1

0 0

1 1

0 0

1 1

1 1

1 1

0 0

0 0

0 0

0 0

1 1

1 1

1 1

1 1

0 0

1 1

0 0

1 1

 

 

 

Вывод

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

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 11; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.3.72 (0.011 с.)