Modulacja i Kodowanie. Labolatorium. Kodowanie Kanałowe Kody Hamminga

Podobne dokumenty
Kody splotowe (konwolucyjne)

W11 Kody nadmiarowe, zastosowania w transmisji danych

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

0 + 0 = 0, = 1, = 1, = 0.

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Detekcja i korekcja błędów w transmisji cyfrowej

- Quadrature Amplitude Modulation

Detekcja i korekcja błędów w transmisji cyfrowej

Niezawodność i diagnostyka systemów cyfrowych projekt 2015

TEMAT: SYSTEMY CYFROWE: MODULACJA DEMODULACJA FSK, PSK, ASK

Modulacja i kodowanie - labolatorium. Modulacje cyfrowe. Kluczowane częstotliwości (FSK)

Matematyka dyskretna

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

Podstawy Informatyki: Kody. Korekcja błędów.

Teoria informacji i kodowania

KODOWANIE KANAŁOWE (NADMIAROWE) ERROR CONTROL CODING

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Kody blokowe Wykład 2, 10 III 2011

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

PODSTAWY TELEKOMUNIKACJI Egzamin I (za każde polecenie - 6 punktów)

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 5

Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych.

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

Systemy i Sieci Radiowe

Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych.

Kody splotowe. Zastosowanie

Wybrane metody kompresji obrazów

Laboratorium ochrony danych

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Modulacja i kodowanie laboratorium. Modulacje Cyfrowe: Kluczowanie Amplitudy (ASK)

Kody blokowe Wykład 1, 3 III 2011

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Techniki diversity i systemy wieloantenowe. Paweł Kułakowski

Poziomy zabezpieczeń danych w sieciach szerokopasmowych opartych na technice ATM

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 11

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Projektowanie Sieci Lokalnych i Rozległych wykład 11: systemy przywoławcze

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Modulacja i kodowanie laboratorium. Modulacje Cyfrowe: Kluczowanie Amplitudy (ASK) i kluczowanie Fazy (PSK)

Systemy Bezprzewodowe. Paweł Kułakowski

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach

ZASADY PRZECHOWYWANIA DANYCH

Podstawowe modele kanałów telekomunikacyjnych. Przepustowości kanałów ciągłych i dyskretnych

ROUTER ROUTER ROUTER. Przełącznik Przełącznik Przełącznik Przełącznik. 25 komp. 12 komp. 10 komp. 25 komp. P3 P4 P5 P6

Podstawy Transmisji Cyfrowej

Wpływ szumu na kluczowanie częstotliwości

1 Motywacje. 2 Zastosowania kodów. 3 Podstawowe definicje i oznaczenia. Sieci komputerowe II. Uniwersytet Warszawski Podanie notatek

Tranzystor JFET i MOSFET zas. działania

SYMULACJA KOMPUTEROWA SYSTEMÓW

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

sieci mobilne 2 sieci mobilne 2

ADAPTACYJNE PRZETWARZANIE SYGNAŁÓW LABORATORIUM. Ćwiczenie 4. Wybrane telekomunikacyjne zastosowania algorytmów adaptacyjnych

Wpływ szumu na kluczowanie fazy (BPSK)

Politechnika Warszawska Wydział Elektryczny Laboratorium Teletechniki

Systemy i Sieci Telekomunikacyjne laboratorium. Modulacja amplitudy

Strojenie i naprawa profesjonalnych radiotelefonów cyfrowych

Krzysztof Włostowski pok. 467 tel

