首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于NI技术的OFDM发射接收系统
来源:本站整理  作者:佚名  2010-05-11 16:43:50




是基于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频谱。

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

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:175,484.40000 毫秒