一种OFDM发射接收系统的设计

时间:2011-08-06

  介绍

  OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM Multi-CarrierModulation,多载波调制的一种。其主要思想是:将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输。正交信号可以通过在接收端采用相关技术来分开,这样可以减少子信道之间的相互干扰 ICI 。每个子信道上的信号带宽小于信道的相关带宽,因此每个子信道上的可以看成平坦性衰落,从而可以消除符号间干扰。而且由于每个子信道的带宽仅仅是原信道带宽的一小部分,信道均衡变得相对容易。

  OFDM系统简介

  正交频分复用(OFDM,OrthogonalFrequency Division Multiplexing)是一种多载波调制:将要传送的数字信号分解成多个低速比特流,再用这些比特流去分别调制多个正交的载波。

  本系统的主要功能是用前端的USB设备对声音信号进行采集、处理,调制到OFDM符号中,并上变频到射频信号发射。收端将接收到的射频信号进行下变频处理得到数字信号,并解出音频帧由USB设备播放。发端系统的基带数据处理部分主要包括信源编码、FEC、映射、OFDM成帧,硬件平台的处理部分包括数字上变频和射频调制等。接收系统的基带处理部分要主要包括同步、均衡、解映射、解FEC、音频译码等,硬件平台的处理部分包括射频解调和数字下变频。

  OFDM系统硬件平台架构

  OFDM系统硬件将较宽的频带分成若干较窄的子带(子载波)进行并行发送是朴素的实现宽带传输的方法。但是为了避免各子载波之间的干扰,不得不在相邻的子载波之间保留较大的间隔(如图(a)所示),这大大降低了频谱效率。因此,频谱效率更高的TDM/TDMA(时分复用/多址)和CDM/CDMA技术成为了无线通信的传输技术。如图1所示:

系统结构图

  图1系统结构图

  首先由发端的USB设备对输入的声音信号进行采样,样点送入NI主机,然后在发端的上层软件中编写OFDM基带处理等算法,生成的OFDM基带数据输出到PXI5671上变频到中心频率为10MHz的射频信号。PXI5671由两块可分离的板卡PXI5441和PXI5610组成,其中 PXI5441分为板卡RAM模块和OSP模块,板卡RAM模块负责主机和PXI板卡间的数据传递,OSP模块可对信号进行重采样滤波,数字上变频和DA转换等。PXI5610为射频板卡,经过两级混频放大滤波可将PXI5441输出的模拟IF信号调制到范围为250KHz-2.7GHz的射频信号。收端由 PXI5661对输入的射频信号进行解调,下变频到数字基带信号,并输出到NI主机上。PXI5661完成射频信号到中频信号的转换,PXI5142的两个模块OSP模块和板卡RAM模块,分别完成AD采样、数字下变频、重采样滤波和主机与PXI板卡数据传递等功能,由收端的软件上层算法解出音频信号输出给USB声卡播放。

  无论收端还是发端系统,上层软件算法产生的数据和PXI板卡的数据交互需要由主机内存和板卡RAM来完成,其中DMA控制主机内存和板卡RAM间的数据传递,可达到1Gbytes/s的数据吞吐量。板卡RAM采用的是一种SMC(Synchronization and Memory Core)技术,该技术无须将指令和数据分开存储,存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。

  基带处理算法的设计与实现

  基带处理算法的实现是基于LabWndows/CVI8.5的软件平台,它是一个交互式开发平台,集成了标准C的编译、链接、调试等,并且采用简单直观的用户界面设计,用户只需在函数面板上直接输入参数,就会以事件驱动回调函数的方式运行整个程序,并可以将数据以图形的形式在界面上显示,提高了整个工程的运行效率。图2为本系统发端和收端的应用界面。


  图2 OFDM发、收系统界面

  对于单线程系统,一般分为数据的采集模块、分析处理模块、显示存储模块。这三个模块在时间上是顺序执行的,即后一个模块需等待前一个模块数据的到来时才开始工作。然而本系统对实时性要求比较高,比如在收端,USB声卡的播放需要收端的音频译码模块在400ms内处理完一帧,才能及时提供给USB声卡样点连续地播放声音,这就需要音频译码模块前的所有基带处理部分需要在400ms内完成一个物理帧到音频帧的解调。同样在发端,USB声卡每秒采集19200个样点给音频编码模块进行编码,每400ms输出一音频编码帧,FEC、映射及OFDM成帧等模块也必须在400ms内处理完成,否则会出现丢帧和覆盖的现象。可以肯定,用单线程这种顺序化的执行方式效率很低,每个模块都要等待前一个模块的数据,对于实时性要求较高和复杂性较高的系统不适用。

  本系统使用的是多线程技术,可以将处理模块拆分成多个线程,使多个线程并行运行,只要保证每个线程的运行时间小于音频处理模块,系统就会正常工作。其中发端算法用3个线程完成音频编码,FEC、映射、OFDM成帧等处理,并将OFDM数据写到板卡RAM中。收端算法用6个线程完成从板卡RAM中读取OFDM基带数据、同步、均衡、FFT、解映射、解FEC等处理,由音频译码模块将音频帧送给USB声卡进行播放。为了保证线程间数据传递有序进行,CVI还提供了事件通知、安全队列、线程优先级等函数,保证线程间的同步和数据的传递。本系统使用的是全局BUFFER和安全队列回调函数方式使两个线程间获得同步。即两个线程间共享一个BUFFER和安全队列,前一个线程将每次计算得到的数据写到BUFFER中,并产生一标志位FLAG,写入安全队列,后一线程捕捉到安全队列中的FLAG,判断是否满足回调函数的条件,满足则启动该线程,并将BUFFER中的数据读出,不满足则继续捕捉FLAG。通过对安全队列中FLAG的读写,控制线程启动的时间,使得两线程对数据的读写达到平衡。程序中控制流程如图3所示。图4为由PXI5671输出到频谱仪E4440A的OFDM频谱。

  图3 线程控制流程图

  图4 PXI5671输出的OFDM频谱

  结论

  本系统用LabWindows/CVI8.5软件完成OFDM的数字基带处理,在PXI硬件平台上完成射频信号的处理,有效地对OFDM系统进行验证。而搭建FPGA PCB平台完成OFDM Demo样机,首先在芯片的选型、制板上就需要大量的时间和人员,且具有一定的风险性;其次在软件代码开发方面,需要花大量的时间对FPGA代码进行仿真测试和集成,而且改动起来灵活性差。然而基于NI技术的OFDM系统的开发,由于在软件上仿真代码的可移植性,和上变频等硬件平台的实用性,减少了OFDM系统的开发周期,节约了开发成本和人员。


  
上一篇:浅谈机器视觉技术在发动机生产中的运用
下一篇:关于FPGA和单片机的扫频仪研究与设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料