发明名称 基于纠错纠删RS‑Turbo级联码的跳频抗干扰方法
摘要 本发明公开一种基于纠错纠删RS‑Turbo级联码的跳频抗干扰方法,主要解决现有跳频通信系统在载波频偏和部分频带干扰下无法正常通信的问题。其实现步骤是:(1)对一帧数据进行RS编码;(2)将RS码各个码元分配到相应的跳上;(3)分别对每跳数据进行Turbo编码;(4)设置跳频组帧格式,并进行QPSK调制;(5)对调制信号加入载波频偏、相偏和高斯白噪声,得到复基带信号;(6)对复基带信号进行载波同步;(7)对同步信号进行Turbo译码,给出RS码的删除位;(8)根据RS码的删除位进行纠错纠删译码。本发明具有误比特性能好,抗干扰性能强的优点,可用于移动通信、卫星通信、深空通信及遥测。
申请公布号 CN104009826B 申请公布日期 2017.04.19
申请号 CN201410273010.2 申请日期 2014.06.18
申请人 西安电子科技大学 发明人 孙锦华;马鹏;韩会梅
分类号 H04L1/00(2006.01)I;H04B1/715(2011.01)I 主分类号 H04L1/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;王喜媛
主权项 一种基于纠错纠删RS‑Turbo级联码的跳频抗干扰方法,包括如下步骤:(1)对一帧数据分组进行RS编码:(1a)将长度为N比特的一帧数据分为B组,每组含N/B比特数据;(1b)分别对每组数据进行RS(n,k<sub>0</sub>,d)编码,得到B个RS码字,其中n为码字长度,k<sub>0</sub>为信息码元长度,每个码元包含的比特数为m,d为最小码距,d=2t+1,<img file="FDA0001212979570000011.GIF" wi="376" he="62" />t为纠错个数,<img file="FDA0001212979570000012.GIF" wi="49" he="59" />为向下取整运算;(2)将每个RS码字的各个码元分配到跳频系统相应的跳上:(2a)将B个RS码字并行排放成B列,每列含n个码元,每行含mB个编码比特,再将B列RS码字划分为B<sub>0</sub>块,每块n行,每行含mB/B<sub>0</sub>个编码比特;(2b)将第1块第1行B/B<sub>0</sub>个码元即mB/B<sub>0</sub>个编码比特分配到跳频系统的第1跳,依次类推,第1块第n行B/B<sub>0</sub>个码元分配到跳频系统的第n跳,同理,将第B<sub>0</sub>块第1行B/B<sub>0</sub>个码元分配到跳频系统的第[n(B<sub>0</sub>‑1)+1]跳,依次类推,第B<sub>0</sub>块第n行B/B<sub>0</sub>个码元分配到跳频系统的第nB<sub>0</sub>跳;(3)分别对每跳数据进行Turbo编码:(3a)分别在每跳mB/B<sub>0</sub>个编码比特末尾添加M个冲洗比特,得到(mB/B<sub>0</sub>+M)比特数据;(3b)分别对每跳(mB/B<sub>0</sub>+M)比特数据进行码率为1/3的Turbo编码,最后得到长为D<sub>a</sub>的Turbo编码比特,其中D<sub>a</sub>=3(mB/B<sub>0</sub>+M);(4)设置跳频组帧格式:(4a)将长度为P比特的导频序列作为跳频系统的导频跳;(4b)设第1,2,…,nB<sub>0</sub>跳的数据格式相同,其每一跳均将长为L<sub>e</sub>比特的引导码置于长为D<sub>a</sub>比特的Turbo编码数据之前,组成长为D<sub>a</sub>+L<sub>e</sub>比特的数据,其中D<sub>a</sub>+L<sub>e</sub>=P;(4c)将导频跳置于第1,2,…,n跳之前组成跳频系统的第1帧,依次类推,将导频跳置于第[n(B<sub>0</sub>‑1)+1],[n(B<sub>0</sub>‑1)+2],…,nB<sub>0</sub>跳之前组成跳频系统的第B<sub>0</sub>帧,一帧数据帧长N<sub>b</sub>=(L<sub>e</sub>+D<sub>a</sub>)n;(5)对每帧数据进行正交相移键控QPSK调制,得到发送的复基带信号s<sub>k</sub>;(6)对复基带信号s<sub>k</sub>加入载波频偏、载波相偏和相位抖动,通过高斯白噪声信道,在接收端将接收到的信号经过滤波、下变频、数字采样后得到复基带信号r<sub>k</sub>:<maths num="0001"><math><![CDATA[<mrow><msub><mi>r</mi><mi>k</mi></msub><mo>=</mo><msub><mi>s</mi><mi>k</mi></msub><mo>&CenterDot;</mo><msup><mi>e</mi><mrow><mi>j</mi><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mi>k</mi><mi>&Delta;</mi><mi>f</mi><mi>T</mi><mo>+</mo><mi>&theta;</mi><mo>+</mo><mi>&Delta;</mi><mi>&theta;</mi><mo>)</mo></mrow></mrow></msup><mo>+</mo><msub><mi>n</mi><mi>k</mi></msub><mo>,</mo><mi>k</mi><mo>=</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><mfrac><msub><mi>N</mi><mi>b</mi></msub><mn>2</mn></mfrac><mo>-</mo><mn>1</mn><mo>,</mo></mrow>]]></math><img file="FDA0001212979570000021.GIF" wi="1078" he="86" /></maths>其中,Δf、θ和Δθ分别为载波频偏、载波相偏和相位抖动,T为符号周期,ΔfT为归一化频偏,|ΔfT|&lt;1,n<sub>k</sub>是均值为零方差为σ<sup>2</sup>的复高斯随机变量,<img file="FDA0001212979570000022.GIF" wi="190" he="93" />N<sub>0</sub>为噪声的单边功率谱密度,N<sub>b</sub>为一帧数据帧长;(7)载波同步:(7a)从复基带信号r<sub>k</sub>中提取导频序列d<sub>k</sub>,利用导频序列由旋转平均周期图RPA算法对载波偏差进行粗估计,得到频偏粗估计值f<sub>RPA</sub>,利用该粗估计值f<sub>RPA</sub>对复基带信号r<sub>k</sub>进行频偏校正,得到频偏校正信号r<sub>k</sub>′;(7b)从频偏校正信号r<sub>k</sub>′提取引导码,利用引导码由最大似然算法得到相位初始估计值θ<sub>0</sub>;(7c)从频偏校正信号r<sub>k</sub>′中提取数据序列x<sub>k</sub>,由科斯塔斯环法迭代计算相偏校正序列y<sub>k</sub>:<maths num="0002"><math><![CDATA[<mrow><msub><mi>y</mi><mi>k</mi></msub><mo>=</mo><msub><mi>x</mi><mi>k</mi></msub><msup><mi>e</mi><mrow><mo>-</mo><msub><mi>j&theta;</mi><mi>k</mi></msub></mrow></msup><mo>,</mo><mi>k</mi><mo>=</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><mfrac><msub><mi>D</mi><mi>a</mi></msub><mn>2</mn></mfrac><mo>-</mo><mn>1</mn><mo>,</mo></mrow>]]></math><img file="FDA0001212979570000023.GIF" wi="741" he="86" /></maths>其中,θ<sub>k</sub>为第k个数据码元的相位校正量,当k=0时,θ<sub>0</sub>为相位初始估计值,D<sub>a</sub>为引导码的长度;(8)将相位校正序列y<sub>k</sub>送入Turbo译码器,采用基于对数的最大后验概率LOG‑MAP算法进行迭代译码,输出所有RS码元每个比特的软值;(9)纠错纠删RS译码:(9a)设输入至纠错纠删RS译码器的码字C=(c<sub>1</sub>,c<sub>2</sub>,…,c<sub>h</sub>,…,c<sub>n</sub>),其中,c<sub>h</sub>为第h个码元,h=1,2,…,n,设码元c<sub>h</sub>的软值度量为β<sub>h</sub>=(β<sub>h1</sub>,β<sub>h2</sub>,…,β<sub>hj</sub>,…,β<sub>hm</sub>),其中,β<sub>hj</sub>为码元c<sub>h</sub>第j个比特的软值,j=1,2,…,m,找出软值度量β<sub>h</sub>中绝对值的最小值γ<sub>h</sub>,并将γ<sub>h</sub>作为码元c<sub>h</sub>的可靠性度量值,则码字C的可靠性度量γ=(γ<sub>1</sub>,γ<sub>2</sub>,…,γ<sub>h</sub>,…,γ<sub>n</sub>);(9b)对码字C的可靠性度量γ从小到大排序,排列结果为(γ<sub>p1</sub>,γ<sub>p2</sub>,…,γ<sub>ph</sub>,…,γ<sub>pn</sub>),ph∈1,2,…,n,其中,ph为排列在第h位的可靠性度量值对应码元的下标,相应的码元排列结果为(c<sub>p1</sub>,c<sub>p2</sub>,…,c<sub>ph</sub>,…,c<sub>pn</sub>);(9c)设置码字C的删除个数为e,即c<sub>p1</sub>,c<sub>p2</sub>,…,c<sub>pe</sub>位为删除位;(9d)对码字C进行纠错纠删译码,如果错误数在码字C的纠删能力范围内,则将译码码字作为输出,译码结束,否则,执行步骤(9e);(9e)设置计数i=1、码字存储矩阵U为空、搜索区间长度为s,在e+1,e+2,…,e+s中不重复的选出q个数,共有<img file="FDA0001212979570000031.GIF" wi="252" he="94" />种组合,用v<sub>i1</sub>,v<sub>i2</sub>,…,v<sub>iq</sub>,i∈1,2,…,w表示其中的一种组合,构造w行、q列的删除矩阵V,将v<sub>i1</sub>,v<sub>i2</sub>,…,v<sub>iq</sub>,i∈1,2,…,w存储在删除矩阵V的第i行;(9f)在删除位c<sub>p1</sub>,c<sub>p2</sub>,…,c<sub>pe</sub>以外再选取删除矩阵V中第i行的q位作为删除位,即将<img file="FDA0001212979570000032.GIF" wi="717" he="62" />位作为删除位,重新设置码字C的删除个数e′=e+q;(9g)对码字C进行纠错纠删译码,如果错误数在码字C的纠删能力范围内,则译码正确,并将译码码字<img file="FDA0001212979570000033.GIF" wi="427" he="66" />保存在码字存储矩阵U中,其中,h=1,2,…,n,第h个码元<img file="FDA0001212979570000034.GIF" wi="563" he="79" /><img file="FDA0001212979570000035.GIF" wi="55" he="71" />为码元<img file="FDA0001212979570000036.GIF" wi="49" he="71" />第j个比特的硬判决值,其中,<img file="FDA0001212979570000037.GIF" wi="508" he="71" />(9h)将计数i加1后重新赋给i;(9i)如果赋值后的计数i小于等于组合种类w,则返回到步骤(9f),否则,执行步骤(9j);(9j)如果码字存储矩阵U为空则将接收的码字作为译码输出,译码结束,否则,分别将码字存储矩阵U中每个码字与码字C的软值按位进行相关运算,译码码字Di与码字C的软值按位进行相关运算计算公式为:<maths num="0003"><math><![CDATA[<mrow><msub><mi>Cor</mi><mi>i</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>h</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>&beta;</mi><mrow><mi>h</mi><mi>j</mi></mrow></msub><msubsup><mi>d</mi><mrow><mi>h</mi><mi>j</mi></mrow><mi>i</mi></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0001212979570000038.GIF" wi="430" he="142" /></maths>(9k)选取最大相关值所对应的码字作为译码输出,译码结束。
地址 710071 陕西省西安市太白南路2号