8 views

Uploaded by mohammed229

JHHH

save

You are on page 1of 56

COMMUNICATIONS TOOLBOX

TO LOOK AT CYCLIC CODING

Wm. Hugh Blanton

East Tennessee State University

http://faculty.etsu.edu/blanton

The Theory

General Concepts

Channel Coding

**Designed to improve communications
**

performance by enabling the

transmitted signals to better withstand

the effects of various channel

impairments, such as noise,

interference, and fading.

Hamming Distance

The number of bit positions in which two binary words

differ.

110

010

011

**This figure has a minimum
**

distance between code words of

1.

111

000

100

001

101

Hamming Distance of 2

A code word that differs by

a Hamming distance of 2

will detect an erroneous

code word.

0011

0001

0111

r=1

0000

0110

If the minimum distance is 3. 1 1 The error is corrected by assigning the received code word to the nearest (in Hamming distance) valid code word. 1 . the code words are separated by at least three edges. Note that if a single error occurs. the erroneous code word will be closer to one of the correct code words.

it is impossible to detect an error. but not corrected.The important concepts associated with Hamming distance are: 1. the error can be detected. When the Hamming distance is 3. When the Hamming distance is 1. . 2. a single error can be detected and corrected. 3. much less correct the error. When the Hamming distance is 2.

More Theory Mathematical Concepts .

.LINEAR BLOCK CODES Definition – A systematic (n.k) linear block code is a mapping from a k-dimensional message vector to an n-dimensional codeword in such a way that part of the sequence generated coincides with the k message digits.

where n = 7. k-dimensional information vector. The linear block code that everyone uses is the (7.n-dimensional information vector.4) code. where k = 4. Information Code 0000 0000000 0001 1010001 0010 1110010 0011 0100011 0100 0110100 0101 1100101 0110 1000110 0111 0010111 1000 1101000 1001 0111001 1010 0011010 1011 1001011 1100 1011100 1101 0001101 1110 0101110 1111 1111111 .

