书签 分享 收藏 举报 版权申诉 / 17

基于SECDED的星载MIMO检测器的抗SEU方法.pdf

  • 上传人:a****
  • 文档编号:6111997
  • 上传时间:2019-04-12
  • 格式:PDF
  • 页数:17
  • 大小:1.17MB
  • 摘要
    申请专利号:

    CN201410331694.7

    申请日:

    2014.07.11

    公开号:

    CN104133738A

    公开日:

    2014.11.05

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 11/14申请日:20140711|||公开

    IPC分类号:

    G06F11/14; H03M13/11

    主分类号:

    G06F11/14

    申请人:

    中国人民解放军信息工程大学

    发明人:

    王建辉; 崔维嘉; 王大鸣; 杨旭辉; 高山; 王俊飞

    地址:

    450002 河南省郑州市俭学街7号

    优先权:

    专利代理机构:

    郑州大通专利商标代理有限公司 41111

    代理人:

    陈勇

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及一种基于SEC-DED的星载MIMO检测器的抗SEU方法,含有如下步骤:1:将进入MIMO检测器的数据拆分为等长的两部分,然后形成矩阵m=c11+c21-v12:定义  n=c11-c21-w1;如果m=0,并且n=0,则没有错误;如果m=0,并且n≠0,则w1错误;如果m≠0,并且n=0,则v1错误;如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;3:如果c21错误,则用c21减去标志量m获得正确的c21;如果c11错误,则用c11减去标志量m获得正确的c21;4:如果w1或v1错误,对MIMO检测器的校验模块重新加载,如果c21或c11错误,对MIMO检测器的乘法器模块重新加载;本发明能够显著减少资源的占用率,并且具有较强的抗干扰和抗衰落能力。

    权利要求书

    权利要求书
    1.  一种基于SEC-DED的星载MIMO检测器的抗SEU方法,其特征是:
    步骤1.1:进行编码操作;
    将进入MIMO检测器的数据拆分为等长的两部分:数据A和数据B,再将
    数据A和数据B分别截断形成数据a11、数据a21和数据b11、数据b21;将数据a11、数据a21形成矩阵a11*a12*a21*a22*,]]>其中,a11*=a11,a12*=a21,a21*=a21,a22*=a11;]]>将数据b11、数据b21形成矩阵b11b21;]]>按照海明校验码设计原则,在矩阵a11*a12*a21*a22*]]>中加入两行带有矩阵行列信息的校验码数据,形成矩阵a11*a12*a21*a22*v11v12w11w12,]]>其中,v11=a11*+a21*;v12=a12*+a22*;]]>w11=a11*-a21*;w12=a12*-a22*;]]>然后将矩阵a11*a12*a21*a22*v11v12w11w12]]>和矩阵b11b21]]>相乘得输出矩阵c11c21v1w1,]]>表示如下:
    c11c21v1w1=a11*a12*a21*a22*v11v12w11w12×b11b21;]]>
    步骤1.2:进行检错操作;
    定义标志量m和标志量n,其中,
    m=c11+c21-v1
    n=c11-c21-w1
    通过标志量m和标志量n检错的方法如下:
    情况A1:如果m=0,并且n=0,则没有发生错误;
    情况B1:如果m=0,并且n≠0,则w1发生错误;
    情况C1:如果m≠0,并且n=0,则v1发生错误;
    情况D1:如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;
    步骤1.3:进行纠错操作;
    在情况D1中:如果发现c21计算错误,则用c21减去标志量m就可以获得正确的c21;如果发现c11计算错误,则用c11减去标志量m就可以获得正确的c21;
    步骤1.4:进行模块重新加载操作;
    如果w1或v1发生错误,对MIMO检测器的校验模块重新加载,如果c21或c11发生错误,对MIMO检测器的乘法器模块重新加载。

    2.  根据权利要求1所述的基于SEC-DED的星载MIMO检测器的抗SEU方法,其特征是:所述步骤1.1中,将数据A和数据B分别从中间截断形成数据a11、数据a21和数据b11、数据b21。

    3.  根据权利要求2所述的基于SEC-DED的星载MIMO检测器的抗SEU方法,其特征是:所述步骤1.1中,进入MIMO检测器的数据为二进制数。

    4.  一种基于SEC-DED的星载MIMO检测器的抗SEU方法,其特征是:
    步骤2.1:进行编码操作;
    将进入MIMO检测器的数据拆分为等长的两部分:数据A和数据B,再将
    数据A和数据B分别截断形成数据a11、数据a21和数据b11、数据b21;将数据a11、数据a21形成矩阵a11*a21*a12*a22*,]]>其中,a11*=a11,a12*=a21,a21*=a21,a22*=a11;]]>将数据b11、数据b21形成矩阵[b11 b21];按照海明校验码设计原则,在矩阵a11*a21*a12*a22*]]>中加入两列带有矩阵行列信息的校验码数据,形成矩阵a11*a21*v11w11a12*a22*v12w12,]]>其中,v12=a12*+a22*;w11=a11*-a21*;w12=a12*-a22*;]]>然后将矩阵[b11 b21]和矩阵a11*a21*v11w11a12*a22*v12w12]]>相乘得输出矩阵[c11 c21 v1 w1],表示如下:
    c11c21v1w1=b11b21×a11*a21*v11w11a12*a22*v12w12;]]>
    步骤2.2:进行检错操作;
    定义标志量m和标志量n,其中,
    m=c11+c21-v1
    n=c11-c21-w1
    通过标志量m和标志量n检错的方法如下:
    情况A1:如果m=0,并且n=0,则没有发生错误;
    情况B1:如果m=0,并且n≠0,则w1发生错误;
    情况C1:如果m≠0,并且n=0,则v1发生错误;
    情况D1:如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;
    步骤2.3:进行纠错操作;
    在情况D1中:如果发现c21计算错误,则用c21减去标志量m就可以获得正确的c21;如果发现c11计算错误,则用c11减去标志量m就可以获得正确的c21;
    步骤2.4:进行模块重新加载操作;
    如果w1或v1发生错误,对MIMO检测器的校验模块重新加载,如果c21或c11发生错误,对MIMO检测器的乘法器模块重新加载。

    5.  根据权利要求4所述的基于SEC-DED的星载MIMO检测器的抗SEU方法,其特征是:所述步骤2.1中,将数据A和数据B分别从中间截断形成数据a11、数据a21和数据b11、数据b21。

    6.  根据权利要求5所述的基于SEC-DED的星载MIMO检测器的抗SEU方法,其特征是:所述步骤2.1中,进入MIMO检测器的数据为二进制数。

    说明书

    说明书基于SEC-DED的星载MIMO检测器的抗SEU方法
    (一)、技术领域:本发明涉及一种星载检测器的抗SEU方法,特别是涉及一种基于SEC-DED的星载MIMO检测器的抗SEU方法。
    (二)、背景技术:目前,星载平台算法层面上的抗SEU(single event upset,单粒子翻转)设计主要有ABFT(Algorithmic-Based Fault Tolerance,基于算法的容错设计)和RPR(Reduced-Precision Redundancy,降精度冗余设计)。ABFT设计在矩阵阶小于3时,其芯片资源占用率大大高于TMR(triple modular redundancy,三模冗余)设计,且增加了处理时延。RPR设计降低了资源占用率,有良好的抗辐射性能,但会降低数据精度。硬件层面上抗SEU的方法主要有擦洗、冗余、纠错编码、纠错电路、动态重构等,其中应用最为广泛、最为有效的是硬件TMR容错技术,该设计可大幅提高FPGA在SEU影响下的可靠性。但是TMR设计占用的硬件资源至少是原设计的3.1倍,同时增加了功耗,降低运算速率。
    (三)、发明内容:
    本发明要解决的技术问题是:提供一种基于SEC-DED(single error correction double error detection,海明码或者单纠错双检错)的星载MIMO(multiple input multiple output,多入多出)检测器的抗SEU方法,该方法能够显著减少资源的占用率,并且具有较强的抗干扰和抗衰落能力。
    本发明的技术方案:
    一种基于SEC-DED的星载MIMO检测器的抗SEU方法,具体为:
    步骤1.1:进行编码操作;
    将进入MIMO检测器的数据拆分为等长的两部分:数据A和数据B,再将
    数据A和数据B分别截断形成数据a11、数据a21和数据b11、数据b21;将数据a11、数据a21形成矩阵a11*a12*a21*a22*,]]>其中,a11*=a11,a12*=a21,a21*=a21,a22*=a11;]]>将数据b11、数据b21形成矩阵b11b21;]]>按照海明校验码设计原则,在矩阵a11*a12*a21*a22*]]>中加入两行带有 矩阵行列信息的校验码数据,形成矩阵a11*a12*a21*a22*v11v12w11w12,]]>其中,v11=a11*+a21*;v12=a12*+a22*;]]>w11=a11*-a21*;w12=a12*-a22*;]]>然后将矩阵a11*a12*a21*a22*v11v12w11w12]]>和矩阵b11b21]]>相乘得输出矩阵c11c21v1w1,]]>表示如下:
    c11c21v1w1=a11*a12*a21*a22*v11v12w11w12×b11b21;]]>
    扩充后矩阵a11*a12*a21*a22*]]>的两个加权“校验和”可表示为两个行向量[v11 v12]和[w11 w12],输出矩阵c11c21v1w1]]>的最后两行为输入向量的“校验和”的权重因子与矩阵b11b21]]>相乘的结果,表示为[v1]和[w1];第一个校验行[v11 v12]可等价于加权因子全为1的行向量乘以矩阵a11*a12*a21*a22*,]]>相当于对a11*a12*a21*a22*]]>的列向量求和;第二个校验行[w11 w12]等价于加权因子为1和-1的行向量乘以矩阵a11*a12*a21*a22*;]]>
    步骤1.2:进行检错操作;
    为完成矩阵向量的检错和纠错,定义标志量m和标志量n,其中,
    m=c11+c21-v1
    n=c11-c21-w1
    判断矩阵向量是否发生错误,只需要判断标志量m和标志量n是否为0,以及m+n是否为0,三者结合可判断出矩阵向量发生错误的数据块位置,以此检测出故障位置,通过标志量m和标志量n检错的方法如下:
    情况A1:如果m=0,并且n=0,则没有发生错误;
    情况B1:如果m=0,并且n≠0,则w1发生错误;
    情况C1:如果m≠0,并且n=0,则v1发生错误;
    情况D1:如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;
    步骤1.3:进行纠错操作;
    在情况D1中:如果发现c21计算错误,则用c21减去标志量m就可以获得正确的c21;如果发现c11计算错误,则用c11减去标志量m就可以获得正确的c21;
    步骤1.4:进行模块重新加载操作;
    如果w1或v1发生错误,对MIMO检测器的校验模块重新加载,如果c21或c11发生错误,对MIMO检测器的乘法器模块重新加载。
    步骤1.1中,将数据A和数据B分别从中间截断形成数据a11、数据a21和数据b11、数据b21。
    步骤1.1中,进入MIMO检测器的数据为二进制数。
    一种基于SEC-DED的星载MIMO检测器的抗SEU方法,具体为:
    步骤2.1:进行编码操作;
    将进入MIMO检测器的数据拆分为等长的两部分:数据A和数据B,再将
    数据A和数据B分别截断形成数据a11、数据a21和数据b11、数据b21;将数据a11、数据a21形成矩阵a11*a21*a12*a22*,]]>其中,a11*=a11,a12*=a21,a21*=a21,a22*=a11;]]>将数据b11、数据b21形成矩阵[b11 b21];按照海明校验码设计原则,在矩阵a11*a21*a12*a22*]]>中加入两列带有矩阵行列信息的校验码数据,形成矩阵a11*a21*v11w11a12*a22*v12w12,]]>其中,v12=a12*+a22*;w11=a11*-a21*;w12=a12*-a22*;]]>然后将矩阵[b11 b21]和矩阵a11*a21*v11w11a12*a22*v12w12]]>相乘得输出矩阵[c11 c21 v1 w1],表示如下:
    c11c21v1w1=b11b21×a11*a21*v11w11a12*a22*v12w12;]]>
    扩充后矩阵a11*a21*a12*a22*]]>的两个加权“校验和”可表示为两个列向量v11v12]]>w11w12,]]>输出矩阵[c11 c21 v1 w1]的最后两列为矩阵[b11 b21]与输入向量的“校验和”的权重因子相乘的结果,表示为[v1]和[w1];第一个校验列v11v12]]>可等价于矩阵a11*a21*a12*a22*]]>乘以 加权因子全为1的列向量,相当于对a11*a21*a12*a22*]]>的行向量求和;第二个校验列w11w12]]>等价于矩阵a11*a21*a12*a22*]]>乘以加权因子为1和-1的列向量;
    步骤2.2:进行检错操作;
    为完成矩阵向量的检错和纠错,定义标志量m和标志量n,其中,
    m=c11+c21-v1
    n=c11-c21-w1
    判断矩阵向量是否发生错误,只需要判断标志量m和标志量n是否为0,以及m+n是否为0,三者结合可判断出矩阵向量发生错误的数据块位置,以此检测出故障位置,通过标志量m和标志量n检错的方法如下:
    情况A1:如果m=0,并且n=0,则没有发生错误;
    情况B1:如果m=0,并且n≠0,则w1发生错误;
    情况C1:如果m≠0,并且n=0,则v1发生错误;
    情况D1:如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;
    步骤2.3:进行纠错操作;
    在情况D1中:如果发现c21计算错误,则用c21减去标志量m就可以获得正确的c21;如果发现c11计算错误,则用c11减去标志量m就可以获得正确的c21;
    步骤2.4:进行模块重新加载操作;
    如果w1或v1发生错误,对MIMO检测器的校验模块重新加载,如果c21或c11发生错误,对MIMO检测器的乘法器模块重新加载。
    步骤2.1中,将数据A和数据B分别从中间截断形成数据a11、数据a21和数据b11、数据b21。
    步骤2.1中,进入MIMO检测器的数据为二进制数。
    本发明针对基于TMR架构的ZF(zero forcing,迫零检测算法)检测算法资源开销大、功耗大的问题,提出一种基于SEC-DED的星载MIMO检测器的低开销抗SEU方法,其对MIMO检测算法中矩阵数据进行某种变换或处理,构造包含 矩阵数据相关性信息的冗余数据,并将该部分数据伴随原矩阵数据进行处理和运算,利用冗余数据运算结果蕴含的内在规律,检测和纠正矩阵乘积运算过程中因单粒子翻转影响产生的错误。
    本发明通过在矩阵乘积运算和数乘运算中扩展加入两行(列)“校验和”,实现了自检错、自纠错功能,可以同时检测两位错误和纠正一位错误,以应对星载芯片单个粒子翻转对系统的影响。通过模块化设计和乘法器复用,进一步降低了资源开销。此外,本发明具有一定的通用性,可运用于其他含有大量数乘运算和矩阵乘积运算的星载平台。
    本发明的有益效果:
    1、本发明涉及无线通信领域中采用多输入多输出数据传输技术,是一种能够在不增加带宽的情况下成倍提高通信系统的容量以及频谱利用率,并且具有较强的抗干扰和抗衰落能力的方法,它是4G移动通信的关键。
    2、本发明并提高了算法的抗SEU性能,与基于TMR及RPR设计的算法相比,本发明不仅降低了单粒子翻转的影响,而且显著减少了资源占用率、减少了星载平台的资源开销,提高了系统的可靠性。
    3、本发明将数据长度较长的数据分割运算,可有效降低资源开销。
    (四)、附图说明:
    图1为单星多极化MIMO系统示意图;
    图2为单元乘法器SEC-SED的系统模型图;
    图3为矩阵乘法器的SEC-SED设计的原理图之一;
    图4为矩阵乘法器的SEC-SED设计的原理图之二;
    图5为系统模块化示意图;
    图6为本发明的误比特性能示意图;
    图7为乘法器理论资源占用增加率示意图;
    图8为检测算法理论资源占用增加率示意图。
    (五)、具体实施方式:
    基于SEC-DED的星载MIMO检测器的抗SEU方法具体为:
    步骤1.1:进行编码操作;
    将进入MIMO检测器的数据拆分为等长的两部分:数据A和数据B,再将
    数据A和数据B分别截断形成数据a11、数据a21和数据b11、数据b21;将数据a11、数据a21形成矩阵a11*a12*a21*a22*,]]>其中,a11*=a11,a12*=a21,a21*=a21,a22*=a11;]]>将数据b11、数据b21形成矩阵b11b21;]]>按照海明校验码设计原则,在矩阵a11*a12*a21*a22*]]>中加入两行带有矩阵行列信息的校验码数据,形成矩阵a11*a12*a21*a22*v11v12w11w12,]]>其中,v11=a11*+a21*;v12=a12*+a22*;]]>w11=a11*-a21*;w12=a12*-a22*;]]>然后将矩阵a11*a12*a21*a22*v11v12w11w12]]>和矩阵b11b21]]>相乘得输出矩阵c11c21v1w1,]]>表示如下:
    c11c21v1w1=a11*a12*a21*a22*v11v12w11w12×b11b21;]]>
    扩充后矩阵a11*a12*a21*a22*]]>的两个加权“校验和”可表示为两个行向量[v11 v12]和[w11w12],输出矩阵c11c21v1w1]]>的最后两行为输入向量的“校验和”的权重因子与矩阵b11b21]]>相乘的结果,表示为[v1]和[w1];第一个校验行[v11 v12]可等价于加权因子全为1的行向量乘以矩阵a11*a12*a21*a22*,]]>相当于对a11*a12*a21*a22*]]>的列向量求和;第二个校验行[w11 w12]等价于加权因子为1和-1的行向量乘以矩阵a11*a12*a21*a22*;]]>
    步骤1.2:进行检错操作;
    为完成矩阵向量的检错和纠错,定义标志量m和标志量n,其中,
    m=c11+c21-v1
    n=c11-c21-w1
    判断矩阵向量是否发生错误,只需要判断标志量m和标志量n是否为0,以及m+n是否为0,三者结合可判断出矩阵向量发生错误的数据块位置,以此检测出故障位置,通过标志量m和标志量n检错的方法如下:
    情况A1:如果m=0,并且n=0,则没有发生错误;
    情况B1:如果m=0,并且n≠0,则w1发生错误;
    情况C1:如果m≠0,并且n=0,则v1发生错误;
    情况D1:如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;
    步骤1.3:进行纠错操作;
    在情况D1中:如果发现c21计算错误,则用c21减去标志量m就可以获得正确的c21;如果发现c11计算错误,则用c11减去标志量m就可以获得正确的c21;
    步骤1.4:进行模块重新加载操作;
    如果w1或v1发生错误,对MIMO检测器的校验模块重新加载,如果c21或c11发生错误,对MIMO检测器的乘法器模块重新加载。
    步骤1.1中,将数据A和数据B分别从中间截断形成数据a11、数据a21和数据b11、数据b21。
    步骤1.1中,进入MIMO检测器的数据为二进制数。
    基于SEC-DED的星载MIMO检测器的抗SEU方法还可以如下:
    步骤2.1:进行编码操作;
    将进入MIMO检测器的数据拆分为等长的两部分:数据A和数据B,再将
    数据A和数据B分别截断形成数据a11、数据a21和数据b11、数据b21;将数据a11、数据a21形成矩阵a11*a21*a12*a22*,]]>其中,a11*=a11,a12*=a21,a21*=a21,a22*=a11;]]>将数据b11、数据b21形成矩阵[b11 b21];按照海明校验码设计原则,在矩阵a11*a21*a12*a22*]]>中加入两列带有矩阵行列信息的校验码数据,形成矩阵a11*a21*v11w11a12*a22*v12w12,]]>其中,
    v12=a12*+a22*;w11=a11*-a21*;w12=a12*-a22*;]]>然后将矩阵[b11 b21]和矩阵a11*a21*v11w11a12*a22*v12w12]]>相乘得输出矩阵[c11 c21 v1 w1],表示如下:
    c11c21v1w1=b11b21×a11*a21*v11w11a12*a22*v12w12;]]>
    扩充后矩阵a11*a21*a12*a22*]]>的两个加权“校验和”可表示为两个列向量v11v12]]>w11w12,]]>输出矩阵[c11 c21 v1 w1]的最后两列为矩阵[b11 b21]与输入向量的“校验和”的权重因子相乘的结果,表示为[v1]和[w1];第一个校验列v11v12]]>可等价于矩阵a11*a21*a12*a22*]]>乘以加权因子全为1的列向量,相当于对a11*a21*a12*a22*]]>的行向量求和;第二个校验列w11w12]]>等价于矩阵a11*a21*a12*a22*]]>乘以加权因子为1和-1的列向量;
    步骤2.2:进行检错操作;
    为完成矩阵向量的检错和纠错,定义标志量m和标志量n,其中,
    m=c11+c21-v1
    n=c11-c21-w1
    判断矩阵向量是否发生错误,只需要判断标志量m和标志量n是否为0,以及m+n是否为0,三者结合可判断出矩阵向量发生错误的数据块位置,以此检测出故障位置,通过标志量m和标志量n检错的方法如下:
    情况A1:如果m=0,并且n=0,则没有发生错误;
    情况B1:如果m=0,并且n≠0,则w1发生错误;
    情况C1:如果m≠0,并且n=0,则v1发生错误;
    情况D1:如果m≠0,并且n≠0,则计算m+n;当m+n=0时,c21计算错误;当m+n≠0时,c11计算错误;
    步骤2.3:进行纠错操作;
    在情况D1中:如果发现c21计算错误,则用c21减去标志量m就可以获得正确的c21;如果发现c11计算错误,则用c11减去标志量m就可以获得正确的c21;
    步骤2.4:进行模块重新加载操作;
    如果w1或v1发生错误,对MIMO检测器的校验模块重新加载,如果c21或c11发生错误,对MIMO检测器的乘法器模块重新加载。
    步骤2.1中,将数据A和数据B分别从中间截断形成数据a11、数据a21和数据b11、数据b21。
    步骤2.1中,进入MIMO检测器的数据为二进制数。
    以上基于SEC-DED的星载MIMO检测器的抗SEU方法实施时需要以下前提:
    (1)单星多极化MIMO系统仿真环境的构造:
    参见图1,其中,卫星天线数量为1,但采用双极化方式,通道数为2,每个用户终端包含2根天线。假设信道为莱斯信道,信道噪声功率为σ2,系统调制方式为BPSK。
    星载MIMO检测算法采用双极化方式,信道矩阵维度为2,大量计算都是2×2矩阵形式,可将矩阵中每4个数据作为一组待编码数据,借鉴海明编码校验原理,校验数据至少需要4(3+1)个数据。校验数据与待编码数据构成一个4×2矩阵形式,与2×2矩阵乘积运算,这样校验数据亦参与乘积运算,运算结果也是4×2矩阵形式,结果中增加的4个数据用于校验计算过程是否出错。
    (2)单元乘法器SEC-SED设计:
    矩阵乘积运算的单个数乘运算可采用单元乘法器SEC-SED设计,其基本思想是,将长度为N的数据分隔为等长的两部分,分别记为A、B,长度为N/2,输出数据记为C,长度为2N。截断的数据分别记为A_1、A_2、B_1、B_2,并进行海明校验设计。其有效数据位位数为2,按海明校验码设计至少需要2位校验码,分别记为V_1、V_2、W_1、W_2,其中V_1=A_1+A_2、V_2=A_1-A_2、W_1=B_1+B_2、W_2=B_1-B_2。由于乘法器资源占用与数据位宽的平方成正比,数据位宽降低一半,乘法器资源节约3/4。同时为实现抗SEU性能,即自检错纠错功能,其系统模型如图2所示,其中:
    C_1=A_1·B_1+A_2·B_2  \*MERGEFORMAT(40)
    C_2=A_2·B_1+A_1·B_2  \*MERGEFORMAT(41)
    C_3=V_1·B_1+W_1·B_2   \*MERGEFORMAT(42)
    =A_1·B_1+A_2·B_1+A_1·B_2+A_2·B_2
    C_4=V_1·B_1+W_1·B_2   \*MERGEFORMAT(43)
    =A_1·B_1-A_2·B_1+A_1·B_2-A_2·B_2
    则系统在不发生单粒子翻转的情况下:
    C_3=C_1+C_2   \*MERGEFORMAT(44)
    C_4=C_1-C_2   \*MERGEFORMAT(45)
    由于以上乘积运算不存在乘法器复用,则C可表示为:
    C=A·B=A_1·B_1·2N/2+(A_1·B_2+A_2·B_1)·2N/4+A_2·B_2\*MERGEFORMAT(46)
    (3)矩阵乘法器SEC-SED设计:
    SEC-SED抗SEU矩阵乘法器采用类二维内存SEC-DED方法进行矩阵编码校验,其中二维内存SEC-DED方法是通过在数据块的水平方向和垂直方向分别加入k位和l位校验信息,在水平方向进行单纠错双检错码编码,在垂直方向进行奇偶编码,可以发现出错地址寄存器和出错数据寄存器所在地址,并找到出错原因,其原理如图3所示。基于SEC-SED的星载检测算法,在矩阵右侧或者下侧加入两行(两列)含有原矩阵信息的校验行列式,行列式即原矩阵的行或列的“校验和”,如图4所示。
    以ZF检测算法为例,可表示为:
    y=H+x   \*MERGEFORMAT(36)
    H为道矩阵,x为输入信号,y为检测值,假设上式展开为:
    c11c12c21c22=a11*a12*a21*a22*×b11b21]]>   \*MERGEFORMAT(37)
    在H的广义逆矩阵H+中加入两行带有矩阵行列信息的行列式,如公式38,39所示。扩充后矩阵的两个加权“校验和”表示为两个行(列)向量[v11 v12]和[w11 w12],输出矩阵的最后两行(列)为输入向量的“校验和”的权重因子与x相乘的结果,表示为[v1 v2]和[w1 w2]。其中第一个校验行(列)可等价于加权因子全为1的行向量乘以矩阵H+,相当于对H+的列向量求和;第二个校验行(列)等价于加权因子为1和-1的行向量乘以矩阵H+。
    c11c21v1w1=a11*a12*a21*a22*v11v12w11w12×b11b21]]>   \*MERGEFORMAT(38)
    c11c21v1w1=b11b21×a11*a21*v11w11a12*a22*v12w12]]>   \*MERGEFORMAT(39)
    其编码方式为:v11=a11*+a21*;v12=a12*+a22*;w11=a11*-a21*;w12=a12*-a22*.]]>
    (4)工程测试环境的构造:
    采用上海DIGILENT公司研发的基于xilinx公司的XC5VLX50T-f1136-1芯片的开发板。为了研究本发明实际资源占用下降率,在开发板上进行实际仿真测试。其基本单元LUT为5脚输入LUT,时钟100Mhz。软件开发环境为:windows7系统,64位,CPU为i7-2670QM,2.2GHz,内存8GB,开发软件和ISE14.1和Planahead13.2。
    故障注入测试也采用此平台,模拟故障注入采用FPGA后端工具FPGA Editor,随机修改电路范围内的LUTs、Block RAM、IO标准等[5]模拟故障注入,模拟故障注入流程如下:
    1)加载原始工程文件;
    2)利用命令控制语句生成模拟故障注入的差异bit文件;
    3)在系统正常工作中,实时动态加载修改后的差异bit文件;
    4)通过JTAG(Joint Test Action Group)采集结果与iSim模拟的正确结果对比,以判断模块发生单粒子翻转之后是否出错。
    5)如果系统工作正常,重复上述过程2至4,并统计测试次数是否达到要求。如果系统功能故障,跳转至过程1。
    按上述流程模拟辐射环境下FPGA发生的单粒子翻转故障,进行5000次故障注入。
    (5)系统模块化构造:
    本发明将矩阵乘法器和“校验和”运算过程按SEC-DED流程进行模块化分组设计,把SECDED-ZF模型分成SEC-DED模块、TMR模块、复用模块,从系统结构角度进一步降低了资源占用率。系统模块设计如图5所示。
    虚线框表示SEC-DED的“校验和”计算过程,用于检测和纠正由单粒子效应引发的软错误,与三模冗余设计相比,仅使用2/3的乘法器资源。
    虚线和实线框部分包括加法、减法、乘法运算模块,其中乘法运算分为4组,分别对应c11,c12,v1,w1的计算过程,每组包含2个乘法器,共8个乘法器;加法、减法运算模块分为两组,分别对应行向量[v1 v2]和[w1 w2]运算过程。此外,矩阵求逆过程可复用矩阵乘法运算的乘法器核,构成TMR结构,可进一步降低资源占用率。
    灰色框采用TMR设计,以保证系统整体抗SEU能力。
    下面用具体的例子进一步说明本发明的方法:
    以下式为例:
    y=H+x=20.51-13-0.511.5*13=3.5-21.55.5]]>
    假设计算c21时,受单粒子翻转影响,其值被错误的计算为2.1,即c'21=-2+2.1=0.1,此时,
    m=c11+(c21+1)-v1=-0.1
    n=c11-(c21+1)-w1=0.1
    m≠0、n≠0,并且m+n=0,判定c21计算错误,则正确的c21应为c′21-m=-2.1+0.1=-2。
    由上可知,如果m或n中有且仅有一个为0,则“校验和”的计算过程中发生错误,乘法器核工作正常,输出结果不受影响,此时可以重新计算一下“校验和”,并对错误的“校验和”计算模块重构复位;如果m,n都为0时,不需要做任何处理,可视为没有发生单粒子翻转;如果m和n同时不为零,则计算m+n:当m+n=0时,c21计算错误;c11正确的计算结果为c11-m;当m+n≠0时,c11计算错误;c21正确的计算结果为c11-m。
    本例子基于实施前提中给出的信道模型和硬件条件。模拟在星载MIMO检测算法发生单粒子翻转的条件下,对基于本发明的ZF和MMSE检测算法在不同信噪比下的误比特率进行对比。
    图6所示的信道为莱斯信道,收发天线数Nt=Nr=2,M=1,信号采用BPSK调制。误比特率结果如图6所示。
    从图6可以看出,基于SEC-DED的MIMO检测算法的误比特性能与基于TMR设计的MIMO检测算法相比无明显变化。在BER相对较大时,基于RPR设计MIMO检测算法的误比特性能明显恶化,并且误比特率下降到一定程度时不随SNR增大而变化。当BER较小时,三种设计的误比特性能相当。其主要原因是,降低精度相当于在MIMO检测额外引入了一定量的“噪声”,当BER较大时,降低精度对算法的影响远远大于信道噪声对系统的影响,此时降低精度引入的“噪声”起决定性作用,使得误比特率不随SNR增大而变化。当信道环境较差时,信道噪声起主要作用,降低精度引入的“噪声”对算法的影响很小,使得基于以上三种设计的MIMO检测算法误比特性能相当。
    图7和图8分别为乘法器和MMSE、ZF两种算法,对不同数据位宽下的三种设计,相比无抗SEU性能算法的资源的占用理论增加率。
    从图7和图8中可以看出基于SEC-DED抗SEU乘法器设计在数据位宽为10到20时,资源消耗率最低。当数据位宽高于20时,RPR设计资源占用率最低,其主要原因是RPR设计比SEC-DED少使用(N/2)2面积的乘法器资源,但使用较多的移位和加减运算。在数据位宽较小时资源占用率比SEC-DED、TMR设计高,随着数据位宽增加其资源占用率显著下降。由于实际通讯中通常采用16bits的数据位宽,SEC-DED在数据位宽8-20时性能最优,更适宜卫星通信需求。
    表1和表2是基于Xilinx公司的xc5vlx50t-ffg1136c芯片进行测试,将基于SEC-DED设计的迫零检测算法和矩阵乘法器与TMR和RPR在资源占用率和抗SEU性能等方面作比较。测试条件:以线性检测算法ZF为例,收发天线数Nt=Nr=2,调制方式BPSK,数据位宽16,采用Q11定标法。仿真结果和资源占用情况如表1和表2所示。
    表1矩阵乘法器资源占用

    表2迫零检测资源占用和时延

    测试结果表明:基于SEC-DED设计的ZF检测算法和矩阵乘法器相比于TMR和RPR设计有一定时延,但SEC-DED和RPR设计资源占用率优于TMR设计。其中SEC-DED设计比TMR设计的资源占用率下降约1/4,与理论值相符。SEC-DED与RPR设计相比,降低了芯片资源占用率,并且RPR设计会降低运算精度。
    作为基于星载平台的MIMO检测算法,除考虑降低资源占用率外,必须进行抗SEU设计,抗SEU性能测试利用Xilinx提供的一个强大的FPGA后端工具FPGAEditor,随机修改电路范围内的LUTs、Block RAM、IO标准等模拟故障注入,其测试结果如表3所示:
    表3故障注入测试结果

    从表3中可以看出,基于SEC-DED的乘法器和迫零检测算法与TMR设计相比,降低了发生软错误的概率,软错误减少了约25%,提高了抗SEU能力,主要原因是SEC-DED设计的资源占用率下降,受辐射面积减少。基于SEC-DED的乘法器和迫零检测算法与RPR设计相比,发生软错误的概率相当,抗SEU性能略优于RPR设计。

    关 键  词:
    基于 SECDED MIMO 检测器 SEU 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于SECDED的星载MIMO检测器的抗SEU方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6111997.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1