任意信号发生器软件设计

时间:2023-06-07 17:48:03 教案设计 来源:网友投稿

摘 要:在传感器设计、模拟试验等方面经常需要产生一些测试信号,一台能方便产生各种有规律和不规则信号的任意信号产生器将减少设备的研制复杂度。从软件的角度着手,提出一种任意信号发生器软件的设计方法,这种软件可以在各种任意信号发生器硬件之间移植重复利用,所以具有良好的应用前景。介绍本任意信号产生器的原理及软件结构设计和信号数据的产生方法,给出部分由本任意信号产生器产生的信号波形图。

关键词:任意信号发生器;软件设计;数字射频存储器BCB;信号波形图

中图分类号:TP311.5 文献标识码:B

文章编号:1004-373X(2008)10-177-03

Software Design of the Arbitrary Signal Generator

HUANG Chao1,YANG Ruiming2,YANG Guanghui2

(1.Electronic Engineering Institute of Hefei,Hefei,230037,China;

2.Key Laboratory of Electronic Restriction,Electronic Engineering Institute of Hefei,Hefei,230037,China)

Abstract:It is needed to generate some test signals in sensor designing and in experiment environment simulating.A set of arbitrary signal generator which can generate various kinds of regulation and irregular signals will reduce the research complications and manufacture complications.This paper brings forward a designing method of software of the arbitrary signal generator throw the aspect of using the software.It can be reused among various kinds of the arbitrary signal generators,so it has a good application foreground.This paper first introduces the main principles,immediately after introduces the designing method of the software structure and the creation method of the signal data,at last shows a part of the wave forms of the signal data created by the arbitrary signal generator.

Keywords:arbitrary signal generator;software design;DRFM BCB;signal waveform picture

1 引 言

在传感器设计、模拟试验等方面经常需要产生一些测试信号,包括简单的正弦波、三角波、方波、锯齿波、Sin(x)/x、升指数、降指数、真流电压、脉冲、随机噪声等,还需要心律波、地震波、碰撞波等特殊的信号,在移动通信的电子设备设计与测试领域还需要简单的模拟和数字调制信号以及实际应用的通信信号,在雷达设备的研制过程中还需要简单脉冲信号、脉内调制信号以及脉冲串信号等,在声纳设备的研制和测试中还需要一些水声信号。所以任意信号发生器的应用领域是很广泛的,而当前任意信号发生器由于硬件的限制,往往设计成某频段的针对某特殊领域的信号发生器,从严格的意义上讲,并不能任意产生所需的信号。本文从软件的角度出发,研究设计可以在各种任意信号发生器之间移植重复利用,可以编辑产生任意信号的软件。直接利用这种软件到任意信号发生器系统,可以减少设备的研制复杂度,开发和维护方便经济。

2 任意信号发生器的工作原理

这种任意信号发生器的工作原理是:主要根据信号模型,产生所需信号波形的采样点值,在控制逻辑的控制下存储到波形数据存储设备中,一般是数字射频存储器,再通过控制逻辑将数据点值读出送到D/A转换成模拟信号波形,形成实际的信号。其工作原理图如图1所示。这种从模拟信号波形到离散数值再到模拟信号波形的转换依据是奈奎斯特采样定理。奈奎斯特采样定理可表述如下:设有一个频率带限信号f(t),其频带限制在(0,fh)内,如果以不小于fs=2• fh的采样速率对f(t)进行等间隔采样,得到时间离散的采样信号f(n)= f(n•Ts)(其中Ts =1/fs称为采样间隔),则原信号f(t)将被所得到的采样值f(n)完全确定。采样定理的数学表达式为:f(t)=∑+∞-∞f(n)•Sa(π•fs•t-n•π)。采样率越高,越能拟合所需的物理信号波形,在不改变输出信号样值点速率和采样频率大于或等于奈奎斯特采样频率的前提下,改变每周期的采样点数,就可以改变输出信号频率。这种软件可以安装在计算机上或者直接安装在任意信号发生器内。

3 软件的总体设计思想

该软件充分运用软件无线电理论、计算机技术、数字信号处理技术,主要运用软件化的设计理念进行设计。

图1 任意信号发生器的工作原理图

3.1 波形数据的方式

该软件设计了4种产生波形数据的方式:

(1) 数据采集法。在计算机的控制下,利用数据采集卡采集外部信号,存储到波形数据存储器中,然后经D/A输出数据形成信号波形。

(2) 预置程序产生法。利用计算机屏幕上的软件界面选择具体的信号类型,然后调用此信号模型对应的数据产生程序进行计算处理,生成数据点值,在计算机的控制下,存储到波形数据存储器中,最后经D/A输出数据形成信号波形。

(3) 读取外部文件法。利用计算机屏幕上的软件界面,读取外部文件的波形数据,存储到波形数据存储器中,经D/A输出数据形成信号波形。

