一种适用于MFSK的M维度量软判决维特比译码方法与流程

文档序号:11542254阅读:561来源:国知局
一种适用于MFSK的M维度量软判决维特比译码方法与流程
本发明属于无线通信技术领域,具体涉及一种适用于MFSK的M维度量软判决维特比译码方法。

背景技术:
与卷积编码技术相对应的所有译码算法中,Viterbi译码算法是在多数信道下的最优译码算法,其充分利用了码字之间的相关性,提高了编码码字的纠错能力。卷积编码是由连续输入的信息序列得到连续输出的编码序列,而译码过程则是在译码网格图上寻找一条与发送序列最接近的路径的过程。维特比译码可以应用于多进制频移键控(Multi-FrequencyShiftKeying,MFSK,其中M=2N,N=1,2,3,4......)通信系统,该系统在发送端编码上通常使用卷积编码,调制使用MFSK调制;对应的接收端解调使用匹配滤波解调,译码使用维特比译码。授权公告号为CN100471189C的中国发明专利“一种4FSK软解调方法”中公开了一种4FSK软解调方法,该方法的工作原理(流程)如图1所示:其通信系统包括发送端和接收端,具体工作流程如下:发送端A步骤A-1.卷积编码生成(码率Rc=1/2):将信号送入编码器进行编码;步骤A-2.4FSK调制:将步骤A-1产生的信号送入4FSK调制模块进行调制。接收端B步骤B-1.4FSK软解调:将接收到的信号经过匹配滤波得到四个调制频点的能量值。因为4FSK解调的输出是下列四种码元之一:00、01、10和11,故设:00对应的调制频率为f1,且f1频点的能量为an;01对应的调制频率为f2,且f2频点的能量为bn;10对应的调制频率为f3,且f3频点的能量为cn;11对应的调制频率为f4,且f4频点的能量为dn,其中n是时间序列编号;步骤B-2.调制信号高低比特分开:第一个比特为‘0’:00对应的能量,即an01对应的能量,即bn第一个比特为‘1’:10对应的能量,即cn11对应的能量,即dn第二个比特为‘0’:00对应的能量,即an10对应的能量,即cn第二个比特为‘1’:01对应的能量,即bn11对应的能量,即dn令a′n=an+bn,b′n=cn+dn,c′n=an+cn,d′n=bn+dn。步骤B-3.计算4FSK软解调的高低位输出值:计算:作为4FSK软解调的高位输出值,作为4FSK软解调的低位输出值;或,计算:xn=(b′n-a′n)/max(a′n,b′n)作为4FSK软解调的高位输出值,yn=(d′n-c′n)/max(c′n,d′n)作为4FSK软解调的低位输出值;步骤B-4.多进制量化转换:将步骤B-3所得的4FSK软解调的高、低位输出值xn和yn进行转换,通过量化编码转换为多进制的量化整数x′n和y′n,即得到4FSK软解调的多进制量化输出值;步骤B-5.计算分支度量值:也就是计算步骤B-4得到的量化输出值与步骤A-1中所有可能的输出值所对应的量化信号之差。假如量化的比特数为14,当卷积编码输出为1,则对应量化为11111111111111,转换成十进制为16383;若输出为0,则对应量化为00000000000000,转换成十进制为0;由于编码输出有四种可能,则每一对量化输入信号对应的分支度量值也有四个:BMn(1)=x′n+y′nBMn(2)=x′n+(16383-y′n)BMn(3)=(16383-x′n)+y′nBMn(4)=(16383-x′n)+(16383-y′n)步骤B-6.加运算过程:将当前时刻每个状态的度量值之和(初始值为0)与该状态输出所对应的分支度量值(步骤B-5得到的数据)相加得到下一个时刻每个状态的度量值之和;步骤B-7.比运算过程:比较进入同一状态的所有链路的度量值之和,保留最小值链路;然后将此时各状态保留链路对应的输出作为译码码字并组成序列送入回溯单元,将保留的状态的度量值之和送入选取单元,同时也送入加运算单元,为下一时刻的加运算做准备;步骤B-8.选取过程:选取步骤B-7送入的保留的状态的度量值之和最小的链路,得到此链路对应的状态编号,然后送入回溯单元;步骤B-9.回溯过程:对步骤B-7和B-8送入回溯单元的信号进行缓存,当达到译码深度后,根据步骤B-8选取得到的状态编号选取对应的链路并回溯译码深度长的时刻寻找所对应的译码码字作为输出结果。上述方法将四维的频点数据转换成二维的数据结构以适应当前工程上维特比译码对输入数据维度的要求,或者说是适应维特比译码中的求分支度量值的方法,但从信息论的角度看,降维则必然会造成信息的损失。

