Cognitive Radio Implementation in ISM Bands with Microsoft SORA_PIMRC_11
- 格式:pdf
- 大小:736.00 KB
- 文档页数:5
延展认知“三次浪潮”及其技术哲学启示作者:孟强来源:《安徽师范大学学报》2023年第05期关键词:延展认知;认知主义;三次浪潮;认知技术摘要:近三十年来,经典认知科学发生了深刻变化,认知主义遭到了后认知主义的严肃挑战,而延展认知是后者的重要代表。
认知主义主张心灵位于大脑,认知限于颅内。
延展认知反对内在主义,强调大脑与技术物的耦合,主张认知延展到外部事物。
延展认知的第一次浪潮坚持对等原则,第二次浪潮坚持互补和整合原则,第三次浪潮则侧重认知的社会文化分布。
总之,延展认知“延展”了既定的认知概念,并为反思认知与技术的关系提供了重要启示。
中图分类号:B152 文献标识码:A 文章编号:1001-2435(2023)05-0023-06Three Waves of Extended Cognition and Its Technological Philosophy SignificanceMENG Qiang (Chinese Academy of Social Sciences,Philosophy Institute,Beijing 100732,China)Key words:extended cognition;cognitivism;three waves;cognitive technologyAbstract:Cognitive science has deeply changed in recent thirty years. Its cognitivism is seriously challenged by post-cognitivism. One influential form of post-cognitivism is extended cognition. Cognitivism holds that the mind is located in the brain and cognition is confined to the skull. However,extended cognition insists externalism,opposed to internalism of cognitivism. It argues that cognition is based on the coupling of human beings and artifacts. The first wave of extended cognition approves the parity principle. The second wave insists the complementarity and integration principle. The third wave proposed socially-culturally distributed conception of cognition. In conclusion,extended cognition "extends" the narrow notion of cognition and encourages us to rethink the relation of cognition and technology.20世纪90年代以来,认知科学发生了深刻变化。
认知无线电研究进展陈兵;胡峰;朱琨【摘要】随着无线通信广泛的应用,移动互联网业务的需求高速增长,静态的频谱规划政策使得可用的频谱资源越来越匮乏.认知无线电(Cognitive radio,CR)在感知频谱环境的基础上,有目的地实时改变工作参数,实现对频谱的高效利用,为解决当前频谱资源利用率低的问题提供了理论与技术支持.目前,CR技术已得到了广泛的关注.本文首先对认知无线电体系及标准的研究现状作了简要介绍,然后深入地分析了频谱感知、频谱共享及功率控制3项关键技术,最后对认知无线电的应用前景进行总结,包括电视白频谱、能量收集及5G网络3个方面,并对未来异构泛在网络环境下开展基于认知无线电技术的无线资源管理、无缝切换及负载均衡等方面的研究进行了展望.【期刊名称】《数据采集与处理》【年(卷),期】2016(031)003【总页数】12页(P440-451)【关键词】认知无线电;动态频谱感知;电视白频谱;能量收集【作者】陈兵;胡峰;朱琨【作者单位】南京航空航天大学计算机科学与技术学院,南京,211106;南京航空航天大学计算机科学与技术学院,南京,211106;南京航空航天大学计算机科学与技术学院,南京,211106【正文语种】中文【中图分类】TN929.5引言近年来,无线通信技术得到了快速发展和广泛应用,各种无线通信设备竞争使用频谱资源;同时,美国联邦通信委员会(Federal communications commission,FCC)的研究表明[1],大量的频谱资源并没有时刻都被充分利用,只有很少的一部分频谱使用频繁。
因此,面对日益紧张的频谱资源,首先需要解决如何才能有效地提高频谱利用效率。
目前,认知无线电技术被认为是提高频谱资源利用率的有效途径之一。
1999年,认知无线电(Cognitive radio,CR)的概念首次被Mitola博士提出[2]。
2005年,Haykin从通信角度对认知无线电进行了定义,指出它是一个智能的无线通信系统[3],可以自动地感知周围频谱的使用情况,在不影响授权用户正常通信的前提下利用空闲的频谱资源。
锚定效应、峰终定律.......投资中12种常见的认知偏差,你知道⼏个?“编者按:所谓的认知偏差(Cognitive bias),是指“⼀种基于观察和归纳总结的思维⽅式,⽽这些观察和归纳总结可能会导致记忆错误、判断不准确以及逻辑错误。
”研究⼈⼠认为,“⼈们与⽣俱来就存在着偏见,我们的⼀些潜意识偏见会影响我们的决定和看法。
”由于投资者在决策过程中⾯临的压⼒和不确定性,认识这些偏差就变得尤为重要了,因为任何偏差因素都会被放⼤,从⽽给决策带来不利影响。
了解这些认知偏差如何起作⽤,可能会提供⼀个将想法变成现实的杠杆点(leverage point)。
今天的⽂章来⾃量信投资,作者主要罗列了12种投资过程中常见的认知偏差,实际上认知偏差远远多于这些,⽆论是主观还是量化投资,交易者都应通过不断努⼒和科学⽅法去克服它们、规避它们造成的危害。
⽂|⽯川,原载于量信投资(ID:liangxin_invest)有⽇⼦没有写点关于⾏为⾦融学(Behavioral Finance)的东西了。
本⽂的标题可能会让⼀些公众号的⽼朋友想起《让你投资亏钱的 15 个偏差》那篇⽂章。
标题中的 N 旨在说明影响投资决策的认知偏差有很多,单靠⼀篇⽂章也说不完,本⽂简单介绍其中的 12 个(和前⾯那篇⽂章中的 15 个不尽相同)。
在今后的⽂章中会不断的扩充这个列表。
⽆论是在消费还是投资中,⾮理性决策背后的原因是⼈们⼤脑中根深蒂固的认知偏差(cognitive bias)。
如今双⼗⼀,给各种⾮理性的消费⾏为敞开了⼤门。
为了防⽌双⼗⼀期间的⾮理性⾏为波及投资决策,今天我们就来聊聊和投资密切相关的⼀些认知偏差。
顺便说⼀句,关于双⼗⼀背后商家的各种促销⼿段以及⼈们买买买的冲动,都可以从 Richard Thaler(2017 年诺贝尔经济学奖获得者)的⼼理账户理论中得到解释。
去年双⼗⼀前我写了⼀篇《Thaler 和他的⼼理账户理论》,感兴趣的⼩伙伴可以翻翻看,没准它能成为你的防剁⼿指南。
无线电视“白色空间”开放 Super Wi
超级无线区域网路(Super Wi-Fi)将大幅提高覆盖率。
随着美国FCC开放无线电视白色空间频谱,不少科技大厂已开始研发Super Wi-Fi技术,期利用此一新频段讯号穿透率较佳的特性,突破既有Wi-Fi覆盖率与传输距离的发展瓶颈。
美国联邦通讯委员会(FCC)于2010年12月批准开放宽频电视频谱--白色空间(White Space),包含VHF(54M ?216MHz)及UHF(470M?698MHz)两个频段,均可供无线网路使用,新一代超级无线区域网路(Super Wi-Fi)技术即利用此一新频段运行(图1),期扩大讯号覆盖率与传输距离,激发多元应用。
图1 Super Wi-Fi无线联网的流程
标准2014年底定 Super Wi-Fi发展备受期待。
Cognitive Radio Cognitive Network SimulatorTable of Contents:1INTRODUCTION to CRCN1.1BACKGROUND of COGNITIVE RADIO1.2MOTIVATION1.3WHY BASED on NS2?1.4CRCN SIMULATOR OVERVIEW2FUNCTIONALITY OVERVIEW 22.1DESIGN OVERVIEW 3 for CRCN2.2CR ROUTING 62.3CR MAC 123CRCN USER GUIDE3.1SOFTWARE and INSTALLATION 63.2EXEMPLARY DEMONSTRATIONS 203.3GUI USER GUIDE4MISCELLANEOUS4.1REFERENCES4.2FAQ4.3Cognitive Radio Research Groups4.4Contact information1Introduction to CRCN1.1Background of Cognitive RadioCognitive radio network is a new emerging research area recently. It enhances the existing software-defined radio [1], whose physical layer behavior is largely defined in software. Cognitive radio has the following characteristics [2]. First, it is aware of its environment and its capabilities. Second, it is able to independently alter its physical layer behavior based on its previous experience and its current environment. Finally, it is capable of performing the complex adaptation strategies according to the cognitive cycle shown in [3]. With these capabilities, when spectrum environment changes around cognitive user, it is capable of sensing these changes and independently changing its physical layer settings such as transmission power, channel selection and etc to meet some constraints or QoS requirements of the users.Cognitive radio gains popularity in the research area because it enables the current fixed spectrum channel assigned by FCC to be utilized by the new users. For example, most of the spectrums assigned to TV channels are idle most of the time, while wireless network users share a small range of spectrum, 2.4 G Hz and 5G Hz. When there are many wireless users at a time, the network is congested because of the limited channel. With the spectrum opportunities [4] provided by the cognitive radionetwork, the wireless network users are able to share the idle spectrum for TV channel, on the condition that it does not interfere with the normal TV channel.1.2MotivationAs cognitive radio research is emerging, more and more researchers are looking forward to a simulator that is suitable for cognitive radio. However, there is no existing simulator that is suitable for the demand of cognitive radio simulations. Many researchers implemented their algorithms for cognitive radios on existing network simulator such as NS-2 [5], OPNET [8], QUALNET [11]. However, since these simulators are created for the ordinary wireless network, researchers can not easily implement their cognitive radio algorithms over those simulators. Hence, there is a demand to extend existing simulators to support cognitive radio simulators. We make use of existing NS-2 to extend it to support cognitive radio network simulation.1.3Why based on NS-2?There are several reasons to base on NS-2 for the development of cognitive radio simulators. First, NS-2 is open source software. Any contributions to NS-2 are accessible by people around the world. Second, NS-2 provides an interface for usersto configure different network protocol at each network layers, which is essential for simulation. Third, NS-2 already provides many radio models, such as 802.11, 802.16, 802.15.3, 802.15.4. Users can make use of these radio models for cognitive radio network simulations. Finally, NS-2 has incorporated with different topology and traffic generators, which enable users to create different simulation scenarios.1.4CRCN Simulator OverviewThis cognitive radio cognitive network (CRCN) simulator is a software based network simulator for network-level simulations. It is based on open-source NS-2 (network simulator 2). CRCN simulator supports performance evaluations for the proposed dynamic spectrum resource allocation, power control algorithms, and the adaptive Cognitive Radio (CR) networking protocols including the CR MAC and the CR Routing protocols. This simulator uses NS-2 to generate realistic traffic and topology patterns. For each node in this simulator, a reconfigurable multi-radio multi-channel PHY layer is available by customizing the spectrum parameters such as transmission power, propagation and etcFigure 1 Architecture of CRCN SimulatorThe architecture block diagram for this simulator is illustrated in Figure 1. CRCN simulator enables the interface parameters transmission between different layers, as shown in arrows with blue color. Users just need to replace their own Routing and MAC algorithms according to NS-2 protocol design requirements with the existing one in the CRCN.1.5 2 DESIGN OVERVIEW FOR CRCN2Functionality OverviewPlease note that users need to follow the rules of NS-2 software architecture to design their protocols to fit in this simulator.2.1 SYSTEM REQUIREMENTSThis simulator is based on NS-2 (version 2.31). All codes have been tested in ns-2.31 under Linux environment. To use the GUI provided by this simulator, it is required that your system is installed with java runtime environment (JRE) 6 or above. Also, gnuplot should be installed under Fedora. The GUI is tested under Fedora 4.2.2 DESIGN OVERVIEWTo support simulation in CR wireless network, several new frameworks and functions are added in NS-2 for the functionality provided in section 2. These frameworks and functions are summarized as follows.∙Design Overview for CR Routing∙Design Overview for CR MAC/PHY∙Interaction between the core of CRCN simulator and GUIDesign Overview for CR RoutingUsers create the TCL script to configure the number of radios and channels needed for simulations. The basic idea is to create multiple radios or channels through the TCL library according t o user’s script, which invokes the creation of several copies of LL, queue, MAC, NetIf, and channels for each radio in C++ library. The design overviews are shown through the following figures. The blocks with darker color are modified by CRCN to provide a complete solution.A. Equal number of Radios and channelsFigure 2(a) shows the design for routing when the radio and channel are equals. In this design, the channel is created for each radio.B. Single radio multi-channelFigure 2 (b) shows the design structure for single-radio, multi-channel structures. Multiple channel copies are created for this structure. Although routing algorithms can still use the same design as shown in figure 2 (a) for single-radio multi-channel by checking the radios being used, existing MAC protocols in NS-2 need to be modified to support this checking. On the contrast, by adopting the design shown in figure 2 (b), new introduced routing algorithms for multi-channel, single-radio can use the existing MACs in NS-2 protocol stack, which is convenient to users.C. Unequal number of radios and channelsFigure 2 (c) shows the design structure for multi-radio, multi-channel design with unequal number of radios and channels.Due to the limitation of NS-2 design structure, the interface for routing and MAC algorithms to use the above structures are slightly different. Users can refer to the next following sections for more details.There are some existing works [6][7][9] to enhance the NS-2 to support multi-radio multi-channel based on the design as shown in figure 2. However, there are several disadvantages for this kind of design if we only adopt them for CR simulation, which are listed as follows.∙MAC layer is not aware of multiple channels created for each radio. Channel selection must be made in routing layer instead of MAC layer, which is conflict with most current MAC protocol designs. Thus, additional work is required in MAC to support multiple channels in MAC, which can be found in next section12.∙MAC layer address confliction is introduced by the related works.∙Since channels are created in the same way, these radios and channels have the same radio and spectrum characteristic, which is not sufficient to support thesimulation in heterogeneous CR network.∙The radio and channel number are equal. Some routing and MAC algorithms simulations such as common control channel based algorithms are not supported if we only adopt the previous contribution work alone.Design Overview for CR MAC/PHYThe high level design for MAC share some similar design structures with routing. Since the multi-channel design as shown in Figure 2(a) for routing is transparent to the MAC and PHY layer, to provide MAC and PHY algorithm a multi-channel environment, multi-channel is needed at each radio. The design includes single radio multi-channel and multi-radio multi-channel, which are visible to both MAC and PHY layers. In both designs, multiple channel objects are created through the TCL library. Nodes can be switched to different channel objects during the simulation process.A. Single radio multi-channelFigure 3 shows the high level software design for single radio multi-channel support for MAC and PHY layer. The components with blue color are modified in CRCN to support the functionality required.B. Multi-radio, Multi-channelFigure 4 shows the high level software design for multi-radio multi-channel support for MAC and PHY layer. The components with blue color are modified in CRCN to support the functionality required. This design combines the design shown in Figure 2 (a) and Figure 3.Interaction between the core of CRCN simulator and GUIIn the CRCN simulator, the interaction between the core of CRCN simulator and GUI is enabled through the multi-threading mechanisms. The GUI process creates threads needed for the core of CRCN simulator. And share data area is used for the data sharing between different threads and GUI.Check the link for GUI user guide.2.2 CR ROUTINGThis simulator provides simulation support for channel assignment and CR routing. The functionalities provided are listed as follow.∙Create CR multi-radio/single-radio multi-channel simulation environmentIt includes the creation of radios with homogenous and heterogeneous radio parameters, as well as spectrum with homogenous and heterogeneous propagation property. Here, the radio parameter includes predefined transmission power on each radio.∙Interface for radio and channel decision∙Interference information∙Traffic information∙Channel Utilization informationAlso, a routing implementation example is shown to use the interfaces provided by this simulator. User can replace this example with their CR routing algorithms.The supported functionality for CR routing in this simulator is shown in the diagram as follow in the darker color.Starting from the top, this figure is explained according to the interfaces parameters provided to the user. Details…2.2.1 CREATE MULTI-RADIO/SINGLE RADIO MULTI-CHANNEL ENVIRONMENTSA. Homogenous multi-radio multi-channelThe radios and channels created in this section are homogenous.The homogenous radios and channels are configured through wireless TCL simulation script. According to the relationship between radio number and channel number, CRCN provides three kinds of structures to satisfy different requirements from users: (1) Equal number of radios and channels, (2) Single-radio multi-channel, (3) Unequal number of radios and channels.(1) Equal number of radios and channelsThe API to configure homogenous radios and channels in TCL script is shown in the following four components. These four components need to be added in the simulation script by the user. Please note that if GUI is used to generate the wireless simulation script, this section can be skipped.Through the script created as instructed in this section, the radio is associated with each channel. Only routing layer is aware of each radio/channel. Users can refer to section 2.2.2 Radio and Channel decision for the radio and channel decision.(2) Single-radio multi-channelFor the creation of single-radio and multi-channel, user can refer to the details in CRMAC.The channel decision from the CR routing only need to be stored into the channelindex_, which is newly added in packet header. The lower layer has been modified to support this decision. details in CRMAC:2.3.1 CREATE CR MULTI-CHANNEL ENVIRONMENTSA. Single-radio multi-channelThe following four components should be added by user to create the multi-channel environments. The channels created in this part have identical spectrum parameters. Please note that if you are using GUI provided by this simulator, this section can be skipped.B. Multi-radio multi-channelThe following four components should be added by user to create the multi-radio, multi-channel environments for MAC. The channels created in this part have identical spectrum parameters. Please note that if you are using GUI provided by this simulator, this section can be skipped.2.3.2 CHANNEL/RADIO DECISIONThe channel decision from CR MAC or DSA algorithm should be set through the interfaces provided as follow, which reflects the channel that the receiver is using to receive packet. A new field channelindex_is added into the packet header. After CR MAC or DSA make channelThe code as follow should be added in the sendDown function for wirelessphy. In our design, multiple channel object pointer is used to index the channel object. Hence, it is appropriate to use channel index derived in CR MAC or DSA algorithms to differentiate channel, which helps to achieve conflict free or reduce interference among neighboring nodes. channelindex_ defined in the packet header can carry this information from CR routing, CR MAC or DSA to the wireless physical layer.If user’s MAC is for single-radio and multi-channel network, the above code change is enough to differentiate different channels for MAC protocols. However, users still need to design their own collision avoidance mechanism or DSA according to the NS-2 protocol design structures.If user’s MAC is for multi-radio and multi-channel network, codes related to the radio selection is needed besides the channel decision code as above. Depending on the usages of each radio, users need to add code in the MAC to differentiate what current radio is for. For example, if each node has 2 radios: radio 1 is assigned to common control channel; radio 2 is assigned to data channel. In user’s code for MAC, user need to restrict the radio 1 only handle the control packets, and radio 2 only handle the data packets. To provide flexibility for this simulator, we do not add any restrictions for the multi-radio, multi-channel MAC. Users also need to choose appropriate routing protocol for their multi-radio, multi-channel MAC. To differentiate the current radio from one another, users can just use the index_, which is declared in Mac.2.3.3 TXPOWER DECISIONPacket will be transmitted using the default transmission power if transmission power is not specified in simulation script. However, as CR MAC and DSA algorithms may control the txpower over each channel to control the interference to primary users or nearing neighbors, it is necessary to provide an interface, which can control the txpower during the simulation.The DSA algorithm can be implemented in the following functions, which are in bold.Then, add the following interface for controlling the maximum transmission power and obtaining DSA power decision. Please note that other physical layer can be modified in the similar way.To determine the txpower, the DSA algorithms need to know the identity of sender and receiver. In some DSA algorithms (such as game based), sender and receiver has negotiated the channel decision, and thus the power control algorithm compute the txpower over the negotiated channel.2.3.4 INFORMATION NEEDED BY CR MACA. Interference informationThe interference information is associated with each node over each channel. Several kinds of interference information are provided: (1) Channel that has minimum interference, (2) Current interference value over a specific channel, and (3) Historical interference information. Users can use the corresponding API into their algorithm to obtain the information.(1)Channel that has minimum interferencesInterface for obtaining channel number with minimum interference around one node. Use the following method to obtain channel number which has minimum interference.(2)Current interference value over a specific channel.Use the following method to obtain interference value. Please note the interference value is sometimes too small and you may need to scale it by some factor to see the result.(3)Historical interference informationTo obtain the historical information of node i, the following option to select whether to record interference on node i should be added in simulation script by the user.If this option is added, the interference information about node i is provided. If using GUI, the interference information for all nodes is provided by default.Besides obtaining the channel with minimum interference, the interference information over each channel around can be obtained through the ITfile generated by the simulator. The format of the ITfile is as follow. User can obtain their information through ITfile according to this format.B. NoiseTCL command for setting noise for physical layer is as follow. This should be added in the simulation script if you want to define the noise.C. Traffic informationFor intelligent based MAC, it is necessary to use the sensing traffic information to predict the future traffic information in the neighborhood, and derive the best user strategy. The interface this simulator providing are in the two formats (1) obtaining the current traffic information (2) obtaining the historical traffic information.(1)Obtaining the current traffic informationUse the following function in bold to obtain traffic information.Users can access this function through the pointer to mobilenode. For example, in the MAC for 802.11, users can access traffic information like this way.(2)Obtaining the historical traffic informationThe historical traffic information is stored in the Trafficfile. User can obtain this information based on the format provided.D. Packet based primary user detectionAs MAC/DSA algorithms may need to know the existence of primary user, we also introduce how to implement the packet based primary user detection. The primary user sends out a primary user packet to indicate its existence. Other users that receive this packet can distinguish the existence of primary user from this packet. The primary user packet is controlled by a broadcast timer. As the primary user packet can collide with normal data packet, thus the sending and controlling of this packet should be done in the MAC layer.The primary user mechanism is implemented in the Macngenhanced module. User can add the similar code in other MAC protocol. Here is just an example. User need to define whether to send the packet according to movements of primary user or use timer to control.The packet module is modified to contain information about primary user. A new broadcast timer primaryusertimer is added in MAC to control the broadcast of this packet. The sendprimaryuserpacket is added to send primary user packet. The recv function is changed to handle the primary user packet. User can refer to Macngenhanced for more detail.(3)Unequal number of radios and channelsIf user wants to have unequal number of radios and channels, user can refer to the CR MAC detail 2.3.1(Part B. multi-radio, multi-channel) about how to create the TCL script. The channel created as in 2.3.1 can be visible to both routing and MAC layer. Here is an example script. Users should refer to section 2.2.2 about how to use the interface provided for radio and channel decision.B. Heterogeneous multi-radio and multi-channelSimilar to the creation of homogenous radios and channels, heterogeneous radios and channels are created through wireless simulation script. The following four components should be added into the simulation script by the user.In the example above, add-channel-new-phy is the newly added API. 0is the radio number. $chan_(1)is the channel object created in component 2. 0.4 is the transmission power of this channel. Propagation/FreeSpace is the propagation method of this channel, which is used to simulate the possible wireless environment. The transmission power and propagation method can be set to default if you want to use the default value provided by NS-2.2.2.2 Radio and channel decisionA. Radio decisionIn the routing modules, radio decision can be stored in the routing entry such as the rt->rt_if fieldin AODV routing packet header. When your routing protocol is going to send down the packet, the following code should be added. Example for modifying the routing module can be found in here.Downtarget array targetlist is created when the node is configured in TCL script. rt->rt_if is the radio decision specified by the routing packet.The way to handle radio decision is the same for all of the three structures defined in section 2.2.1.B. Channel decisionEqual number of radios and channelsWhen the radio and channel are created as in 2.2.1 A, channel is tied with each radio, thus, the radio decision is equal to the channel decision in this case.Single radio multi-channelFor single radio multi-channel or the channels that are only visible to MAC layer, user need to follow the method in Single-radio and multi-channel for the creation of TCL script. The channel decision from the CR routing only need to be stored into the channelindex_, which is newly added in packet header. The low layer has been modified to support this decision.Unequal number of radios and channelsThe channel decision should be specified by routing algorithms through the channelindex_of packet header. The low layer has been modified to support this decision. The design structure for single radio multi-channel and this part shares the common design at low layer.2.2.3 INFORMATION NEEDED BY CR ROUTING AND CHANNEL ASSIGNMENTA. Interference informationThe interference information is associated with each node over each channel. Several kinds of interference information are provided: (1) Channel that has minimum interference, (2) Current interference value over a specific channel, and (3) Historical interference information of a specific channel.To access the above information, routing module should have a pointer which points to the current node object. The code highlighted in bold in components 1 to 4, which are illustrated through AODV routing protocol, should be added in your routing module.If this option is added, the interference information about node i is provided. If the script is created through GUI, the interference information for all nodes is provided.After adding the components as shown above, the interference information can be obtained as follows.(1)Channel that has minimum interferencesInterface for obtaining channel with minimum interference around one node.(2)Current interference value over a specific channelUse the following method to obtain interference value. Please note the interference value is sometimes too small and you may need to scale it by some factor to see the result. This(3)Historical interference informationBesides obtaining the channel with minimum interference, the interference information over each channel around can be obtained through the ITfile generated by the simulator. The format of the ITfile is as follow. User can obtain their information through ITfile according to this format.B. NoiseTCL command for setting noise for physical layer is as follow. This should be added in the simulation script if you want to define the noise.With the noise information and interference information, user can change the physical layer of NS-2 to use SINR/SNR reception model according to their needs.C. Traffic informationFor CR routing, it is necessary to use the sensing traffic information to predict the future traffic information in the neighborhood, and derive the best user strategy. The interface this simulator providing are in the two formats (1) obtaining the current traffic information (2) obtaining the historical traffic information.User can access this function through the pointer to Mobilenode as in 1.4.3.A. For example, in the(2)Obtaining the historical traffic informationThe historical traffic information is stored in the Trafficfile. User can obtain this information based on the format provided.D. Channel UtilizationFor some CR routing algorithms, they may need the channel utilization for routing decision. For users who need channel utilization information, users need to add the following codes in the MAC layer they are using.Step3: Add the timer definitions in the MAC class you are using.After finishing the above steps, users are able to obtain two kinds of channel utilization information: (1) Current channel utilization information (2) Historical channel utilization information.(1)Current channel utilization informationThe current channel utilization information can be obtained through function getChanUtil() defined in class Macxx. User can obtain this information based on the format provided.(2)Historical channel utilization informationThe historical channel utilization information is stored in Chanfile. User can obtain this∙CRR(Channel decision/Radio selection/Route selection decision)CR Routing includes channel decision, radio selection, and route selection decision.∙Channel decision includes channel number and transmission power on the selected channel.∙Radio selection means which radio to use.∙Route decision means which path for packet forwarding.These decision need to be sent down to the lower layer through the multi-channel, multi-radio/single-radio support module provided by CRCN, which is included in the diagram with darker blue color.∙STICR( Spectrum Utilization information, Traffic information and Interference information from the Channel and Radio selected by CR Routing)The lower layer collects the information needed by CR Routing and sends the information to the upper layers. The information needed by CR Routing includes spectrum utilization information, traffic information, and interference information. The information is processed at the Traffic estimation/Spectrum utilization estimation/Interference estimation functional block provided by CRCN.2.2.1 CREATE MULTI-RADIO/SINGLE RADIO MULTI-CHANNEL ENVIRONMENTSA. Homogenous multi-radio multi-channelThe radios and channels created in this section are homogenous.The homogenous radios and channels are configured through wireless TCL simulation script. According to the relationship between radio number and channel number, CRCN provides three kinds of structures to satisfy different requirements from users: (1) Equal number of radios and channels, (2) Single-radio multi-channel, (3) Unequal number of radios and channels.(1) Equal number of radios and channelsThe API to configure homogenous radios and channels in TCL script is shown in the following four components. These four components need to be added in the simulation script by the user. Please note that if GUI is used to generate the wireless simulation script, this section can be skipped.Through the script created as instructed in this section, the radio is associated with each channel. Only routing layer is aware of each radio/channel. Users can refer to section 2.2.2 Radio and Channel decision for the radio and channel decision.(2) Single-radio multi-channelFor the creation of single-radio and multi-channel, user can refer to the details in CRMAC.The channel decision from the CR routing only need to be stored into the channelindex_, which is newly added in packet header. The lower layer has been modified to support this decision.(3)Unequal number of radios and channelsIf user wants to have unequal number of radios and channels, user can refer to the CR MAC detail 2.3.1(Part B. multi-radio, multi-channel) about how to create the TCL script. The channel created as in 2.3.1 can be visible to both routing and MAC layer. Here is an example script. Users should refer to section 2.2.2 about how to use the interface provided for radio and channel decision.B. Heterogeneous multi-radio and multi-channelSimilar to the creation of homogenous radios and channels, heterogeneous radios and channels are created through wireless simulation script. The following four components should be added into the simulation script by the user.In the example above, add-channel-new-phy is the newly added API. 0is the radio number. $chan_(1)is the channel object created in component 2. 0.4 is the transmission power of this。
2011 IEEE 22nd International Symposium on Personal, Indoor and Mobile Radio CommunicationsCognitive Radio Implementation in ISM Bands with Microsoft SORA∗ DepartmentJitin Bajaj∗ , Wooseong Kim∗ , Soon Y. Oh† and Mario Gerla∗of Computer Science, University of California, Los Angeles, USA Email: {jbajaj,wooseong, gerla}@ † UtopiaCompression Corp. 11150 Olympic Blvd. Suite 820 Los Angeles, CA 90064 Email: soon@Abstract—Cognitive radio network research has mostly focused on licensed spectrum sensing and empty spectrum use while protecting licensed band primary users. However, the wide deployment of WiFi access points in unlicensed bands in urban areas brings difficult challenges regarding co-existence of ad hoc mobile users with residential access points. In this paper, we propose a new mobile user protocol for dynamic channel selection via channel workload estimation. The mobile node senses channel usage in unlicensed ISM band and selects the maximum residual capacity channel for own packet transmission. The new protocol is implemented on Microsoft’s SORA software defined radio system that enables fast prototyping. We have evaluated the performance using a Campus deployed SORA testbed. Experimental results show the efficiency of our approach in avoiding external interference. Index Terms—Software defined radio, Cognitive radio, Spectrum sensingI. I NTRODUCTION As smart mobile devices have become prevalent, WiFi network usage has increased multifold. Many public places now provide free WiFi services and lots of wireless routers have been installed in offices and residencies. Thus, unlicensed bands where 802.11 a/b/g WiFi operates are always heavily loaded. This creates critical challenges for mobile users who want to set up a temporary MANET in an urban environment to support short lived applications such as video streaming among vehicles in a motorcade [1] or P2P content sharing among smart phone users. As mobile P2P applications (as opposed to traditional client server applications that access the Internet) are becoming increasingly popular, the coexistence of mobile P2P users and Infrastructure WiFi users (thereafter called “primary” users) is becoming problematic. However, in reality, wireless channel usage is concentrated in only a fraction of the channels in unlicensed ISM bands (i.e., 2.4.GHz and 5GHz) as shown in Figure 8. Some heavy traffic loaders capture those channels and many wireless APs in the same area are using the same channels. In other words, channels are poorly utilized and interference occurs even though there are unused channels. If traffic were fairly distributed over the multiple channels, channel utilization would significantly improve and the unlicensed ISM band congestion problem would be mitigated. Mobile users can exploit this inefficient distribution to their advantage, as discussed next.Conventional cognitive radios have been proposed and standardized in IEEE 802.22 WRAN [2] to utilize “empty spectrum holes” in licensed spectrum bands, namely TV bands, without interrupting licensed users or primary users [3]. However, we have proposed novel cognitive networks such as CoCast [1] and CoRoute [4] that exploit cognitive radios to find empty channels in ISM bands instead of scavenging the white spaces in such licensed bands. To achieve more even load distribution, they dynamically select the proper channel with low or no traffic among multiple channels by ISM band scanning. We have evaluated their performance gain in terms of scalability and capacity via simulation and modeling studies in [1], [4]. However, the practical issue remains that ISM band cognitive radio systems have not yet been developed and tested. Therefore, to extend the previous research, in this paper we examine the feasibility of intelligent channel sensing and selection in ISM band. Namely, we design and develop a cognitive wireless network system using WiFi radio in ISM band that allows nodes to sense the channel and to calculate channel workload (i.e., channel utilization). During fixed time intervals, a node measures signal power level for the received samples and classifies it as a busy sample if the power level exceeds a given threshold; or as an idle sample otherwise. Finally, workload is estimated by the number of busy samples over the total number of samples. We have implemented this system in a Software Defined Radio (SDR) that is fully programmable and ran multiple experiments to verify its performance. The contribution of this paper is two-fold: First, we develop intelligent channel sensing using received energy level measurements and workload calculations in an SDR system. Thus, we prove the feasibility of cognitive radio systems in ISM bands. Next, we experimentally prove that ISM band is not fully utilized and propose a solution that efficiently utilizes ISM band channels exploiting channel sensing and intelligent channel selection. The remainder of this work is organized as follows: Section II describes the SORA platform and Section III explains channel sensing and selection algorithm and the implementation details. Evaluation results are shown in section IVand Section V reviews the related works. Section VI concludes the paper.978-1-4577-1348-4/11/$26.00 ©2011 IEEE531II. SORA STRUCTURE SDR is a radio communication system in which elements are implemented by means of software instead of hardware, e.g., modulators and demodulators, amplifiers, filters, mixers, etc. It allows users and applications to access software physical or link layer, which have been primarily implemented on fixed and customized hardware circuits, and thus enables users to develop protocols easily. Such instant protocol implementation is not possible with traditional radio devices. Furthermore, SDR enables users to modify or to develop lower layers, e.g., link and physical layer protocols while it is a very complicated and difficult process to modify lower layers with traditional radio devices. Because of flexibility and interoperability, SDR starts to replace complex radio communication systems such as Join Tactical Radio Systems (JTRS) program in the US military. Most current SDR platforms are based on either programmable hardware such as Field Programmable Gate Arrays (FPGAs) or embedded Digital Signal Processors (DSPs). Such hardware platforms are able to satisfy the processing and timing requirements of modern high-speed wireless protocols, but there is limitation due to difficulty in FPGAs and DSPs programming. In contrast, SDR platforms based on generalpurpose processor (GPP) architectures, such as commodity personal computers (PCs), provide simple and familiar developing environment and easy-to-use tools to developers. However, existing GPP based SDR platforms only achieve limited performance due to PC hardware constraints (e.g., delayed wireless signal processing). Microsoft SORA is a GPP based SDR and thus it is comfortable to use while it is as powerful as FPGA and DSP based SDRs. We use the SORA SDR system to implement the ISM band cognitive radio system. Figure 1 illustrates the overall architecture of the SORA system. Software Radio Stack (that is left-hand side of the figure 1) is part of the PC and it consists of CPU and memory. The right-hand side of the figure 1 illustrates an RF front-ends. The PC and the RF front-ends are connected through a Radio Control Board (RCB) that is attached to the PC via a PCI-E interface and reads/writes digital signal samples from/to PC memory using Direct Memory Access (DMA). The RCB and the RF front-end board are connected by SORA Fast Radio Link (SoraFRL) where a protocol for the control of the RFend board is defined. Thus, any RF boards that are compatible with the RCB must implement SoraFRL [5], [6]. Figure 2 describes the user and kernel mode structure of SORA. A low-level RCB driver and a set of programming libraries provide SORA services. The RCB driver (i.e., Radio Control Board Driver in figure 2) manages RCB hardware resources in order to transmit and receive data. In addition, the driver controls the RF front-end connected to the RCB. Network applications, i.e., user-mode programs and kernel mode application drivers, access RCB and RF front-end resources via APIs provided by SORA SDK. Say, the kernel application drivers use SORA Core API (i.e., kernel mode API) and the user-mode applications use SORA User-mode Extension API.Fig. 1: SORA overall system architecture figure from [6].Fig. 2: SORA user and kernel mode architecture figure from [6]. Figure 3 depicts a typical SORA SDR application driver architecture that implements the IEEE 802.11 radio structure. The SORA application driver normally acts as a virtual Ethernet driver located under the Windows NDIS framework. Thus, upper layers, for example TCP/IP, view it as a normal Ethernet card so that no modification of existing network applications is required while using SDR network. Link, MAC, and physical layer should be implemented on the SORA application driver. The link layer converts and encapsulates frames. For instance, if a user wants to implement 802.11 on SORA, Ethernet frames for upper layers must be converted to 802.11 frames before sending and after receiving at the link layer. The MAC layer operates according to a finite state machine (FSM) to handle media access. To support users’ MAC programming, SORA provides FSM APIs. The physical layer (PHY) includes all baseband signal processing implementations that support modulation, demodulation, channel estimation, channel coding, etc. SDR_CONTEXT (lefthand side in figure 3) provides cross-layer message passing over layer boundaries. It has pointers to other required data structures and is typically used as the sole parameter for many SORA library APIs. III. SPECTRUM SENSING AND CHANNEL SELECTION Most of the researches on cognitive radios have focused on spectrum sensing, spectrum management, and interference prediction in the TV bands. To support the opportunistic type532Fig. 4: Energy detection mechanism in time domain.Fig. 5: Energy detection mechanism in frequency domain. signals and sine waves, compare to the frequency domain mechanism. In these mechanisms, the decision statistics for energy detection can be represented,N −1Fig. 3: SORA application driver figure from [6]. of channel access in licensed bands, channel sensing is a very crucial functionality. Furthermore, various licensed users have different spectrum assignments and access policies (i.e., different power level, modulation schemes, various propagation environments, etc) so that high quality spectrum sensing devices and algorithms are required. Several different spectrum sensing techniques have been proposed in literatures and have been implemented in experimental and commercial systems. Among them [7], we mention: • Energy Detection: it measures RF energy or RSSI to test occupancy of a channel. It is simple to implement and does not depend on the prior knowledge of primary signal. However, it cannot distinguish between primary signal and other secondary users without quiet period among secondary users. • Matched Filter : it compares a known signal or template with received signals to detect the present of primary users. It has low computational cost, but a prior knowledge, i.e., primary user signal information, is required. • Cyclostationary Feature Detection: it distinguishes primary user signal from noise using periodicity within the modulated signal. The detection is robust to random noise and interference, but it incurs high computation cost. • Wavelet Detection: it models the entire wideband as a train of consecutive frequency sub-band and then detects the primary signal. This scheme also requires high computation and high sampling rates. Among these techniques, we employ energy detection for SORA implementation since it is simple and does not require prior knowledge of primary signal. The implemenation is based on Neyman-Pearson approach [8]. The detector compares the calculated energy of the received signal and threshold value and decides whether external traffic exists [9]. The energy detection mechanism is represented by both time (i.e., figure 4) and frequency domain (i.e., figure 5). Both mechanisms employ Nyquist sampling A/D converter, squarelaw device and integrator, but the time domain mechanism requires a pre-filter matched to the bandwidth of the signal. Theoretically, results from both schemes should be the same, but in the time domain mechanism, the pre-filter implementation makes the method inflexible, particularly for narrowbandT=n=0∑ |x(n)|2(1)where n is the number of the samples, such as n = 0, 1, 2, . . . , N − 1, N . The decision of energy detection is the test of the following two hypotheses. H0 : x[n] = w[n] (2) H1 : x[n] = s[n] + w[n] (3)w[n] is assumed additive, white and Gaussian noise (AWGN) and s[n] is external signal. In here, H0 is null hypothesis that represents the received signal has only noise while H1 means that the received signal comprises of signal and noise. Say, formula (2) indicates signal absent and thus the decision value from formula (1) is smaller than the threshold value γ : otherwise, signal is present and the decision value is larger than the γ . Based on channel sensing information, channel workload is calculated. To do this, nodes periodically perform channel sampling and use the sensing results as a key input metric for channel workload calculation. If the sample satisfies formula (3), it is a busy sample; otherwise, it is idle. The channel workload is calculated as a ratio of the samples measured above threshold and total number of samples counted as follows: w(c) = Number o f busy samples Total number o f samples monitored (4),where c is channel and workload is denoted as w(c). The channel sensing is done in two different modalities. First is full scanning where nodes scan all channels and record a channel workload history, which keeps track of the amount of workload measured in each channel. It is repeated periodically over a long interval in order to reduce scanning overhead. Next one is in-band scanning where nodes scan and update workload only for the channel that nodes select for communication, which is performed more frequently. These sensing modalities are illustrated in the Figure 6. At the beginning of each sensing period, a node performs the full spectrum sensing over all n channels (i.e., n = 11 for 802.11b/g) and updates the channel workload history. Based533Fig. 6: Spectrum Sensing CyclesFig. 8: Average Workload that is averaged over 9 full spectrum scan cycles with scan time for a single channel 4 seconds. node 1 runs the channel sensing and selection algorithm while node 2 and node 3 mainly act as traffic generators to create interference. In the first experiment, we measure channel workload in a normal university laboratory environment at night with minimal external interference and without any artificial traffic generation. Channels are sensed during nine full spectrum scans; a single channel is scanned for 4 seconds. Channel workload is averaged in terms of percentage of channel busy time and it is reported in Figure 8. Channels 2 (2.417 GHz), 3 (2.422 GHz) and 4 (2.427 GHz) have over 10% channel workload and Channels 1 (2.412GHz), 5 (2.432 GHz) and 6 (2.437GHz) are fairly medium loaded while Channels 7 (2.442 GHz), 8(2.447 GHz), 9 (2.452 GHz), and 10 (2.457 GHz) have very low workload in most of the experiments. The reason of low overhead is that most desktops in the lab are using the wired network and there were only a few students in the lab at nighttime when the workload was measured. Next, to verify the workload estimation accuracy, node 2 and 3 start generating traffics, i.e., 30%, 50%, and 70% workload, using Iperf. To remove interference from outside of the experiment, we use channel 8, which has 0.028% workload during the previous experiment, and node 1’s channel is fixed to channel 8. The values are averaged over seven full spectrum scanning in which single channel is sensed for 3 seconds. Figure 9 presents averaged workload measured at node 1. It estimates 28.2%, 40.5% and 59.7% workload respectively so that 2 ∼ 10% errors occur. While traffic increases, workload calculation error becomes larger. Now interference is fixed at 50% on channel 8 and workload is measured during eight full spectrum scans with 3 second single channel sensing. Calculated workload is always less than the actual value as shown in Figure 10. Measured minimum, average, and maximum values are 36%, 40.5%, and 48%, respectively. Figure 11 reports measured workload in terms of different scan times for a single channel. 50% workload traffic is generated on channel 8 and workload is averaged over eight full spectrum scanning cycles while single channel scan times varies 2, 3, and 4 seconds. When the single channel scanFig. 7: MAC Finite State Machine on the calculated channel workload, the node selects the best channel cbest for communication, where cbest = argminc w(c). The node continuously monitors and computes the channel workload of cbest . If its workload increases and thus the minimum workload channel is changed, the node switches its own channel. This process is illustrated in Figure 6. First, the minimum workload channel is channel 10, but after time t , the best channel switches to channel 2. Now the node moves to the new channel, that is channel 2. Aforementioned sensing scheduling, full sensing with long interval and in-band sensing with short interval, can reduce overhead, but it decreases workload calculation accuracy. A node is not able to keep up with the workload changes in other channels so that it is not easy that the node finds the minimum workload channel on the fly. To mitigate this problem, the full sensing period and the threshold must be carefully adjusted. In addition, cooperative sensing, where nodes exchange sensing information with each other, is also desirable to get other spectrum sections’ workloads and to avoid channel selection conflicts. Figure 7 briefly describes channel sensing and selection process via FSM (Finite State Machine) at MAC. The system starts at the CHannel Sensing and Selection (CHSS) state where full spectrum sensing is performed and after completing the sensing, a node selects the best channel. After then, a node reaches the Carrier Sensing (CS) state and normal communication is proceeding on the selected channel. Upon reaching timeout, a node goes back to the CHSS state to repeat full channel scanning. IV. E VALUATION We have implemented the energy detection and workload calculation algorithm on a Microsoft SORA. Our implementation is added on top of SORA standard 802.11 b/g implementation so that it is compatible with normal 802.11 b/g interfaces. To evaluate our implementation, we use a small testbed consisting of three SORA nodes. During experiments,534Fig. 9: Average Measured Workload v/s Actual Workload for single channel scan time 3 seconds.tion pairs using control messages while SSCH uses channel hopping sequence to have a rendezvous channel with neighbor nodes to exchange packets in certain time slot. CoCast (Cognitive Multicast) [1] and CoRoute (Cognitive Unicast) [4] are two realizations of cognitive ad hoc networks, in which each node dynamically selects the most effective channel among multiple channels based on channel sensing. They have a common control channel as a time slot or a designated spectrum to exchange channel information among nodes. We have run a CoCast simulation experiment with 100 vehicles, 2Mbps WiFi channels. In this experiment, delivery ratio (packets received / packet sent) results report performance gain from 35% to 75% compare to conventional routing protocol, ODMRP, in a mobile environment. CoRoute also shows 30% improvement in terms of delivery ratio using a cognitive approach. VI. C ONCLUSION This project highlighted the importance of software defined radios for wireless networking research. We have used Microsoft SORA radios, arguably the state-of-the-art platforms based on GPPs. We designed and implemented Intelligent Spectrum Sensing and channel selection based on a channel workload calculation algorithm. Results were very encouraging and show great promise for ad-hoc networks. The next step will be to coordinate the best channel information between various SORA nodes. This will enable us to measure the throughput performance gains of our cognitive protocol. In the future, we also plan to test the spectrum sensing protocol for VANET environment. Finally, a more extensive evaluation may reveal additional information that can be used for further optimization of the protocol. R EFERENCES[1] W. Kim, S. Oh, and M. Gerla, “Cocast: Multicast in mobile ad hoc network using cognitive radio,” in in Proc. of IEEE MILCOM, 2009. [2] “Ieee 802.22 wg on wireless regional area networks,” in /22/, 1999. [3] J. Mitola and G. Q. Maguire, “Cognitive radio: Making software radios more personal,” IEEE Personal Communications, vol. 6, no. 1, pp. 13– 18, 1999. [4] W. Kim, S. Oh, K. Lee, and M. Gerla, “Coroute: A new cognitive anypath vehicular routing protocol,” in in Proc. of IEEE IWCMC, 2011. [5] K. Tan, H. Liu, J. Zhang, Y. Zhang, J. Fang, and G. M. Voelker, “Sora: high-performance software radio using general-purpose multi-core processors,” Commun. ACM, vol. 54, pp. 99–107, January 2011. [Online]. Available: /10.1145/1866739.1866760 [6] “Microsoft sora manual,” in /apps/pubs, 2009. [7] V. K. Bhargava and E. Hossain, Cognitive Wireless Communication Networks. Secaucus, NJ, USA: Springer-Verlag New York, Inc., 2007. [8] S. Kay, Statistical Signal Processing, Detection Theory. Prentice Hall, 1998. [9] S. Maharjan, K. Po, and J. ichi Takada, “Energy detector prototype for cognitive radio system,” IEICE Technical Report, SR2007-52, vol. 107, no. 352, pp. 43–48, 2007. [10] J. So and N. Vaidya, “Multi-channel mac for ad hoc networks: handling multi-channel hidden terminals using a single transceiver,” in In Proc. of ACM MOBIHOC, 2004. [11] P. Bahl, R. Chandra, and J. Dunagan, “Ssch:slotted seeded channel hopping for capacity improvement in ieee 802.11 ad-hoc wireless networks,” in In Proc. of ACM MOBICOM, 2004.Fig. 10: Workload of different spectrum scan cycle and average workload. Red color bars are average value of 8 full scans and green bars are value of each scan cycle.Fig. 11: Average Measured Workload v/s Single channel scan times for an actual workload of 50% time is 4 seconds, measured workload is 42% so that 8% error exists. However, when scan time reduces to 2 seconds, deviation increases to 12.6% and thus measured workload becomes 37.4%. As we expected, longer sensing time increases workload accuracy. However, still calculated workload is always less than actual value. V. R ELATED W ORK Channel diversity to increase the capacity of wireless networks with a single radio (e.g., MMAC [10] or SSCH [11]) requires channel synchronization among nodes; for example, MMAC exchanges channel information between communica-535。