Detect the error position in a vector and correct it (Matlab)
2 ビュー (過去 30 日間)
古いコメントを表示
Afluo Raoual
2021 年 3 月 18 日
コメント済み: Afluo Raoual
2021 年 3 月 18 日
Dear members;
I have the code word C of length 'M' and I have also the received vector V after decoding of the same length 'M' as C
For example:
V=[1 0 0 1 0 1 0 1 0 0]
C=[1 1 0 1 0 0 0 1 0 0]
I want firstly detecting the position of each bold bit of V and than correct it by adding 1 to those bits (because in mod2: 0+1=1 and 1+1=0) in order to obtain V=C
How can I do that please
4 件のコメント
Adam Danz
2021 年 3 月 18 日
> I want firstly detecting the position of each bold bit of V
Ah, so what you really want to do is find the index of the vector where V(i) is not equal to C(i).
採用された回答
Christopher McCausland
2021 年 3 月 18 日
Hi Afluo,
You can try something like the below to assess where the diffrences between the arrays are; after this just cycle to these locations and change the value as you need.
I hope this helps,
Christopher
V=[1 0 0 1 0 1 0 1 0 0]
C=[1 1 0 1 0 0 0 1 0 0]
diff_Check = V ~= C;
4 件のコメント
Adam Danz
2021 年 3 月 18 日
編集済み: Adam Danz
2021 年 3 月 18 日
I agree with Christopher McCausland , this does describe what you want to do but is missing the final step which is quite straightforward and something you could fill in yourself,
V=[1 0 0 1 0 1 0 1 0 0];
C=[1 1 0 1 0 0 0 1 0 0];
V(V~=C) = V(V~=C) + 1;
mod(V,2)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!