技术实现要素:
本发明针对

背景技术:
存在的缺陷,提出了一种适用于MFSK的M维度量软判决维特比译码方法。该方法将M维的频点数据信息直接送入译码部分且把能量信息直接当做分支度量值,避免了维特比译码复杂的降维处理和求分支度量值(欧氏距离)的步骤,且不会产生信息的损失,本发明方法简化了系统结构,加快了译码速度。本发明的技术方案如下:本发明提供了一种适用于MFSK的M维度量软判决维特比译码方法,包括以下步骤:步骤1:MFSK软解调:将接收端接收到的信号经匹配滤波得到M个频点的能量值;MFSK解调的输出是下列M种码元之一:故设:对应的调制频率为f1,且f1频点的能量为对应的调制频率为f2,且f2频点的能量为对应的调制频率为f3,且f3频点的能量为……;对应的调制频率为fM,且fM频点的能量值为其中n是时间序列编号;步骤2.加运算过程:将当前时刻每个状态的度量值之和(初始值为0)与该状态输出所对应的能量值(步骤1得到的数据)相加得到下一个时刻每个状态的度量值之和;步骤3.比运算过程:比较进入同一状态的所有链路的度量值之和,保留最大值链路;然后将此时各状态保留链路对应的输出作为译码码字并组成序列送入回溯单元,将保留的状态的度量值之和送入选取单元,同时也送入加运算单元,为下一时刻的加运算做准备;步骤4.选取过程:选取步骤3送入的保留的状态的度量值之和最大的链路,得到此链路对应的状态编号,然后送入回溯单元;步骤5.回溯过程:对步骤3和4送入回溯单元的信号进行缓存,当达到译码深度后,根据步骤4选取得到的状态编号选取对应的链路并回溯译码深度长的时刻寻找所对应的译码码字作为输出结果。本发明还提供了一种适用于MFSK的M维度量软判决维特比译码方法,包括以下步骤:步骤1:MFSK软解调:将接收端接收到的信号经匹配滤波得到M个频点的能量值;MFSK解调的输出是下列M种码元之一:故设:对应的调制频率为f1,且f1频点的能量为对应的调制频率为f2,且f2频点的能量为对应的调制频率为f3,且f3频点的能量为……;对应的调制频率为fM,且fM频点的能量值为其中n是时间序列编号;步骤2.多进制量化转换:将步骤1所得的MFSK软解调的能量输出值进行转换,通过量化编码转换为多进制的量化整数即得到MFSK软解调的多进制量化输出值;步骤3.加运算过程:将当前时刻每个状态的度量值之和(初始值为0)与该状态输出所对应的量化输出值(步骤2得到的数据)相加得到下一个时刻每个状态的度量值之和;步骤4.比运算过程:比较进入同一状态的所有链路的度量值之和,保留最大值链路;然后将此时各状态保留链路对应的输出作为译码码字并组成序列送入回溯单元,将保留的状态的度量值之和送入选取单元,同时也送入加运算单元,为下一时刻的加运算做准备;步骤5.选取过程:选取步骤4送入的保留的状态的度量值之和最大的链路,得到此链路对应的状态编号,然后送入回溯单元;步骤6.回溯过程:对步骤4和5送入回溯单元的信号进行缓存,当达到译码深度后,根据步骤5选取得到的状态编号选取对应的链路并回溯译码深度长的时刻寻找所对应的译码码字作为输出结果。本发明的有益效果为:本发明将MFSK通信系统中M维的频点数据信息直接送入译码部分且把能量信息直接作为分支度量值,避免了传统维特比译码复杂的降维处理和求分支度量值(欧式距离)的步骤,且不会产生信息的损失,本发明方法简化了系统结构,加快了译码速度。附图说明图1为

背景技术:
中的4FSK软解调方法实现维特比译码的系统的工作流程示意图。图2为本发明实施例提供的4FSK软判决维特比译码系统的工作流程示意图。该系统包括发送端、信道和接收端;其中发送端包括卷积编码生成和4FSK调制过程。图3为

背景技术:
与本发明方法的BER性能曲线对比图。其中,本发明与