...k. 0 0 . 0 . . the difference p11 p 21 p n1 p12 p 21 .4) code? – Of course with a Generator Matrix! G P I k Note that m = n ... 1 ... 0 0 1 .....Generator Matrix How do you generate a (7...... p1m . p nm 1 0 . p 2 m pn2 .

4) code is generated by the matrix 1 0 G 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 . A (7.

v u[G ] The (7. 2. 3. u is a [1 × k] vector representing the information word v is a [1 × n] vector representing the code word [G] is a [k × n] generating matrix .4) block code is generated using the matrix equation v u[G] – where 1.

the code word is computed as follows: 1 0 v u[G ] 0 0 0 1 1 Transformation 1 from 4-bit information word to 7-bit code word 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 v 1 0 1 0 0 0 1 Note that the additions are modulo-2 additions . For the information word (0 0 0 1).

– Thus. this code can detect double bit errors and correct single bit errors . The Hamming distance for the (7.4) code is 3.

.Parity Check Matrix Another important matrix associated with block codes is the parity check matrix. [H].

p n 2 .. .. 0 .. The parity check matrix is formed by starting with the identity matrix and appending the transpose of the nonidentity portion of [G]: H I k PT 1 0 .. p nm .. ...... 1 p11 p 21 p12 p 22 p1m p2m p n1 . 0 0 1 . 0 0 .......

For the (7.4) block code. 1 0 0 1 0 1 1 H 0 1 0 1 1 1 0 0 0 1 0 1 1 1 .

any errorless. or syndrome. – If the received code word contains an error.The Syndrome The parity check matrix has the property v[H] T = 0 That is. . the resulting vector will match the corresponding bit that caused the error. yields a zero vector. received code word multiplied by the transpose of the parity check matrix. [H].

Consider one of the valid code words of the (7. vH T 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 .4) parity check matrix.4) block code. v = 1100101 and the transpose of the (7.

1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 Modulo-2 Addition 1 1 000 0 10 1 0 1 0 11 1 0 11 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 1 .

1 0 0 1 1 0 0 1 0 1 1 0 1 1 vH T 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 Syndrome 1 0 0 1 1 0 0 0 0 1 1 The null vector 1 1 indicates no error. 0 1 .

v = 1100101 gets corrupted to 1000101. 1 0 0 T vH 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 . Suppose the valid code words.

1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 Modulo-2 Addition 1 1 000 0 10 1 0 1 0 11 1 0 11 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 .

1 0 0 1 0 0 0 1 0 1 1 0 1 The second row 1 corresponds to the second bit from left. vH T 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 Syndrome 1 0 0 1 1 0 0 1 0 1 1 Match syndrome with 1 1 corresponding code in 0 1 parity check matrix .

the corresponding corrupted bit can be detected and and subsequently corrected. – By matching the non-zero syndrome with the contents contained in the rows of the transposed parity matrix. Each row in the transposed parity check matrix corresponds to a bit in the code word. .

. The process will convert the erroneous code 1000101 to the correct code 1100101.

Cyclic Codes .

the circuitry can become quite complex for very long blocks of code.CYCLIC CODES The implementation of linear block codes requires circuits capable of performing matrix multiplication and of comparing the result of various binary numbers. . – Although integrated circuits have been developed to implement the most common codes.

the cyclic code can be electronically implemented relatively easily. . A special case of the block code.

A (7.4) cyclic code generating matrix 1 0 G 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 .

4) cyclic code generating matrix 1 0 G 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 Non-systematic—No Identity matrix.A (7. .

4) cyclic code generating matrix is made systematic by performing row. G sys 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 .A nonsystematic (7. column operations until you obtain the Ik partition.

MATLAB COMMUNICATIONS TOOLBOX DERIVATION .

MATLAB COMMUNICATIONS TOOLBOX DERIVATION Although row. . many engineering technology students are not familiar with the process.column matrix manipulation is a straightforward process for students that have taken a linear algebra course.

Although. the discussion of linear block codes is not mathematically complicated. it is mathematically tortuous with many mathematical turns. .

4) cyclic code is relatively benign with a manageable number of calculations. the discussion for the (7. Finally. .

For larger codes. . the calculations become overwhelming. especially for the engineering technology student.

. the MATLAB Communications Toolbox provides a set of cyclic code functions. In order to – better manage larger codes. – relieve the mathematical stress on engineering technology students. and – focus on the application of block codes rather than the mathematics.

1 x x3 x 4 x5 x 7 x8 that corresponds to the code word 1 1 0 1 1 1 0 1 1 1 x1 x2 x3 x4 x5 x6 x7 x8 .7) cyclic code with the following generator polynomial.Consider the problem with a (15.

is: 1 0 0 G 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 . G.The nonsystematic cyclic code generating matrix.

And the systematic cyclic code generating matrix is G sys 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 .

7. MATLAB yields a set of all generating polynomials >> p=cyclpoly(15. By using the function cyclpoly.'all') p= 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 x x3 x 4 x5 x 7 x8 1 1 1 .

the nonsystematic generating matrix.genpoly. is derived as follows: >> genpoly=[1 1 0 1 1 1 0 1 1]. genmat. >>[parmat.genmat]=cyclgen(15.By using the function cyclgen.'nonsys') .

genmat = Columns 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 through 13 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 Columns 14 through 15 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 .

.which is 1 0 0 genmat 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 in matrix form.

1 0 0 genmat 0 0 0 0 1 0 0 G 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 .

the systematic generating matrix. can be computed using cyclgen without the conditional parameter (nonsys): >> genpoly=[1 1 0 1 1 1 0 1 1].genmat]=cyclgen(15. genmatsys. >>[parmat.Likewise.genpoly) .

genmatsys = Columns 1 through 12 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 Columns 13 through 15 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 .

which is 1 1 1 genmatsys 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 in matrix form. .

768 possibilities is a frightening task. picking the right 128 valid codes out of 32. .768 (215) possible code words of which 128 (27) are valid code words.7) code produces 32. – Needless to say. The (15.

The Communications Toolbox provides an encode function that alleviates much of this mathematical anxiety. >> data=(0:127). >> c=de2bi(data.'cyclic'. >> valid_code=encode(c.7.15.'left-msb').genpoly) .

valid_code = 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 information code 0 1 0 1 0 .

Conclusion .

– The underlying result is that the electronic engineering technology student can apply more effort in understanding the theory rather than the mathematics. especially when considering more complex problems. The MATLAB Communications Toolbox derives the same generating matrices that are derived by mathematical manipulation. .

By reducing the mathematical anxiety. . and the instructor can move from theoretical foundation of cyclic codes to the circuit implementation of cyclic codes. students can concentrate more attentively on the actual nuances of block coding.

- DC_QP_IIUploaded byBala913
- Day2 Luento 7_coding and Error Control 1Uploaded byኤርሚያስ ስለሺ
- Course Outline of Mba665Uploaded byShivakumarRavindran
- BaryonsUploaded byStefano Castelli
- Cohensutherland Using Vc++Uploaded byUjjwal Agrawal
- Fine LemUploaded byMohamed Farag
- Simulation With Arena 6th Edition by Kelton Sadowski and Zupick Solution ManualUploaded byrodilnger
- צפינה- מצגת 6 | Combining CodesUploaded byRon
- Some Minesweeper ConfigurationsUploaded bygagomat
- Ch9-FunctionalTestingUploaded byPhuong Ha
- YFFTA663[1]Uploaded byYaneri Salazar
- 10.1.1.36Uploaded byMurat Fidan
- Algorithmic Results in List DecodingUploaded byIip Satriani
- Essential of Operating System Prelim Paper 2018Uploaded bysusmita shenmare
- The Pipeline EnglishUploaded bykrrish_13
- Scimagojr 2016 Subject Category - Computer Science (Miscellaneous)Uploaded bycbetancourth_35
- Coding Techniques in QVUploaded byvam_1
- SolutionUploaded byloberick
- Reasoning Answer KeyUploaded byJagan Ramasamy
- krause satawa carnivalproject 10b (1)Uploaded byapi-280692584
- IFC Lecture Math 1 - ContinuationUploaded byJoseph Quezada Fellizar
- Partial ProductsUploaded byArindam
- Time Table Ch2Uploaded bymadan321
- Adaptive ControlUploaded byRameez Hayat
- Research Plan BeasiswaUploaded bydina
- Korner, T W - Coding and CryptographyUploaded bycliftoncage
- Blank Decision MatrixUploaded byTravis Lund
- IJCTT-V3I1P106Uploaded bysurendiran123
- Pima IndianUploaded byanirudhupadya
- Waterfall Excel ChartsUploaded byGiriMaha

- Transparent proxies with Squid By Ankit fadia hackingtruths box sk Proxy ServersUploaded bypaul_17oct@yahoo.co.in
- إدراج و استخدام الكريستال ريبورت فى بيئة دوت نت crystal reports .netUploaded byأكبر مكتبة كتب عربية
- Lec 34 ScriptUploaded bymohammed229
- 93 TDMUploaded bymuhaned190
- Gathering Info on Remote HostUploaded byapi-3781494
- Basic PIFA. Potential antenna designs for a wearable antenna at 440 MHz.docUploaded byAlbu Adrian
- Course 11Uploaded bymohammed229
- DigDesignCh20L2Uploaded bymohammed229
- lec1Uploaded bymohammed229
- PlcUploaded bymohammed229
- chap2Uploaded bymohammed229
- Crnet Install Guide 2010 EnUploaded bymohammed229
- 10 Web Security and PrivacyUploaded byTito Abidan
- SQL_Regex.pdfUploaded byChandan Bagai
- النظرية الكهرومغناطيسةUploaded bymohammed229
- Radio spectrum and allocation.docUploaded bymohammed229
- Chapter 6 MethodologyUploaded bymohammed229
- Tutorial 1.pdfUploaded bymohammed229
- Communication SystemUploaded bymohammed229
- Lab 3Uploaded byPradeep Kumar
- lab3Uploaded bymohammed229
- lab3Uploaded bymohammed229
- EXP_3Uploaded bymohammed229
- EXP_2Uploaded bymohammed229
- 4 Am ReceiverUploaded bymohammed229
- Chapter 3 Mobile Radio SystemsUploaded bymohammed229
- Am ReceiverUploaded bymohammed229
- Am ReceiverUploaded bymohammed229
- SystematicUploaded byPratik Dhage
- SystematicUploaded byPratik Dhage

- VMB_DS_IPVPN_1113Uploaded byJhay Quiamco Matulac
- fusion des données tolérantes au défaillances- application àa surveillance de l'intégrité d'un système de localisation.pdfUploaded byMa Rwa
- Test ReportUploaded bytelesatellitefrench
- DiginetManual-v1[1].2.0Uploaded byDevy Cristianto
- Transformation en zUploaded byA.Benhari
- nodejs.pdfUploaded bymash0703
- algoritmos pascalzimUploaded byJosé Carvalho
- Tese Mestrado TIN GridUploaded byLilian Xande
- Clasificatorul ocupatiilor (ru).pdfUploaded byAlexandru Pinzaru
- PFE-MAJUploaded byred
- Manual de PenManual de pentahoUploaded bySebastian Benalcazar S
- Bash GuideUploaded byThai Viegas
- ACTIVIDAD_1_U2_Indicadores_para_la_evaluacion_del_servicio_de_transporte.docxUploaded byluxxxito4314
- CS 2050 SyllabusUploaded byTL956657grt
- Solution Manual 3eUploaded byjaijohnk
- Communication Systems Modeling and Simulation Using Matlab and Simulink PDFUploaded byRichard
- Dip Image EnhanceUploaded byapi-3823773
- Bryce 7 Artist GuideUploaded byAaron Bazil
- Computer NetworksUploaded byNitin Hirani
- infografia-2-0-incompleto.pdfUploaded byRicardo Cunha Lima
- Requerimientos de NegocioUploaded byHammerHerrera
- 6663_01_pef_201303071Uploaded byAhadh12345
- Paper: Hack DropBoxUploaded byResearch Guy
- ADM 138 - Matemática BásicaUploaded byProcase
- Tics en La AgriculturaUploaded byIsmael Gonzalez
- apostila_nocoesdemicroinformatica[1]Uploaded byAfra Valle
- Guia_F1_2016Uploaded byBrayan Camacho
- VOCABULARIO ALEMAN NIVEL A2-2Uploaded byJuliosistemas Ecuador
- Derecho Digital y Negocios DigitalesUploaded byggodoy2001
- Función cuadráticaUploaded byjosgau