1 高频信号的采集 当要对一个高频信号(比如高达100MHz的雷达波形)进行采集和处理的时候。通常会设计一个高速或者超高速硬件采集电路,包括放大部分、滤波部分;A/D和D/A转换部分等,这种电路的要求非常高,要求边采集边存储,电路速度高,而且要考虑各种辐射干扰等,同时,目前市场上成品价格很难承受。并且根据采样定理,一个最高频率为/的连续信号,完全可以用时间上相隔了=1/2f的一系列离散采样值来表示。所以采样频率F应等于或大于被采样信号的最高频率f的2倍,即F≥2f。考虑到实际恢复波形的低通滤波器不可能具有完全理想的特性,为了正确恢复信号,通常取9=(2.5-5)f或更高。当采样的信号高达100MHz时,就应该达到500MHz的采样率。 2 示波器与计算机的通信 专业研发、生产、销售:测漏机,检漏机,试漏机,测漏仪,塑料瓶装袋机,垫片冲裁入盖机,客服热线:13929416960. Tektronix公司的TDS系列数字实时示波器早已经在各处得到广泛应用,并且其配套的扩展模块TDS2CM和TDS2MM模块具有与外部设备双向通讯的功能,可直接与打印机、微机连接,使波形的存储打印等工作变得十分方便。其中TDS220数字示波器拥有100MHZ的带宽,以10 倍的扫描方式,达到1GS/s的采样率。当配套的TDS2CM模块采用RS232电缆用串口通信与计算机连接后,利用相应软件(如Matlab等)可以对示波器的数据、波形直接进行读取、处理。 因此可以采用数字示波器与PC机间的通讯,在数字信号处理方面,此时数字示波器相当于一个高速信号采集器,他把数据传输到计算机中,配合Matlab,能实现对高频信号的采集与处理,而且与一般意义上的硬件处理器相比没有了A/D和D/A转换过程,是处理的精度和速度都有了明显的提高,而且价格上示波器配套模块TDSCM2模块也比相应功能的硬件处理器便宜不少。 3 优缺点 数字示波器与PC机的通讯不仅具有一般台式数字存储示波器的功能,而且充分发挥了计算机强大的功能和软件设计的灵活性,他具有4个显著特征: (1)采用编程语言Matlab和面向对象编程技术,软件开发效率高,可操作性和可维护性好; (2)为数字存储示波器增加了频域分析功能; (3)充分利用了计算机的存储与外设连接的能力,测量结果和波形可直接打印输出或通过网络共享; (4)在相同硬件条件下,可以通过修改或增加软件模块,形成新的仪器功能。 由于要用到示波器,计算机以及RS232的连接,没有单个硬件电路简单明了,是其不足之处。 4 应用情况 4.1 通信原理 Matlab是美国Math Works公司推出的一种以矩阵为基本编程单位的高效数值计算语言,是一个集科学计算、图像处理、声音处理于一体的高度集成系统。他具有强大的数值计算功能,其中的Instrument Control Toolbox提供对GPIB,RS-232,VXI,Centronics等端口进行控制的功能。当用Matlab软件通过RS232与TDS2CM模块串口连接可以实现示波器与计算机之间的数据通讯,同时利用Matlab数值处理、矩阵运算功能对示波器记录的波形数据进行各种分析和处理。 Matlab通过调用M文件函数来创建设备对象,得到设备的文件句柄,这样可以像操作文件一样操作设备,对外设进行相关的读写。原理图如图1所示。 当直接通过RS232进行硬件通信控制时,示波器通过DCD(载波检测),CTS(清除发送),RI(振铃提示)3个控制信号表示当前状态,用RTS(请求发送)发送数据。 4.2 数据传榆 当Matlab以二进制格式对示波器的波形进行数据读写时,读写数据与示波器实际数据换算由式(1)给出: Xn=Xzero+Xiner·n Yn=yzero+Ymult(Yn-Yoff) (1) 其中:Yn为输入、输出缓冲区中的数据, n为数据个数: Xn,Yn为示波器中实际采样时间与信号幅值, Xzero是所采集波形第一个点的时间, Xiner是水平轴上的采样率, yzero是0dB时的幅值, Ymul是垂直轴上的比例因子; Yoff是垂直偏移量。 由式(1)可见,所传输的数据完全按照示波器的采样率,波形真实可靠。 程序流程图如图2所示。 对示波器的命令由fprintf函数以字符串的形式输出。 设置和询问命令由具体的示波器厂商定义。 从示波器读取数据的部分程序如下: g=serial(′coml′); g.InputBufferSize=10000; g.timeout=10; g.BaudRate=9600; g.Parity='none'; g.StopBits=1; g.Terminator='LF' g.FlowControl='hardware'; fopen(g); fprintf(g,'select:chl on′); fprintf(g,'data:source chl′); fprintf(g,'data:encdg srib′); fprintf(g,'data:start l′); fprintf(g,'data:stop 2500′); fprintf(g,'data:width 2′); fprintf(g,'wfmpre:xzero? ′); xzero=fscanf(g,'%f′); fprintf(g,'curve? ′); out=fread(g,2500,'intl6′); fclose(g); delete(g); freeserial('coml′); 用上述程序对100MHz雷达波形的读取如图3所示。 4.3 数据分析处理与实例 从示波器读取的数据按式(1)转换后就是实现测量所得的波形数据值,并且可以在计算机中做相应的频谱分析。 5 结 语 在现有的实验条件下,利用数字示波器与计算机之间的通信对高频信号进行采集与处理,能完全满足一般意义上的信号采集工作,可以成为实验室物美价廉的实验工具。(end) |