基于全响应CPM和Turbo乘积码的编码调制方法转让专利

申请号 : CN201110147937.8

文献号 : CN102223204B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙锦华李梦良吴小钧

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种基于全响应CPM和Turbo乘积码的编码调制方法,解决了现有技术中内外码之间需要进行迭代译码、寻找最佳外码困难和调制参数固定的问题。本发明实现的具体步骤:(1)Turbo乘积码编码器初始化;(2)读入信息序列;(3)Turbo乘积码编码;(4)随机交织;(5)符号映射;(6)非递归连续相位编码;(7)无记忆调制。本发明的内外码之间不需要进行迭代译码就可以达到很好的误比特性能,减小了译码延迟,降低了译码算法在可编程器件上编程实现的复杂度,简化了外码设计。本发明的非递归连续相位调制参数灵活可变,能够满足不同通信系统对功率效率、频谱效率和可靠性的不同要求。

权利要求 :

1.一种基于全响应CPM和Turbo乘积码的编码调制方法,包括如下步骤: (1)Turbo乘积码编码器中的Turbo乘积码行列子码采用扩展汉明码的编码方式完成初始化;所述初始化是指Turbo乘积码编码器将n设置为Turbo乘积码子码的码字长度,将k设置为Turbo乘积码子码信息位的长度,并将n行n列的编码缓存初始化为全0; (2)读入信息序列,Turbo乘积码编码器读入需要发送的信息序列,将该信息序列存入编码缓存器k行k列;所述存入方式为以比特为单位存入编码缓存的前k行k列; (3)Turbo乘积码编码,Turbo乘积码编码器对编码缓存的前k行k列进行行编码、列编码,然后输出已编码比特; (4)随机交织器对Turbo乘积码的编码输出进行随机交织,获得比特序列; (5)符号映射器将随机交织器输出的比特序列按照自然二进制映射方式转换为多进制符号序列;所述自然二进制映射方式是指二进制数到多进制数的映射方式; (6)非递归连续相位编码

6a)在非递归连续相位编码前,非递归连续相位编码器将多进制符号寄存器初始化为

0;

6b)非递归连续相位编码器读入多进制符号序列的一个多进制符号,用当前读入的多进制符号减去寄存器中存储的多进制符号,将运算结果对调制进制数取模后作为当前码元周期内的第一个多进制符号输出,寄存器中暂存的符号作为当前码元周期内的第二个多进制符号输出;

6c)非递归连续相位编码器将当前读入的多进制符号存入多进制符号寄存器;

6d)重复步骤6b、6c,直到处理完所有输入的多进制符号;

(7)无记忆调制:无记忆调制器根据非递归连续相位编码器输出的多进制符号,计算输出波形数据,所述输出波形数据是按照下面的公式计算得到: s(m)=cos{2πhy2+4πhy1f(m)+πh(M-1)m/N-2πh(M-1)f(m)} +j sin{2πhy2+4πhy1f(m)+πh(M-1)m/N-2πh(M-1)f(m)} 其中,s(m)为一个码元周期内的第m个波形采样点的值,m为当前码元周期内的采样点序号,h为调制指数,y2为当前码元周期内非递归连续相位编码器输出的第二个多进制符号,y1为当前码元周期内非递归连续相位编码器输出的第一个多进制符号,f(m)为相位响应脉冲的第m个采样点的值,M为调制进制数,N为一个码元周期内的采样点总数,j为虚数单位;调制指数h=Q/M,Q是不大于M的奇数。

2.根据权利要求1所述的基于全响应CPM和Turbo乘积码的编码调制方法,其特征在于,所述的步骤(3)中Turbo乘积码编码的步骤如下:

3a)行编码

编码器采用Turbo乘积码子码的编码方式对编码缓存中每一行的k个比特进行编码,得到n个比特的编码输出,并将编码输出写回当前行;

3b)列编码

编码器采用Turbo乘积码子码的编码方式对编码缓存中每一列的k个比特进行编码,得到n个比特的编码输出,并将编码输出写回当前列。

3.根据权利要求1所述的基于全响应CPM和Turbo乘积码的编码调制方法,其特征在于,所述的步骤(4)中随机交织器采用伪随机交织器。

4.根据权利要求1所述的基于全响应CPM和Turbo乘积码的编码调制方法,其特征在于,所述的步骤(4)中随机交织的交织深度为Turbo乘积码子码码字长度的平方。

说明书 :

基于全响应CPM和Turbo乘积码的编码调制方法

技术领域