背景技术:
采用相同的条件:输入卷积编码器的信息(采样率为5KHz)、卷积编码生成器结构(码率Rc=1/2)、调制方式采用4FSK调制(频率间隔为5KHz,各频率采样点数为4)、信道采用AWGN信道、信道信噪比范围为[0:8.5]dB、解调采用4FSK软解调、多进制量化位数为14比特、回溯单元译码深度为32。具体实施方式下面结合附图和实施例对本发明做进一步地介绍。具体地,本发明提供了一种4FSK通信系统的维特比译码方法,包括以下步骤:步骤1.4FSK软解调:将接收端接收到的信号经过匹配滤波得到四个频点的能量值;4FSK解调的输出是下列四种码元之一:00、01、10和11,故设:00对应的调制频率为f1,且f1频点的能量为an;01对应的调制频率为f2,且f2频点的能量为bn;10对应的调制频率为f3,且f3频点的能量为cn;11对应的调制频率为f4,且f4频点的能量值为dn,其中n是时间序列编号;步骤2.加运算过程:将当前时刻每个状态的度量值之和(初始值为0)与该状态输出所对应的能量值(步骤2得到的数据)相加得到下一个时刻每个状态的度量值之和;步骤3.比运算过程:比较进入同一状态的所有链路的度量值之和,保留最大值链路;然后将此时各状态保留链路对应的输出作为译码码字并组成序列送入回溯单元,将保留的状态的度量值之和送入选取单元,同时也送入加运算单元,为下一时刻的加运算做准备;步骤4.选取过程:选取步骤3送入的保留的状态的度量值之和最大的链路,得到此链路对应的状态编号,然后送入回溯单元;步骤5.回溯过程:对步骤3和步骤4送入回溯单元的信号进行缓存,当达到译码深度后,根据步骤4选取得到的状态编号选取对应的链路并回溯译码深度长的时刻寻找所对应的译码码字作为输出结果。具体地,本发明还提供了一种4FSK通信系统的维特比译码方法,包括以下步骤:步骤1.4FSK软解调:将接收端接收到的信号经过匹配滤波得到四个频点的能量值;4FSK解调的输出是下列四种码元之一:00、01、10和11,故设:00对应的调制频率为f1,且f1频点的能量为an;01对应的调制频率为f2,且f2频点的能量为bn;10对应的调制频率为f3,且f3频点的能量为cn;11对应的调制频率为f4,且f4频点的能量值为dn,其中n是时间序列编号;步骤2.多进制量化转换:将步骤1所得的4FSK软解调的输出值an、bn、cn和dn进行转换,通过量化编码转换为多进制的量化整数a′n、b′n、c′n和d′n,即得到4FSK软解调的多进制量化输出值;步骤3.加运算过程:将当前时刻每个状态的度量值之和(初始值为0)与该状态输出所对应的量化输出值(步骤2得到的数据)相加得到下一个时刻每个状态的度量值之和;步骤4.比运算过程:比较进入同一状态的所有链路的度量值之和,保留最大值链路;然后将此时各状态保留链路对应的输出作为译码码字并组成序列送入回溯单元,将保留的状态的度量值之和送入选取单元,同时也送入加运算单元,为下一时刻的加运算做准备;步骤5.选取过程:选取步骤4送入的保留的状态的度量值之和最大的链路,得到此链路对应的状态编号,然后送入回溯单元;步骤6.回溯过程:对步骤4和步骤5送入回溯单元的信号进行缓存,当达到译码深度后,根据步骤5选取得到的状态编号选取对应的链路并回溯译码深度长的时刻寻找所对应的译码码字作为输出结果。实施例本实施例中:输入卷积编码器的信息采样率:fs=5KHz;卷积编码器约束长度:K=7,生成多项式:[171133];调制方式:四进制频移键控(4FSK)调制(频率间隔为5KHz,各频率采样点数为4);无线信道环境:高斯加性白噪声(AWGN);信道信噪比范围:[0:8.5]dB;解调方式:四进制频移键控(4FSK)软解调;多进制量化位数:14,量化范围[0,64];加运算各状态度量值之和初始值:译码深度:32;(假设现在信道信噪比为7dB)。无线通信系统包括三个部分:发送端、信道和接收端,发送端包括编码和调制,接收端包括解调和译码。发送端A步骤A-1.卷积编码生成(码率Rc=1/2):将信号送入编码器进行编码:输入编码器的信号:[10110……],编码器输出的信号:{[11],[10],[00],[10],[01]……};步骤A-2.4FSK调制:将由步骤A-1产生的信号送入4FSK调制模块进行调制,得到:{[1-j-1j],[1-11-1],[1111],[1-11-1],[1j-1–j]……}接收端B'步骤B'-1.4FSK软解调:将接收端接收到的信号经过匹配滤波得到当前时刻四个频点的能量值;对于时刻1:输入解调器的信号:[1.6646+0.1538j-1.1412-0.9939j-0.8994-0.3751j-0.2805+1.0387j];解调器输出的信号:[0.46212.21334.853021.239]步骤B'-2.多进制量化转换:将步骤B'-1所得的4FSK软解调的输出值0.4621、2.2133、4.8530和21.239进行转换,通过量化编码转换为多进制的量化整数,得到当前时刻4FSK软解调的多进制量化输出值;对于时刻1:多进制量化输出值为[11856612425437]步骤B'-3.加运算过程:将当前时刻每个状态的度量值之和(初始值为0)与该状态输出所对应的量化输出值(步骤B'-2得到的数据)相加得到下一个时刻每个状态的度量值之和(因为约束长度为7,故有64个状态,各状态初始值都为0);定义下面数据表达方式的意思为,当前状态编号—>输出码元(对应于四个频点)—>下一个状态编号:下一个状态得到的能量度量值之和。对于时刻1:{1—>00—>1:118;2—>11—>1:5437;3—>01—>2:566;4—>10—>2:1242;5—>00—>3:118;6—>11—>3:5437;7—>01—>4:566;8—>10—>4:1242;9—>11—>5:5437;10—>00—>5:118;11—>10—>6:1242;12—>01—>6:566;13—>11—>7:5437;14—>00—>7:118;……}步骤B'-4.比运算过程:比较进入同一状态的所有链路的度量值之和,保留最大值的链路;然后将此时各状态保留链路对应的输出作为译码码字并组成序列送入回溯单元,将保留的状态的能量度量值之和送入选取单元,同时也送入加运算单元,为下一时刻的加运算做准备;如果进入同一状态时有两条或两条以上链路的能量度量值相等且为最大,则任选一条链路作为最大能量度量值连理;对于时刻1:……其中比运算单元送入选取单元和反馈进下一时刻加运算单元的数据如下,定义下面数据表达方式的意思为,状态编号:更新的最大能量度量值;{1:5437;2:1242;3:5437;4:1242;5:5437;6:1242;7:5437;……}比运算单元送入回溯单元的数据如下,定义下面数据表达方式的意思为,当前状态编号—>输出码元(对应于四个频点)—>下一个状态编号;{2—>11—>1;4—>10—>2;6—>11—>3;8—>10—>4;9—>11—>5;11—>10—>6;13—>11—>7;……}步骤B'-5.选取过程:选取步骤B'-5送入的保留的状态的度量值之和最大的链路,得到此链路对应的状态编号,然后送入回溯单元,若有两个或两个以上的状态的能量度量值相等且为最大,则任选一个状态作为最大能量度量值的状态送入回溯单元;对于时刻1:有一半的数据相等且等于最大能量度量值,故按就近原则选最大能量度量值对应的第一个状态为最大能量度量值状态,即状态编号为1,送入回溯单元;步骤B'-6.对步骤B'-4和步骤B'-5送入回溯单元的信号进行缓存,当达到译码深度后,根据当前由步骤B'-5送来的信息选取对应的链路并回溯译码深度长的时刻寻找所对应的译码码字作为输出结果:初始时刻对步骤B'-5的缓存空间进行初始化,缓存空间设置为译码深度大小,初始化将缓存空间置0,即当时刻1的时候将最大状态编号压入缓存中,即判断上述缓存序列左起第一个值是否为0;是0则回到步骤B'-1进行下一个时刻的计算,如不是0,则将这个值记下,去寻找对应的状态链路(利用前面缓存的由步骤B'-4送入步骤B'-6的数据),然后译码输出;同时缓存序列向右移动一位,左边补0,右边将超出译码深度的数据去掉,然后再回到步骤B'-1进行下一个时刻的计算。利用Matlab对本发明实施例和

背景技术:
在4FSK下的AWGN信道中,对误码率(BER)性能进行仿真对比,其仿真结果如图3所示。从图3可以看出,在AWGN信道中,BER=1×10-4时,

背景技术:
所需信噪比约为7.5dB,本发明所需信噪比降到了约6.9dB,信噪比增益提高约0.6dB左右。本发明将MFSK软解调的频点能量直接送入加运算单元并修改了比运算单元和选取单元的判断规则,找到了一种能量度量值最大的路径,当达到译码深度后便译出数据。传统的维特比译码器加比选单元是求分支度量值之和(欧式距离之和)最小的链路,即与接收端收到的信号序列最相似的序列链路;而本发明接收到的分支度量值是频点的能量,能量越大其对应频点被发送的概率也越大,在比运算单元则保留输入的能量度量值之和最大的链路,选取单元中则选取所有状态下更新的能量度量值之和最大的链路。该方法中送入维特比译码器的信息不比经过降维的处理,没有信息的损失;软解调的信息直接送入加运算单元,无需进行复杂的降维处理和计算分支度量值单元,简化了系统结构,加快了译码速度。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1