发明名称 一种基于LDPC矩阵的测量矩阵设计方法
摘要 本发明公开了一种基于LDPC矩阵的测量矩阵设计方法,该方法包括以下步骤:步骤一、首先确定矩阵第一行开始处连续“1”的个数L,矩阵随后行“1”所在的位置根据上一行“1”的位置依次向右平移L个位置,以此保证循环子矩阵中每两个行或者列之间“1”的位置都不相同,构造出循环子矩阵;步骤二、从所述循环子矩阵中随机选择所需的行或列,构造基于LDPC矩阵的测量矩阵。步骤三、通过有限次数的搜索整个矩阵寻找四边环,并将四边环消去,构造基于LDPC矩阵的测量矩阵;该测量矩阵继承了LDPC矩阵稀疏性好、列相关值小等优点,同时克服了LDPC矩阵作为压缩感知测量矩阵时对于不同维数的测量矩阵需要预先确定最优d值(每一列平均“1”的数量)的不足。该矩阵具有稀疏性高、结构简单、正交性强和易于硬件实现的特点,并且重构效果良好。
申请公布号 CN103780267A 申请公布日期 2014.05.07
申请号 CN201410020960.4 申请日期 2014.01.15
申请人 天津大学 发明人 张淑芳;刘昱;田沛沛
分类号 H03M13/11(2006.01)I 主分类号 H03M13/11(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 李素兰
主权项 1.一种基于LDPC矩阵的测量矩阵设计方法,其特征在于,该方法包括以下步骤:步骤一、简单循环子矩阵的构造,首先确定矩阵第一行开始处连续“1”的个数L,矩阵随后行“1”所在的位置根据上一行“1”的位置依次向右平移L个位置,以此保证循环子矩阵中每两个行或者列之间“1”的位置都不相同,构造出循环子矩阵;步骤二、从所述循环子矩阵中随机选择所需的行或列,此处的随机选择依据一个随机数字发生器的模型,这个模型由以下公式(1)定义:Num=(CONS<sub>1</sub>×Seed+CONS<sub>2</sub>)mod(n)      (1)在公式(1)中,Num表示所选择出的随机行或者随机列在循环子矩阵中的位置,即行号或者列号;而CONS<sub>1</sub>和CONS<sub>2</sub>表示两个很大的质数常数,取值范围为2<sup>10</sup>~2<sup>16</sup>,Seed表示一个随系统时间而不断变化的变量,其取值范围为1~2<sup>16</sup>,n则代表循环子矩阵整体的维数大小,即行数或者列数的数值;mod(n)代表模n,可得到1~n之间的一个数值;经过对n取模使得随机发生器所得到的数值不超过循环子矩阵的维数大小,使得所取的随机行或者列在循环子矩阵中产生;步骤三、四边环的消除,通过有限次数的搜索整个矩阵寻找四边环,并将四边环消去,构造基于LDPC矩阵的测量矩阵;由以上步骤得到的基于LDPC矩阵的测量矩阵,根据压缩感知过程中所需要的压缩采样率R的大小不同,对于一个M×1(M一般为偶数)的一维信号x,测量矩阵的构造方法分为三种情况:(1)当采样率R&lt;0.5时,需要构造的测量矩阵A<sub>1</sub>的维数是N×M,其中N为M×R取整后的数值;构造A<sub>1</sub>时,采用先构造循环子矩阵B<sub>1</sub>,然后再从循环子矩阵中随机选择所需的列构成补充矩阵C<sub>1</sub>的方法,如式(2)所示:A<sub>1</sub>=[B<sub>1</sub> C<sub>1</sub>]                (2)循环子矩阵B<sub>1</sub>中每一行有L个“1”,L为不大于1/R的最大整数;构造B<sub>1</sub>时,首先固定子矩阵B<sub>1</sub>中第一行“1”的位置为前L个,随后行“1”的位置依次向右平移L个位置,由此组成公式(3)所示N行L×N列的子循环矩阵B<sub>1</sub>;补充矩阵C<sub>1</sub>生成方法为:利用公式(1)所定义的随机数发生器产生M-L×N个1到L×N之间的随机数,根据生成的随机数选择B<sub>1</sub>中相应的列,作为测量矩阵A<sub>1</sub>的补充矩阵C<sub>1</sub>。<img file="FDA0000457344750000021.GIF" wi="1793" he="526" />(2)当采样率R=0.5时,则所需要构造的测量矩阵A<sub>2</sub>的维数为0.5M×M;循环子矩阵B<sub>2</sub>中每一行有2个“1”,即L=2,固定B<sub>2</sub>中第一行“1”的位置为前两个,后面行依次向右平移两个位置,所构造的循环子矩阵B<sub>2</sub>如式(4)所示,B<sub>2</sub>的维数为0.5M×M,与所需测量矩阵的维数相等,此时循环子矩阵即为最终的测量矩阵,即A<sub>2</sub>=B<sub>2</sub>;<maths num="0001"><![CDATA[<math><mrow><msub><mi>B</mi><mn>2</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>(3)当采样率R&gt;0.5时,需要构造的测量矩阵A<sub>3</sub>的维数是N×M,其中N为M×R取整后的值;构造A<sub>3</sub>时,采用先构造循环子矩阵B<sub>3</sub>,然后再从循环子矩阵中随机选择所需的行构成补充矩阵C<sub>3</sub>的方法,如式(5)所示:<maths num="0002"><![CDATA[<math><mrow><msub><mi>A</mi><mn>3</mn></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>B</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>C</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>循环子矩阵B<sub>3</sub>的维数为0.5M×M维,其生成方法和R=0.5时相同;补充矩阵C<sub>3</sub>生成方法为:先将循序子矩阵B<sub>3</sub>按列随机打乱生成矩阵T<sub>3</sub>,然后利用公式(1)所定义的随机数发生器产生N-0.5M个1到0.5M之间的随机数,根据生成的随机数选择T<sub>3</sub>中相应的行,作为测量矩阵A<sub>3</sub>的补充矩阵C<sub>3</sub>;由于补充矩阵C<sub>3</sub>中随机行两个“1”的位置随机,测量矩阵A<sub>3</sub>出现“四边环”时,在矩阵A<sub>3</sub>构造完成后需要通过有限次数的遍历整个矩阵来查找并且消除存在的四边环,以优化矩阵的正交性能。
地址 300072 天津市南开区卫津路92号