php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 501|回复: 0

tpc编解码扩展采用bch(64,57)与缩短bch(46,39)相乘可得

[复制链接]

3150

主题

3160

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7976
贡献
0
注册时间
2021-4-14
最后登录
2024-11-24
在线时间
763 小时
QQ
发表于 2022-7-16 09:41:10 | 显示全部楼层 |阅读模式
[mw_shl_code=applescript,true]clc;
clear all;

N = [64;64];
K = [57;57];
S = [57;39];
msg =randi([0 1],prod(S),1);%[1;1;0;0;1;1;0;1];%
msg1=reshape(msg,S(1,,S(2,)';

%%tpc【bch(64,57)*bch(46,39)】编码
pol=cyclpoly(N(1,-1,K(1,);
[H G]=cyclgen(N(1,-1,pol);%求生成多项式
G=circshift(G,[0,K(1,]);
cc=mod(msg1*G,2);%bch行编码
%%bch缩短码列编码
k=K(2,-S(2,;
G(1:k,=[];%生成矩阵删减前i行,前i列
G(:,1:k)=[];
cc1=mod(cc'*G,2)';

%添加行偶校验位
[m,n]=size(cc1);
for i=1:m
sum=0;   
for j=1:n
sum=sum+cc1(i,j);
z=sum;
end
if rem(z,2)==0
cc1(i,n+1)=0;
else
cc1(i,n+1)=1;
end
end
%添加列偶校验位
[n,m]=size(cc1);
for i=1:m
sum=0;   
for j=1:n
sum=sum+cc1(j,i);
z=sum;
end
if rem(z,2)==0
cc1(n+1,i)=0;
else
cc1(n+1,i)=1;
end
end

%%tpc函数编码
code = tpcenc(msg,N,K,S);
c=reshape(code,N(1,,N(2,:)+S(2,:)-K(2,:));
c1=c';
tf = isequal(cc1,c1);
tf

% N = [64;64];
% K = [57;57];
% S = [57;39];
% msg = randi([0 1],prod(S),1);
% code = tpcenc(msg,N,K,S);
[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-24 13:18 , Processed in 0.952509 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表