位置:51电子网 » 技术资料 » 通信网络

卷积码+QPSK的中频调制解调系统的FPGA实现

发布时间:2007/8/29 0:00:00 访问次数:687

摘要:提出了一个采用(2,1,7)卷积码+QPSK的中频调制解调方案,并在Xilinx公司的100万门FPGA芯片上实现了该系统。该系统在信噪比SNR为6dB左右时可实现速率超过1Mbit/s、误码率小于10 -5的数据传输。
关键词:卷积编码 Viterbi译码 QPSK FPGA
在无线数据传输中,由于信道中的噪声干扰,在接收端会引入一定的误码率(Bit Error Rate,BER)。高质量的数据业务要求较低的BER。为了达到较低的BER,经常采用信道编码技术。卷积编码和Viterbi译码是广泛使用的信道编码技术,具有一定的克服突发错误的能力,可以降低信道的误码率,带来很高的编码增益。信道编码的引入在提供纠错能力的同时,还扩展了信号的带宽。为了保证频带的利用率,本文采用QPSK调制方式,使数据调制在中频载波上,实现数据的可靠传输。




本文所述的中频调制解调系统具有以下特点:
(1)所有算法(编码、调制、解调和译码)都是在Xilinx公司的FPGA芯片中实现的,结构简单,体积小,功耗低。
(2)具有很好的实时性。对于1Mbit/s以上的数据速率,译码延迟不超过0.1ms。
(3)模块化的设计使得系统具有一定的兼容性,只需要修改少量程序,即可实现各种卷积编码和不同的调制中频。
(4)与浮点算法的仿真性能相比较,采用定点算法的系统性能损失不大,并能在较低的信噪比提供可靠的数据传输。
1 系统总结构及硬件设计
图1是中频调制解调系统的工作流程图。在发端,数据通过A/D转换器采样后进入FPGA,在其中完成(2,1,7)卷积编码和QPSK调制后通过D/A转换器输出。在收端,接收到的信号通过A/D转换器采样后进入FPGA,在其中完成QPSK解调和Viterbi译码后通过D/A转换器输出。

图2

2 系统的FPGA实现
系统主要分为编译码和调制解调两大部分,下面分别叙述这两部分的原理及设计。
2.1 卷积编码与Viterbi译码的FPGA实现
2.1.1 (2,1,7)卷积编码
典型的(n,m,k)卷积码编码器是指输入位数为m、输出位数为n、约束长度为k的卷积码编码器,其编码速率为m/n。一个(2,1,7)的卷积编码器如图2所示,可用六个移位寄存器实现。
2.1.2 Viterbi译码
Viterbi译码算法是Viterbi于1967年提出的一种概率译码算法。其主要思想就是最大似然译码。译码时,将接收序列与根据编码产生的网格图上面的所有路径进行比较,求出其汉明距离或欧式距离,选出具有最小距离的路径,那么这条路径上的序列与发送序列相同的可能性最大。在AWGN信道中,当使用欧式距离时,Viterbi算法的性能最好。因此,这种算法是最优最大似然译码算法。Viterbi译码器分为硬判决译码器和软判决译码器,软判决译码器与硬判决译码器相比有2~3dB的增益,而译码器结构复杂度增加不大。

图3

由Viterbi算法的基本原理可得典型的Viterbi译码器,如图3所示。
分支路径度量产生单元BMG(Branch Metric Generate)用于产生接收序列与状态转移分支上编码输出数据之间的距离。令长度为n的接收信号为R=(r1,…rn),与之相应的发送信号为C=(c1,…cn)。因为具有最小欧式距离的路径也就是具有最大相关的路径,所以定义分支路径上的度量为:由于此分支路径度量没有平方运算,所以可将状态转移分支上的编码输出数据存储在查找表内,这样只需进行加减和查表运算,大大减小了实现的复杂程度。以上计算公式中数值为连续值,而本设计采用的是软判决译码器,故只需对输入的接收信号进行均匀量化即可(量化比特数为q)。
加比选单元ACS(Add-Compare-Select)模块包括若干个单个状态加比选模块ACSU,一个ACSU模块执行一个状态 的路径度量升级。ACSU模块的具体个数根据译码器的速率要求而定。对于低速的译码器,为了节约芯片的面积,可以使用较少的ACSU模块进行时分复用;而在高速Viterbi译码器的设计中,则采用全并行的结构,ACSU模块的个数等于网格图上的状态数N=2k-1。译码器开始工作时,给路径度量设定一个初始化正值。在度量升级过程中,路径度量的不断累加会造成溢出。因为在度量升级时只是比较大小,所以在每次度量升级之后,所有的路径度量值减去路径度量值中的最小值,而不会影响路径度量向的大小关系。同时,为了下次路径度量升级不出现负值,需要对所有的度量值加上一个恒定常数。经过归一化处理后的路径度量,其最大值与最小值相差不超过2 q(k-1)。
所以,对于q比特而软判决编码长度为k的Viterbi译码器,其路径度量长度为q+log2(k-1)比特。
MLD(Most-Likelihood-Decision)模块用于在所有状态的路径度量中找出最大值,具有最大路径度量的幸存路径便是最大似然路径。在时刻L时,

