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

10 vues (au cours des 30 derniers jours)
Sagar Shriram Salwe
Sagar Shriram Salwe le 10 Oct 2018
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 commentaires
Guillaume
Guillaume le 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 le 10 Oct 2018
Modifié(e) : Sagar Shriram Salwe le 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).

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 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 commentaires
Guillaume
Guillaume le 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 le 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?

Connectez-vous pour commenter.

Plus de réponses (1)

Adam Danz
Adam Danz le 10 Oct 2018
Modifié(e) : Adam Danz le 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 commentaires
Adam Danz
Adam Danz le 10 Oct 2018
Modifié(e) : Adam Danz le 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 le 10 Oct 2018
Thank you!!! I Actually formulated as per the wiki page. It should be GF(2) addition i.e. xor operation.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Error Detection and Correction dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by