kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于LabVIEW的软件无线电解调系统的设计
基于LabVIEW的软件无线电解调系统的设计
2014年微型机与应用第24期
刘正琼,郝晓博
(合肥工业大学 计算机与信息学院,安徽 合肥 230009)
摘要:结合当下流行的数据采集和虚拟仪器技术,采用G语言和LabVIEW IDE对通信系统中的解调系统进行了软件无线电设计。对本地文件中已有的已调信号以及外部通用数据采集卡采集的调幅和调频信号进行解调和分析,对调频信号的解调提出了一种软件脉冲均值标记滤波算法,该算法可以很好地实现调频波的解调。本系统还可以对实时信号波形数据进行保存、打印和对历史信号的回放。该系统彰显了数据采集技术和虚拟仪器技术在无线电领域的应用优越性。
Abstract:
Key words :

摘 要: 结合当下流行的数据采集和虚拟仪器技术,采用G语言和LabVIEWIDE对通信系统中的解调系统进行了软件无线电设计。对本地文件中已有的已调信号以及外部通用数据采集卡采集的调幅和调频信号进行解调和分析,对调频信号的解调提出了一种软件脉冲均值标记滤波算法,该算法可以很好地实现调频波的解调。本系统还可以对实时信号波形数据进行保存、打印和对历史信号的回放。该系统彰显了数据采集技术和虚拟仪器技术在无线电领域的应用优越性。

关键词: 数据采集;软件无线电;LabVIEW;脉冲均值

0 引言

  随着通信技术的飞速发展,以通用硬件和配套软件为核心的软件无线电技术应运而生。软件的灵活性和可移植性大大地减小了通信系统的设计难度和开发成本,从而促使传统的通信系统逐渐摆脱硬件的束缚,而更多地依靠软件编程来实现硬件难以实现的功能。在软件无线电通信接收系统中,数据的采集和处理是其关键技术。近些年来随着计算机软硬件的快速发展,虚拟仪器技术具有的精度高、通用性强、成本低廉等许多优点,使其在仪器控制和数据采集、分析、处理等领域得到了广泛的应用。虚拟仪器将大部分传统的处理分析部分从硬件设计当中脱离开来,它的兴起可以大大缩短用户软件的开发周期,增加程序的可复用性和可完善性[1]。由NI公司开发的LabVIEW是虚拟仪器领域中最具有代表性的图形化编程开发平台[2],它与传统文本语言的不同之处在于:传统编程语言是用文本语言编程,而LabVIEW是用图形化语言(G语言)编程[3]。LabVIEW程序主要由前面板、框图程序、节点三部分构成。节点包括图标、端口和连线,接线端口用于不同节点间数据传递。LabVIEW中子程序(在LabVIEW中称为子VI)可以保存起来供其他函数调用,这使LabVIEW得以实现层次化、模块化编程。它不仅避免了传统开发语言的繁琐性,还具有强大的测控功能平台并可同时保持系统的灵活性[4]。本文结合当下流行的虚拟仪器技术,提出了一种基于LabVIEW的软件无线电解调系统的设计,并对其实现的关键技术进行了深入的研究,最后给出了实现的测试系统,并对其进行了实验验证。

1 系统的总体方案


001.jpg

  完整的软件无线电解调系统由硬件和软件两部分构成,系统总体框图如图1所示。外部设备用于提供需要处理的信号,采集卡主要完成外部信号的采集,驱动通信程序主要实现采集卡的识别以及与LabVIEW之间的通信。虚拟仪器软件平台主要实现以下功能:(1)参数设置,参数包括采样频率、采样点数、放大倍数,需要解调的已调波的类型、已调波的来源,采用的滤波器的阶数、类型等;(2)解调处理完成已调波的解调,并显示解调前后的波形;(3)对解调前后的波形进行频谱分析;(4)对已采集到的数据和处理后的数据进行保存;(5)允许用户通过TDMS查看器进行对历史记录文件的查看;(6)通过LabVIEW的报表工具包来完成相关数据的打印。

2 实现的关键技术

  2.1 采集卡与LabVIEW通信

  LabVIEW提供了大量的数据采集子程序,但是这些子程序只支持NI公司提供的数据采集卡(DAQ),此类采集卡虽然性能优良,但价格昂贵[5]。本文舍弃了NI公司的采集卡,选取小型、功能相对齐全完善、能满足系统设计需求的USB集成普通采集卡。对于非NI公司的数据采集卡,要完成与LabVIEW的数据通信,可以通过调用动态链接库程序(DLL)来实现。动态链接库是在运行时链接可执行代码和数据模块,为进程提供数据、代码和资源,任何用到采集卡的程序均可共享使用该动态链接库的函数[6]。在LabVIEW中有自动批量导入共享库的工具,在“工具”—“导入”—“共享库dll”中,开发人员可根据具体需要选择要导入和封装的函数,LabVIEW自动封装工具会自动将库中函数的参数数据类型映射成LabVIEW的数据类型,但是在LabVIEW中是不支持指针类型的,LabVIEW自动封装工具会将库中出现的指针封装成双精度的浮点型,这是错误的。此时需手动更改相关设置,本文以库中的int AD_continu(int chan,int Num_Sample,int Rate_Sample,float*databuf)函数为例,它的返回参数数据类型为单精度浮点型数组指针,它指向了存放采集到的信号数据的内存地址。在“控件类型”中可选择其映射LabVIEW前面板的控件;“输入输出方式”中可配置其输入输出的许可性;“传递类型”中默认的为指针传递,这里需要将其改成数组传递,这是非常重要的一个设置,这直接关系到能否成功地从采集卡中读到数据。库中函数封装好以后,可以在函数选板的用户中查看到,如图2所示。

