CN100366004C - 分布式无线通信传输技术测试平台的建立方法 - Google Patents
分布式无线通信传输技术测试平台的建立方法 Download PDFInfo
- Publication number
- CN100366004C CN100366004C CNB2005101245990A CN200510124599A CN100366004C CN 100366004 C CN100366004 C CN 100366004C CN B2005101245990 A CNB2005101245990 A CN B2005101245990A CN 200510124599 A CN200510124599 A CN 200510124599A CN 100366004 C CN100366004 C CN 100366004C
- Authority
- CN
- China
- Prior art keywords
- main frame
- data
- message
- thread
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种分布式无线通信传输技术测试平台的建立方法,利用套接字实现测试平台各个处理器之间的TCP/IP网络通信,解决了采用传统的单个计算机所建立的无线通信测试平台无法处理具有更大运算量的多输入多输出(MIMO)通信系统无线传输技术,该方法利用多线程技术将测试平台分为用户界面线程和工作线程,便于处理用户产生的事件和消息,且在用户界面线程中利用套接字实现基于TCP/IP协议的网络互联技术。使用该方法将两个独立并行运算的处理器相互联接起来,进而构建起分布式的无线通信传输技术测试平台,同时也为具有“网格计算”能力的无线通信传输技术测试平台提供了基本思路。
Description
技术领域
本发明涉及一种分布式的无线通信传输技术测试平台的设计方法,尤其涉及一种利用套接字实现分布式无线通信传输技术测试平台各个处理器之间的TCP/IP网络通信技术设计方法。
背景技术
随着无线通信近年的爆炸性发展,通信和信号处理系统也变得越来越复杂。与此同时,各种新技术的发展,如快速、廉价的数字信号处理硬件、现场可编程门阵列(FPGA)、片上系统(SOC)等,开始对通信系统的实现产生重大的影响。通信系统复杂性的增加使得分析与设计所付出的时间和精力也迅速上升。在另外一方面,运用传统的方法设计诸如第三代移动通信、超三代移动通信如此庞大和复杂的电子系统,如同用一砖一瓦建造金字塔,效率低、成本高,且极容易出错。
常用的无线通信测试评估方法有公式推导、计算机仿真测试和硬件仿真测试。基于公式的方法在对系统的整体性能提供透彻了解方面是比较困难的,而且公式推导常常是在简化模型的基础上进行的,因此准确度欠佳。在设计的早期阶段,除了一些理想和过分简化的情况外,仅用分析方法评估复杂的通信系统的性能是极度困难的。根据硬件的测量数据评估性能当然是准确而可信的方法。在设计阶段后期,这种方法费钱费时,不灵活。在设计周期的早期由于设计的方案选择对象可能很多,需要针对每一种设计方案制定不同的硬件测试方案,这种方法显然是不可取的。将基于仿真的方法用于性能评估,几乎可以按要求的任意详细程度建立模型,和基于公式或硬件的方法相比,设计空间更好地得到了利用。用基于仿真的方法,可以很容易地将数学和经验的模型结合在一起,被仿真的结果也能用作参考以证实硬件的功能。
从第二代移动通信系统的研发开始至今,计算机仿真测试已经成为了移动通信研发的最有力武器。每一项新技术或每一个新系统投入商用之前都是由多家公司或者研究机构进行了长时间的仿真以检验其性能。通常的通信系统的仿真测试分为链路级仿真测试和系统级仿真测试两方面。系统级仿真测试主要是针对无线接入系统进行仿真测试。链路级仿真测试主要是对通信系统物理层的无线传输技术(如编码、交织、调制和扩频等)进行仿真,得到该技术在不同无线信道下的性能。仿真结果主要表现为在不同无线环境下的误码率(BER)或者误帧率(FER)与信噪比的关系曲线。链路级仿真主要有两个用途,一是用于检验无线传输技术的性能,二是检验无线系统的端到端性能,并为系统级仿真提供数据支持。
多输入多输出(MIMO,Multiple-Input Multiple-Output)无线通信传输技术具有很好的抗衰落和抗噪声的能力,从而可获得巨大的容量。因此,在功率带宽受限的无线信道中,多输入多输出(MIMO,Multiple-Input Multiple-Output)无线通信传输技术是实现高数据速率、提高系统容量和传输质量的重要技术之一。它的优越特性使之成为未来超三代通信系统(B3G)以及第四代通信系统中的关键技术之一。
针对多输入多输出通信系统的无线传输技术进行评估所需的运算量要比以往的单输入单输出通信系统的评估测试要大很多。如果再考虑多用户情况下的测试,其运算量是无法利用现有的单台高性能计算机实现的。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种分布式无线通信传输技术测试平台的建立方法,它将整个传输技术仿真测试的运算分散到两台计算机上运行,从而提高无线通信传输技术测试评估的效率;另外,本发明将分别在两台不同的计算机中运行的发射主机和接收主机通过TCP/IP协议连接了起来,使得被测发射机模块和被测接收机模块真正实现了物理分离并且被测接收机模块所接收到的数据完全由第三方评估单位来决定,从而提供给测试方一个公平、公开的测试平台环境,保证了测试公平性。
本发明为解决技术问题所采用的技术方案是:一种利用套接字实现分布式无线通信传输技术测试平台各个处理器之间的TCP/IP网络通信,包括以下步骤:
第一步,采用双线程技术,即工作线程和用户界面线程,实现分布式无线通信传输技术测试平台的主控部分,主控部分的实现包含两个流程:第一个为双机通信流程,第二个为虚拟仪器控制流程;
在双机通信流程中,信道输出的数据存入缓冲区后,将读写标志位置为可读,并将这一事件作为一个消息告知用户界面线程,用户界面线程判断这一消息属性之后,调用发送函数进行发送操作,接收主机的用户界面线程的接收数据函数接收到数据之后,将读写标志位置为可读,用以告知工作线程可以从被测接收机模块输入缓冲区读取数据并调用被测接收机模块;虚拟仪器控制流程则是利用临界区的方法实现虚拟仪器所处的用户界面线程与工作线程之间的线程同步;
工作线程主要用于链路的计算,而用户界面线程将用于虚拟仪器的显示和实现两个主机之间的互联通信;使用MFC(Microsoft Foundation Class微软基础类)提供的同步对象中的临界区对象CCriticalSection保重线程间的同步;利用创建自定义消息的方法实现两个线程之间的通信;创建自定义消息的方法具体如下:
1.首先定义全局变量const WM_SENDDATA=WM_USER+100;
2.在对话框类的头文件中DECLARE_MESSAGE_MAP()的前面添加下列语句:afx_msg void OnSendData();
3.在对话框类的实现文件中BEGIN_MESSAGE_MAP()的后面添加语句ON_MESSAGE(WM_SENDDATA,OnSendData),将消息与消息执行函数代码捆绑;
4.编写OnSendData()发送数据函数;
工作线程中,信道处理数据完毕后,产生该消息使用语句::SendMessage((HWND)pParam,WM_SENDDATA,0,0),即可向用户界面线程发送消息,用户界面线程根据自身的消息处理机制自动响应该消息,调用OnSendData()函数,发送数据;
第二步,使用套接字实现分布式无线通信传输技术测试平台发射主机与接收主机之间的互联:
首先,使用客户机/服务器模型来实现各主机之间的互联;将发射主机作为服务器,接收主机作为客户机;
其次,将要传送的信道输出的数据进行组包、传送,组包的数据由包头和包数据组成,包头中的内容包括:包头长度;信道当前信息,亦即信道当前的状态信息,当前包是否是最后一包,包数据位于包头后面,它里面储存的是所要发送的数据;组包完成之后,利用自定义消息的方法,告知用户界面线程需要发送当前数据,用户界面线程响应该自定义消息之后,调用套接字中的发送函数将数据发送给接收主机。
使用套接字实现分布式无线通信传输技术测试平台各主机之间的互联,采用了TCP/IP协议的网络互联技术,该网络互联技术即为分布式无线通信传输技术测试平台中的网络传输算法;该网络传输算法是将发射主机作为服务器,接收主机作为客户机;该网络传输算法采用自定义消息的方法来实现工作线程与用户界面线程之间的通信;按照所测业务的不同,网络传输的负荷也不同,该网络传输算法按以下步骤进行:
第一步,发射主机和接收主机之间建立信令规定;定义接收主机向发射主机发送“1”表示当前包处理完毕,请发下一包数据;发送“2”表示当前信噪比测试结束,要求发射主机变化信噪比,进行下一个信噪比点的测试;发送“3”表示整个测试完毕;
第二步,发射主机方发现信道输出缓冲区为可读,亦即信道已经将处理完的数据放入缓冲区中等待网络传输时,工作线程利用自定义消息的方法请求用户界面线程发送数据;用户界面线程收到该消息后,工作线程就将处理器的使用权交给用户界面线程,用户界面线程随即调用套接字发送函数,将信道输出缓冲区中的数据发送出去,同时,将信道输出缓冲区的读写标志置为可读,以便信道函数能够输出下一包数据;用户界面线程在完成上面的一系列操作后,再将处理器的使用权交还给工作线程。
第三步,当发射主机方发送数据给接收主机方后,接收主机自动响应套接字中的接收数据函数,以接收数据;由于接收主机响应的消息函数存在于用户界面线程中,而在未接收数据之前,接收主机一直处于工作线程内,在响应该消息函数之后将工作线程挂起,接收主机接收完数据后,将挂起的工作线程重新启动,工作线程发现被测接收机模块的输入缓冲区已经存放有数据,调用被测接收机模块,误码判决模块进行相应运算;运算完毕之后,接收主机根据情况不同,即被测接收机模块是否需要下一包数据、是否切换信噪比、当前仿真是否结束选择不同的信令,利用网络传输,将信令反馈给发射主机,发射主机根据接收主机反馈回来的信令来选择下一步操作是执行结束当前测试,或者继续进行当前信噪比下的误码率测试,或者切换到下一个信噪比再进行测试操作。
当网络传输的负荷在100-200M字节时,套接字使用CAsyncSocket类的成员函数AsyncSelect和IOCtl函数;将非阻塞模式的CSocket强制转换成阻塞模式。
当网络传输的负荷100-200M字节时,在发射主机和接收主机程序内设定计时器,限定某一个成功传送的时间,若在该时间内接收主机方已经响应消息,接收完毕数据,则返回;若在该时间内没有响应,则强行调用接收函数进行接收。
本发明的有效成果是,本发明提出了一种分布式无线通信传输技术测试平台的建立方法,利用套接字将测试平台的各个处理器利用TCP/IP网络协议连接起来,利用TCP/IP协议能够保证数据无差错的、顺序一致的进行传送这一优点,保证了各个处理器之间数据传递的实时性和准确性,从而利用此发明构建起分布式无线通信传输技术的总体框架。
附图说明
图1是本发明分布式无线传输技术仿真测试平台的模块组成示意图;
图2是本发明分布式无线传输技术仿真测试平台数据交换接口的基本设置示意图;
图3是本发明双线程在分布式无线传输技术仿真测试平台的工作流程示意图;
图4是数据通过互联技术进行网络传输时数据封装的结构示意图;
图5是网络传输算法流程示意图;
图6是分布式无线传输技术测试平台的发射主机的界面示意图;
图7是分布式无线传输技术测试平台的接收主机的界面示意图。
下面结合附图对本发明的内容作进一步详细说明。
具体实施方式
参照图1所示,整个测试平台由两台通过网络连接的处理器,即发射主机和接收主机组成。其中发射主机实现信源、被测发射机模块和信道三个模块所完成的功能,而接收主机实现被测接收机模块和统计模块的功能。并利用以太局域网,采用互联网常用的TCP/IP协议将这两部分组织起来,从而构成一条完整的无线通信链路。另外,两个主机都配备有虚拟仪器,用以观察各种统计指标。比如:接收主机的虚拟仪器可以观察误码率曲线、星座图。发射主机的虚拟仪器可以观察被测模块的频谱利用率、星座图以及功率直方图。而统一性检测是为了对TDD(时分双工)以及FDD(频分双工)两种不同制式的双工方式加以统一的模块。这样便于对两种不同制式的双工方式进行公平的评估。
参照图2所示,测试平台的主控程序提供了5个公共数据交换区,分别用A,B,C,D,E表示,用于前一级模块与后一级模块之间的数据传递,或用于虚拟仪器显示其输出的数据。每个数据交换区均是系统分配的连续存储空间。其中A、B、C三个数据交换区由发射主机开辟,利用网络传输算法实现发射主机和接收主机之间的双机通信,从而将C交换区的数据传送到接收主机的D交换区作为被测接收机模块的输入,亦即C和D两个交换区中的数据完全相同(B和C两个交换区的仿真粒度相同)。
参照图3所示,根据其给出的工作流程图对整个系统进行架构。它主要包含两类流程:第一类为双机通信流程,第二类为虚拟仪器控制流程。在第一个流程中,信道输出的数据存入缓冲区后,将读写标志位置为可读,并将这一事件作为一个消息告知用户界面线程,用户界面线程判断这一消息属性之后,使用网络传输算法进行发送操作,接收主机的用户界面线程接收到数据之后,将读写标志位置为可读,用以告知工作线程可以从该缓冲区读取数据并进行相应的操作。第二类工作流程则是利用临界区的方法实现虚拟仪器与工作线程之间的线程同步。
为了避免虚拟仪器从各个接口的缓冲区读取数据时,用户界面线程与工作线程中的链路计算程序冲突这种线程间的同步问题,利用MFC(MicrosoftFoundation Class微软基础类)提供的同步对象中的临界区对象(CCriticalSection)来解决线程间的同步。
首先定义一个CCriticalSection的对象CriticalBuffer。然后在线程中可能产生冲突的区域前(即访问共享资源之前)调用CriticalBuffer.lock函数,将当前共享资源封锁仅为当前线程所用,访问完当前共享资源之后再调用CriticalBuffer.unlock函数,释放当前线程对该共享缓冲区的操作权,让其它线程使用。
其次,由于在Visual C++中,只有用户界面线程中才能使用MFC(MicrosoftFoundation Class微软基础类)类库中的类和函数。而网络传输算法中所要使用的CSocket属于MFC(Microsoft Foundation Class微软基础类)类库,所以必须将发送和接收函数放到用户界面线程中去。这就需要线程之间进行通信,亦即工作线程如何告诉用户界面线程需要发送或者接收数据,用户界面线程不可能通过全局变量来循环等待工作线程请求发送数据,所以采用了自定义消息的方法来实现工作线程与用户界面线程的通信。这样,一旦信道已经输出数据完毕,产生消息,用户界面线程响应消息调用发送函数,将数据发送出去。同样,接收数据时,由于接收数据的消息CSocket本身就有,所以只需要判断当前要写入的缓冲区是否可写。若可写,则写入数据。创建自定义消息的方法具体如下:
1.首先定义全局变量const WM_SENDDATA=WM_USER+100;
2.在对话框类的头文件中DECLARE_MESSAGE_MAP()的前面添加下列语句:afx_msg void OnSendData();
3.在对话框类的实现文件中BEGIN_MESSAGE_MAP()的后面添加语句ON_MESSAGE(WM_SENDDATA,OnSendData),将消息与消息执行函数代码捆绑。
4.编写OnSendData()发送数据函数。
工作线程中,信道处理数据完毕后,产生该消息使用语句::SendMessage((HWND)pParam,WM_SENDDATA,0,0),即可向用户界面线程发送消息,用户界面线程根据自身的消息处理机制自动响应该消息,调用OnSendData函数,发送数据。
参照图4所示,我们对发射主机所要发送的数据进行组包。这样才能使接收主机能够确认数据包的顺序、大小,保证传输的正确性。其中包头中的内容包括:包头长度;信道当前信息,亦即信道当前的状态信息,当前包是否是最后一包;还有所要发送的数据长度。
参照图5所示,使用套接字实现基于TCP/IP协议分布式无线通信传输技术测试平台的网络互联技术,即网络传输算法。分布式无线通信传输技术测试平台采用的是客户机/服务器模型来实现各主机之间的互联,客户机/服务器模型是分布式应用程序的最常用的范例。我们将发射主机作为服务器,接收主机作为客户机。由于测试平台的发射主机和接收主机都是由工作进程和用户界面进程组成的,其中用户界面进程不仅仅负责软件界面和虚拟仪器,还负责网络传输的任务,因此网络传输算法要涉及到工作线程与用户界面线程之间的通信。具体的流程如下所述:
发射主机方面,在工作线程中,当信道输出缓冲区为可读(亦即信道已经将处理完的数据放入缓冲区中等待网络传输)时,工作线程利用自定义消息的方法请求用户界面线程发送数据。用户界面线程收到该消息后,工作线程就将处理器的使用权交给用户界面线程,用户界面线程随即调用发送函数,将信道输出缓冲区中的数据发送出去。同时,将信道输出缓冲区的读写标志置为可读,以便信道函数能够输出下一包数据。用户界面线程在完成上面的一系列操作后,再将处理器的使用权交还给工作线程。工作线程一直工作,直到发射主机接收到由接收主机反馈回来的信令。发射主机根据该信令的具体内容来判断是否还要向接收主机发送数据,是否应该切换信噪比,是否应该停止测试等。
接收主机方面:当发射主机方发送数据给接收主机方时,接收主机会自动响应CSocket类中的Onreceive消息函数,去接收数据。由于接收机响应的消息函数存在于用户界面线程中,而在未接收数据之前,接收主机一直处于工作线程内,为了保护现场,要在响应该消息函数之后将工作线程挂起。接收主机接收完数据后,将挂起的工作线程重新启动,工作线程发现被测接收机模块的输入缓冲区已经存放有数据,于是调用被测接收机模块,误码判决模块进行相应运算。运算完毕之后,接收主机根据情况不同(被测接收机模块是否需要下一包数据、是否切换信噪比、当前仿真是否结束),选择不同的信令利用网络传输,将信令发送给发射主机,然后等待发射主机按照信令执行下一步的操作。以上所述就是网络传输流程,具体可以参考图5所示。总之,如何控制好发射主机与接收主机之间的协同工作,如何处理工作线程与用户界面线程之间的通信是利用TCP/IP实现整个测试平台中的网络传输算法的关键之所在。
虽然链路级测试仅仅是单向测试,包括上行链路测试和下行链路测试。每一种情况的测试,数据的流向都是单向的。即数据总是由发射主机到接收主机。但为了能够使发射主机和接收主机之间协同工作,保证接收主机所接收到的数据在未处理完之前不会被下一包数据冲掉,必须要在发射主机和接收主机之间建立信令规定。比如:我们定义接收主机向发射主机发送“1”表示当前包处理完毕,请发下一包数据。发送“2”表示当前信噪比测试结束,要求发射主机变化信噪比,进行下一个信噪比点的测试。发送“3”表示整个测试完毕。
套接字有同步阻塞方式和异步非阻塞方式两种使用方法,同步和异步往往都是针对一个函数来说的,所谓“同步(阻塞)”就是指函数直到其要执行的功能全部完成时才返回;而“异步(非阻塞)”则是函数仅仅做一些简单的工作,然后马上返回,而它所要实现的功能留给别的线程或者函数去完成。为了能够保证链路测试主控流程顺序执行,保证网络传输数据的次序,防止冲掉数据,在平台网络传输中使用的是MFC(Microsoft Foundation Class微软基础类)中的CSocket类,CSocket是MFC(Microsoft Foundation Class微软基础类)在CAsyncSocket基类上派生的一个同步阻塞Socket的封装类。虽然是同步阻塞Socket类,但是CSocket类是由CAsyncSocket类派生出来的。CAsyncSocket是异步非阻塞模式的,它的派生类CSocket归根结底还是异步非阻塞模式的。只是MFC(Microsoft Foundation Class微软基础类)利用循环,将其强行置成同步阻塞模式。在程序调试过程中,发现如果采用CSocket的模拟同步阻塞模式会出现这样的问题:当网络传输数据的频率较高时,比如在8K语音业务测试时,发射主机和接收主机要处理的数据较少,需要频繁调用发送函数来传送数据。或者一次网络传输的数据量很大时,比如在两小区两用户100M数据业务测试时,传送的数据量最大。在这两种情况下,经常会出现双机死锁的现象,亦即接收主机虽然响应消息,去接收数据,但是由于数据量过大或有延时,无法按程序员规定的数据量大小去接收,由于MFC(Microsoft Foundation Class微软基础类)将CSocket强制设为死循环来模拟同步阻塞模式,接收主机方接收不到所规定的数据量就只好死循环。而发送主机方此时在不停的给接收方发送数据,接收主机方无法清空缓冲区,这就导致发送主机方无法继续发送数据,导致死锁。这样发射主机和接收主机全部进入死循环,链路测试无法继续进行。在程序调试时,采用了以下两种方法解决死锁问题:
1.设定计时器,采取超时催收机制。当网络传输的负荷较高时,往往会出现发射主机已经开始发送数据,但接收主机并没有响应消息,导致当前数据包传送失败。在这种情况下,某项操作可能永远不能成功完成,程序为了等待其完成就得永远循环下去。在程序中,我们限定某一个成功传送的时间,如果在该时间内接收主机方已经响应消息,接收完毕数据,则返回。若在该时间内没有响应,则强行调用接收函数进行接收。
2.使用CAsyncSocket类的成员函数AsyncSelect和IOCtl函数。将非阻塞模式的CSocket强制转换成阻塞模式。IOCtl是用来控制Socket模式的函数。它可以得到或设置任何状态下,当前Socket的参数、协议、通信子系统。AsyncSelect函数用于确定使用了MFC(Microsoft Foundation Class微软基础类)中的哪个回复通知函数(callback notification function)。而AsyncSelect函数会自动将Socket设置为非阻塞模式。
选择BOOL IOCtl(long ICommand,DWORD*IpArgument)函数的形参ICommand为FIONBIO,FIONBIO是禁止还是使能非阻塞模式的参数。
IpArgument指向一个DWORD型变量的指针,该变量为零则禁止非阻塞模式,将当前Socket置为阻塞模式。在调用IOCtl之前,必须禁止AsyncSelect函数,否则调用IOCtl将会出错。具体的代码如下:
DWORD d=0;//定义DWORD型变量d
m_clientsock.AsyncSelect(0);//禁止AsyncSelect函数
m_clientsock.IOCtl(FIONBIO,&d);//调用IOCtl函数将当前Sokcet置为阻塞模式。
参照图6所示,图中上侧两个深色区域显示的是被测方的无线传输技术方案用测试平台在特定信道条件下所测得的频谱利用情况。
参照图7所示,图中上侧两个深色区域显示的是被测方的无线传输技术方案在特定信道条件下采用测试平台所测得的误码率性能。
Claims (4)
1.分布式无线通信传输技术测试平台的建立方法,其特征在于,按以下步骤进行:
第一步,采用双线程技术,即工作线程和用户界面线程,实现分布式无线通信传输技术测试平台的主控部分,主控部分的实现包含两个流程:第一个为双机通信流程,第二个为虚拟仪器控制流程;
在双机通信流程中,信道输出的数据存入缓冲区后,将读写标志位置为可读,并将这一事件作为一个消息告知用户界面线程,用户界面线程判断这一消息属性之后,调用发送函数进行发送操作,接收主机的用户界面线程的接收函数接收到数据之后,将读写标志位置为可读,用以告知工作线程可以从被测接收机模块的输入缓冲区读取数据并调用被测接收机模块;虚拟仪器控制流程则是利用临界区的方法实现虚拟仪器所处的用户界面线程与工作线程之间的线程同步;
工作线程主要用于链路的计算,而用户界面线程将用于虚拟仪器的显示和实现发射主机和接收主机之间的互联通信;使用MFC(Microsoft FoundationClass微软基础类)提供的同步对象中的临界区对象CCriticalSection保证线程间的同步;利用创建自定义消息的方法实现两个线程之间的通信;创建自定义消息的方法具体如下:
(1)首先定义全局变量const WM_SENDDATA=WM_USER+100;
(2)在对话框类的头文件中DECLARE_MESSAGE_MAP()的前面添加下
列语句:afx_msg void OnSendData();
(3)在对话框类的实现文件中BEGIN_MESSAGE_MAP()的后面添加语
句ON_MESSAGE(WM_SENDDATA,OnSendData),将消息与消息执行函数代码捆绑;
(4)编写OnSendData()发送数据函数;
工作线程中,信道处理数据完毕后,产生该消息使用语句::SendMessage((HWND)pParam,WM_SENDDATA,0,0),即可向用户界面线程发送消息,用户界面线程根据自身的消息处理机制自动响应该消息,调用OnSendData函数,发送数据;
第二步,使用套接字实现分布式无线通信传输技术测试平台的发射主机与接收主机之间的互联:
首先,使用客户机/服务器模型来实现发射主机与接收主机之间的互联;将发射主机作为服务器,接收主机作为客户机;
其次,将要传送的信道输出的数据进行组包、传送,组包的数据由包头和包数据组成,包头中的内容包括:包头长度;信道当前信息,亦即信道当前的状态信息,当前包是否是最后一包,包数据位于包头后面,它里面储存的是所要发送的数据;组包完成之后,利用自定义消息的方法,告知用户界面线程需要发送当前数据,用户界面线程响应该自定义消息之后,调用套接字中的发送函数将数据发送给接收主机。
2.根据权利要求1所述的分布式无线通信传输技术测试平台的建立方法,其特征在于,使用套接字实现分布式无线通信传输技术测试平台各主机之间的互联,采用了TCP/IP协议的网络互联技术,亦即,网络传输算法;该网络传输算法是将发射主机作为服务器,接收主机作为客户机;该网络传输算法采用自定义消息的方法来实现工作线程与用户界面线程之间的通信;该网络传输算法按以下步骤进行:
第一步,发射主机和接收主机之间建立信令规定;定义接收主机向发射主机发送“1”表示当前包处理完毕,请发下一包数据;发送“2”表示当前信噪比测试结束,要求发射主机变化信噪比,进行下一个信噪比点的测试;发送“3”表示整个测试完毕;
第二步,发射主机方发现信道输出缓冲区为可读,亦即信道已经将处理完的数据放入缓冲区中等待网络传输时,工作线程利用自定义消息的方法请求用户界面线程发送数据;用户界面线程收到该消息后,工作线程就将处理器的使用权交给用户界面线程,用户界面线程随即调用套接字发送函数,将信道输出缓冲区中的数据发送出去,同时,将信道输出缓冲区的读写标志置为可读,以便信道函数能够输出下一包数据;用户界面线程在完成上面的一系列操作后,再将处理器的使用权交还给工作线程;
第三步,当发射主机发送数据给接收主机后,接收主机自动响应套接字中的接收数据函数,以接收数据;由于接收主机响应的消息函数存在于用户界面线程中,而在未接收数据之前,接收主机一直处于工作线程内,在响应该消息函数之后将工作线程挂起,接收主机接收完数据后,将挂起的工作线程重新启动,工作线程发现接收主机输入缓冲区已经存放有数据,调用被测接收机模块,误码判决模块进行相应运算;运算完毕之后,接收主机根据情况不同,即接收主机中的被测接收机模块是否需要下一包数据、是否切换信噪比、当前仿真是否结束选择不同的信令,利用网络传输,将信令反馈给发射主机,发射主机根据接收主机反馈回来的信令来选择下一步操作是执行结束当前测试,或者继续进行当前信噪比下的误码率测试,或者切换到下一个信噪比再进行测试操作。
3.根据权利要求1所述的分布式无线通信传输技术测试平台的建立方法,其特征在于,当网络传输的负荷在100-200M字节时,套接字使用CAsyncSocket类的成员函数AsyncSelect和IOCtl函数;将非阻塞模式的CSocket强制转换成阻塞模式。
4.根据权利要求1所述的分布式无线通信传输技术测试平台的建立方法,其特征在于,当网络传输的负荷在100-200M字节时,在发射主机和接收主机程序内设定计时器,限定任一个成功传送的时间,若在该时间内接收主机方已经响应消息,接收完毕数据,则返回;若在该时间内没有响应,则强行调用接收函数进行接收。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101245990A CN100366004C (zh) | 2005-12-22 | 2005-12-22 | 分布式无线通信传输技术测试平台的建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101245990A CN100366004C (zh) | 2005-12-22 | 2005-12-22 | 分布式无线通信传输技术测试平台的建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1791036A CN1791036A (zh) | 2006-06-21 |
CN100366004C true CN100366004C (zh) | 2008-01-30 |
Family
ID=36788560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101245990A Expired - Fee Related CN100366004C (zh) | 2005-12-22 | 2005-12-22 | 分布式无线通信传输技术测试平台的建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100366004C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483651B (zh) * | 2009-01-09 | 2012-04-25 | 南京联创科技集团股份有限公司 | 基于map队列的数据传送方法 |
CN101577713B (zh) * | 2009-06-02 | 2012-07-04 | 中兴通讯股份有限公司 | 虚拟用户识别模块的实现方法、装置及测试系统 |
CN112765037A (zh) * | 2021-01-28 | 2021-05-07 | 湖北三江航天红峰控制有限公司 | 一种实时更新测试信息的测试方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1119061A (zh) * | 1993-12-07 | 1996-03-20 | 艾利森电话股份有限公司 | 用于测试时分多址无线通信系统中基站的方法和装置 |
CN1185263A (zh) * | 1995-04-03 | 1998-06-17 | 艾利森电话股份有限公司 | 用于蜂窝无线电的收发信机测试 |
-
2005
- 2005-12-22 CN CNB2005101245990A patent/CN100366004C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1119061A (zh) * | 1993-12-07 | 1996-03-20 | 艾利森电话股份有限公司 | 用于测试时分多址无线通信系统中基站的方法和装置 |
CN1185263A (zh) * | 1995-04-03 | 1998-06-17 | 艾利森电话股份有限公司 | 用于蜂窝无线电的收发信机测试 |
Also Published As
Publication number | Publication date |
---|---|
CN1791036A (zh) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978263B (zh) | 一种移动端应用程序测试方法及系统 | |
JP2005500711A (ja) | 移動局システム試験アーキテクチャ | |
CN111314166A (zh) | 一种多节点综合仿真系统及方法 | |
CN103139822A (zh) | 一种对无线通信系统物理层进行自动化测试的方法 | |
EP2262134A2 (en) | System and method for testing a communcation device with an offline uplink fader | |
CN105577463B (zh) | 一种基于通信协议的测试方法及其装置 | |
EP1860900A1 (en) | System and method for radio network planning with HSDPA analysis | |
CN114880249B (zh) | 航天测控综合测试软件框架系统及运行方法 | |
CN100366004C (zh) | 分布式无线通信传输技术测试平台的建立方法 | |
CN106471763A (zh) | 实现对调度请求的自适应检测的方法和装置 | |
CN103346927A (zh) | 一种终端一致性测试系统及方法 | |
CN110139370A (zh) | 信息指示的方法、通信装置和通信系统 | |
CN109104264A (zh) | 一种数据传输方法和基站 | |
CN106407061A (zh) | 一种北向接口测试装置和北向接口的测试方法 | |
CN111935767B (zh) | 一种网络仿真系统 | |
CN108763052A (zh) | 一种虚拟现实软件内存回收机制的性能检测方法及系统 | |
CN111104281B (zh) | 一种游戏性能监控方法、装置、系统及存储介质 | |
CN109922484A (zh) | 一种测试方法和测试装置 | |
CN102315981A (zh) | 一种演进分组核心网设备的测试设备及方法 | |
CN105142159A (zh) | 一种lte基站中l2的测试系统 | |
CN102802172A (zh) | 一种基于智能终端的无线通信质量测试方法和装置 | |
CN104881328B (zh) | 数据处理方法和数据处理装置 | |
CN102546306A (zh) | 一种dsl传输距离测试方法及装置 | |
Schäfer et al. | Using quality of computation to enhance quality of service in mobile computing systems | |
Praphamontripong et al. | An analytical approach to performance analysis of an asynchronous web server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080130 Termination date: 20101222 |