[0001] 本发明属于通信技术领域,更进一步涉及数字通信中一种调制和差错控制编码的方法。该方法基于一种非递归全响应连续相位调制(Continuous Phase Modulation,CPM)和Turbo乘积码相结合的串行级联编码调制方法,可用于遥测,卫星通信、深空通信技术领域,可以提高系统的频谱效率、功率效率和可靠性。

背景技术

[0002] 目前,国内外通信系统中,一般采用连续相位调制CPM(Continuous Phase Modulation)作为内码和性能优异的差错控制编码级联的方法,来提高系统的频谱效率、功率效率和可靠性。CPM作为内码和性能优异的差错控制编码级联的方法主要有:卷积码、低密度奇偶校验码(Low Density Parity Check code,LDPC码)或Turbo码以及Turbo乘积码和递归CPM串行级联的三种方法。
[0003] 第一种方法,卷积码和递归CPM串行级联的方法。
[0004] A.Perotti 等 人 在“Capacity-Achieving CPM Schemes”(IEEE Trans.Inf.Theory,vol.56,no.4,pp.1521-1541,April 2010)提出的一种以递归CPM为内码和卷积码相结合的方法。该方法将卷积码和递归的CPM通过一个比特交织器级联起来,并将卷积码和CPM中的连续相位编码器(Continuous Phase Encoder,CPE)作为一个串行级联卷积码来进行优化设计;无记忆调制器(Memoryless Modulator,MM)根据编码以后的信息比特选择相应的波形输出;在接收端,先对接收信号进行解调,之后进行内译码,内译码器输出的软信息解交织以后送给外译码器,经过译码以后,再将外译码器输出的软信息经过交织以后送给内译码器,如此反复,在内外码之间进行迭代译码,当满足一定的迭代停止条件后,则停止迭代,输出译码结果。该方法存在的不足之处是:在接收端,内外码之间需要迭代译码,延时大,迭代译码算法复杂度高,导致该译码算法在可编程器件上编程实现困难。
[0005] 第二种方法,LDPC码或Turbo码和递归CPM串行级联的方法。
[0006] Xue Rui 等 人 在“Power and Bandwidth Efficient LDPC Coded CPM with Iterative Decoding”(12th IEEE International Conference on Communication Technology(ICCT),Nanjing,China,2010:1019-1022.)提出的LDPC码与递归CPM的级联方法。该方法需要预先用理论分析或者计算机搜索来寻找一种最佳的LDPC码作为外码。发送端将发送的信息比特经过LDPC码编码器编码后,送给CPM调制器输出发送波形;在接收端,先对接收到的信号进行解调,之后进行内译码,内译码器输出的软信息送给外译码器进行外译码,再将外译码器输出的软信息送给内译码器,如此反复,在内外码之间进行迭代译码。该方法存在的不足之处是:由于设计LDPC码的校验矩阵时为了要避免出现“四环”,所以寻找最佳的LDPC码比较困难;迭代译码导致译码延时大。
[0007] 第三种方法,Turbo乘积码和两种特殊的递归CPM级联的方法。
[0008] K.Damodaran和E.Perrins在“Serially Concatenated Codes for Aeronautical Telemetry”(IEEE MILCOM 2008,San Diego CA,Nov.2008:1-6)中提出了两种特殊的递归CPM——有形偏移四进制相移键控(Shaped-offset Quadrature Phase Shift Keying,SOQPSK)、脉冲编码调制/调频(Pulse Code Modulation/Frequency Modulation,PCM/FM)分别和Turbo乘积码(Turbo Product Code,TPC)级联的串行级联编码调制方法。该方法在发送端先将信息比特进行TPC编码,然后把编码输出进行CPM调制;接收端,内译码器对接收信号进行内译码,输出发送比特的软信息,送给外译码器进行TPC译码。该方法的不足之处在于:调制器仅能够使用两种特殊的递归CPM,内码调制参数固定,在频谱特性、功率利用率和带宽利用率方面有一定的局限性。

发明内容

