How to add two rows of binary elements of matrix in matlab ?

10 views (last 30 days)
Hello everyone, I want to add the binary matrix rows with the other. For example[1 0 1;1 1 0] i want to add these row and update in the matrix. Thanking you in advance
  4 Comments
Guillaume
Guillaume on 10 Oct 2018
The binary sum of 110b and 010b is 1000b, not 100b, so I don't understand your final H.
Sagar Shriram Salwe
Sagar Shriram Salwe on 10 Oct 2018
Edited: Sagar Shriram Salwe on 10 Oct 2018
https://en.wikipedia.org/wiki/Low-density_parity-check_code
See in this example H they are adding rowwise and output is just the addition of that number element by element(Actually Avoiding the carry generated).

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 10 Oct 2018
Ok, you left out a lot of necessary information in your question. In particular, that your addition is performed in the 2 element galois field.
As stated on the wiki page, addition in GF(2) is simply a logical xor, so:
H(1, :) = xor(H(1, :), H(2, :))
Or you could use the features of the Communication System Toolbox (which I don't have) which fully support galois fields computation and has functions for error detection. It may even have your LDPC algorithm already implemented.
  4 Comments
Guillaume
Guillaume on 11 Oct 2018
I'm afraid this is way outside my area of expertise. I learned this stuff 20 years ago and haven't used it since then.
Sagar Shriram Salwe
Sagar Shriram Salwe on 11 Oct 2018
Actually while doing manually and adding the same quantities we are getting Null matrix. By multiplying G and Transpose of H and adding the elements by xor resolve this issue. In matlab for to do same any function is available or not?

Sign in to comment.

More Answers (1)

Adam Danz
Adam Danz on 10 Oct 2018
Edited: Adam Danz on 10 Oct 2018
Use bi2de() to convert the binary vectors to decimal; then add; then convert back to binary vector using de2bi(). These function are from communications toolbox.
H=[1 1 0;0 1 0]
bisum = de2bi(sum(bi2de(H)))
If you'd like to replace the first row of H with the new sum vector,
H(1,:) = de2bi(sum(bi2de(H)))
  3 Comments
Adam Danz
Adam Danz on 10 Oct 2018
Edited: Adam Danz on 10 Oct 2018
Yeah, this answer addresses adding binary matrix rows which was your original question prior to Guillaume looking into what you really wanted to do.
Sagar Shriram Salwe
Sagar Shriram Salwe on 10 Oct 2018
Thank you!!! I Actually formulated as per the wiki page. It should be GF(2) addition i.e. xor operation.

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!