(4) 动态编辑法。包括波形手绘法,键盘输入点值法以及输入公式计算法。利用计算机屏幕上的软件界面,利用鼠标绘出波形,转换成数据点值;或利用键盘输入数据点值;或输入表达式计算得到波形数据点值;然后存储到波形数据存储器中,再经D/A输出数据形成信号波形。

其数据产生方式示意图如图2所示。

图2 数据产生方式示意图

3.2 软件结构设计

软件的功能结构框图如图3所示。

(1) 控制模块主要是控制程序,控制和协调各模块之间控制信息和数据信息的传递,控制和协调各模块和器件的动作;

(2) 波形数据生成模块包括各种信号的数据产生程序,主要完成波形数据的计算;

(3) 数据输出模块包括数据输出输入程序,完成数据存储、对外送数据和控制信号的功能;

(4) 特殊算法模块包括噪声、信道模拟、滤波器设计等程序;

(5) 显示模块包括各种显示程序,实现屏幕可视化;

(6) 客户输入模块完成接收用户输入的各种参数和数据;

(7) 读取(采集)模块包括磁盘读取程序和数据采集程序,完成从第三方接收数据的功能。

图3 软件功能结构图

4 数据结构的设置

4.1 信号数据模式的设置。

因为信号发生器能产生的都是实信号,所以在时域信号强制为实数,虚数部分强制为0。在数据处理中将有频谱分析和处理,频域部分设置了实部和虚部。由于当前信号产生器常设计为正交双通道型,所以数据也设置了I路和Q路数据模式,这种模式可选。

4.2 信号数据类型的设置

由于数据设置了I路和Q路数据,所以采样点数据类型设置为doublecomplex结构体,内含两个double型的数据变量,分别用来表示I路和Q路数据。用double而不用float是因为要求获得较高的数据精度。当不采用正交双通道模式时,I路为全部数据,Q路强制为0。 

信号数据的采样点最大值归一化为1,数据都归一化。实际信号的功率实现放在放大器里面实现。在数据处理时需要将实信号转换成复数。在复数表达时,也用doublecomplex结构体来表示数据,内含的2个double数据变量分别表示数据的实部和虚部。在进行时频转换时,把I路和Q路的数据相加作为复数的实部,虚部为0,这样进行FFT正变换,得到信号频谱,FFT输出也是复数形式,即数据类型也用doublecomplex 。

5 软件的总体工作流程

软件的具体工作流程比较复杂,总体的工作流程如图4所示。 

6 软件的实现

由于Borland C++Builder利于编写友好的人机交互界面,Borland C++Builder的编译器优于VC++,也可以调用Matlab程序,所以采用此工具。这种软件实现的关键在于各个信号模型的建模,包括各种简单信号、通信、雷达、水声、噪声以及特殊信号的建模。在研究的过程中,借鉴了一些前人对信号建模的经验。通过采用Borland C++Builder 6.0作为编程工具,在PC机上的Windows XP环境下编写程序,初步实现了这种软件的目的。以下是这种软件产生的部分信号。图5是载波为80 MHz,最大频偏为25 MHz的MSK信号。图6是重复频率为50 MHz,占空比为0.5,载波为1 GHz的雷达脉冲信号。图7是随机冲击信号及其频谱。

图4 总体工作流程图

图5 MSK信号 图6 雷达脉冲信号

7 结 语

利用这种软件可以在友好的可视化人机交互界面上

图7 随机冲击信号及其频谱

方便地实现各种调制样式,能够产生各个频率段的信号、能够产生复杂的特殊信号;并且这种软件操作方便,当出现新的信号样式时,可以在软件中予以追加相应的信号样式,升级方便经济;因此这种基于任意波发生器的信号产生软件具有十分广泛的应用前景。

参 考 文 献

[1]郑君里,应启珩,杨为理.信号与系统[M].2版.北京:高等教育出版社,2000.

[2]刘益成,孙祥娥.数字信号处理[M].北京:电子工业出版社,2005.

[3]程佩青.数字信号处理教程[M].北京:清华大学出版社,2001.

[4][美]John G.Proakis.数字通信[M].4版.张力军,张宗橙,郑宝玉,等译.北京:电子工业出版社,2005

[5]樊昌信.通信原理教程[M].北京:电子工业出版社,2005.

[6]杨小牛,楼才义,徐建良.软件无线电原理与应用[M].北京:电子工业出版社,2005.

[7]樊昌信.通信原理教程[M].北京:电子工业出版社,2005.

[8]林茂庸,柯有安.雷达信号理论[M].北京:国防工业出版社,1981.

[9]张万里,陈战林.C++ Builder 5.0高级开发技巧与范例[M].北京:电子工业出版社,2001.

作者简介 黄 超 男,1980年出生,合肥电子工程学院硕士研究生。研究方向为任意信号产生技术。

杨瑞明 男,1966年出生,合肥电子工程学院副教授。主要研究方向数字信号处理。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

推荐访问:任意 信号发生器 设计 软件