473,395 Members | 1,941 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Parity Check Matrix

13
How do I find the Parity Check Matrix, when I’m given the generator matrix? e.g.

| 1 0 0 1 1 |
G = | 0 1 0 1 2 |
| 0 0 1 1 3 |

Can anybody teach me how to find the Parity Check Matrix or any website that will teach me?

Lots of help,
Ken JS
Aug 18 '07 #1
5 7079
JosAH
11,448 Expert 8TB
How do I find the Parity Check Matrix, when I’m given the generator matrix? e.g.

| 1 0 0 1 1 |
G = | 0 1 0 1 2 |
| 0 0 1 1 3 |

Can anybody teach me how to find the Parity Check Matrix or any website that will teach me?

Lots of help,
Ken JS
The basics are that GxP^t == 0 mod 2 (for even parity) or GxP^t == 1 mod 2
(for odd parity). The notation '^t' denotes the transposed of a matrix. If G is
given you can compute P^t and hence P.

kind regards,

Jos

ps. Google knows about efficient methods to compute P given the generator
Aug 18 '07 #2
Ken JS
13
The basics are that GxP^t == 0 mod 2 (for even parity) or GxP^t == 1 mod 2
(for odd parity). The notation '^t' denotes the transposed of a matrix. If G is
given you can compute P^t and hence P.

kind regards,

Jos

ps. Google knows about efficient methods to compute P given the generator
I have this example with the answer, but I’m sure the way I use to find the Parity Check Matrix is correct. So please help me along, if I’m wrong.

Example, the generator matrix for a [7,4] linear block code is given as

| 1 0 0 0 1 0 1 |
| 0 1 0 0 1 1 1 |
| 0 0 1 0 0 1 0 | = G
| 0 0 0 1 0 1 0 |

----------------------------------------------------------------------------------------
Am I correct that G is the first 4 bit and P is the last 3 bit because of the [7, 4]???
Is it the same for [5, 3], G is the first 3 bit???

| 1 0 0 0 1 0 1 |
| 0 1 0 0 1 1 1 |
| 0 0 1 0 0 1 0 | = G
| 0 0 0 1 0 1 0 |
|___G__|__P_|

If is correct, I have the P and can compute P^t.

| 1 0 1 |
| 1 1 1 |
| 0 1 0 | = P
| 0 1 0 |

So

| 1 1 0 0 |
| 0 1 1 1 | = P^t
| 1 1 0 0 |

The Parity Check Matrix formula I’m given is H = [-P^t | I]
So I take the P^t and add on with I behind. Which the result is:

| 1 1 0 0 1 0 0 |
| 0 1 1 1 0 1 0 | = H
| 1 1 0 0 0 0 1 |
|__P^t__|__I__|

But where did the ‘–‘P^t go to??
As my given answer is this without the ‘–‘.

I’m not sure how did the I come from but it looks like a method by putting a bit at a time.

Lot of help
Ken JS
Aug 19 '07 #3
JosAH
11,448 Expert 8TB
Your reasoning is correct as far as I can see (I didn't have my espresso yet so
no warranties ;-) I think that | -P I | thing is just a notational thingie; have a look
at these notes.

kind regards,

Jos
Aug 19 '07 #4
Ken JS
13
For the generator matrix that i first given, which is

| 1 0 0 1 1 |
| 0 1 0 1 2 | = G
| 0 0 1 1 3 |

The Parity Check Matrix is:

| 1 2 3 1 0 |
| 1 1 1 0 1 | = H

or

| 1 1 1 0 0 |
| 1 2 0 1 0 | = H
| 1 3 0 0 1 |

I don't know about the 2 & 3, i really not sure is this correct.
Is it any number inside the generator matrix, the method to find the Parity Check Matrix is the same?

---------------------------------------------------------------------------------------------------------------
From the link that you had given me, i found out that for [6,3]

| 1 0 0 0 1 1 |
| 0 1 0 1 0 1 | = G
| 0 0 1 1 1 0 |

| 0 1 1 1 0 0 |
| 1 0 1 0 1 0 | = H
| 1 1 0 0 0 1 |

The P just copy down from the generator matrix, doesn't need to switch to P^t. Do you know why?

----------------------------------------------------------------------------------------------------------------
What i'm thinking is that for [5, 3], there's only 2 parity bit so i need to switch to P^t, because after switching i have 2 rows.
Aug 19 '07 #5
JosAH
11,448 Expert 8TB
I don't know about the 2 & 3, i really not sure is this correct.
Is it any number inside the generator matrix, the method to find the Parity Check Matrix is the same?
Observe though that those matrixes are defined in a Boolean algebra where
1+1 == 0 ('modulo 2')

Read the link again and see how 'symbolically' using that Boolean linear space,
'-P' is used as in P+-P == 0 (modulo 2)

kind regards,

Jos
\
Aug 19 '07 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

8
by: snacktime | last post by:
Is there a module that sets the parity of a string? I have an application that needs to communicate with a host using even parity So what I need is before sending the message, convert it from...
2
by: Petr Jakes | last post by:
Hi, I am trying to set-up communication to the coin change-giver from my Linux box using the Python code. The change giver uses MDB (Multi Drop Bus) serial protocol to communicate with the...
15
by: Herbert Haas | last post by:
Hi everyone, is there a simple and fast method to check the parity of a word (e. g. a 4-byte integer)? That is I want to know whether the number of ones are even or odd. Of course I could do...
2
by: Peter Oliphant | last post by:
OK, I'm mixing old style with new style, so sue me... : ) Will under old syntax, I'm able to create a SerialPort instance. But, when I try to convert the Parity proerty to a String*, I get the...
0
by: Loren | last post by:
I am using parity error checking as I receive data into the input buffer from the comm port. The data I receive consists of a parity error, followed by received data, followed by a parity error. ...
11
by: nick.stefanov | last post by:
I am trying to compute an even parity bit for a variable of type char. Are there any C++, C# examples on how to first compute the bit and then check it. Thank you very much ahead of time. Nick
20
by: Frank-O | last post by:
Hi , Recently I have been commited to the task of "translating" some complex statistical algorithms from Matlab to C++. The goal is to be three times as fast as matlab ( the latest) . I've...
4
by: sunfeifei | last post by:
Your job is to write a C++ program that reads in a matrix and checks if it has the parity property. If not, your program should check if the parity property can be established by changing only one...
1
by: poreko | last post by:
hi guys! does anyone know why the LSB (less significant bit) of the codeword is always used as the parity bit.
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.