002.jpg

 2.2 软件的设计思想

  本系统主要实现采集和处理分析两大功能。如果采取单一的顺序结构,就必须等数据采集完成后才能进行处理和分析,等处理分析完成后才能进行下次采集,影响系统的实时性,降低了系统的执行效率,因此本系统采用了生产者-消费者的模式。本系统中,生产者是采集,消费者是处理和分析,在LabVIEW中通过采用队列操作来完成这一模式。在生产者循环I中,不管通过什么渠道,每次循环采集到的数据都通过“入队列”操作进入队列;在消费者循环J中,从同一队列中通过“出队列”操作取出采集数据进行各种处理。该模型如图3所示。

003.jpg

  但是生产者的生产速度和消费者的消费速度是不相同的,如果在消费者模块中发现队列中没有可用数据,有些VI就会报错,如果将超时或者错误输出连线至消费者循环的停止条件端子上,那么很可能消费者循环就此彻底停止“消费”。最坏的一种情况是,程序先执行消费者,后执行生产者,那么一开始消费者因为队列没有可用数据而彻底跳出循环,而后生产者采集到的数据一次也不会被处理和分析,甚至到最后,队列中积压了大量的数据而没有被“消费销毁”释放内存,而造成系统内存崩溃。所以协调两个循环间数据的共享显得非常重要,尤其是在消费者分支当中。本文通过在消费者分支当中采用获取“队列状态”来控制这一问题,如果队列中没有元素则不执行任何程序但不允许结束“消费”循环,当队列不为空时才进行相应的处理。采集和处理的流程图如图4所示。

004.jpg

2.3 解调算法的实现

  2.3.1 调频波的解调算法

  对于调频信号,分为宽带调频(WBFM)和窄带调频(NBFM)两大类,由于WBFM信号不像NBFM能分解成同相分量与正交分量之和,因此对于宽带信号只能采用非相干解调方法,非相干解调方法不需要本地提供与发送端同频同相的载波,这是它的优点[7]。传统的非相干解调硬件实现过程需要通过限幅放大、微分、半波整流、单稳电路及低通滤波才可以实现,可见电路比较复杂[8]。本文提出采用脉冲均值滤波法来实现,该方法不需要经过传统的繁琐步骤,只需要判断FM信号当前采样点数据x(n)是不是满足下面两个条件即可快速地提取出脉冲序列,这两个条件是:x(n)为正数和x(n-1)是负数,这里需用到上次的采样值x(n-1)。在LabVIEW的循环中通过开启“移位寄存器”实现记录x(n-1),如果两个条件均满足则此时刻标记一个脉冲,否则不标记。其框图程序如图5所示。循环边框上的三角图标为“移位寄存器”,用来存储上次循环的数据供下次循环使用。“移位寄存器”前后连接的输入输出数据将会被LabVIEW自动编译为同址操作,即占用同一块内存。当循环结束,输入端数据的内存会被自动释放并被输出端数据占用。通过这样的方式可显式地告诉LabVIEW同址操作,以节省内存。

005.jpg

  2.3.2 调幅波的解调算法

  调幅信号不论是DSB还是SSB,信号都可以用相干解调的方法来解调。接收到的调幅波与本地载波相乘后,在经过低通滤波后即可得到原调制信号。调幅解调的VI如图6所示。

006.jpg

3 系统的测试


007.jpg


  整个系统的主界面如图7所示,包括参数设置、解调处理、解调分析、保存、查看历史、打印6个选项卡,需要解调的信号既可以来自采集卡,又可以来自系统已有的信号,既可以进行实现调频波的解调,又可以实现调幅波的解调。从采集卡采集过来的调频波经过解调后的波形和频谱分析如图8和9所示,来自本地已有的DSB信号经过解调后的波形如图10所示。从测试的结果可以看出该系统可以很好地实现软件无线电的功能。

4 结论

  本文研究了虚拟仪器技术在软件无线电领域的应用,采用LabVIEW图形化语言的软件开发平台,开发了一套软件无线电解调系统。该系统不仅可以对本地文件中已有的已调信号和外部采集卡采集的已调信号进行处理和分析,还可以对实时信号波形数据进行保存、打印和对历史信号的回放。实际测试彰显了数据采集技术和虚拟仪器技术在软件无线电领域的应用优越性,为软件无线电的研究奠定了一定的基础。

参考文献

  [1] 向科峰.基于LabVIEW的数据采集系统设计与实现[J].机械管理开发,2011,8(4):191-192.

  [2] 荣鑫.基于虚拟仪器的数据采集与处理系统设计[D].太原:中北大学,2011.

  [3] 刘其和,李云明.LabVIEW虚拟仪器程序设计与应用[M].北京:化学工业出版社,2011.

  [4] 袁媛,李绍稳,汪伟伟,等.基于LabVIEW的虚拟仪器技术研究与应用[J].农业网络信息,2005(4):6-9.

  [5] 姚丽,刘东东.基于LabVIEW的数据采集与信号处理系统设计[J].电子科技,2012,25(5):79-80.

  [6] 陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.

  [7] 樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2010.

  [8] 阳昌汉,谢红,宫芳.高频电子线路[M].哈尔滨:哈尔滨工程大学出版社,2011.


此内容为AET网站原创,未经授权禁止转载。
Baidu
map