- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘要:?设计了基于?TMS320C5509?DSP?的?OFDM系统,?针对软硬件特性对方法做了详细阐述并完 成了对该系统的实现,给出了关键的测试结果。探讨了整个基带系统的软件开发过程和步骤,论述了编程思路和说明了应用到的多通道串口和DMA,以及解释程序 的关键代码。 关键词:?数字信号处理器,正交频分复用,多通道串口,直接存储器存取
1、引言
信息化已经成为社会发展的大趋势。信息化是以数字化为背景的,而DSP技术则是数字化最重要的基本技术之一。DSP 处理器是专门设计用来进行高速数字信号处理的微处理器。与许多通用的CPU和微控制器(MCU)相比,DSP处理器在结构上采用了许多的专门技术和措施来 提高处理速度。DSP处理器与通用微处理器不同,它没有采用将程序代码和数据公用一个公共的存储空间和单一的地址与数据总线的冯诺依曼结构(Von Neumann Architecture),而是毫无例外的将程序代码和数据的存储空间分开,各有自己的地址与数据总线,即所谓的哈佛结构(Harvard Architecture),增大了处理器的数据交换能力。
OFDM(正交频分复用),是直接利用离散傅里叶变换(DFT),实现的一种多载波调制技术,它采用并行传输,将所 传送的高速数据分解并调制到多个相互交叠并且正交的子信道中,使得每个子通道的码元宽度大于扩展延时,若在码元之间增加一定长度的保护间隔,则多径传输引 起的码间串扰基本被消除。OFDM的上述特点使其特别适于在存在多径传播和有多普勒频移的移动无线传输信道中传输高速数据。目前应用于电力线通信,数字声 广播(DAB)和欧洲高清晰度电视传输标准(DVB-T), 无线局域网(WLAN)等业务中。
论文在TMS320C5509DSP上根据系统的总体框图,实现OFDM基带系统的设计,并给出了具体的性能指标。
2、OFDM系统的设计实现
2.1 实现系统的任务流程图
系统每帧可以传送56bits的有效信息,数据的传输速率将达到100kbit/s,并且为了减小传输过程中的信道 的不理想,用了BSPK对信源进行编码映射,在传输过程中,传输的是时域的信号,但是实际有用的是这些时域信号的频谱,这些信号在时域中是无规则的随机信 号,但在其频谱上的各个子载波携带着需传输的信息。现工作框图如图1:
图1.???系统的任务框图
整个系统由DSP和FPGA、D/A、A/D以及一些其他的硬件共同完成。任务流程是由 DSP接受由串/并转换过后的并行数据,在DSP内进行BPSK信源编码,将0和1分别映射为0xbffd 和0x3fff两个十六进制的数,再送入IFFT单元将数据变到时域进行处理,然后把数据加上循环前缀,串行送给FPGA进行处理,由FPGA将数据发送 给接收板。接收板上由FPGA接到数据进行一系列处理后,将数据又串行传给接收板的DSP。在接收板的DSP上将接受到的数据移走循环前缀,送入FFT单 元将数据还原到频域,然后以0为门限进行判决,映射后得到最早的原始数据。
2.1? 任务流程详解
原始数据每帧携带56bit的二进制信息(即只有0和1两种取值),在框图中D/A和A/D部分都是由专门的硬件来完成,项目选用的是ADS828e,和DAC902u。
发送部分:
信源编码部分我们采用的是BPSK,为的是进一步增大信号间的欧式距离,通过计算,我们决定选用0xbffd 和0x3fff两个16进制的数来分别代表0和1。由于FFT变换要求数据是2N个数据,所以将数据插入若干个零来补足。具体做法是,将映射后的第28个数据位置开始插入7个零。由于零频时不能有信号(为了无直流分量),在帧的开始不传信息,将第一个数插入零(不是0xbffd),把56个数变为64个数,在接收板上将把同样位置的16个数去掉。
将编码映射后的16位数进行64点的IFFT,把数据由频域变换到时域,等候下一步处理。
在OFDM系统中,为了防止多径延迟,必须加上循环前缀,而这些循环前缀又不能破坏子信道间的正交性,于是将最后 16位数提到前面来形成80个数。具体做法是,在IFFT完成后,要加上循环前缀才能将数据发送给FPGA,将数据的最后16位复制到数据开头(原来的 16个数不动),把数据变为80个,送给串口发送给FPGA。
? 在FPGA上进行FIR滤波,和一系列处理后,发送板的任务完成,接下来就将数据送给接收板。
接收部分:
由接收板上的FPGA接收到发送板送来的数据,经过一系列处理后将数据串行送给DSP等待进一步处理。
接收板的DSP接收到FPGA发过来的80个串行数据后,先将循环前缀去掉,即去掉前16位数,将80位的数据变为64位,交给下一步处理。
在把数据变回为64位后,将数据进行FFT变换,由时域变回频域,交由下一步处理。
在进行判决之前,先要把插入的16
文档评论(0)