[0009] 为了克服上述现有技术的不足,本发明的目的在于提供一种基于全响应CPM和Turbo乘积码的编码调制方法,能够有效地减小译码时延,降低译码算法复杂度,同时提高通信系统的频谱效率、功率效率和可靠性。
[0010] 为了实现上述目的,本发明将需要发送的信息比特序列进行Turbo乘积码编码,编码输出通过交织器进行随机交织,交织后的比特序列转换为多进制符号序列,再送连续相位编码器,无记忆调制器根据连续相位编码器输出的多进制符号序列输出相应的波形。
[0011] 本发明实现的具体步骤如下:
[0012] (1)Turbo乘积码编码器初始化,Turbo乘积码编码器中的Turbo乘积码行列子码采用扩展汉明码的编码方式完成初始化。
[0013] (2)读入信息序列,Turbo乘积码编码器读入需要发送的信息序列,将该信息序列存入编码缓存器k行k列。
[0014] (3)Turbo乘积码编码,Turbo乘积码编码器对编码缓存的前k行k列进行行编码、列编码,然后输出已编码比特。
[0015] (4)随机交织器对Turbo乘积码的编码输出进行随机交织,获得比特序列。
[0016] (5)符号映射器将随机交织器输出的比特序列按照自然二进制映射方式转换为多进制符号序列。
[0017] (6)非递归连续相位编码
[0018] 6a)在非递归连续相位编码前,非递归连续相位编码器将多进制符号寄存器初始化为0;
[0019] 6b)非递归连续相位编码器读入多进制符号序列的一个多进制符号,用当前读入的多进制符号减去寄存器中存储的多进制符号,将运算结果对调制进制数取模后作为当前码元周期内的第一个多进制符号输出,寄存器中暂存的符号作为当前码元周期内的第二个多进制符号输出;
[0020] 6c)非递归连续相位编码器将当前读入的多进制符号存入多进制符号寄存器;
[0021] 6d)重复步骤6b、6c,直到处理完所有输入的多进制符号。
[0022] (7)无记忆调制:无记忆调制器根据非递归连续相位编码器输出的多进制符号,计算输出波形数据。
[0023] 本发明与现有技术相比具有以下优点:
[0024] 第一,由于本发明采用了非递归连续相位编码,克服了现有技术中存在的内外码之间必须进行迭代译码的不足,使得内外译码器之间不需要进行迭代译码就能够达到较好的误比特性能,减小了译码延迟,降低了译码算法在可编程器件上编程实现的复杂度。
[0025] 第二,由于本发明采用了Turbo乘积码作为外码,克服了现有技术中存在的寻找最佳外码困难的不足,简化了外码设计,提高了系统设计效率。
[0026] 第三,由于本发明采用了非递归连续相位编码和无记忆调制相结合的非递归连续相位调制作为内码,克服了现有技术中存在的内码调制参数固定的不足,满足了不同通信系统对功率效率、频谱效率和可靠性的不同要求。

附图说明

[0027] 图1为本发明的流程图;
[0028] 图2为本发明实施例中Turbo乘积码的结构示意图;
[0029] 图3为本发明与未编码递归CPM的误码率性能仿真结果对比图。

具体实施方式

