法律状态公告日
法律状态信息
法律状态
2017-12-15
授权
授权
2015-10-21
实质审查的生效 IPC(主分类):H04L1/00 申请日:20150601
实质审查的生效
2015-09-23
公开
公开
技术领域
本发明属于无线通信技术领域,具体涉及在差分跳频通信系统下的一种非正 交频谱的Turbo差分跳频编译码方法。
背景技术
Turbo码是Berrou等在ICC’93会议上提出的。在编码端它通过将子编码器 用交织器并行级联来实现香农定理中的随机化长码的编码思想,并在译码端通过 迭代译码结构实现随机化长码的译码思想,达到了接近香农限的性能。
典型的Turbo编码器由两个递归系统卷积码(Recursive System Convolution, RSC)子编码器通过一个随机交织器级联而成,相应的译码器结构由两个软输入 软输出子译码器通过交织器与解交织器串行级联而成,其中交织器与编码器中所 使用的交织器相同。《Turbo-DFH编码调制与迭代译码》(《北京理工大学学报》 2005年第25卷第11期:981-984,作者:裴小东,何遵文,匡镜明)一文中第 一次提出了一种Turbo-DFH编码调制方法,将Turbo码与差分跳频(Differential Frequency Hoppong,DFH)技术相结合;结果表明,由于采用了随机编码和软输 出迭代译码,Turbo-DFH系统的误比特率性能较传统纠错编码和误跳纠正算法的 DFH系统有明显改善。
通常在对Turbo码的性能分析时,一般都假设Turbo码的第一个分量码归零, 通过在每帧中添加与RSC1编码寄存器状态相应的尾比特就可使之归零。但是由 于交织器的作用,经过交织后的每帧尾比特一般不会与编码寄存器状态存在对应 关系,因此无法使第二个分量编码器(RSC2)归零。然而,采用第三代合作伙伴计 划(3rd Generation Partnership Project,3GPP)中的二次排列多项式(Quadratic Polynomial Permutation,QPP)交织器(《3GPP TS 36.212v10.6.0》2012年6月: 13-14)作为Turbo-DFH系统的交织器,经测试,在特定的反馈系数下,能实现 在RSC1归零的同时使RSC2也归零,即双归零技术。双归零技术可以使译码后 向递推因子和前向递推因子有可靠的初始值,提高了码字的自由距离,提高了 Turbo-DFH系统的误码率性能。
裴小东在博士论文《短波差分跳频关键技术研究》(裴小东,北京理工大学, 2005)中提出了Turbo-DFH系统编译码过程,具体步骤如下:
发射端A
步骤A-1.信号组帧:信源发送周期为Tb的信息比特序列,组成每帧长为 K比特的帧信号uk,其中每帧最后N个比特是根据相应RSC1的寄存器状态来 添加的,为了使RSC1归零,其中N是RSC寄存器的个数;
步骤A-2.Turbo编码:将步骤A-1生成的帧信号uk送入RSC1,根据寄存 器状态映射到频率状态函数得到频点标号序列ak,同时将步骤A-1生成的帧信号 uk送入K位3GPP中的QPP交织器,得到交织后的帧信息送入RSC2,然后根据 寄存器状态映射到频率状态函数得到频点标号序列bk;将频点序列ak和频点序 列bk同时送入二进制启闭键控(On-Off Keying,OOK)进行复用,生成帧长为 2K,周期为Tb/2频点标号序列akbk;
步骤A-3.调制信号生成:将步骤A-2生成的频点标号序列akbk送入直接数 字频率合成器(Direct Digital Synthesizer,DDS),DDS根据频点标号按照相邻 频点间隔为2/Tb(Hz)生成调制频率信号。
接收端B
步骤B-1.信号解调:将接收到的每帧时刻信号经采样得到M个采样值后, 通过快速傅里叶变换(Fast Fourier Transformation,FFT)并取模平方(用|FFT|2表 示)得到观测空间的随机向量A1 B1 A2 B2 … AK BK,其中 Ak=(Ak,1,Ak,2,…,Ak,M)T,Bk=(Bk,1,Bk,2,…,Bk,M)T,K是帧长,k是帧时刻, k=1,2,…,K,T是转置符号,Ak,j和Bk,j表示一帧中第k时刻信号中第j个频点 的能量值;M是频率集中频点的个数,且M=2N,N>0,N是RSC中寄存器的 个数,1≤j≤M;
步骤B-2.Turbo译码:将步骤B-1得到的信号A1 B1 A2 B2 … AK BK经过 OOK解复用成A1 A2 … AK和B1 B2 … BK并分别送入两个子译码器,而这两个子 译码器又分别通过K位3GPP中的QPP交织器和相应的解交织器串行级联而成; 将解复用送入子译码器的信号向量都表示为Y={Yi,j:1≤i≤K,1≤j≤M},其中 Yi,j≥0是第i跳信号经过|FFT|2得到的对应于频率集中的第j个频点的能量值; 两个子译码器分别接收到K跳向量信号,就进行迭代译码,其中子译码器相关 算法如下:
(1)前向递推
初始化:假如每帧下RSC子编码器中的寄存器初始状态为0,那么前向递 推的初始值为
Alpk(s)表示k跳下寄存器状态为s的前向路径度量值。
如果RSC子编码器中的寄存器初始状态不为0,则有Alp0(s)=0。
对于第k=1,2,…,K,有定义式
其中s是当前跳的状态变量,s′是前一跳的状态变量,表示k-1跳 下由uk引起的s′→s的前向递推计算中的分支度量值;A是调制信号的幅度值常 量,N0是高斯白噪声的单边功率谱密度,而I0(·)是第一类零阶修正贝塞尔函数, 其可用下式近似计算:
其中ln(P(uk))是迭代译码过程中,前一个子译码器提供的先验对数似然比 信息;uk表示第k跳时信源输出的信息值,由于信源输出信息是二进制比特信号, 所以uk只能是0或1;对子译码器1的ln(P(uk))可以近似为
其中L_e21(uk)表示子译码器2输出到子译码器1的外信息,L_e12(uk)表 示子译码器1输出到子译码器2的外信息;同理可得到子译码器2的先验对数似 然比信息;其中
然后对第k=1,2,…,K,根据上面的公式可以计算前向迭代:
最后对Alpk(s)进行归一化,防止内存溢出,得到Alp′k(s):
(2)后向递推
初始化:假如每帧下RSC子编码器中的寄存器状态归零,后向递推的初始 值为
其中,Betk(s)表示k跳下寄存器状态为s的后向路径度量值。
如果RSC子编码器中的寄存器没有进行归零处理,则有BetK(s)=0。
对于第k=1,2,…,K,有定义式
其中,表示k跳下由uk引起的s′→s的后向递推计算中的分支度量 值;然后对k=1,2,…,K,根据上面的公式可以计算后向迭代:
最后对Betk(s)进行归一化,防止内存溢出,得到Bet′k(s):
(3)后验对数似然比
首先对k=1,2,…,K,有定义式
其中Γk(s′,s)表示k跳下由uk引起的s′→s的后验对数似然比计算中的分支 度量值;然后由下式得到传输符号uk的后验对数似然比:
其中L1(uk)和L2(uk)分别是子译码器1和子译码器2的后验对数似然比值, 最后由下面的规则根据子译码器2的后验对数似然比经过解交织器后对信源输 出的估计值进行判决
其中L′2(uk)是L2(uk)通过解交织器得到的;当前译码器提供给下一个译码器 的先验信息L_e21(uk)、L_e12(uk)可以表示为
其中L_e12′(uk)通过交织器得到L_e12(uk),而L_e21′(uk)通过解交织器得 到L_e21(uk)。
按照上述算法进行迭代运算,迭代完成后根据得到的后验对数似然比译码输 出。
然而,在应用中由于Turbo-DFH系统编译码过程中使用了DFH技术,会占 用很宽的频谱,因而频带资源成为制约其进一步发展的瓶颈。
发明内容
本发明针对背景技术存在的缺陷,提出了一种非正交频谱的Turbo差分跳频 编译码方法。该方法主要是在限定的频带宽度中,通过非正交频谱技术提高了相 同带宽中的频点个数,利用其编码增益大于非正交频谱泄露带来的影响,改善 Turbo-DFH系统的性能。
本发明的技术方案如下:
一种非正交频谱的Turbo-DFH编译码方法,包括信号组帧、Turbo编码、调 制信号生成、信号解调、Turbo译码的步骤,其特征在于,所述信号组帧步骤中 增加n个寄存器,n为正整数,即RSC寄存器的个数为N+n;所述调制信号生 成步骤中设定相邻频点间隔为1/(2n-1*Tb)(Hz),即输出信号的频点个数变为原 来的2n倍;所述信号解调步骤中在接受到的每个频率采样的M个采样点信号后 添加(2n-1)*M个零,再通过|FFT|2取其前M个值(其中M是频率集中频点的个数), 得到观测空间的随机向量,最后进行译码输出。
本发明提供的一种非正交频谱的Turbo-DFH编译码方法,具体包括以下步 骤:
发射端A
步骤A-1信号组帧:信源发送周期为Tb的信息比特序列,组成每帧长为K 比特帧信号uk,其中每帧中最后N+n个比特是根据相应RSC1的寄存器状态来 添加的,为了使RSC1归零;其中N是正交情况下的RSC寄存器个数,n是相 同带宽下从正交到非正交增加的RSC寄存器个数(同时也意味着非正交因子 Rp=1/2n);
步骤A-2 Turbo编码:将步骤A-1生成的帧信号uk送入RSC1进行1/2n非 正交处理,即RSC1寄存器状态个数变为原来的2n倍,RSC1根据寄存器状态到 频率状态映射函数输出帧长为K的频点标号序列ak,同时将步骤A-1生成的帧 信号uk送入K位3GPP中的QPP交织器,得到交织后的帧信息送入RSC2进行 1/2n非正交处理,即RSC2寄存器状态个数变为原来的2n倍,然后根据寄存器状 态到频率状态映射函数得到频点标号序列bk;将频点标号序列ak和频点标号序 列bk同时送入二进制启闭键控进行复用,生成帧长为2K、周期为Tb/2的频点标 号序列akbk;
步骤A-3调制信号生成:将步骤A-2生成的频点标号序列akbk送入DDS, DDS根据频点标号按照相邻非正交频点间隔为1/(2n-1*Tb)(Hz)生成调制频率信 号;由于Turbo-DFH系统占用的频带宽度不变,因此输出信号的频点个数变为 原来的2n倍;
接收端B
步骤B-1信号解调:将接收到的每帧时刻信号经采样得到M个采样值后, 在每个频率采样信号后添加(2n-1)*M个零,然后通过|FFT|2取其前M个值,得到 观测空间的随机向量A1 B1 A2 B2 … AK BK,其中Ak=(Ak,1,Ak,2,…,Ak,M)T, Bk=(Bk,1,Bk,2,…,Bk,M)T,K是帧长,k是帧时刻,k=1,2,…,K,T是转置符号, Ak,j和Bk,j表示一帧中第k时刻信号中第j个频点的能量值;M是频率集中频点 的个数,且M=2N+n,N+n>1,N+n是RSC中寄存器的个数,1≤j≤M;
步骤B-2 Turbo译码:将步骤B-1得到的信号A1 B1 A2 B2 … AK BK经过 OOK解复用成A1 A2 … AK和B1 B2 … BK分别送入两个子译码器,而这两个子译 码器又分别通过K位3GPP中的QPP交织器和相应的解交织器串行级联而成; 将解复用送入子译码器的信号向量都表示为Y={Yi,j:1≤i≤K,1≤j≤M},其中 Yi,j≥0是第i跳信号经过|FFT|2得到的对应于频率集中的第j个频点的能量值, 两个子译码器分别接收到K跳向量信号,进行迭代译码,其中子译码器相关算 法如下:
(1)前向递推
初始化:假如每帧下RSC子编码器中的寄存器初始状态为0,那么前向递 推的初始值为
其中,Alpk(s)表示k跳下寄存器状态为s的前向路径度量值。
如果RSC子编码器中的寄存器初始状态不为0,则有Alp0(s)=0。
对于第k=1,2,…,K,有定义式:
其中s是当前跳的状态变量,s′是前一跳的状态变量,表示k-1跳 下由uk引起的s′→s的前向递推计算中的分支度量值;A是调制信号的幅度值常 量,N0是高斯白噪声的单边功率谱密度,而I0(·)是第一类零阶修正贝塞尔函数, 其可用下式近似计算:
其中ln(P(uk))是迭代译码过程中,前一个子译码器提供的先验对数似然比 信息;uk表示第k跳时信源输出的信息值,由于信源输出信息是二进制比特信号, 所以uk只能是0或1;对子译码器1的ln(P(uk))可以近似为
其中L_e21(uk)表示子译码器2输出到子译码器1的外信息,L_e12(uk)表 示子译码器1输出到子译码器2的外信息;同理可得到子译码器2的先验对数似 然比信息;其中
然后对第k=1,2,…,K,根据上面的公式可以计算前向迭代:
最后对Alpk(s)进行归一化,防止内存溢出,得到Alp′k(s):
(2)后向递推
初始化:假如每帧下RSC子编码器中的寄存器状态归零,后向递推的初始 值为
其中,Betk(s)表示k跳下寄存器状态为s的后向路径度量值。
如果RSC子编码器中的寄存器没有进行归零处理,则有BetK(s)=0
对于第k=1,2,…,K,有定义式
其中表示k跳下由uk引起的s′→s的后向递推计算中的分支度量 值;然后对k=1,2,…,K,根据上面的公式可计算后向迭代:
最后对Betk(s)进行归一化,防止内存溢出,得到Bet′k(s):
(3)后验对数似然比
首先对k=1,2,…,K,有定义式
其中表示k跳下由uk引起的s′→s的后验对数似然比计算中的分支 度量值;然后由下式得到传输符号uk的后验对数似然比:
其中L1(uk)和L2(uk)分别是子译码器1和子译码器2的后验对数似然比值, 最后由下面的规则根据子译码器2的后验对数似然比经过解交织器后对信源输 出的估计值进行判决
其中L′2(uk)是L2(uk)通过解交织器得到的;当前译码器提供给下一个译码器 的先验信息L_e21(uk)或L_e12(uk)可以表示为
其中L_e12′(uk)通过交织器得到L_e12(uk),而L_e21′(uk)通过解交织器得 到L_e21(uk);
按照上述算法进行迭代运算,迭代完成后根据得到的后验对数似然比译码输 出。
本发明的有益效果为:
1、本发明在Turbo-DFH系统中加入了非正交频谱技术,相应地修改了频率 间隔、编码器结构、寄存器状态到频率状态的映射函数和接收端信号解调的部分 算法;在限定的频谱带宽内,使用非正交跳频频率集来进行通信,利用非正交频 谱Turbo-DFH编码器的编码增益大于非正交频谱泄露带来的影响,提高了 Turbo-DFH系统的性能;本发明方法在限定的频谱带宽内,增加了通信的频点个 数,提高了频谱的利用率。
2、本发明将传统的Turbo-DFH通信系统频率间隔从正交方式修改为非正交 方式。具体为,传统Turbo-DFH正交频率间隔的定义为:若系统传输的频点标 号序列在时域的时间间隔为Tb/2,为了保证系统相邻频点的正交性,则在频域相 邻频点间隔Δf需要满足条件Δf=2/Tb(Hz);而本发明提出的Turbo-DFH非正交 频率间隔的定义:设Rp为非正交因子,在限定带宽下,若非正交因子Rp=1/2n, 则Turbo-DFH非正交频率间隔为Δf*Rp=1/(2n-1*Tb)(Hz),其中n=1,2,3,…,即相 同带宽下的频点个数变为原来的2n倍。
3、本发明中频率间隔的修改提高了频率分辨率,增加了频点个数,因此需 要在原RSC编码器的基础上增加寄存器个数和反馈抽头个数;由于非正交频谱 改变了寄存器的个数和反馈抽头的个数,因此相应的寄存器状态到频率状态映射 函数需要变化。
附图说明
图1为Turbo-DFH系统的框架图;(背景技术与本发明的系统框架图相同)
图2为背景技术与本发明的Turbo-DFH系统的性能对比图。
注:图2中背景技术与本发明的Turbo-DFH系统所采用的仿真参数为:
具体实施方式
实施例
输入非正交RSC编码器的信息采样率:fs=5KHz(即复用频点标号序列的采 样率为10KHz);
RSC编码器的寄存器个数:3+1(其中,N=3,n=1);
QPP交织器长度:40,信源帧信号帧长:40;
频率集频点个数:16,调制方式:十六进制频移键控(16FSK);
非正交因子:Rp=1/2(相邻频点频率间隔为5KHz,各频率采样点数为16);
无线信道环境:瑞利(Rayleigh)信道;
信道信噪比设置:20dB;
解调方式:十六进制频移键控软解调(即将各频率采样的16个点再加上16 个0,一起送入|FFT|2,然后取前16个值作为软解调输出的各频点能量值);
非正交频谱的Turbo-DFH译码器迭代次数:1;
这里我们找到了一个特定的RSC反馈系数17,在使RSC1归零的同时,通 过QPP交织器后亦能使RSC2归零,即双归零。
其寄存器状态到频率状态映射函数关系如下表
那么频率状态转移规则如下表
发射端A
步骤A-1.信号组帧。信源发送周期为Tb=200μs的信息比特序列,组成每 帧长为40比特的帧信号uk:[1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 …… 1 0 0 0 0 0 0 0 1], 其中帧最后4个比特[0 0 0 1]是根据相应的RSC1的寄存器状态得到的,以使得 RSC1归零;
步骤A-2.Turbo编码。将步骤A-1生成的这一帧信号uk送入RSC1进行1/2 非正交处理,RSC1根据寄存器状态到频率状态映射函数输出帧长为40的频点 标号序列ak:[12 14 4 9 6 10 12 14 2 7 13 4 1 1 1 …… 2 6 10 12 14 2 6 10 8];
接着将uk送入40位QPP交织器,其中交织器的排序表为:[13 6 19 12 25 18 31 24 37 30 3 36 9 2 15 …… 16 29 22 35 28 1 34 7 0],然后得到交织后的帧信息 u′k:[1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 …… 0 1 1 0 1 0 0 0 1]
再送入RSC2进行1/2非正交处理,输出频点标号序列bk:[12 14 4 1 9 7 5 15 5 3 10 12 0 3 11 …… 12 0 3 11 14 2 6 10 8]
将频点序列ak和频点序列bk同时送入二进制启闭键控(On-Off Keying, OOK)进行复用生成帧长为80,频点标号间隔为100μs的频点标号序列akbk:[12 12 14 14 4 4 9 1 6 9 10 7 12 5 14 15 2 5 7 3 13 10 4 12 …… 10 3 12 11 14 14 2 2 6 6 10 10 8 8]。
步骤A-3.调制信号生成。将步骤A-2生成的频点标号序列送入DDS,设 定相邻频点间隔为5KHz,由于Turbo-DFH系统占用的频带宽度不变,因此DDS 输出Turbo-DFH信号的频点个数变为原来的2倍,即频点个数为16。对于每一 个频点对应的频率信号,采样点数为16,相应的DDS输出信号:
接收端B
步骤B-1.信号解调。从Rayleigh信道接收到的信号如下:
将接收到的每个频率采样信号添加16个零,比如第一个频点标号8对应的 采样信号处理为:[0.2885+0.6302j -0.9972+0.3911j -0.5616-0.8364j -0.1120+0.3936j -0.8558-0.2177j 0.0447-0.9994j 0.5175+0.7857j-1.8441-0.1014j 0.4133+0.2623j 0.0626+0.9637j-0.3223-0.9623j 0.6817+0.4711j -0.8466+0.7316j-0.2359-0.0938j 0.0219+1.0805j-0.0729-0.1035j 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
然后通过|FFT|2再取其前16个值,得到观测空间的随机向量A1 B1 A2 B2 … A15 B15,其中Ak=(Ak,1,Ak,2,…,Ak,16)T,Bk=(Bk,1,Bk,2,…,Bk,16)T,k是帧时刻, T是转置符号,Ak,j和Bk,j表示一帧中第k时刻信号中第j个频点的能量值;
步骤B-2.Turbo译码:将步骤B-1得到的信号A1 B1 A2 B2 … A40 B40经过 OOK解复用成A1 A2 … A40和B1 B2 … B40分别送入两个子译码器,而这两个子译 码器又分别通过40位QQP交织器和相应的解交织器串行级联而成,其中这里的 40位QQP交织器由于RSC选择特定的反馈系数,所以是双归零交织器;为方 便表示将解复用送入子译码器的信号向量都表示为 Y={Yi,j:1≤i≤15,1≤j≤16},其中Yi,j≥0是第i跳信号做|FFT|2得到的对应于 频率集中的第j个频点的能量值;即A1A2…A40对应子译码器1的信号输入, B1 B2 … B40对应子译码器2的信号输入。
一、对于子译码器1输入的能量信号表示为Y,如下:
(1)按照前面的算法公式得到前向递推Alpk(s)的值(其中定义初始值的 ∞=1010):
可以看见,当帧时刻k=1时,有L_e21(uk)=0,所以有其中可能值有
然后最有可能是
其他的
对于时刻k=2,3,……,14也是按前面算法公式推算而得。
(2)按照前面的算法公式得到后向递推Betk(s)的值:
(3)由于是第一次进行译码,所以初始L_e21(uk)=0,则L_e12′(uk)=L1(uk), 所以从译码器1到译码器2的先验信息L_e12′(uk)为:[29802.688104 -29802.688104 29802.688104 29802.688104 29802.688104 -31932.556711 -47775.049110 -42090.940130 -42090.940130 36934.679076 -36934.679076 -36934.679076 ...... -32526.953964 -32526.953964 32526.953964]
然后通过QQP交织器得到L_e12(uk)为:[36934.679076 -47775.049110 17214.518101 -36934.679076 -17605.298582 -17214.518101 17542.675868 17605.298582 -32526.953964 -17542.675868 29802.688104 -28401.413627 36934.679076……-28401.413627 -42090.940130 29802.688104]
二、对于子译码器2输入的能量信号表示为Y:
(1)按照前面的算法公式得到前向递推Alpk(s)的值:
(2)按照前面的算法公式得到后向递推Betk(s)的值:
(3)按照前面的算法公式得到译码器2的后验对数似然比L2(uk)值为: [92113.515642 -129305.310403 106291.921874 -157496.405348 -104358.782002 -92113.515642 106102.532821 101243.996895 -87543.875384 -102949.696818 …… -109068.072643 110282.671021]
然后经过解交织得到L′2(uk)值为:[110282.671021 -86855.410780 87543.875384 108418.572685 63263.867304 -86291.906076 -129305.310403 -109068.072643 -107508.815385 101243.996895 -98996.243310 -71954.312070 ……-87543.875384 -70472.365909 88361.055666],最后进行硬 判决,L′2(uk)≥0则译码输出为1,L′2(uk)<0则译码输出为0,则最后译码帧输出 为:[1 0 1 1 1 0 0 0 0 1 0 0 …… 0 0 1],结果和信源的输出帧是一样的,说明是 正确译码。
如果要进行迭代两次及以上的译码,则需要将上面译码器2的后验对数似然 比L2(uk)减去译码器1到译码器2的先验信息L_e12(uk)得到L_e21′(uk),再通 过解交织器得到L_e21(uk),然后送入子译码器1,然后重复步骤B-2,直到迭 代次数完成并译码输出。
至于对下一帧的信号编译码,则重复步骤A-1到步骤B-2;需要注意的是上 一帧最后时刻的信号对下一帧时刻的译码是有帮助的,即前后帧之间是有关联 的,例如在实施例中对下一帧进行译码,则步骤B-2的第一次迭代中译码器1 的计算前向递推Alpk(s)的值时,当时刻k=1时,有的值为上一帧最后时刻 对应的值。
利用Matlab对本发明与背景技术裴小东博士论文中提出的Turbo-DFH在 Rayleigh信道中的一次和四次迭代误码率性能进行仿真对比,其仿真结果如附图 2所示。从附图2可以看出,在Rayleigh信道中,BER=1×10-4时,背景技术正 交迭代1次、迭代4次分别需要约12dB和7.2dB,本发明非正交因子为1/4的 迭代1次、迭代4次分别降到了约9.7dB和6.1dB,信噪比增益相应提高了约2.3dB 和1.1dB。
机译: 一种海浪通信网络的动态频谱分配方法,该方法采用一种频谱重用方法,能够以有限的频谱资源支持更大的请求带宽
机译: 一种磁共振层析成像中的频谱脂肪饱和或频谱水激发成像方法。
机译: 一种接收由共享频谱共享的扩展频谱调用信号组成的信号的方法