新闻中心

EEPW首页>手机与无线通信>设计应用> 基于GPIB总线的无线电频谱监测系统的设计

基于GPIB总线的无线电频谱监测系统的设计

作者: 时间:2009-11-04 来源:网络 收藏
④从仪器读入数据的方法主要用于完成读入仪器的测量结果。对于ESVN40而言,预期返回数据的长度与实际返回的数据长度是有差别的。在设定预期返回数据长度时,应该尽量设置得大一些,以保证每次测量数据不被认为丢失。对于超时参数的设置,与写操作的原则是相同的。该方法的实现代码如下:

本文引用地址://m.amcfsurvey.com/article/157795.htm

int C∷RecvData(void*Buffer,int limitLength)

{ if(!(m_bOpened)||(m_dev==NULL))

return FALSE;

  ibeot(m_dev,1);

  ibtmo(m_ctrl,T3s);

  ibtmo(m_dev,T3s);

  ibrda(m_dev,Buffer,limitLength);

              //从仪器异步读数据到Buffer

  ibwait(m_dev,0x4100);  //等待异步读完成

  int nLocCount=ibcntl;

  if(ibsta ERR)

return FALSE;

  ibwait(m_ctrl,0x0000);

  if(ibsta ERR)

return -1;

     return nLocCount;

  }

  ⑤关闭仪器的方法主要用于将仪器置为本地测量方式,同时使仪器处于离线状态。其关键代码如下:

BOOL C∷Close( )

{ if(!(m_bOpened)||(m_dev==NULL))

return TRUE;

  ibloc(m_dev);  //置ESVN40为本地测量方式

  ibonl(m_dev,0); //置ESVN40为离线方式

  if(ibsta ERR)

return FALSE;

  m_bOpened=FALSE;

  ibonl(m_ctrl,0);  //设置卡为OFF-Line状态

  return 1;

}

3 程序运行界面

  该可以进行信号的,其中包括某个频点的电平、调整深度、频率补偿和频率偏移等。此外,还能对单频点的进行分析,对给定的频段进行信号扫描。在实际应用中,采用双线程的工作机理,可以很大程度地提高数据采集的速度。对信号进行频率扫描时的运行界面如图4所示。在界面中,由于ESVN40只是返回扫描驻点的电平值,因此在软件中对该扫描功能进行了扩充。在界面上只要设定一个电平阈值(用户可以认为超过该阈值的电平,可能存在信道占用)和一个用户认为每个信道应该占用的最大带宽或法定的最大带宽,则通过软件对采样的样本进行分析后,可以对占用信道的中心频点进行初步定位。用户根据在测量结果表中显示的值,可以进一步分析该中心频点的或测量其他的调制特征值。可见,通过虚拟仪器的思想,将软硬件结合使用,可以极大地扩充硬件的功能。

4 结束语

  在系统的开发中,采用了C++中类的思想,使得系统具备了良好的扩展性,对于不同的仪器接口方式,可以最大限度地利用已开发的代码段。同时,也增强了系统的可维护性,在实际应用中取得了不错的效果。在采用了双线程工作机制后,充分发挥了仪器的性能,比单线程的速度提高了50%。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