[0030] 下面结合附图对本发明做进一步的描述。
[0031] 参照附图1本发明的详细步骤如下:
[0032] 步骤1,Turbo乘积码编码器中的Turbo乘积码行列子码采用扩展汉明码的编码方式完成初始化。初始化是指Turbo乘积码编码器将n设置为Turbo乘积码子码的码字长度,将k设置为Turbo乘积码子码信息位的长度,并将n行n列的编码缓存初始化为全0。
[0033] 本发明实施例中采用码字长度n=32,信息位长度k=26的扩展汉明码作为Turbo乘积码的子码。所以,Turbo乘积码编码器将32设置为Turbo乘积码子码的码字长度,将26设置为Turbo乘积码子码信息位的长度,并将32行32列的编码缓存初始化为全0。
[0034] 步骤2,读入需要发送的信息序列,Turbo乘积码编码器将需要发送的信息序列读入编码缓存器的k行k列;
[0035] 本发明实施例中Turbo乘积码编码器将需要发送的信息序列以比特为单位读入编码缓存器的前26行26列,读入的信息序列包含676个比特。
[0036] 步骤3,Turbo乘积码编码,其具体步骤如下:
[0037] 3a)行编码
[0038] 编码器采用Turbo乘积码子码的编码方式对编码缓存中每一行的k个比特进行编码,得到n个比特的编码输出,并将编码输出写回当前行;
[0039] 3b)列编码
[0040] 编码器采用Turbo乘积码子码的编码方式对编码缓存中每一列的k个比特进行编码,得到n个比特的编码输出,并将编码输出写回当前列。
[0041] 为了简化Turbo乘积码的译码算法,本发明实施例中,Turbo乘积码的行列子码采用相同的编码方式,Turbo乘积码的结构示意图如图2所示。Turbo乘积码编码的步骤为:行编码、列编码。编码完成后,编码器输出已编码比特。
[0042] 行编码时,编码器使用(32,26)扩展汉明码的编码方式对编码缓存中每一行的26个比特进行编码,得到32个比特的编码输出,并将编码输出写回当前行。
[0043] 列编码时,编码器使用(32,26)扩展汉明码的编码方式对编码缓存中每一列的26个比特进行编码,得到32个比特的编码输出,并将编码输出写回当前列。
[0044] 编码完成后,编码器输出已编码比特。编码器按列读取编码缓存中的32列已编码比特,并将读取的已编码比特输出。
[0045] 步骤4,随机交织,随机交织器采用伪随机交织器,随机交织的交织深度为Turbo乘积码子码的码字长度的平方。
[0046] 本发明实施例中采用交织深度为1024的伪随机交织器对编码输出进行随机交织,得到交织后的比特序列;
[0047] 步骤5,符号映射器将交织后的比特序列按照自然二进制映射方式转换为多进制符号序列,自然二进制映射方式是指将二进制数转换为多进制数的方法。
[0048] 本发明实施例中,符号映射器将交织后的比特序列按照自然二进制映射方式转换为四进制符号序列。
[0049] 步骤6,非递归连续相位编码
[0050] 步骤6a),本发明实施例中,非递归连续相位编码器在开始非递归连续相位编码前,将四进制符号寄存器初始化为0;
[0051] 步骤6b),非递归连续相位编码器读入四进制符号序列的一个四进制符号,用当前读入的四进制符号减去寄存器中存储的四进制符号,将运算结果对四取模后作为当前码元周期内的第一个四进制符号输出,寄存器中暂存的符号作为当前码元周期内的第二个四进制符号输出;
[0052] 步骤6c),非递归连续相位编码器将当前读入的四进制符号存入四进制符号寄存器;
[0053] 步骤6d),重复步骤6b)、6c),直到处理完所有输入的四进制符号。
[0054] 步骤7,无记忆调制器根据非递归连续相位编码器输出的四进制符号,计算输出波形数据,输出波形数据是按照下面的公式计算得到:
[0055] s(m)=cos{2πhy2+4πhy1f(m)+πh(M-1)m/N-2πh(M-1)f(m)}
[0056] +jsin{2πhy2+4πhy1f(m)+πh(M-1)m/N-2πh(M-1)f(m)}[0057] 其中,s(m)为一个码元周期内的第m个波形采样点的值,m为当前码元周期内的采样点序号,h为调制指数,y2为当前码元周期内非递归连续相位编码器输出的第二个多进制符号,y1为当前码元周期内非递归连续相位编码器输出的第一个多进制符号,f(m)为相位响应脉冲的第m个采样点的值,M为调制进制数,N为一个码元周期内的采样点总数,j为虚数单位;调制指数h=Q/M,Q是不大于M的奇数。
[0058] 在本发明实施例中,无记忆调制器采用脉冲响应长度为1,调制指数为0.25,相位响应脉冲为升余弦脉冲,调制进制数为4,每个码元周期内取10个采样点的调制参数。在每个码元周期内,无记忆调制器根据非递归连续相位编码器输出的四进制符号,计算输出当前码元周期内的每个波形采样点的值。一个码元周期内的第m个波形采样点的值s(m)可以通过下面的公式计算得到:
[0059] s(m)=cos{0.5πy2+πy1f(m)+0.75πm/10-1.5πf(m)}
[0060] +jsin{0.5πy2+πy1f(m)+0.75πm/10-1.5πf(m)}
[0061] 其中,s(m)为一个码元周期内的第m个波形采样点的值,m为当前码元周期内的采样点序号,y2为当前码元周期内非递归连续相位编码器输出的第二个四进制符号,y1为当前码元周期内非递归连续相位编码器输出的第一个四进制符号,f(m)为升余弦相位响应脉冲的第m个采样点的值,j为虚数单位。
[0062] 本发明的效果可通过以下仿真进一步说明:
[0063] 本发明的仿真使用Matlab 7.1仿真软件,系统参数与实施例中所用到的编码调制参数一致,传输信道为加性高斯白噪声信道,得到的误比特率性能曲线如图3中曲线1所示,图3中横轴表示比特能量和噪声功率谱密度比,单位dB,纵轴表示误比特率;使用Matlab 7.1仿真软件,不加外码和交织,递归连续相位调制的调制参数和实施例中的调制参数一致,传输信道为加性高斯白噪声信道,得到的误比特率性能曲线如图3中曲线2所示。
[0064] 由图3的仿真结果可见,本发明在误比特率BER=2×10-5时,与未编码的递归连续相位调制相比至少有5.5dB的编码增益,可见本发明比未编码的递归连续相位调制技术明显地提高了系统的可靠性。