├── BF和BP比较 ├── BF.m ├── BP4.m ├── H.mat ├── d1.mat ├── main.m ├── msg.mat ├── bianma1.m ├── untitled.fig └── bianma.m ├── .gitattributes ├── IEEE802.16e不同码率的比较 ├── 1.fig ├── 2.fig ├── BP4.m ├── H.mat ├── main.m ├── bianma.m ├── bianma1.m ├── bianma2.m ├── msg.mat ├── msg1.mat ├── msg2.mat ├── Untitled.m ├── ldpc_matrix.m ├── ldpc_matrix1.m └── ldpc_matrix2.m ├── IEEE802.16e构造不同码长对比 ├── BP4.m ├── bianma.m ├── getH.m ├── main.m ├── Untitled.m ├── bianma1.m ├── bianma2.m ├── ldpc_matrix.m ├── ldpc_matrix1.m └── ldpc_matrix2.m ├── 随机构造的LDPC码LLR译码比较贴近 ├── BP1.m ├── G.mat ├── H2G.m ├── getG.m ├── getH.m ├── main.m └── bpsk.m └── BP LLRBP Minsum NMS对比 ├── 1.fig ├── BP3.m ├── BP4.m ├── main.m ├── bianma.m ├── hao1.fig ├── msg.mat ├── hfanbu.fig └── ldpc_matrix.m /BF和BP比较/BF.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/BF.m -------------------------------------------------------------------------------- /BF和BP比较/BP4.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/BP4.m -------------------------------------------------------------------------------- /BF和BP比较/H.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/H.mat -------------------------------------------------------------------------------- /BF和BP比较/d1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/d1.mat -------------------------------------------------------------------------------- /BF和BP比较/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/main.m -------------------------------------------------------------------------------- /BF和BP比较/msg.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/msg.mat -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /BF和BP比较/bianma1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/bianma1.m -------------------------------------------------------------------------------- /BF和BP比较/untitled.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BF和BP比较/untitled.fig -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/1.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/1.fig -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/2.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/2.fig -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/BP4.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/BP4.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/H.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/H.mat -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/main.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/BP4.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/BP4.m -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/BP1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/随机构造的LDPC码LLR译码比较贴近/BP1.m -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/G.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/随机构造的LDPC码LLR译码比较贴近/G.mat -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/H2G.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/随机构造的LDPC码LLR译码比较贴近/H2G.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/1.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/1.fig -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/BP3.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/BP3.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/BP4.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/BP4.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/main.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/bianma.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/bianma.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/bianma1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/bianma1.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/bianma2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/bianma2.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/msg.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/msg.mat -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/msg1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/msg1.mat -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/msg2.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/msg2.mat -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/bianma.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/bianma.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/getH.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/getH.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/main.m -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/getG.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/随机构造的LDPC码LLR译码比较贴近/getG.m -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/getH.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/随机构造的LDPC码LLR译码比较贴近/getH.m -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/随机构造的LDPC码LLR译码比较贴近/main.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/bianma.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/bianma.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/hao1.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/hao1.fig -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/msg.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/msg.mat -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/Untitled.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/Untitled.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/Untitled.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/Untitled.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/bianma1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/bianma1.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/bianma2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/bianma2.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/hfanbu.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/hfanbu.fig -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/ldpc_matrix.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/ldpc_matrix.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/ldpc_matrix1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/ldpc_matrix1.m -------------------------------------------------------------------------------- /IEEE802.16e不同码率的比较/ldpc_matrix2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e不同码率的比较/ldpc_matrix2.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/ldpc_matrix.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/ldpc_matrix.m -------------------------------------------------------------------------------- /BP LLRBP Minsum NMS对比/ldpc_matrix.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/BP LLRBP Minsum NMS对比/ldpc_matrix.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/ldpc_matrix1.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/ldpc_matrix1.m -------------------------------------------------------------------------------- /IEEE802.16e构造不同码长对比/ldpc_matrix2.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elf7856/LDPC----/HEAD/IEEE802.16e构造不同码长对比/ldpc_matrix2.m -------------------------------------------------------------------------------- /随机构造的LDPC码LLR译码比较贴近/bpsk.m: -------------------------------------------------------------------------------- 1 | function [waveform]=bpsk(bitseq) 2 | for i=1:length(bitseq) 3 | if bitseq(i)==1 4 | waveform(i)=-1; 5 | else 6 | waveform(i)=1; 7 | end 8 | end -------------------------------------------------------------------------------- /BF和BP比较/bianma.m: -------------------------------------------------------------------------------- 1 | function [H,c]=bianma(msg) 2 | % Z = 24; 3 | % rate = 2/3; 4 | % rotmatrix = ... 5 | % [2 -1 19 -1 47 -1 48 -1 36 -1 82 -1 47 -1 15 -1 95 0 -1 -1 -1 -1 -1 -1; 6 | % -1 69 -1 88 -1 33 -1 3 -1 16 -1 37 -1 40 -1 48 -1 0 0 -1 -1 -1 -1 -1; 7 | % 10 -1 86 -1 62 -1 28 -1 85 -1 16 -1 34 -1 73 -1 -1 -1 0 0 -1 -1 -1 -1; 8 | % -1 28 -1 32 -1 81 -1 27 -1 88 -1 5 -1 56 -1 37 -1 -1 -1 0 0 -1 -1 -1; 9 | % 23 -1 29 -1 15 -1 30 -1 66 -1 24 -1 50 -1 62 -1 -1 -1 -1 -1 0 0 -1 -1; 10 | % -1 30 -1 65 -1 54 -1 14 -1 0 -1 30 -1 74 -1 0 -1 -1 -1 -1 -1 0 0 -1; 11 | % 32 -1 0 -1 15 -1 56 -1 85 -1 5 -1 6 -1 52 -1 0 -1 -1 -1 -1 -1 0 0; 12 | % -1 0 -1 47 -1 13 -1 61 -1 84 -1 55 -1 78 -1 41 95 -1 -1 -1 -1 -1 -1 0]; 13 | %z=24.28.32.36.40.44.48.52.56.60.64.68.72.76.80.84.88.92.96. 14 | Z=24; 15 | rotmatrix = ... 16 | [-1 94 73 -1 -1 -1 -1 -1 55 83 -1 -1 7 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; 17 | -1 27 -1 -1 -1 22 79 9 -1 -1 -1 12 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1; 18 | -1 -1 -1 24 22 81 -1 33 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1; 19 | 61 -1 47 -1 -1 -1 -1 -1 65 25 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1; 20 | -1 -1 39 -1 -1 -1 84 -1 -1 41 72 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1; 21 | -1 -1 -1 -1 46 40 -1 82 -1 -1 -1 79 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1; 22 | -1 -1 95 53 -1 -1 -1 -1 -1 14 18 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1; 23 | -1 11 73 -1 -1 -1 2 -1 -1 47 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1; 24 | 12 -1 -1 -1 83 24 -1 43 -1 -1 -1 51 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1; 25 | -1 -1 -1 -1 -1 94 -1 59 -1 -1 70 72 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1; 26 | -1 -1 7 65 -1 -1 -1 -1 39 49 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0; 27 | 43 -1 -1 -1 -1 66 -1 41 -1 -1 -1 26 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0]; 28 | rate=1/2; 29 | 30 | % % % % % Z = 32; % code rate = 2/3 31 | % % % % % rotmatrix = ... 32 | % % % % % [3 0 -1 -1 2 0 -1 3 7 -1 1 1 -1 -1 -1 -1 1 0 -1 -1 -1 -1 -1 -1; 33 | % % % % % -1 -1 1 -1 36 -1 -1 34 10 -1 -1 18 2 -1 3 0 -1 0 0 -1 -1 -1 -1 -1; 34 | % % % % % -1 -1 12 2 -1 15 -1 40 -1 3 -1 15 -1 2 13 -1 -1 -1 0 0 -1 -1 -1 -1; 35 | % % % % % -1 -1 19 24 -1 3 0 -1 6 -1 17 -1 -1 -1 8 39 -1 -1 -1 0 0 -1 -1 -1; 36 | % % % % % 20 -1 6 -1 -1 10 29 -1 -1 28 -1 14 -1 38 -1 -1 0 -1 -1 -1 0 0 -1 -1; 37 | % % % % % -1 -1 10 -1 28 20 -1 -1 8 -1 36 -1 9 -1 21 45 -1 -1 -1 -1 -1 0 0 -1; 38 | % % % % % 35 25 -1 37 -1 21 -1 -1 5 -1 -1 0 -1 4 20 -1 -1 -1 -1 -1 -1 -1 0 0; 39 | % % % % % -1 6 6 -1 -1 -1 4 -1 14 30 -1 3 36 -1 14 -1 1 -1 -1 -1 -1 -1 -1 0]; 40 | 41 | % Z = 32; % code rate = 3/4 42 | % rotmatrix = ... 43 | % [6 38 3 93 -1 -1 -1 30 70 -1 86 -1 37 38 4 11 -1 46 48 0 -1 -1 -1 -1; 44 | % 62 94 19 84 -1 92 78 -1 15 -1 -1 92 -1 45 24 32 30 -1 -1 0 0 -1 -1 -1; 45 | % 71 -1 55 -1 12 66 45 79 -1 78 -1 -1 10 -1 22 55 70 82 -1 -1 0 0 -1 -1; 46 | % 38 61 -1 66 9 73 47 64 -1 39 61 43 -1 -1 -1 -1 95 32 0 -1 -1 0 0 -1; 47 | % -1 -1 -1 -1 32 52 55 80 95 22 6 51 24 90 44 20 -1 -1 -1 -1 -1 -1 0 0; 48 | % -1 63 31 88 20 -1 -1 -1 6 40 56 16 71 53 -1 -1 27 26 48 -1 -1 -1 -1 0] 49 | 50 | % Z = 32; 51 | % rate = 3/4; 52 | % rotmatrix = ... 53 | % [-1 81 -1 28 -1 -1 14 25 17 -1 -1 85 29 52 78 95 22 92 0 0 -1 -1 -1 -1; 54 | % 42 -1 14 68 32 -1 -1 -1 -1 70 43 11 36 40 33 57 38 24 -1 0 0 -1 -1 -1; 55 | % -1 -1 20 -1 -1 63 39 -1 70 67 -1 38 4 72 47 29 60 5 80 -1 0 0 -1 -1; 56 | % 64 2 -1 -1 63 -1 -1 3 51 -1 81 15 94 9 85 36 14 19 -1 -1 -1 0 0 -1; 57 | % -1 53 60 80 -1 26 75 -1 -1 -1 -1 86 77 1 3 72 60 25 -1 -1 -1 -1 0 0; 58 | % 77 -1 -1 -1 15 28 -1 35 -1 72 30 68 85 84 26 64 11 89 0 -1 -1 -1 -1 0] 59 | 60 | %Z=; 61 | % rotmatrix = ... 62 | % [1 25 55 -1 47 4 -1 91 84 8 86 52 82 33 5 0 36 20 4 77 80 0 -1 -1; 63 | % -1 6 -1 36 40 47 12 79 47 -1 41 21 12 71 14 72 0 44 49 0 0 0 0 -1; 64 | % 51 81 83 4 67 -1 21 -1 31 24 91 61 81 9 86 78 60 88 67 15 -1 -1 0 0; 65 | % 68 -1 50 15 -1 36 13 10 11 20 53 90 29 92 57 30 84 92 11 66 80 -1 -1 0] 66 | H = zeros(size(rotmatrix)*Z); 67 | Zh = diag(ones(1,Z),0); 68 | for r=1:size(rotmatrix,1) 69 | for c=1:size(rotmatrix,2) 70 | rotidx = rotmatrix(r,c); 71 | if (rotidx > -1) 72 | Zt = circshift(Zh,[0 rotidx]); 73 | else 74 | Zt = zeros(Z); 75 | end 76 | limR = (r-1)*Z+1:r*Z; 77 | limC = (c-1)*Z+1:c*Z; 78 | H(limR,limC) = Zt; 79 | end 80 | end 81 | [n,m]=size(H); 82 | col_flag(1:m)=0; 83 | for j=1:m 84 | ind=find(H(:,j)==1); 85 | col_flag(j)=length(ind); 86 | end 87 | 88 | for i=1:n 89 | ind=find(H(i,:)==1); 90 | row_flag(i)=length(ind); 91 | end 92 | 93 | % msg = round(rand(1,m*rate)); 94 | Data=msg; 95 | k=length(msg); 96 | b=ceil(length(Data)/k); 97 | omit=k-mod(length(Data),k); 98 | if omit==k 99 | omit=0; 100 | end 101 | Data=[Data zeros(1,omit)]; 102 | 103 | N=m; 104 | m=m-k; 105 | 106 | c=zeros(1,b*N); 107 | X=H(1:m,1:k); 108 | Y=H(1:m,k+1:N); 109 | for ii=1:b 110 | s=Data((ii-1)*k+1:ii*k); 111 | p=mod((Y^-1*X*s')',2); 112 | c(N*(ii-1)+1:N*ii)=[s p]; 113 | end 114 | zero = mod(c*H',2); 115 | if sum(zero)== 0 116 | disp('OK!') 117 | else 118 | disp('Error') 119 | end 120 | save H H 121 | --------------------------------------------------------------------------------