完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
但是对OFDM样机的研制和开发无论在软件算法的编写,还是硬件电路平台的搭建,都需要大量的人员和开销,且存在较高的风险。本文提出一种基于NI平台的OFDM实时收发系统的设计方法,即在CVI软件仿真平台上实现OFDM符号的数字基带处理算法的编写,用NI PXI5671和NI PXI5661实现OFDM射频模拟信号的发射与接收。对OFDM系统进行有效的验证,为今后大规模芯片生产提供了可靠的解决方案和理论指导。
OFDM系统简介 正交频分复用(OFDM, OrthogonalFrequency Division Multiplexing)是把高速串行数据分成多条并行的低速数据,分别对多个正交子载波进行调制,从而达到更高的频谱效率、更大的系统容量,并且符号持续时间大大加长,在移动、多径、衰落环境下有很大的优势。 本系统的主要功能是用前端的USB设备对声音信号进行采集、处理,调制到OFDM符号中,并上变频到射频信号发射。收端将接收到的射频信号进行下变频处理得到数字信号,并解出音频帧由USB设备播放。发端系统的基带数据处理部分主要包括信源编码、FEC、映射、OFDM成帧,硬件平台的处理部分包括数字上变频和射频调制等。接收系统的基带处理部分要主要包括同步、均衡、解映射、解FEC、音频译码等,硬件平台的处理部分包括射频解调和数字下变频。 OFDM系统硬件平台架构 整个系统由两台NI主机,两个USB声卡设备,两台显示器,一台安杰伦频谱仪4440A组成,如图1所示: 图1系统结构图 首先由发端的USB设备对输入的声音信号进行采样,样点送入NI主机,然后在发端的上层软件中编写OFDM基带处理等算法,生成的OFDM基带数据输出到PXI5671上变频到中心频率为10MHz的射频信号。PXI5671由两块可分离的板卡PXI5441和PXI5610组成,其中PXI5441分为板卡RAM模块和OSP(onboard signal process,板卡数字信号处理)模块,板卡RAM模块负责主机和PXI板卡间的数据传递,OSP模块可对信号进行重采样滤波,数字上变频和DA转换等。PXI5610为射频板卡,经过两级混频放大滤波可将PXI5441输出的模拟IF信号调制到范围为250KHz-2.7GHz的射频信号。收端由PXI5661对输入的射频信号进行解调,下变频到数字基带信号,并输出到NI主机上。PXI5661同样由两块分离的板卡PXI5600和PXI5142组成。PXI5661完成射频信号到中频信号的转换,PXI5142的两个模块OSP模块和板卡RAM模块,分别完成AD采样、数字下变频、重采样滤波和主机与PXI板卡数据传递等功能,最后由收端的软件上层算法解出音频信号输出给USB声卡播放。 无论收端还是发端系统,上层软件算法产生的数据和PXI板卡的数据交互需要由主机内存和板卡RAM来完成,其中DMA控制主机内存和板卡RAM间的数据传递,最大可达到1Gbytes/s的数据吞吐量。板卡RAM采用的是一种SMC(Synchronization and Memory Core)技术,该技术无须将指令和数据分开存储,RAM中的FPGA模块不但能处理上层软件产生的所有指令,对OSP各模块进行配置,而且能对数据流进行缓存,最后由OSP的读取引擎,并以上层软件中所设的IQ速率读取数据,送入OSP中进行重采样、滤波、变频等处理。 |
|
|
|
基带处理算法的设计与实现
基带处理算法的实现 是基于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系统的开发周期,节约了开发成本和人员。 作者:邸娜 职务:工程师 单位:国家广播电影电视总局 广播科学研究院 无线技术研究所 |
|
|
|
只有小组成员才能发言,加入小组>>
4515个成员聚集在这个小组
加入小组17626.6标准中关于CDN的疑问?以及实际钳注入测试中是否需要对AE和EUT同时接CDN?
6810 浏览 1 评论
3537 浏览 2 评论
10300 浏览 1 评论
3823 浏览 4 评论
3538 浏览 0 评论
725浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 06:24 , Processed in 1.167436 second(s), Total 54, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号