在通信系统中,人们一直致力于信息传输的有效性和可靠性的研究,信道纠错编码技术一直是人们研究的重点。1993年,Turbo码的提出,以其接近Shannon极限的优异的译码性能在编码界引起了轰动,并成为研究纠错编码的热点课题。经过十几年的研究和发展,目前,Turbo码已经走向了实用化的道路,如何用硬件实现有效的Turbo码编译码器成为了人们研究的重点。 论文以基于FPGA实现Turbo码译码器为研究目标,首先分析了Turbo码的基本编译码原理和3GPP标准的Turbo码编码结构和交织算法。然后重点分析了MAP译码算法,Log-MAP译码算法和:Max-Log-MAP译码算法,并对三种译码算法进行了详细的理论推导和计算复杂度的定量分析比较,对影响Turbo码译码性能的主要因素进行了MATLB仿真分析。 论文在深入分析比较上述三种译码算法的基础之上,选择Max-Log-MAP译码算法进行了Turbo码译码器的FPGA设计实现。主要针对FPGA实现的数据量化、定点数据表示方式、Max-Log-MAP算法子译码器关键运算单元的FPGA设计和基于3GPP标准的Turbo码译码器的内交织的FPGA设计进行了深入研究,完成了固定译码长度的Turbo码译码器的FPGA设计实现,并利用ModelSim和MATLAB分别对译码器进行了功能时序验证和FPGA定点仿真测试。
上传时间: 2013-07-09
上传用户:caixiaoxu26
在信道编码的发展进程中,编码研究人员一直致力于追寻性能尽可能的接近Shannon极限,且译码复杂度较低的信道编码方案。1993年Berrou等提出了Turbo码,这种码在接近香农极限的低信噪比下仍能够获得较低的误码率,它的出现在编码界引起了广泛的关注,并成为编码研究领域最新的发展方向之一。但Turbo码也有其缺点,由于交织器的存在,致使译码复杂度高,译码时延长且因为低码重码字,存在错误平台现象。在Turbo码的基础上,1994年,Pyndiah等提出了Turbo乘积码,Turbo乘积码继承了Turbo码的优点,又因为Turbo乘积码的构造采用了线性分组码,所以译码方法比Turbo码简单。Turbo乘积码近年来开始被广泛到应用到各种通信场合,大有取代传统的卷积码之势。 本文首先围绕Turbo乘积码的编译码原理,阐述了涉及到的基础知识;又据Turbo乘积码目前的应用状况,回顾了Turbo码的发展历史;其次,根据Turbo乘积码的构造原理,探讨了构造的方法,交织类型,子码的选择及子码的性能;再次,研究了Turbo乘积码的概率译码,基于外信息的迭代算法,研究了Chase的译码算法;最后通过软件仿真实现了该迭代译码算法,得到的结果达到了通信接收的要求。 本文还初步的阐述了Turbo乘积码硬件实现系统的设计方案。据实际工作中碰到的非标准信号,给出了整体模块设计图,及相应模块的功能和模块问连接的各种参数。并实现了模态下的同步搜索和去除相位模糊功能。最后根据研究中碰到的各种问题,提出了下一步工作建议和研究方向。
上传时间: 2013-07-02
上传用户:ndyyliu
本论文主要对无线扩频集成电路设计中的信道编解码算法进行研究并对其FPGA实现思路和方法进行相关研究。 近年来无线局域网IEEE802.11b标准建议物理层采用无线扩频技术,所以开发一套扩频通信芯片具有重大的现实意义。无线扩频通信系统与常规通信相比,具有很强的抗干扰能力,并具有信息荫蔽、多址保密通信等特点。无线信道的特性较复杂,因此在无线扩频集成电路设计中,加入信道编码是提高芯片稳定性的重要方法。 在了解扩频通信基本原理的基础上,本文提出了“串联级联码+两次交织”的信道编码方案。串联的级联码由外码——(15,9,4)里德-所罗门(Reed-Solomon)码,和内码-(2,1,3)卷积码构成,交织则采用交织深度为4的块交织。重点对RS码的时域迭代译码算法和卷积码的维特比译码算法进行了详细的讨论,并完成信道编译码方案的性能仿真及用FPGA实现的方法。 计算机仿真的结果表明,采用此信道编码方案可以较好的改善现有仿真系统的误符号率。 本论文的内容安排如下:第一章介绍了无线扩频通信技术的发展状态以及国内外开发扩频通信芯片的现状,并给出了本论文的研究内容和安排。第二章主要介绍了扩频通信的基本原理,主要包括扩频通信的定义、理论基础和分类,直接序列扩频通信方式的数学模型。第三章介绍了基本的信道编码原理,信道编码的分类和各自的特点。第四章给出了本课题选择的信道编码方案——“串联级联码+两次交织”,详细讨论了方案中里德-所罗门(Reed-Solomon)码和卷积码的基本原理、编码算法和译码算法。最后给出编码方案的实际参数。第五章对第四章提出的编码方案进行了性能仿真。第六章结合项目实际,讨论了FPGA开发基带扩频通信系统的设计思路和方法。首先对FPGA开发流程以及实际开发的工具进行了简要的介绍,然后给出了扩频通信系统的总体设计。对发射和接收子系统中信道编码、解码等相关功能模块的实现原理和方法进行分析。第七章对论文的工作进行总结。
上传时间: 2013-07-18
上传用户:hbsunhui
LDPC(低密度奇偶校验码)编码是提高通信质量和数据传输速率的关键技术。LDPC码应用于实际通信系统是本课题的研究重点。实际通信要求在LDPC码长尽量短、码率尽量高及硬件可实现的前提下,结合连续相位MSK调制,满足归一化信噪比SNR=2dB时,系统误码率低于10-4。根据课题背景,本文主要研究基于FPGA的LDPC编码器设计与实现。 LDPC码的编码复杂度往往与其帧长的平方成正比,编码复杂度大,成为编码硬件实现的一个障碍;论文针对实际系统的预期指标,通过对多种矩阵构造算法的预选方案及影响LDPC码性能参数仿真分析,基于1/2码率,1024和2048两种帧长,设计了三种编码器的备选方案,分别为直接下三角编码器,串行准循环编码器和二阶准循环编码器。 对于每种编码器,分别设计了其整体结构,并对每种编码器的功能模块进行深入研究,设计完成后利用第3方软件MODELSIM对编码器进行了时序仿真;根据时序仿真结果和综合报告对三种编码方案进行比较,最终选择串行准循环编码器作为硬件实现的编码方案。 最后,在FPGA中硬件实现了串行准循环编码器并对其进行测试,利用MATLAB仿真程序和串口通信工具最终验证了这种编码器的正确性和硬件可实现性。
上传时间: 2013-08-02
上传用户:林鱼2016
LDPC码以其接近Shannon极限的优异性能在编码界引起了轰动,成为研究的热点。随着研究的不断深入和技术的发展,目前,LDPC码已经被多个通信系统定为信道编码方案,并被应用到第二代数字视频广播卫星(DVB—S2)通信系统中。由于LDPC码译码过程中所涉及的数据量庞大,译码时序控制复杂,如何实现LDPC码译码器成为了人们研究的重点。 论文以基于FPGA实现LDPC码译码器为研究目标,主要对译码算法选择、译码数据量化、定点数据表示方式、译码算法关键运算单元的FPGA设计和译码的时序控制进行了深入研究。首先分析了LDPC码的基本译码原理和常用译码算法。然后重点分析了BP算法、Log-BP算法、最小和算法和归一化最小和算法,并对四种译码算法的纠错性能和译码复杂度进行比较论证,选出适合硬件实现的译码方案。结合通信系统,对译码算法进行仿真分析,确定了译码算法的各个参数值和译码量化方案。 在系统仿真分析论证的基础之上,以归一化最小和译码算法为理论方案,利用硬件描述语言编写译码功能模块,并基于FPGA实现了固定译码长度的LDPC码译码器,利用MATLAB和Modelsim分别对译码器进行了功能验证和时序验证,最后模拟通信系统完成了译码器的硬件测试。
上传时间: 2013-04-24
上传用户:1234567890qqq
1993年,Turbo码的提出,以其接近Shannon极限的优异的性能在编码界引起了轰动,并成为研究的热点。随着研究的不断深入和技术的发展,目前,Turbo码已经应用到很多实际通信系统中。同时,如何实现Turbo码编译码器成为了人们研究的重点。 论文以基于FPGA实现Turbo码编译码器为研究目标,首先分析了Turbo码的基本编译码原理和3GPP标准的Turbo码编码结构。然后分析了MAP译码算法,Log-MAP译码算法和Max-Log-MAP译码算法,接着仔细分析了对系统性能影响的各个参数并逐一进行选择,最后对各个选择的系统进行仿真,对仿真的结果进行比较论证,确定满足系统性能要求的各个参数。 论文在系统仿真分析论证的基础之上,进行了Turbo码编码器的设计实现和硬件测试,选择Max-Log-MAP译码算法进行了Turbo码译码器的FPGA设计实现和硬件测试。最后完成整个通信系统的搭建和调试。主要针对FPGA实现的数据量化、定点数据表示方式、Max-Log-MAP算法子译码器关键运算单元的FPGA设计和译码的时序控制进行了深入研究,完成了固定译码长度的Turbo码译码器的FPGA设计实现,并利用ModelSim和MATLAB分别对译码器进行了时序功能验证和FPGA定点仿真测试。
上传时间: 2013-05-30
上传用户:www240697738
低密度校验码(LDPC,Low Density Parity Check Code)是一种性能接近香农极限的信道编码,已被广泛地采用到各种无线通信领域标准中,包括我国的数字电视地面传输标准、欧洲第二代卫星数字视频广播标准(DVB-S2,Digital Video Broadcasting-Satellite 2)、IEEE 802.11n、IEEE 802.16e等。它是3G乃至将来4G通信系统中的核心技术之一。 当今LDPC码构造的主流方向有两个,分别是结合准循环(QC,Quasi Cyclic)移位结构的单次扩展构造和类似重复累积(RA,Repeat Accumulate)码构造。相应地,主要的LDPC码编码算法有基于生成矩阵的算法和基于迭代译码的算法。基于生成矩阵的编码算法吞吐量高,但是需要较多的寄存器和ROM资源;基于迭代译码的编码算法实现简单,但是吞吐量不高,且不容易构造高性能的好码。 本文在研究了上述几种码构造和编码算法之后,结合编译码器综合实现的复杂度考虑,提出了一种切实可行的基于二次扩展(Dex,Duplex Expansion)的QC-LDPC码构造方法,以实现高吞吐量的LDPC码收发端;并且充分利用该类码校验矩阵准循环移位结构的特点,结合RU算法,提出了一种新编码器的设计方案。 基于二次扩展的QC-LDPC码构造方法,是通过对母矩阵先后进行乱序扩展(Pex,Permutation Expansion)和循环移位扩展(CSEx,Cyclic Shift Expansion)实现的。在此基础上,为了实现可变码长、可变码率,一般编译码器需同时支持多个乱序扩展和循环移位扩展的扩展因子。本文所述二次扩展构造方法的特点在于,固定循环移位扩展的扩展因子大小不变,支持多个乱序扩展的扩展因子,使得译码器结构得以精简;构造得到的码字具有近似规则码的结构,便于硬件实现;(伪)随机生成的循环移位系数能够提高码字的误码性能,是对硬件实现和误码性能的一种折中。 新编码器在很大程度上考虑了资源的复用,使得实现复杂度近似与码长成正比。考虑到吞吐量的要求,新编码器结构完全抛弃了RU算法中串行的前向替换(FS,Forward Substitution)模块,同时简化了流水线结构,由原先RU算法的6级降低为4级;为了缩短编码延时,设计时安排每一级流水线计算所需的时钟数大致相同。 这种码字构造和编码联合设计方案具有以下优势:相比RU算法,新方案对可变码长、可变码率的支持更灵活,吞吐量也更大;相比基于生成矩阵的编码算法,新方案节省了50%以上的寄存器和ROM资源,单位资源下的吞吐量更大;相比类似重复累积码结构的基于迭代译码的编码算法,新方案使高性能LDPC码的构造更为方便。以上结果都在Xilinx Virtex II pro 70 FPGA上得到验证。 通过在实验板上实测表明,上述基于二次扩展的QC-LDPC码构造和相应的编码方案能够实现高吞吐量LDPC码收发端,在实际应用中具有很高的价值。 目前,LDPC码正向着非规则、自适应、信源信道及调制联合编码方向发展。跨层联合编码的构造方法,及其对应的编码算法,也必将成为信道编码理论未来的研究重点。
上传时间: 2013-07-26
上传用户:qoovoop
无线通信FPGA设计-附书配套FPGA源码
上传时间: 2013-07-29
上传用户:ynsnjs
电路连接 由于数码管品种多样,还有共阴共阳的,下面我们使用一个数码管段码生成器(在文章结尾) 去解决不同数码管的问题: 本例作者利用手头现有的一位不知品牌的共阳数码管:型号D5611 A/B,在Eagle 找了一个 类似的型号SA56-11,引脚功能一样可以直接代换。所以下面电路图使用SA56-11 做引脚说明。 注意: 1. 将数码管的a~g 段,分别接到Arduino 的D0~D6 上面。如果你手上的数码管未知的话,可以通过通电测量它哪个引脚对应哪个字段,然后找出a~g 即可。 2. 分清共阴还是共阳。共阴的话,接220Ω电阻到电源负极;共阳的话,接220Ω电阻到电源+5v。 3. 220Ω电阻视数码管实际工作亮度与手头现有原件而定,不一定需要准确。 4. 按下按钮即停。 源代码 由于我是按照段码生成器默认接法接的,所以不用修改段码生成器了,直接在段码生成器选择共阳极,再按“自动”生成数组就搞定。 下面是源代码,由于偷懒不用写循环,使用了部分AVR 语句。 PORTD 这个是AVR 的端口输出控制语句,8 位对应D7~D0,PORTD=00001001 就是D3 和D0 是高电平。 PORTD = a;就是找出相应的段码输出到D7~D0。 DDRD 这个是AVR 语句中控制引脚作为输出/输入的语句。DDRD = 0xFF;就是D0~D7 全部 作为输出脚了。 ARDUINO CODECOPY /* Arduino 单数码管骰子 Ansifa 2011-12-28 */ //定义段码表,表中十个元素由LED 段码生成器生成,选择了共阳极。 inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; voidsetup() { DDRD = 0xFF; //AVR 定义PortD 的低七位全部用作输出使用。即0xFF=B11111111对 应D7~D0 pinMode(12, INPUT); //D12用来做骰子暂停的开关 } voidloop() { for(int i = 0; i < 10; i++) { //将段码输出PortD 的低7位,即Arduino 的引脚D0~D6,这样需要取出PORTD 最高位,即 D7的状态,与段码相加,之后再输出。 PORTD = a[i]; delay(50); //延时50ms while(digitalRead(12)) {} //如果D12引脚高电平,则在此死循环,暂停LED 跑 动 } }
上传时间: 2013-10-15
上传用户:baitouyu
随着通信技术的不断发展,计算机网络系统通信是当今技术发展的一个重要的方向,然而在网络系统中利用现有电话网作为通信方式则是最经济、最方便和最可靠的方法。当前电话通信网已经进入程控交换时代,技术比较先进,速度快,容量大,因此采用电话通信网建立数据通信系统确实具有其独特的优越性。利用单片机系统可用于采集灌区水位、水流量、电力抄表等方面,实现无人职守,方便管理。2.系统硬件设计:本系统采用了MODEM将前端单片机采集的数据通过电话网远程传输到中心站PC机,并实现一对多点通信(站点数、通信距离均不限),后台PC机通过拨号的方式对各站点进行数据接收并实时存储记录、查询、打印。单片机系统从传感器直接采集数字信号,通过RS-232接口送给本端的MODEM,MODEM将数字信号调制成音频模拟信号在电话线上传输,再经中心站MODEM调制成数字信号送往PC机。系统中MODEM采用F-E56CSD-V1型嵌入MODEM,用户使用贺氏标准AT命令呼叫和应答,实现与远程系统的通信。
上传时间: 2013-11-05
上传用户:alan-ee