摘要:提出了一个采用(2,1,7)卷积码+QPSK的中频调制解调方案,并在Xilinx公司的100万门FPGA芯片上实现了该系统。该系统在信噪比SNR为6dB左右时可实现速率超过1Mbit/s、误码率小于10 -5的数据传输。
关键词:卷积编码 Viterbi译码 QPSK FPGA
在无线数据传输中,由于信道中的噪声干扰,在接收端会引入一定的误码率(Bit Error Rate,BER)。高质量的数据业务要求较低的BER。为了达到较低的BER,经常采用信道编码技术。卷积编码和Viterbi译码是广泛使用的信道编码技术,具有一定的克服突发错误的能力,可以降低信道的误码率,带来很高的编码增益。信道编码的引入在提供纠错能力的同时,还扩展了信号的带宽。为了保证频带的利用率,本文采用QPSK调制方式,使数据调制在中频载波上,实现数据的可靠传输。




本文所述的中频调制解调系统具有以下特点:
(1)所有算法(编码、调制、解调和译码)都是在Xilinx公司的FPGA芯片中实现的,结构简单,体积小,功耗低。
(2)具有很好的实时性。对于1Mbit/s以上的数据速率,译码延迟不超过0.1ms。
(3)模块化的设计使得系统具有一定的兼容性,只需要修改少量程序,即可实现各种卷积编码和不同的调制中频。
(4)与浮点算法的仿真性能相比较,采用定点算法的系统性能损失不大,并能在较低的信噪比提供可靠的数据传输。
1 系统总结构及硬件设计
图1是中频调制解调系统的工作流程图。在发端,数据通过A/D转换器采样后进入FPGA,在其中完成(2,1,7)卷积编码和QPSK调制后通过D/A转换器输出。在收端,接收到的信号通过A/D转换器采样后进入FPGA,在其中完成QPSK解调和Viterbi译码后通过D/A转换器输出。

图2

2 系统的FPGA实现
系统主要分为编译码和调制解调两大部分,下面分别叙述这两部分的原理及设计。
2.1 卷积编码与Viterbi译码的FPGA实现
2.1.1 (2,1,7)卷积编码
典型的(n,m,k)卷积码编码器是指输入位数为m、输出位数为n、约束长度为k的卷积码编码器,其编码速率为m/n。一个(2,1,7)的卷积编码器如图2所示,可用六个移位寄存器实现。
2.1.2 Viterbi译码
Viterbi译码算法是Viterbi于1967年提出的一种概率译码算法。其主要思想就是最大似然译码。译码时,将接收序列与根据编码产生的网格图上面的所有路径进行比较,求出其汉明距离或欧式距离,选出具有最小距离的路径,那么这条路径上的序列与发送序列相同的可能性最大。在AWGN信道中,当使用欧式距离时,Viterbi算法的性能最好。因此,这种算法是最优最大似然译码算法。Viterbi译码器分为硬判决译码器和软判决译码器,软判决译码器与硬判决译码器相比有2~3dB的增益,而译码器结构复杂度增加不大。

图3

由Viterbi算法的基本原理可得典型的Viterbi译码器,如图3所示。
分支路径度量产生单元BMG(Branch Metric Generate)用于产生接收序列与状态转移分支上编码输出数据之间的距离。令长度为n的接收信号为R=(r1,…rn),与之相应的发送信号为C=(c1,…cn)。因为具有最小欧式距离的路径也就是具有最大相关的路径,所以定义分支路径上的度量为:由于此分支路径度量没有平方运算,所以可将状态转移分支上的编码输出数据存储在查找表内,这样只需进行加减和查表运算,大大减小了实现的复杂程度。以上计算公式中数值为连续值,而本设计采用的是软判决译码器,故只需对输入的接收信号进行均匀量化即可(量化比特数为q)。
加比选单元ACS(Add-Compare-Select)模块包括若干个单个状态加比选模块ACSU,一个ACSU模块执行一个状态 的路径度量升级。ACSU模块的具体个数根据译码器的速率要求而定。对于低速的译码器,为了节约芯片的面积,可以使用较少的ACSU模块进行时分复用;而在高速Viterbi译码器的设计中,则采用全并行的结构,ACSU模块的个数等于网格图上的状态数N=2k-1。译码器开始工作时,给路径度量设定一个初始化正值。在度量升级过程中,路径度量的不断累加会造成溢出。因为在度量升级时只是比较大小,所以在每次度量升级之后,所有的路径度量值减去路径度量值中的最小值,而不会影响路径度量向的大小关系。同时,为了下次路径度量升级不出现负值,需要对所有的度量值加上一个恒定常数。经过归一化处理后的路径度量,其最大值与最小值相差不超过2 q(k-1)。
所以,对于q比特而软判决编码长度为k的Viterbi译码器,其路径度量长度为q+log2(k-1)比特。
MLD(Most-Likelihood-Decision)模块用于在所有状态的路径度量中找出最大值,具有最大路径度量的幸存路径便是最大似然路径。在时刻L时,

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式