C/C+语言struct 深层探索 C++中 extern "C"含义深层探索 C 语言高效编程的几招 想成为嵌入式程序员应知道的 0x10 个基本问题 C 语言嵌入式系统编程修炼 C 语言嵌入式系统编程修炼之一:背景篇 C 语言嵌入式系统编程修炼之二:软件架构篇 C 语言嵌入式系统编程修炼之三:内存操作 C 语言嵌入式系统编程修炼之四:屏幕操作 C 语言嵌入式系统编程修炼之五:键盘操作 C 语言嵌入式系统编程修炼之六:性能优化 C/C++语言 void及 void 指针深层探索 C/C++语言可变参数表深层探索 C/C++数组名与指针区别深层探索 C/C++程序员应聘常见面试题深入剖析(1) C/C++程序员应聘常见面试题深入剖析(2) 一道著名外企面试题的抽丝剥茧 C/C++结构体的一个高级特性――指定成员的位数 C/C++中的近指令、远指针和巨指针 从两道经典试题谈 C/C++中联合体(union)的使用 基于 ARM 的嵌入式 Linux 移植真实体验 基于 ARM 的嵌入式 Linux 移植真实体验(1)――基本概 基于 ARM 的嵌入式 Linux 移植真实体验(2)――BootLoa 基于 ARM 的嵌入式 Linux 移植真实体验(3)――操作系 基于 ARM 的嵌入式 Linux 移植真实体验(4)――设备驱 基于 ARM 的嵌入式 Linux 移植真实体验(5)――应用实 深入浅出 Linux 设备驱动编程 1.Linux 内核模块 2.字符设备驱动程序 3.设备驱动中的并发控制 4.设备的阻塞与非阻塞操作
上传时间: 2013-04-24
上传用户:thh29
在信道编码的发展进程中,编码研究人员一直致力于追寻性能尽可能的接近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
本文提出了一种高速Viterbi译码器的FPGA实现方案。这种Viterbi译码器的设计方案既可以制成高性能的单片差错控制器,也可以集成到大规模ASIC通信芯片中,作为全数字接收的一部分。 本文所设计的Viterbi译码器采用了基四算法,与基二算法相比,其译码速率在理论上约提升一倍。加一比一选单元是Viterbi译码器最主要的瓶颈所在,本文在加一比一选模块中采用了全并行结构的设计方法,这种方法虽然增加了硬件的使用面积,却有效的提高了译码器的速率。在幸存路径管理部分采用了两路并行回溯的设计方法,与寄存器交换法相比,回溯算法更适用于FPGA开发设计。为了提高译码性能,减小译码差错,本文采用较大译码深度的回溯算法以保证幸存路径进行合并。实现了基于FPGA的误码测试仪,在FPGA内部完成误码验证和误码计数的工作。 与基于软件实现译码过程的DSP芯片不同,FPGA芯片完全采用硬件平台对Viterbi译码器加以实现,这使译码速率得到很大的提升。针对于具体的FPGA硬件实现,本文采用了硬件描述语言VHDL来完成设计。通过对译码器的综合仿真和FPGA实现验证了该方案的可行性。译码器的最高译码输出速率可以达到60Mbps。
上传时间: 2013-04-24
上传用户:181992417
IEEE802旗下的无线网络协议引领了无线网络领域的新革命,其不断提升的速度优势满足了人们对于高速无线接入的迫切要求,在这其中,OFDM技术所起的作用不可小觑。随着FPGA、信号处理和通信技术的发展,OFDM的应用得到了长足的进步。在此情况下,以OFDM技术为核心实现数据传输的原型机系统显得应情应景而且必要。 本课题在深入理解OFDM技术的同时,结合相应的EDA工具对系统进行建模并基于IEEE802.11a物理层标准给出了一种OFDM基带传输的系统实现方案。整个设计采用目前主流的自顶向下的设计方法,由总体设计至详细设计逐步细化。 在系统功能模块的FPGA实现过程中,针对XilinxVirtex-Ⅱ芯片对各个模块进行了详细设计,通过采用双端口RAM、流水、乒乓结构等处理实现高速的同步的信道编码的功能模块;通过比较符号定时的不同算法,给出了基于MultiplierlessCorrelator的实现结构并给出了仿真波形图,验证了采用该算法后符号定时模块的资源耗费大大降低而功能却依然和基于乘法器的符号定时模块相当;通过对Viterbi算法进行简化,给出了(2,1,6)卷积码的4比特软判决Viterbi解码器的设计和实现。最后根据系统所选芯片XC2V3000给出了具有较高配置灵活性的基于SystemACE配置方案的FPGA的硬件原理图设计和PCB设计。 本文首先以无线局域网和IEEE802无线网络家族引出OFDM技术发展、研究价值及OFDM的优缺点,接下来从OFDM原理入手,简要说明了OFDM的基本要素以及目前的研究热点,之后在介绍完IEEE802.11a物理层标准的同时给出了本原型机系统的总体设计方案,并从硬件语言设计和FPGA硬件原理设计两方面给出了该系统的详细设计。 随着OFDM技术的普及以及未来通信技术对OFDM的青睐,相信本论文的工作对OFDM基带传输系统的原型设计和实现具有一定的参考价值。
上传时间: 2013-07-13
上传用户:远远ssad
卷积码是无线通信系统中广泛使用的一种信道编码方式。Viterbi译码算法是一种卷积码的最大似然译码算法,它具有译码效率高、速度快等特点,被认为是卷积码的最佳译码算法。本文的主要内容是在FPGA上实现约束长度为9,码率为1/2,采用软判决方式的Viterbi译码器。 本文首先介绍了卷积码的基本概念,阐述了Viterbi算法的原理,重点讨论了决定Viterbi算法复杂度和译码性能的关键因素,在此基础上设计了采用“串-并”结合运算方式的Viterbi译码器,并在Altera EP1C20 FPGA芯片上测试通过。本文的主要工作如下: 1.对输入数据采用了二比特四电平量化的软判决方式,对欧氏距离的计算方法进行了简化,以便于用硬件电路方式实现。 2.对ACS运算单元采用了“串-并”结合的运算方式,和全并行的设计相比,在满足译码速度的同时,节约了芯片资源。本文中提出了一种路径度量值存储器的组织方式,简化了控制模块的逻辑电路,优化了系统的时序。 3.在幸存路径的选择输出上采用了回溯译码方法,与传统的寄存器交换法相比,减少了寄存器的使用,大大降低了功耗和设计的复杂度。 4.本文中设计了一个仿真平台,采用Modelsim仿真器对设计进行了功能仿真,结果完全正确。同时提出了一种在被测设计内部插入监视器的调试方法,巧妙地利用了Matlab算法仿真程序的输出结果,提高了追踪错误的效率。 5.该设计在Altera EP1C20 FPGA芯片上通过测试,最大运行时钟频率110MHz,最大译码输出速率10.3Mbps。 本文对译码器的综合结果和Altera设计的Viterbi译码器IP核进行了性能比较,比较结果证明本文中设计的Viterbi译码器具有很高的工程实用价值。
上传时间: 2013-07-23
上传用户:叶山豪
数字信息在有噪声的信道中传输时,受到噪声的影响,误码总是不可避免的。根据香农信息理论,只要使Es/N0足够大,就可以达到任意小的误码率。采用差错控制编码,即信道编码技术,可以在一定的Es/N0条件下有效地降低误码率。按照对信息元处理方式不同,信道编码分为分组码与卷积码两类。卷积码的k0和n0较小,实现最佳译码与准最佳译码更加容易。卷积码运用广泛,被ITU选入第三代移动通信系统,作为包括WCDMA,CDMA2000和TD-SCDMA在内的信道编码的标准方案。 本文研究了CDMA2000业务通道中的帧结构,对CDMA2000系统中的卷积码特性及维特比译码的性能限进行了分析,并基于MATLAB平台做了相应的译码性能仿真。我们设计了一种可用于CDMA2000通信系统的通用、高速维特比译码器。该译码器在设计上具有以下创新之处:(1)采用通用码表结构,支持可变码率;帧控制模块和频率控制器模块的设计中采用计数器、定时器等器件实现了可变帧长、可变数据速率的数据帧处理方式。(2)结合流水线结构思想,利用四个ACS模块并行运行,加快数据处理速度;在ACS模块中,将路径度量值存贮器的存储结构进行优化,防止数据读写的阻塞,缩短存储器读写时间,使译码器的处理速度更快。(3)为了防止路径度量值和幸存路径长度的溢出,提出了保护处理策略。我们还将设计结果在APEXEP20K30E芯片上进行了硬件实现。该译码器芯片具有可变的码率和帧长处理能力,可以运行于40MHZ系统时钟下,内部最高译码速度可达625kbps。本文所提出的维特比译码器硬件结构具有很强的通用性和高速性,可以方便地应用于CDMA2000移动通信系统。
上传时间: 2013-06-24
上传用户:lingduhanya
本论文主要对无线扩频集成电路设计中的信道编解码算法进行研究并对其FPGA实现思路和方法进行相关研究。 近年来无线局域网IEEE802.11b标准建议物理层采用无线扩频技术,所以开发一套扩频通信芯片具有重大的现实意义。无线扩频通信系统与常规通信相比,具有很强的抗干扰能力,并具有信息荫蔽、多址保密通信等特点。无线信道的特性较复杂,因此在无线扩频集成电路设计中,加入信道编码是提高芯片稳定性的重要方法。 在了解扩频通信基本原理的基础上,本文提出了“串联级联码+两次交织”的信道编码方案。串联的级联码由外码——(15,9,4)里德-所罗门(Reed-Solomon)码,和内码-(2,1,3)卷积码构成,交织则采用交织深度为4的块交织。重点对RS码的时域迭代译码算法和卷积码的维特比译码算法进行了详细的讨论,并完成信道编译码方案的性能仿真及用FPGA实现的方法。 计算机仿真的结果表明,采用此信道编码方案可以较好的改善现有仿真系统的误符号率。 本论文的内容安排如下:第一章介绍了无线扩频通信技术的发展状态以及国内外开发扩频通信芯片的现状,并给出了本论文的研究内容和安排。第二章主要介绍了扩频通信的基本原理,主要包括扩频通信的定义、理论基础和分类,直接序列扩频通信方式的数学模型。第三章介绍了基本的信道编码原理,信道编码的分类和各自的特点。第四章给出了本课题选择的信道编码方案——“串联级联码+两次交织”,详细讨论了方案中里德-所罗门(Reed-Solomon)码和卷积码的基本原理、编码算法和译码算法。最后给出编码方案的实际参数。第五章对第四章提出的编码方案进行了性能仿真。第六章结合项目实际,讨论了FPGA开发基带扩频通信系统的设计思路和方法。首先对FPGA开发流程以及实际开发的工具进行了简要的介绍,然后给出了扩频通信系统的总体设计。对发射和接收子系统中信道编码、解码等相关功能模块的实现原理和方法进行分析。第七章对论文的工作进行总结。
上传时间: 2013-07-18
上传用户:hbsunhui
随着通信技术和计算机技术的发展,多媒体的应用与服务越来越广泛,视频压缩编码技术也随之成为非常重要的研究领域。运动估计是视频压缩编码中的一项关键技术。由于视频编码系统的复杂性主要取决于运动估计算法,因此如何找到一种可靠、快速、性能优良的运动估计算法一直是视频压缩编码的研究热点。运动估计在视频编码器中承担的运算量最大、控制最为复杂,由于对视频编码的实时性要求,因此运动估计模块一般都采用硬件来设计。 本文的目的是在FPGA芯片上设计实现一种更优的易于硬件实现的块匹配运动估计算法——二步搜索算法。全文首先讨论了块匹配运动估计理论及其主要技术指标,介绍了运动估计技术在MPEG-4中的应用,然后在对典型的运动估计算法进行分析比较的基础上讨论了一种性能和硬件实现难易度综合指数较高的二步搜索算法。本文对已有的用于全搜索算法实现的VLSI结构进行了改进,设计了符合二步搜索算法要求的FPGA实现结构,并在对其理论分析之后,对实现该算法的运动估计模块进行了功能模块的划分,并运用VerilogHDL硬件描述语言、ISE及Modelsim开发工具在Spartan-IIEXC2S300eFPGA芯片上完成了对各功能模块的设计、实现与时序仿真。最后,对整个运动估计模块进行了仿真测试,给出了其在FPGA上搭建实现后的时序仿真波形图与占用硬件资源情况,通过对时序仿真结果可知本文设计的各功能模块工作正常,并且能够协同工作,整个运动估计模块能够正确的实现二步搜索运动估计算法,并输出正确的运动估计结果;通过对占用硬件资源及时钟频率情况的分析验证了本文设计的二步搜索运动估计算法的FPGA实现结构具备先进性和实时可实现性。
上传时间: 2013-05-27
上传用户:wpt
小波变换是一种新兴的理论,是数学发展史上的重要成果。它无论对数学还是对工程应用都产生了深远的影响。最新的静态图像压缩标准JPEG2000就以离散小波变换(DWT)作为核心变换算法。 本文首先较为详细地分析了小波变换的理论基础,对多分辨率分析、Mallat算法和提升算法做了介绍。然后分析了JPEG2000所采用的小波滤波器,并引入了一个新的LS97小波。该小波系数简单、易于硬件实现,并且与CDF97小波有很好的兼容性,可作为CDF97小波的替代者。使用Matlab对CDF97小波和LS97小波的兼容性做仿真测试,结果表明这两个小波具有几乎相同的性能。在确定所用的小波后,本文设计了二维离散小波变换的硬件结构。设计过程中对标准二维小波变换做了优化,即将行变换和列变换的归一化步骤合并计算,这样可以减少两次乘法操作。另外还使用移位加代替乘法,提取移位加中的公共算子等方式来优化设计。对于边界数据的处理,本文采用了嵌入式对称延拓技术,不需要额外的缓存,节约了硬件资源。为提高硬件利用率,本文将LeGall53小波变换和LS97小波变换统一起来,只要一个控制信号就可实现两者之间的转换。本文所提出的结构采用基于行的变换方式,只需要六行中间数据即可完成全部行数据的小波变换。采用流水线技术提高了整个设计的运行速度。最后也给出了二维离散小波反变换的实现结构。 在完成硬件结构设计的基础上,使用Verilog硬件描述语言对整个设计进行了完全可综合的RTL级描述,采用同步设计,提高了可靠性。在Xilinx公司的FPGA开发软件ISE6.3i中对正反小波变换做了仿真和实现,结果表明,本设计能高速高精度地完成正反可逆和不可逆小波变换,可以满足各种实时性要求。
上传时间: 2013-07-25
上传用户:sn2080395
随着计算机与信息技术的发展,生物特征识别技术受到了广泛的关注。指纹识别是生物特征识别中的一项重要内容,一直以来是国内外的研究热点。 嵌入式自动指纹识别是指指纹识别技术在嵌入式系统上的应用。传统的嵌入式自动指纹识别系统多采用单片DSP或MIPS处理器来完成算法,由于DSP或MIPS处理器只能根据程序顺序执行,在指纹匹配过程中只能和整个库中的指纹进行一一匹配,因此这类系统在处理较大指纹库时下匹配时间相当长。为了克服这个缺点,本文构建了浮点DSP和FPGA协同处理构架的硬件平台,充分利用DSP在计算上的精确度和FPGA并行处理的特点,由DSP和FPGA共同处理匹配算法。 本文的主要工作如下: 1.设计了一个硬件系统,包括DSP处理器、FPGA、指纹传感器、人机交互接口和USB1.1接口。同时,还设计了各硬件模块的驱动程序,为应用程序提供控制接口。由于系统中DSP工作频率为300MHz,其中某些器件的工作频率达到了100MHz,因此本文还给出了一些信号完整性分析和PCB设计经验。 2.编写了Verilog程序,在FPGA中实现了9路指纹的并行匹配。由于FPGA本身的局限性,实现原有匹配算法有很大困难。在简化原有匹配算法的基础上本文提出了便于FPGA实现“粗匹配”算法。此外,还设计了用于和DSP通信的接口模块设计。 3.完成了系统应用程序设计。在使用uC/OS-Ⅱ实时操作系统的基础上设计了各系统任务,通过调用驱动程序控制和协调各硬件模块,实现了自动指纹识别功能。为了便于存放指纹特征信息,设计了指纹库数据结构,实现了指纹库添加、删除、编辑的功能。 最终,本系统实现了高效、快速的进行指纹识别,各模块工作稳定。同时,模块化的软硬件设计使本系统便于进行二次开发,快速应用于各种场合。
上传时间: 2013-06-05
上传用户:guanliya