BER = f(e b. /N o. Transmisja satelitarna. Wskaźniki jakości. Transmisja cyfrowa

Podstawowe pojęcia. Teoria informacji

LSB MSB dwu bajtową sumą kontrolną CRC. Ramka transmitowana jest jako pojedynczy blok danych.

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Z twierdzenia Nyquista wynika konieczność kodowania bitów za pomocą sygnałów w celu przesłania większej liczby bitów w jednostce czasu.

Ocena wpływu algorytmu dupleksowego systemu transmisji danych na szybkość transmisji

Interfejsy systemów pomiarowych

. Rodzaje transmisji sygnału i RS-232

Wykorzystanie losowych kodów liniowych w steganografii

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Dekodowanie iteracyjne sygnałów OFDM w systemie o wielu strumieniach przestrzennych

Narodowa Platforma DVB-T w ujęciu cyfrowej stacji czołowej. Jacek Gwizdak VECTOR

Demodulowanie sygnału AM demodulator obwiedni

Temat 4. Magia obracanych kart Detekcja i korekcja błędów

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Pamięć. Podstawowe własności komputerowych systemów pamięciowych:

ĆWICZENIE nr 3. Badanie podstawowych parametrów metrologicznych przetworników analogowo-cyfrowych

IPoDWDM nowe alternatywy dla sieci OTN i SDH DWDM

(12) OPIS PATENTOWY (19) PL (11)

Uniwersalny modem radiowy UMR433-S2/UK

Przetwarzanie sygnałów w telekomunikacji

Quality characteristics of finite linear codes

Przemysłowe Sieci Informatyczne (PSI) Wykład #3 kodowanie i wstęp do teorii informacji WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Metody numeryczne Laboratorium 2

Transmisja przewodowa

Czy Mój Sygnał Cyfrowy QPSK / QAM / OFDM jest O.K???

Uniwersalny modem radiowy UMR433-S1-Z/UK UMR433-S1/UK

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

LABORATORIUM PODSTAW TELEKOMUNIKACJI

Transkrypt:

Modulacja i Kodowanie Labolatorium Kodowanie Kanałowe Kody Hamminga Kody Hamminga należą do grupy kodów korekcyjnych, ich celem jest detekcja I ewentualnie poprawianie błędów. Nazwa tego kody pochodzi od nazwiska twórcy, czyli R. W. Hamming, pracownika laboratoriów Bella. Sam kod został opracowany ok 1950 roku. Kody Hamminga należą ponadto do grupy kodów blokowych, to znaczy, że każdorazowo kodowany jest blok wiadomości o określonej długości, zawierający oprócz bitów informacyjnych także bity kontrolne. W tym przypadku są to bity parzystości, wyliczane z odpowiednich bitów informacyjnych. Po odebraniu takiego bloku danych (dane plus bity kontrolne) możliwa jest jego walidacja pod kątem błędów. Ogólnie Kodowanie Korekcyjne ( FEC - Forward Error Correction) - technika dodawania nadmiarowości do transmitowanych cyfrowo informacji. Umożliwia całkowitą lub częściową detekcję i korekcję błędów powstałych w wyniku zakłóceń (Rys. 1). Rys.1 Ogólny schemat systemów korekcji błędów typu FEC Forward Error Correction

1. Kod Hamminga (7,4) W przypadku kodów Hamminga bity kontrolne dodawane są na określonych pozycjach, ogólnie jest to pierwszy bity, a następnie bity będą potęgami liczy 2. Dla kodu Hamming (7,4) liczba bitów informacyjnych wynosi 4, liczba bitów kontrolnych 3, a całkowita długość zakodowanego bloku wynosi 7. Bity kontrolne to bity parzystości, które wyznaczane są dla odpowiednich bitów informacyjnych. Ilustruje to rys. 2: Rys. 2: Konfiguracja bitów kontrolnych dla kodu Hamming (7,4) Natomiast poszczególne bity parzystości są wyznaczone w następujący sposób: gdzie: b n jest sumą jedynek z poszczególnych bitów. b 4 = b 5 + b 6 + b 7 b 2 = b 3 + b 6 + b 7 b 1 = b 3 + b 5 + b 7 (bit parzystości bit kontrolny, który przyjmuje taką wartości, aby ciąg złożony z niego samego oraz pewnego ciągu bitów informacyjnych posiadał parzysta liczbę jedynek). Przykład: Wiadomość do zakodowania: 1010 Pozycja bitu: p 1 p 2 p 3 p 4 p 5 p 6 p 7 wiadomość: 1 0 1 0 Bity kontrolne: 1 1 1 Zakodowana wiadomość: 1 1 1 1 0 1 0 7 całkowita liczba bitów w zadokowanej wiadomości (n-bits) 4 liczba bitów informacyjnych ( k-bits ) n k liczba bitów kontrolnych (m-bits)

Kody Hammga, ponieważ są kodami liniowymi, to mogą być również przestawione I kodowane w postaci macierzy. Można wyznaczyć dwie macierze macierz generator G oraz macierz kontroli parzystości H: wiersze 1, 2, oraz 4 macierzy G są bitami kontrolnymi wiadomości. Dekodowanie : gdzie: S = v H T S Syndrom, v- odebrana (zakodowana) wiadomość, H T - transponowana macierz kontroli parzystości. Jeżeli S <> 0 wtedy wiadomość zawiera błędy 2. Cwiczenia: Kodowanie I dekodowania metodą Hamming(7,4) n = 7; k = 4; msg = [1, 0, 1, 0].' % Code length % Message Length % Message (in binary representation) % coding message in Hamming(7,4) code encdata = encode(msg,n,k,'hamming/binary') % decoding message (compare with example!) decdata = decode(encdata,n,k,'hamming/binary')

% check number of error numerr = biterr(binmessage,decdata) Teraz możemy dodać błędny bit, np. na pozycji 4: encdata (4) = ~ encdata (4); % decoding message (compare with example!) decdata = decode(encdata,n,k,'hamming/binary') % check number of error numerr = biterr(binmessage,decdata) Kod z minimalnym dystansem Hamminga Dmin może wykryć D min -1 błędów oraz poprawić (Dmin-1) / 2 lub Dmin / 2-1. Funkcja Decode automatycznie próbuje poprawiać błędy. 2.1 Transmisja danych w prostym modelu kanału z szumem gaussowskim. We try s a text over a noisy-channel without and with error correction. Przygotowanie źródła danych n = 15; k = 11; % Code length % Message Length data = dec2bin( Some testing message,k); (im dłuższa wiadomosc tym lepiej.) errors = 0; % number of errors for protection channel errorsnp = 0; % number of errors for non-protection channel Dodatkowe funkcje:

% function for convert from string to number array: function [ numarray ] = str2numarray( data,dim ) datalength = size(data,dim); numarray = zeros(1,datalength); for i = 1 : datalength numarray(i) = str2num(data(i)); % simple channel simulator: % Pe Error Propability function [ message ] = simplychannelmodel( message, Pe ) for i = 1 : size(message,2) if (rand <= Pe) message(i) = ~message(i); Główna pętla (główna funkcja uruchamiająca skrypt): for i = 1 : size(data,1) binmessage = str2numarray(data(i,:), 1); encdata = encode(binmessage,n,k,'hamming/binary'); Pe = 0.05; encdata = simplychannelmodel( encdata, Pe ); dataencoded(i,:) = encdata; nonprotectiondata = simplychannelmodel( binmessage, Pe ); decdata = decode(encdata,n,k,'hamming/binary'); numerr = biterr(binmessage,decdata); numerrnp = biterr(nonprotectiondata,decdata); if (numerr > 0) errors = errors + 1; if (numerrnp > 0) errorsnp = errorsnp + 1; BER = errorsnp / size(data,1); message = strcat('ber [No Error Correction] = [',num2str(ber),']'); disp(message); BER = errors / size(data,1); message = strcat('ber [Error Coorection] = [',num2str(ber),']'); disp(message);

Sprawdź współczynnik BER dla różnych P e. Porównaj BER dla transmisji z korekcją błędów i bez niej (narysuj wykres obrazujący te różnice). 2.2 Transmisja danych z wykorzystaniem modelu kanału AWGN oraz modulacji FSK Korzystając z poprzedniego ćwiczenia zbuduj model system telekomunikacyjnego opartego o kanał AWGN oraz modulację FSK. Przygotowanie źródła danych data = dec2bin( Some testing message,k); for i = 1 : size(data,1) binmessage = str2numarray(data(i,:), 1); encdata = encode(binmessage,n,k,'hamming/binary'); dataencoded(i,:) = encdata; % Preparing of 1-dimensional data stream... [nrmessages, messagelength] = size(data); datatxec = reshape(dataencoded, [nrmessages * n, 1]); Modulacja oraz demodulacja FSK: M = 2; % Modulation order k = log2(m); % Bits per symbol EbNo = 5; % Eb/No (db) Fs = 16; % Sample rate (Hz) nsamp = 8; % Number of samples per symbol freqsep = 10; % Frequency separation (Hz) % Modulation txsig = fskmod(datatx,m,freqsep,nsamp,fs); % Noisy-Channel-Model rxsig = awgn(txsig,ebno+10*log10(k)-10*log10(nsamp),... 'measured',[],'db'); % Demodulation dataout = fskdemod(rxsig,m,freqsep,nsamp,fs);

% get BER [num,ber] = biterr(datatx,dataout); BER_theory = berawgn(ebno,'fsk',m,'noncoherent'); [BER BEREC BER_theory] Sprawdź jaki będzie współczynnik BER dla różnych E b /N 0, sporządź wykres to obrazujący. Porównaj BER dla transmisji z korekcją błędów i bez niej.