generateha.m

来自「这是地面数字电视国标的三种H矩阵生成程序」· M 代码 · 共 25 行

M
25
字号
% generate H matrix
H=zeros(4445,7493);
for m=1:35
        for n=1:59
               b=HflineshiftA(m,n);
               i=127*(m-1)+1;%计算每个127×127方阵的行列的起始和截至位置
               j=127*(n-1)+1;
               x=127*m;
               y=127*n;
               h=zeros(127,127);
            if b>-1
                   k=1;
                   g=eye(1,127);
                   g=circshift(g,[0,b]);    %单位矩阵循环右移b位,得到子矩阵的第一行
                   h(k,1:127)=g;            %如A[0][32]=67变成了A[1][33]=67,表示在第1行第33列的这个子矩阵
                   for k=2:127              %的第一行第一列是单位向量向右移67位的结果,就是‘1’到了第68位         
                       g=circshift(g,[0,1]);%这符合标准中描述的“表示此矩阵的第一行第n列为1”,标准中说的
                       h(k,1:127)=g;        %第n列是从0开始算的。
                   end
             end
               H(i:x,j:y)=h;
         end
 end 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?