CN102667742A - 用于软件定义无线电平台的无线电控制板 - Google Patents

用于软件定义无线电平台的无线电控制板 Download PDF

Info

Publication number
CN102667742A
CN102667742A CN2010800439409A CN201080043940A CN102667742A CN 102667742 A CN102667742 A CN 102667742A CN 2010800439409 A CN2010800439409 A CN 2010800439409A CN 201080043940 A CN201080043940 A CN 201080043940A CN 102667742 A CN102667742 A CN 102667742A
Authority
CN
China
Prior art keywords
data
lvds
rcb
message
sdr
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.)
Granted
Application number
CN2010800439409A
Other languages
English (en)
Other versions
CN102667742B (zh
Inventor
谭尡
张健松
张永光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102667742A publication Critical patent/CN102667742A/zh
Application granted granted Critical
Publication of CN102667742B publication Critical patent/CN102667742B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • H04B1/0007Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain wherein the AD/DA conversion occurs at radiofrequency or intermediate frequency stage

Abstract

无线电控制板使用消息协议,通过包括单独的数据和控制通道的接口,与射频(RF)前端交换数据。也可以通过该接口传递用于调节时钟相位的训练数据。

Description

用于软件定义无线电平台的无线电控制板
背景
软件定义无线电(SDR)遵守完全可编程无线通信系统的承诺,有效地代替常规的无线电技术,常规的无线电技术通常具有主要在固定的、自定义硬件电路中实现的最低通信层。然而,在实践中实现SDR的承诺给开发人员带来了难题。许多当前的SDR平台基于诸如现场可编程门阵列(FPGA)或者嵌入式数字信号处理器(DSP)之类的可编程硬件。这样的硬件平台可以满足现代高速无线协议的处理和计时要求,但是,编程FPGA和专用DSP是一项艰难的任务。例如,开发人员必须了解如何对每一特定的嵌入式体系结构编程,常常没有编程和调试工具的丰富的开发环境的支持。另外,这样的专用硬件平台也可能是昂贵的,例如,是基于诸如通用个人计算机(PC)之类的通用处理器(GPP)体系结构的SDR平台的成本的至少几倍。
另一方面,使用通用PC的SDR平台使开发人员能使用有很多完善的编程和调试工具可用的熟悉的体系结构和环境。此外,当与使用专用的硬件的SDR平台相比时,使用通用PC作为SDR平台的基础相对来说比较便宜。然而,使用通用PC的SDR平台相对于上文所讨论的专用体系结构通常具有一些相反的缺点。例如,由于PC硬件和软件没有被专门设计用于无线信号处理,因此,常规的基于PC的SDR平台只能实现有限的性能。例如,某些常规的基于PC的SDR平台通常在8MHz通道上只实现几个Kbps的吞吐量,而诸如802.11之类的现代的高速无线协议却能在宽得多的20MHz通道上支持多个Mbps数据速率。如此,当在现实世界的环境中使用标准操作系统和应用程序时,这些性能约束妨碍了开发人员使用基于PC的SDR平台来实现最先进的无线协议的完全保真度。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征;也不旨在用于确定或限制所要求保护的主题的范围。
此处的某些实现提供了能够耦合到通用计算设备的系统总线的无线电控制板(RCB)。RCB还可以包括允许使用消息交换协议以便在RCB和射频(RF)前端之间交换数据的接口。
附图说明
参考附图阐述具体实施方式。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。
图1示出了根据此处所公开的某些实现的示例性体系结构。
图2示出了根据某些实现的计算设备的示例性硬件和逻辑配置。
图3示出了根据某些实现的示例性无线电控制板和RF前端的表示。
图4示出了根据某些实现的示例性DMA存储器访问。
图5示出了根据某些实现的示例性逻辑配置。
图6A示出了根据某些实现的算法优化表。
图6B示出了根据某些实现的优化的PHY块。
图6C示出了根据某些实现的优化的PHY块。
图7A示出了根据某些实现的用于SIMD(单指令多数据)处理的示例性存储器布局。
图7B示出了根据某些实现的用于SIMD处理的示例性过程的流程图。
图7C示出了根据某些实现的示出了使用查找表的处理的示例性图。
图7D示出了根据某些实现的使用查找表的示例性过程的流程图。
图8A示出了根据某些实现的示例性同步先进先出(FIFO)缓冲器。
图8B示出了根据某些实现的生产者的示例性过程的流程图。
图8C示出了根据某些实现的消费者的示例性过程的流程图。
图9A示出了根据某些实现的SDR的示例。
图9B示出了用于排他地在一个或多个核上执行SDR处理的示例性过程。
图10示出了根据某些实现的示例性MAC处理。
图11示出了根据某些实现的示例性软件频谱分析仪。
图12示出了根据某些实现的示例性RCB接口。
图13示出了根据某些实现的示例性连接器。
图14示出了根据某些实现的示例性数据消息。
图15示出了根据某些实现的示例性控制消息。
图16示出了根据某些实现的示例性接口和协议。
图17示出了根据某些实现的示例性LVDS连接器布局。
图18示出了根据某些实现的另一示例性LVDS连接器布局。
具体实施方式
概览
此处所公开的各实现呈现了能够在通用计算设备(包括个人计算机(PC)体系结构)上实现的完全可编程软件定义无线电(SDR)平台和系统。此处的SDR的各实现组合了基于专用硬件的SDR平台的性能和保真度与通用处理器(GPP)SDR平台的可编程性和灵活性。此处的SDR的各实现使用硬件和软件技术两者来解决为高速SDR平台使用通用计算设备体系结构所面临的挑战。在此处的SDR的一些实现中,硬件组件包括用于射频(RF)接收和发射的无线电前端,用于在无线电前端和计算设备上的存储器和处理器之间的高吞吐量且低延迟数据传输的无线电控制板(RCB)。
此外,此处的SDR的各实现还使用硬件和软件技术两者来解决为实现高速SDR而使用通用计算设备体系结构所面临的挑战。各实现还涉及与用于发射和接收的射频(RF)前端耦合的便宜的无线电控制板(RCB)。RCB通过高速且低延迟PCIe(外围组件互连快捷)系统总线来桥接RF前端与计算设备的存储器。通过使用PCIe总线,RCB的某些实现可以支持带有亚微秒延迟的16.7Gbps吞吐量(例如,在PCIe x8模式下),一起满足了现代无线协议的吞吐量和计时要求,而同时使用通用计算设备的处理器和存储器来执行数字信号处理。此外,尽管此处的示例使用了PCIe协议,但是,也可以可另选地使用其他高带宽协议,诸如,例如,HyperTransportTM协议。
RCB的体系结构可包括用于将RCB连接到RF前端的高速度接口,来实现RCB和RF前端之间对应于RF信号的数据的通信。各实现提供了有效的消息传递协议,该协议可包括使用用于分别在RCB和RF前端之间传递编码数据消息和控制消息/ACK的单独的专用数据和控制通道。各实现还提供了用于在RCB和RF前端之间传递相应的状态和时钟信号的单独的专用状态和时钟通道。在一些实现中,RCB和RF前端之间的接口是用于提供高速数据传递的LVDS(低压差分信号)接口。此外,可以使用训练或调节模式来优化RCB和RF前端之间的接口和协议定时,以便根据时钟信号的相位来调整定时数据访问。
另外,此处的SDR的各实现利用多核处理器体系结构的特征来加速无线协议处理并满足协议计时要求。例如,此处的各实现可以使用专用的CPU核,存储在大型低延迟高速缓存中的查找表,以及SIMD(单指令多数据)处理器扩展来在通用多核处理器上实现高效物理层处理。此处所描述的某些示例性实现包括SDR,该SDR无缝地与商用802.11a/b/g网络接口控制器(NIC)进行互操作,并在多个不同的调制中实现相当于商业的NIC的性能。
此外,某些实现还涉及完全可编程的软件无线电平台和系统,该平台和系统在通用计算设备上提供专用SDR体系结构的高性能,从而为开发人员解决了SDR平台难题。通过使用此处的SDR的各实现,开发人员可以使用通用计算设备,来实现并试验高速无线协议堆栈,例如,IEEE 802.11a/b/g/n。例如,通过使用此处的各实现,开发人员能够在标准操作系统上利用强大的编程和调试工具,在熟悉的编程环境中进行编程。此处在SDR上实现的软件无线电可以像任何其他网络设备显现,用户能够在此处的软件无线电上运行未经修改的应用程序而同时实现类似于商品硬件无线电装置的性能。
另外,为符合物理层(PHY)处理要求,此处的SDR的各实现利用常见的可用通用处理器中的多核体系结构的各种特征。此处的SDR的各实现还包括显式地支持流线型处理来使得信号处理管道的组件能高效地横跨多个核的软件布局。例如,此处的各实现改变PHY组件的常规实现,以广泛地利用查找表(LUT),从而以存储器代替计算,从而导致处理时间缩短,性能提高。例如,此处的各实现通过利用在常规GPP上可用的大型、低延迟高速缓存来存储以前计算出的LUT,大大地降低了PHY处理的计算要求。另外,此处的SDR的各实现还使用现有处理器中的SIMD(单指令多数据)扩展来进一步加速PHY处理。此外,为满足高速无线协议的实时要求,此处的SDR的各实现还提供新的内核服务——核专用(core dedication),该服务排他地为实时SDR任务分配处理器核。核专用可以被用来保证通用计算设备上的SDR所需的计算资源和准确的时间控制。如此,此处的SDR的各实现能够在使用通用计算设备时完全支持对诸如802.11a/b/g/n、CDMA、GSM、WiMax之类的高速无线电协议以及各种其他无线电协议的完整的数字处理。此外,应该注意,尽管各种无线电协议是在此处的示例中讨论的,但是,此处的各实现不仅限于任何特定的无线电协议。
体系结构实现
图1示出了根据此处的某些实现的SDR平台和系统100的示例性体系结构。SDR平台和系统100包括具有多个核104的一个或多个多核处理器102。在所示出的实现中,多核处理器102具有八个核104-1、…、104-8,但是,此处的其他实现不限于任何特定核数。每一个核104都包括在处理过程中分别被相对应的核104-1、…104-8所使用的一个或多个相对应的板载本地高速缓存106-1、…、106-8。另外,多核处理器102也可以包括一个或多个共享的高速缓存108和总线接口110。合适的多核处理器的示例包括位于美国加利福尼亚州圣克拉拉市的Intel公司推出的XenonTM处理器,以及位于美国加利福尼亚州桑尼维尔市的Advanced Micro Devices公司推出的PhenomTM处理器,虽然此处的各实现不仅限于任何特定的多核处理器。在所示出的示例中,核中的两个,即核104-5和104-6执行SDR的处理,而其余的核104-1到104-4以及104-7到104-8执行其他应用程序、操作系统等等的处理,如下文另外描述的。此外,在一些实现中,可以提供两个或更多个多核处理器102,并且,跨两个或更多个多核处理器的核104可以用于SDR处理。
多核处理器102通过总线接口110与高吞吐量、低延迟总线112进行通信,并由此与系统存储器114进行通信。如上文所提及的,总线112可以是PCIe总线或具有高数据吞吐量以及低延迟的其他合适的总线。此外,总线112还与无线电控制板(RCB)116进行通信。如下面进一步地讨论的,无线电控制板116可以耦合到可互换的无线电前端(RF前端)118。RF前端118是通过天线(图1中未示出)接收和/或发射无线电信号的硬件模块。在此处的SDR体系结构的一些实现中,RF前端118表示数字和模拟域之间的明确定义的接口。例如,在一些实现中,RF前端118可以包含模拟-数字(A/D)和数字-模拟(D/A)转换器,以及用于射频传输的必需的电路,如下面进一步地讨论的。
在接收过程中,RF前端118从天线获取模拟RF波形120,可能将波形下转换为较低频率,然后,将模拟波形数字化为离散的数字样本122,然后再将数字样本122传输到RCB 116。在发射过程中,RF前端118从软件无线电堆栈124(即,如下面所讨论的,生成数字样本的软件)接受软件生成的数字样本122的同步流,以及合成相对应的模拟波形120,然后再通过天线发射波形120。由于所有信号处理都是在多核处理器102上用软件完成的,因此,对RF前端118的设计可以是相当一般化。例如,RF前端118可以利用对RCB 116的标准接口在自包含的模块中实现。在相同频带上定义的多个无线技术可以使用相同的RF前端硬件118。此外,设计用于不同的频带的各种不同的RF前端118还可以耦合到无线电控制板116,以便在各种不同的频带上实现无线电通信。因此,此处的实现不限于任何特定频率或无线技术。
根据此处的某些实现,RCB 116是被优化用于建立用于在RF前端118和存储器114之间传输高保真数字信号的高吞吐量、低延迟路径的PC接口板。无线电前端118和多核处理器102之间的接口以及连接必须实现足够高的吞吐量以传输高保真数字波形。例如,为了支持802.11协议的20MHz通道,接口应该维持至少1.28Gbps。作为比较,常规接口,如USB 2.0(≤480Mbps)或千兆以太网(≤1Gbps)不能符合此要求。因此,为实现所需的系统吞吐量,RCB 116的某些实现使用高速、低延迟总线112,如PCIe。利用64Gbps的最大吞吐量(例如,PCIe x32)和亚微秒延迟,PCIe能够轻松地支持多个吉比特数据速率,用于通过非常宽的频带或通过许多MIMO通道发送和接收无线信号。此外,PCIe接口在许多常规通用计算设备中通常是常见的。
RCB 116的作用是充当RF前端118上的同步数据传输和处理器102上的异步处理之间的桥梁。RCB 116与大型板载存储器一起实现各种缓冲器和队列,以便在同步和异步流之间转换,并使RCB 116和系统存储器114之间的爆发性传输平滑。大型板载存储器还允许高速缓存预先计算出的波形,以便如当确认接收到传输时快速传输波形,从而为软件无线电处理增加额外的灵活性。
最后,RCB 116为软件提供低延迟控制路径,以控制RF前端硬件118,并确保RF前端118正确地与处理器102同步。例如,无线协议具有多个需要满足的实时期限。因此,不仅处理吞吐量是关键要求,而且处理延迟也应该符合某些响应期限。例如,某些媒体访问控制(MAC)协议也需要微秒的粒度级别的准确的时间控制,以确保某些动作在正好预先预定的时间点发生。此处的各实现的RCB 116还提供这样的低延迟控制。下面进一步描述RCB 116的各实现的附加细节。
示例性计算设备实现
图2示出了可以被用来实现此处所描述的SDR实现(诸如上文参考图1所描述的SDR平台和系统100)的计算设备200的示例性描绘。计算设备200包括一个或多个多核处理器202、存储器204、一个或多个大容量存储设备或介质206、通信接口208以及显示器及通过系统总线212进行通信的其他输入/输出(I/O)设备210。存储器204和大容量存储介质206是能够存储当被处理器202执行的时导致计算设备200执行此处所描述的各种功能的指令的计算机可读存储介质的示例。例如,存储器204一般可以包括易失性存储器和非易失性存储器两者(例如RAM、ROM等)。此外,大容量存储介质206一般可包括硬盘驱动器,固态驱动器,包括外置和可移动驱动器、存储卡、闪存在内的可移动介质等等。如上所述,服务器计算设备200还可包括用于诸如经由网络、直接连接等来与其他设备交换数据的一个或多个通信接口208。显示器及其他输入/输出设备210可包括用于显示信息的特定输出设备,如显示器,以及接收来自用户的各种输入并向用户提供各种输出的各种其他设备,并可包括,例如,键盘、鼠标、音频输入/输出设备、打印机等等。
计算设备200还包括用于实现此处的SDR的无线电控制板214和RF前端216。例如,系统总线212可以是PCIe兼容的总线,或其他合适的高吞吐量、低延迟总线。无线电控制板214和RF前端216可以对应于上文参考图1所描述的,以及还如下面参考图3所描述的无线电控制板116和RF前端118。此外,RCB控制模块218还可以被存储在存储器204或其他计算机可读存储介质中,用于控制RCB 214上的操作,如下面另外描述的。此处所描述的计算设备200只是计算环境的一个示例,而非旨在对可以实现此处的SDR的计算机体系结构的使用范围或功能提出任何限制。计算设备200也不应被解释成对于在计算设备200中所示出的任一组件或其组合有任何依赖或要求。
此外,上文所描述的SDR平台和系统100的各实现还可以用于除图2中所示出的计算设备200的示例之外的用于实现软件定义无线电的许多不同的计算环境以及设备中。一般而言,此处参考图形所描述的许多功能都可使用软件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。如此处所使用的术语“逻辑”、“模块”、或“功能”一般代表可以被配置为实现规定功能的软件、硬件或软件和硬件的组合。例如,在软件实现的情况下,术语“逻辑”、“模块”、或“功能”可表示当在一个或多个处理设备(例如,CPU或处理器)上执行时执行指定任务的程序代码(和/或声明型指令)。程序代码可以被存储在一个或多个计算机可读存储器设备中,如存储器204和/或大容量存储介质206,或其他计算机可读存储介质中。因此,此处所描述的方法和模块可由计算机程序产品来实现。该计算机程序产品可包括其上包含计算机可读程序代码的计算机可读介质。该计算机可读程序代码可适于由一个或多个处理器来执行,以实现此处所描述的各实现的方法和/或模块。术语“计算机可读存储介质”、“处理器可访问的存储介质”等等是指用于保留信息的任何类型的机器存储介质,包括上文所讨论的各种类型的存储器和存储设备。
无线电控制板
图3示出了可以对应于上文所描述的RCB 116、214和RF前端118、216的无线电控制板(RCB)302和RF前端304的示例性实现。在所示出的示例中,RCB 302包括用于控制RF前端304和诸如上文所讨论的总线112、212之类的系统总线306之间的数据传输的功能。在所示出的实现中,功能是现场可编程门阵列(FPGA)308,FPGA可以是位于美国加利福尼亚州圣何塞市的Xilinx公司推出的Virtex-5FPGA、一个或多个其他合适的FPGA或被配置成实现此处所描述的功能的其他等效电路。RCB 302包括直接存储器访问(DMA)控制器310、总线控制器312、寄存器314、SDRAM控制器316以及RF控制器318。RCB 302还包括第一FIFO缓冲器320,用于充当用于临时存储从RF前端304接收到的数字样本的第一FIFO,以及用于临时存储要被传输到RF前端304的数字样本的第二FIFO缓冲器322。DMA控制器310通过总线控制器312来控制接收到的数字样本到系统总线306的传输。SDRAM控制器316控制诸如数字样本、预先生成的波形等等之类的数据在板载存储器324中的存储。只作为示例,存储器324可以包括256MB的DDR2SDRAM。
RCB 302可以连接到各种不同的RF前端304。这样的前端304的一个合适示例是位于美国德克萨斯州休斯顿市的赖斯大学推出的,被称为无线公开访问研究平台(WARP)前端。WARP前端能够在2.4GHz或5GHz发送和接收20MHz通道。在一些实现中,RF前端304包括被配置为用于从天线328接收无线电波形并用于通过天线328发射无线电波形的的RF收发器的RF电路326。RF前端304还可包括模拟-数字转换器330和数字-模拟转换器332。如上文所讨论的,模拟-数字转换器330将接收到的无线电波形转换为数字样本供进行处理,而数字-模拟转换器332将由处理器所生成的数字样本转换为无线电波形,供RF电路326进行发射。此外,还应该注意,此处的各实现不仅限于任何特定前端304,并且,在一些实现中,整个前端304可以被合并到RCB302中。可另选地,在其他实现中,模拟-数字转换器330和数字-模拟转换器332可以被合并到RCB 302中,RF前端304可以只有RF电路326和天线328。鉴于本发明,其他变型也将显而易见。
在图3中所示出的实现中,DMA控制器310和总线控制器312与计算设备上的存储器和处理器(图3中的未示出)连接,并在RCB 302和诸如上文所讨论的存储器114、204之类的计算设备上的系统存储器之间传输数字样本。上文参考图2所讨论的RCB软件控制模块218通过RCB寄存器314来发送命令并读取RCB状态。RCB 302还使用板载存储器324以及FPGA 308上的小型FIFO缓冲器320、322来在计算设备上的处理器和RF前端304之间桥接数据流。当接收到无线电波形时,数字信号样本被缓冲在芯片内的FIFO缓冲器320中,当数字样本适应DMA爆发(例如,128字节)时,被递送到计算设备上的系统存储器中。当发射无线电波形时,大型RCB存储器324使RCB管理器模块218(例如,图2)的各实现能首先将所生成的样本写入到RCB存储器324上,然后,利用到RCB的另一命令触发发射。此功能对SDR管理器模块218的各实现提供了在实际发射波形之前预先计算和存储对应于多种波形的数字样本同时又允许准确控制波形发射的时间的灵活性。
应该注意,在此处的SDR的一些实现中,在由DMA控制器310实现的操作和处理器高速缓存系统上的操作之间的交互中可能会遇到一致性问题。例如,当DMA操作修改已经被高速缓存在处理器高速缓存(例如,L2或L3高速缓存)中的存储器位置时,DMA操作不会使相对应的高速缓存条目失效。因此,当处理器读取该位置时,处理器可能从高速缓存中读取不正确的值。一个朴素的解决方案是禁止对用于DMA的存储器区域的高速缓存的访问,但是,这样做将导致存储器访问吞吐量的显著退化。
如图4所示,此处的各实现通过使用智能取回策略来解决此问题,从而使SDR的各实现能维护与DMA存储器的高速缓存一致性,而不会剧烈地牺牲吞吐量。图4示出了可以对应于上文所讨论的系统存储器114、204的存储器402,其包括作为可以被RCB 302上的DMA控制器310直接访问以便将数字样本存储为数据的DMA存储器404而预留的一部分。在一些实现中,SDR将DMA存储器404组织为其大小是高速缓存行的大小的倍数的小槽406。每一个槽406都从包含标记410或其他指示符以表示数据是否已经被处理完的描述符408开始。在DMA控制器310将满槽的数据写入到DMA存储器404之后,RCB 302设置标记410。在处理器处理完高速缓存412(可以对应于上文所描述的高速缓存106和/或108)中的相对应的槽中的所有数据之后,标记410被清除。当处理器移动到对应于新槽406的高速缓存位置时,处理器首先读取槽406的描述符,导致整个高速缓存行被填充。如果标记410被置位(例如,值“1”),则刚刚取回的数据是有效的,处理器可以继续处理数据。否则,如果标记没有被置位(例如,值“0”),则RCB上的DMA控制器没有用新的数据来更新此槽406,而处理器显式地刷新高速缓存行,并重复读取同一个位置。下一个读取重新填充高速缓存行,加载来自DMA存储器404的最近数据。因此,前述的过程确保处理器不会从高速缓存412中读取不正确的值。此外,尽管示出和描述了示例性RCB 302,但是,鉴于本发明对于本领域的技术人员显而易见的是,RCB 302的各种其他实现也在此处本发明的范围内。
SDR软件实现
图5示出了此处的SDR的软件和逻辑体系结构的示例性实现,示出了SDR的若干个软件组件和逻辑布局。SDR堆栈502包括无线MAC层模块504、无线物理层(PHY)模块506、以及RCB管理器模块508,RCB管理器模块508包括DMA存储器管理器510,并可以对应于上文所讨论的RCB管理器218。这些组件提供了系统支持,包括驱动程序框架、存储器管理、流线型处理等等。PHY模块506的作用是将信息比特转换为无线电波形,或反之。MAC层模块504的作用是协调无线网络中的发射以避免冲突。还包括了SDR支持库512,该支持库512包括SDR物理层(PHY)库514、流线型处理支持516以及实时支持518(例如,如下面另外讨论的,用于确保核专用)。SDR堆栈软件组件可以在各种时间在系统存储器、高速缓存和/或大容量存储器或其他计算机可读存储介质中存在,如在本领域内已知的。
此处的SDR的各实现中的软件组件提供用于在诸如XP、Windows
Figure BDA0000148857960000112
7、
Figure BDA0000148857960000113
MacX之类的通用操作系统或其他合适的操作系统中实现各种无线PHY和MAC协议的必需的系统服务和编程支持。除便于与RCB的交互之外,SDR堆栈502的各实现提供了大大地改善通用处理器上的PHY和MAC处理的性能的一组技术。为满足处理和实时要求,这些技术充分利用多核处理器体系结构中的各种特征,包括查找表(LUT)的广泛应用、与处理器SIMD扩展的大量的数据并行性、流线型处理在多个核上的高效分区,以及核对于软件无线电任务的排它性专用。
可以以任何合适的编程语言来编写SDR软件的各实现。例如,在一些实现中,可以以C来编写软件,另外,还可使用用于性能关键处理的某些汇编语言。此外,SDR堆栈502的某些实现可以被实现为通用操作系统上的网络设备驱动程序。如此,RCB管理器模块508作为操作系统中用于操作和管理RCB的驱动程序来起作用,并可包括用于使PCIe系统总线能被使用的PCIe驱动程序。SDR堆栈502向内核侧的上TCP/IP层522展示虚拟以太网接口520,从而使SDR能显现并作为网络设备来起作用。由于此处在SDR上实现的任何软件无线电都可以表现为正常的网络设备,因此,用户所使用的所有的现有网络应用程序524都能够以未经修改的形式执行并与SDR进行交互。此外,在另一端,SDR堆栈在逻辑上通过系统总线524与RCB固件522进行交互,如上文所讨论的,系统总线524可以是PCIe系统总线。
在此处的SDR的一些实现中,SDR PHY处理库514广泛地利用查找表(LUT)和SIMD指令来优化PHY算法的性能。例如,PHY算法的一大半可以被替换为LUT。某些LUT是简单的预先计算;其它的要求更复杂的实现,以使得LUT的大小较小。例如,在下面所讨论的软-解映射示例中,通过利用算法的对称性,LUT大小(例如,对于802.11a/g 54Mbps调制为1.5KB)可以大大地缩小。此外,在下面所描述的示例性WiFi实现中,802.11a/g中所使用的LUT的总大小约为200KB,而在802.11b中,大约为310KB,均能适宜地匹配在常规的多核处理器的L2高速缓存内。
此外,如上文所讨论的,某些实现还使用SIMD(单指令多数据)指令,如设计用于Intel CPU的SSE2(SMID流技术扩展2)指令集,用于诸如当处理数字样本时加速对大量的数据点的并行处理。由于SSE寄存器是128比特宽,而大多数PHY算法只要求8比特或16比特定点运算,因此,一个SSE指令可以执行8或16个同时计算。SSE2还具有对于灵活数据排列的丰富的指令支持,而大多数PHY算法,例如,快速傅里叶变换(FFT)、有限脉冲响应(FIR)过滤器和维特比解码器算法,可以自然地适应此SIMD模型。例如,根据此处的SDR的维特比解码器的各实现只使用40个周期来计算分支度量,并为每一个输入选定最短路径。结果,维特比实现可以只使用多核处理器中的一个2.66GHz CPU核来以54Mbps调制,处理802.11a/g,而常规设计必须依赖于专用的硬件实现。
另外,还应该注意,其他品牌的处理器体系结构,如AMD推出的处理器,以及位于美国加利福尼亚州的库珀蒂诺市的Apple公司推出的
Figure BDA0000148857960000121
处理器,具有可以类似地使用的非常类似的SIMD模型和指令集。例如,AMD的Enhanced
Figure BDA0000148857960000122
处理器包括SSE指令集加一组DSP(数字信号处理器)扩展。此处所描述的优化技术也可以直接应用于这些及其他GPP体系结构。下面进一步地讨论了使用SIMD指令优化的功能块的示例。
图6A示出了算法优化表600,该表600概述了在此处的SDR中实现的某些PHY处理算法,以及适合于改善处理速度的LUT和SIMD优化技术。算法表600包括算法标识列602、配置列604、以及I/O大小列606、优化方法列608、常规实现所需的计算数量列610、SDR实现612所需的计算612以及通过优化所获得的加快的量614。例如,对于IEEE 802.11b标准,可以使用根据此处的SDR的LUT来优化的算法包括扰码算法620、解扰码算法622、映射和散布算法624以及CCK(补码键控)调制器算法626,而可以使用SIMD扩展来优化的算法包括FIR过滤器628以及抽选算法630。另外,对于IEEE802.11a标准,可以使用SIMD扩展来优化的算法包括FFT/IFFT(快速傅里叶变换/快速傅里叶逆变换)算法632,可以使用根据此处的SDR的LUT来优化的算法包括卷积编码器算法634、维特比算法636、软解映射算法638以及扰码和解扰算法640。此外,也可以使用SIMD扩展来进一步优化维特比算法636。
图6B示出了对于IEEE 802.11b以2Mbps的PHY操作的示例,进一步示出了如上文参考图6A所讨论的根据这里的某些实现来优化的功能块的示例。PHY层的作用是将信息比特转换为无线电波形或反之。如图6B所示,在发射器一侧处,无线PHY组件首先将消息(即数据包或MAC帧)调制为基带信号的时间序列。然后,将基带信号传递到无线电前端,在此,它们被乘以高频载波,并被发送到无线通道。在所示示例中,来自MAC的数据进入扰码块650、DQPSK调制器块652、直接序列扩展频谱块654、码元波形整形块656,然后被传递到RF前端。在接收器一侧处,RF前端检测通道中的信号,并通过去除高频载波来提取基带信号。然后,所提取的基带信号被馈送给接收器的PHY层,以被解调为原始消息。在所示示例中,来自RF前端的信号被传递到抽选块658、解扩块660、DQPSK解调器块662、解扰码块664,然后到MAC层。因此,高级通信系统(例如,IEEE 802.11a/b/g)在它们的PHY组件中包含多个功能块。这些功能块彼此被流水化。数据通过这些块按顺序流送,但是,带有不同的数据类型和大小。例如,如图6B所示,不同的块可以按照小数据块排列以不同速率消费或产生不同类型的数据。例如,在802.11b中,如图6B所示,扰码器块650可以消费和产生一个比特,而DQPSK调制块652将每两比特数据块映射到复码元,该复码元使用两个16比特数字来表示同相和正交(I/Q)分量。
每一PHY块都对每个发送或接收到的比特执行固定量的计算。当数据速率高时,例如,对于802.11b为11Mbps,对于802.11a/g为54Mbps,PHY处理块消费大量的计算能力。据估计,802.11b的直接实现可能要求10Gbps,而802.11a/g要求至少40Gbps。这些要求对于GPP中的软件处理是非常苛刻的。
在发射器一侧调制之后以及在接收器一侧解调之前,PHY处理块直接对数字波形进行操作。因此,需要高吞吐量接口,以便连接这些处理块以及连接PHY与无线电前端。所需的吞吐量随着基带信号的带宽而线性地伸缩。例如,在802.11a,通道带宽是20MHz。这要求每秒钟至少2000万复式样本的数据速率来表示波形。这些复式样本对于I和Q分量两者通常要求16比特量化,以提供足够的保真度,每个样本转换成32个比特,或者对于整个20MHz通道为640Mbps。过采样是一种广泛地用于取得更好的性能的技术,它使要求加倍到1.28Gbps,以便在一个802.11a通道的RF前端和PHY块之间移动数据。
如上文参考图6A所讨论的,为了加快对某些块的处理,此处的各实现通过使用上文所讨论的LUT和SIMD优化技术来优化某些功能块。在图6B的所示示例中,如粗体所示,扰码块650、解扰码块664以及DQPSK调制器和DQPSK解调器块624使用存储在处理器上的高速缓存中的LUT来优化,对应于上文参考图6A所讨论的扰码算法620、解扰码算法622以及映射和散布算法624。此外,抽选块658使用SIMD处理器扩展而优化,对应于上文参考图6A所讨论的抽选算法630。
类似地,图6C示出了在2Mbps时对于IEEE 802.11b的PHY操作的示例,以粗体示出了哪些功能块是根据这里的某些实现来优化的,如上文参考图6A所讨论的。在发射器一侧,从MAC层接收到的数据被传递到扰码块670、卷积编码器块672、交错块674、QAM调制器块676、IFFT块670、GI添加块680、码元波形整形块682,然后被传递到RF前端。在接收器一侧,来自RF前端的信号被传递到抽选块684、抽选块684、去除GI块686、FFT块688、解调和交错块690、维特比解码块692、解扰码块694,然后到MAC处理。为了加快对某些块的处理,此处的各实现通过使用上文参考图6A所讨论的LUT和SIMD优化技术来优化某些功能块。在图6C的所示示例中,扰码块670和解扰码块694使用存储在处理器上的高速缓存中的LUT而优化,对应于上文所讨论的扰码和解扰码算法640;FFT块688和IFFT块670使用SIMD处理器扩展而优化,对应于上文所讨论的FFT/IFFT算法632;卷积编码器块672使用LUT而优化,对应于上文所讨论的卷积编码器算法634;而维特比解码块692使用LUT和SIMD处理器扩展两者而优化,对应于上文所讨论的维特比算法636。此外,除此示例中所示出的优化之外,其他优化机会鉴于本发明对本领域的技术人员是显而易见的。
基于FIR过滤器的SIMD示例
下面提供了此处的SDR的各实现中的如何使用SSE指令来优化FIR(有限脉冲响应)过滤器的实现的示例,对应于上文参考图6A所讨论的FIR过滤器算法628,可以理解,也可以类似地实现诸如抽选630之类的其他算法的优化。FIR过滤器广泛地用于各种PHY层中。n抽头FIR过滤器被定义为如下:
y [ t ] = Σ k = 0 n - 1 c k * x [ t - k ] ,
其中,x[.]是输入样本,y[.]是输出样本,而ck是过滤系数。利用SIMD指令,有可能同时处理多个样本。例如,Intel SSE支持128位打包的向量,每一FIR样本都获取16比特。因此,有可能同时执行m=8个计算。为促进SSE处理,存储器中的数据布局应仔细设计。
图7A示出了根据此处的各实现的FIR系数的存储器布局700。每一行702-1、…、702-(n+m-1)构成包含SIMD操作的m分量的打包的向量。FIR过滤器的系数向量以之字形布局在每一列704-1、…704-m中复制。如此,行的总数是(n+m-1)。还有n个临时变量706,包含为每一样本对每一FIR抽头的累积的总和。
图7B示出了用于执行由SDR堆栈的PHY层在多核处理器的核上执行的FIR过滤器的SIMD操作的示例性过程的流程图。过程接收输入样本阵列和系数阵列,并在输出样本缓冲器中输出经过滤的样本。
在框712,过程接收输入样本阵列和系数阵列。输入样本包含两个单独的样本流,偶数和奇数索引样本分别表示I和Q样本。系数阵列类似于图7A的布局排列,但是,分别带有I和Q样本的两组FIR系数。
在框714,对于每一个迭代,四个I和四个Q样本被加载到SSE寄存器中。
在框716,过程将每一行中的数据相乘,并将结果与相对应的时间上累积的总和变量相加。
在框718,过程确定是否已经处理完输入样本的阵列中的所有样本以计算所有抽头。如果否,则过程返回到框714,以将其它I和Q样本加载到SSE寄存器中。
在框720,当为输入样本计算了所有抽头时,为输入样本输出结果。当输入样本流比较长时,在流水线中有nm个样本,在每一迭代中生成了m个输出。注意到,输出样本的次序可以不与输入样本相同。例如,某些算法不总是要求输出与输入具有完全相同的顺序。
因此,在框722,输出结果可以被重新排序为原始顺序。如果需要的话,这可以通过使用几个洗牌指令来将输出样本置于原始顺序来实现。然后,过程返回到框714,以继续从框712接收输入样本的流,直到处理完所有样本。如此,尽管前述的内容提供了用于加速对此处的SDR中的数字样本的处理的SIMD处理的具体示例,但是,鉴于本发明对于本领域的技术人员显而易见的是,根据此处的各实现,如上文参考图6A-6C所讨论的示例,可以应用此过程,以在多核处理器的一个或多个核上优化其他SDR算法。
高性能SDR处理
此处的SDR的各实现使用包括高效的物理层处理、多核流线型处理和实时支持的软件技术(下面将另外对它们进行描述),实现了高性能的SDR处理。
有效的PHY处理
在存储器换计算的折衷中,此处的SDR的各实现依赖多核处理器中的大容量、高速缓冲存储器,以使用存储在PHY库中的预先计算出的LUT来加速PHY处理。诸如Intel Core 2之类的现代处理器体系结构,通常具有至少若干个兆字节、带有低(例如,10~20周期)访问延迟的板载高速缓存。如果为大部分的PHY算法预先计算了LUT并将其存储在相对应的核的板载高速缓存中,则这可以大大地降低对于在线处理的计算要求,并加快总的处理时间。
例如,用于IEEE 802.11a标准中的解调中的软解映射算法638需要计算传入码元中所包含的每一比特的置信水平。此任务涉及与调制密度成比例的相当复杂的计算。更确切地说,软解映射算法638对星座图中的所有调制点执行大量的搜索,并计算到表示1的所有点的欧几里德距离中的最小值和到表示0的所有点的距离的最小值之间的比率。在此处的SDR的各实现中,基于其I和Q值,预先计算所有可能的传入码元的置信水平,并构建LUT,以将输入码元直接映射到置信水平。这样的LUT不必很大。例如,在带有54Mbps调制速率(64QAM)的802.11a/g中,软解映射638的LUT的大小大约是1.5KB。
图7C-7D示出了根据此处的某些实现的使用LUT的SDR处理的示例。图7C示出了如何通过使用预先计算出的LUT代替使用处理算法来对比特执行实际处理来加快对功能块的处理。例如,当有输入比特和相对应的输出数据的有限的组合时,可以预先计算出LUT以便用来快速地将输入与相对应的输出进行匹配。在图7C中,数字样本的输入比特的阵列被作为比特流接收,供进行处理,诸如在上文参考图6A-6C所描述的功能处理块中的能够使用LUT来加速处理的一个(例如,卷积编码器算法)中。卷积编码器通常按下列方式工作。卷积编码器算法维护构成编码器的状态的七个移位寄存器734。对于每一个传入的比特,算法736选定移位寄存器734中的多个比特,并对它们执行异或(XOR)运算,然后生成两个编码的输出比特,作为输出数据A 738和输出数据B 740。然后,移位寄存器734向右移位,输入比特被置于最左边的寄存器中。通常,为处理一个比特,需要花费八个运算来计算输出(即,从1比特输入产生2比特输出)。然而,如上文所讨论的,处理可以通过使用LUT 742来避免对算法736的实际处理。如此,代替一次处理一个比特,可以将8比特数据当作单个输入,以便使用LUT进行处理。可以组合8比特输入和当前状态的7比特状态,以生成15比特的索引744。然后,在LUT 742中定位15比特索引,根据LUT 742来确定相对应的预先计算出的新7比特状态746和16比特输出748,代替通过处理算法736,分别地处理每一比特。如此,显然,如果所有可能的15比特索引以及其相对应的输出7比特状态746和16比特输出748被预先计算并存储在LUT 742中,则可以大大地加速SDR样本流的实际处理时间(即,可以使用单个查找操作来执行对八个比特的编码)。
图7D示出了可以通过使用LUT代替使用常规算法(如卷积编码器算法)处理比特流来由SDR堆栈的PHY层在多核处理器的核上执行的示例性过程750。如上文参考图6A-6C所讨论的,可以通过使用预先计算出的LUT来类似地加速SDR流水线中的其他算法。
在框752,接收输入样本比特的阵列,供作为比特流进行处理。
在框754,过程加载第一字节(8比特),并利用当前编码器状态(7比特状态)生成索引。
在框756,过程使用所生成的索引来访问预先计算出LUT,并定位两个值:两个输出字节(即,16比特输出)和7比特新状态。
在框758,两个输出字节被作为输出传递到SDR处理流中的下一个处理块,例如,如图6B或6C所示,并且,7比特新状态用于处理样本比特流中的下一个字节。
在框760,增大首部指示符,以涵盖接下来的八个比特。
在框762,过程确定是否已经到达比特阵列的末尾。如果否,则过程返回到框754,以处理下一个字节;如果是,则过程进入框752以接收输入比特的下一个阵列。
如上文参考图6A-6C所讨论的,IEEE 802.11标准的常见的PHY算法的一大半可以利用LUT代替,从而导致大致1.5x到50x的处理时间加速614(例如,参见图6A)。由于每一LUT的大小足够小,因此,处理路径中的所有LUT的总和可以轻松地容纳在典型的多核处理器核的L2高速缓存中。因此,当与核专用相结合时,如下面所讨论的,高速缓存冲突的可能性非常小。结果,此处的各实现的LUT在PHY处理过程中几乎总是位于板载高速缓存中。另外,尽管在图7C-7D中示出了示例性实现以描述LUT如何可以被用来加速SDR处理,但是,应该理解,上文所讨论的能够利用LUT来加速的其他算法也可以使用预先计算出的LUT类似地处理。
此外,为了利用数据级别的并行性来加速PHY处理,此处的SDR的各实现还使用上文所讨论的SIMD处理器扩展,如在常规多核处理器中所提供的SSE、SEE2、
Figure BDA0000148857960000181
以及
Figure BDA0000148857960000182
虽然这些扩展最初被设计用于多媒体和图形应用程序,但是这些扩展也很好地匹配无线信号处理的需求,因为许多PHY算法具有可以轻松地映射到大矢量运算的固定的计算结构。测量值示出了,在此处的SDR的各实现中,这样的SIMD扩展会大大地加快PHY处理。
多核流线型处理
即使有上面的优化,单个CPU核可能没有足够的处理能力来满足高速无线通信技术的处理要求。结果,此处的SDR的各实现能够使用多核处理器中的一个以上的核来进行PHY处理。在一些实现中,多核技术还可缩放,以提供与随着无线技术的发展而变得越来越复杂的信号处理算法的兼容性。
如上文所讨论的,如参考图6B和6C,物理层处理通常包含流水线中的若干个功能块或不同的阶段。这些块在处理速度和输入/输出数据速率和单元方面不同。块只有当该块从前面的块接收到足够的输入数据时才准备执行。因此,一个关键问题是当块已准备好进行处理时如何在多个核上调度功能块。
图8A示出了用于在多核处理器802(可以对应于上文所讨论的多核处理器102、202)中的不同的核上处理数据的示例性实现。例如,第一核804和第二核806可以被用来处理上文参考图6A-6C所讨论的功能块。第一核804可以与第二核806位于同一个多核处理器中,或者核804、806可以位于单独的处理器中。
在图8A,第一核804和第二核806使用静态调度方案来处理多个功能块808。此实现基于PHY处理流水线中的每一个块的调度实际上都是静态的观察,即,以前的块的处理模式可以确定随后的块是否已准备好。此处的SDR的各实现如此可以将整个PHY处理流水线分区为多个子流水线810,并静态地将子流水线810分配给不同的核804、806。在一个子流水线810内,当第一块808为下一个块累积了足够的数据以便准备好时,第一块显式地调度下一个块。来自不同的块的相邻的子流水线与管理数据在子流水线810之间的传输的同步的FIFO 812连接在一起。例如,可以在上文参考图1所讨论的高速缓存106、108中的一个中建立同步的FIFO 812。如此,此处的各实现允许不同的PHY处理块808跨多个核804、806而流线化,同时通过一个或多个共享存储器同步的FIFO队列彼此进行通信。例如,如果两个块808(例如,图8A的块2和块3)在不同的核804、806上运行,则它们对共享FIFO 812的访问必须被同步。在被称为基于计数器的FIFO(CBFIFO)中,同步的FIFO的传统的实现使用计数器来同步写入器(生产者)和读取器(消费者)。
然而,此计数器由两个处理器核共享,由一个核对变量的每个写入都将导致另一个核上的高速缓存未中。由于生产者和消费者两者都修改此变量,因此,对于每一个数据,两个高速缓存未中是不可避免的。在PHY具有非常细微的数据粒度也是非常常见的(例如,如在上文所讨论的图6中概述的4-16字节)。因此,当对于这样的小块的数据必须非常频繁地(例如,每个微秒一次)执行同步时,这样的高速缓存未中将导致大量的开销。在此处的SDR的各实现中,实现了不使用共享的同步变量的核间同步循环FIFO缓冲器812。代替具有共享变量,此处的各实现利用表示槽是空还是满的(即,“E”或“F”)的首部来增强同步的FIFO缓冲器812中的每一数据槽814。此外,每一数据槽814还被填充到等于高速缓存行大小的倍数的大小。如此,消费者始终在环形缓冲器812中追赶生产者,以获得填满的槽,如下面的伪代码中所概述的:
Figure BDA0000148857960000201
此追逐指针FIFO(CPFIFO)通过生产者指针816和消费者指针818的实现,甚至对于非常细微的同步,也大大减轻了开销。例如,如果生产者(例如,第一核804上块2)和消费者(例如,第二核806上的块)的速度相同,并且两个指针分隔了特定偏移(例如,Intel体系结构中的两个高速缓存行),则在同步的流传送期间将不会发生高速缓存未中,因为在实际访问之前本地高速缓存将预取之后的槽。如果生产者和消费者具有不同的处理速度,例如,消费者(读取器)比生产者(写入器)快,那么,最终消费者将等待生产者释放一个槽。在此情况下,每当生产者向槽写入时,写入将导致消费者处的高速缓存未中。然而,生产者将不会遭受未中,因为下一个空闲槽将被预取到其本地缓存中。此外,由消费者经历的高速缓存未中将不会对流线型处理的总性能造成严重的影响,因为消费者不是瓶颈元素。另外,尽管FIFO缓冲器812被示为是循环的,但是,可以理解,在当前技术中,这只用于说明目的,缓冲器实际是高速缓冲存储器中的逻辑位置,缓冲器812中的空的和满的数据槽的位置实际是通过指针816、818的相对位置来维护的。
图8B示出了由生产者(例如,第一核804)执行的用于使用同步的FIFO缓冲器812处理数字样本的示例性过程820的流程图。过程由SDR堆栈的PHY模块使用多核处理器802的多个核来执行。
在框822,生产者生成数据。例如,第一核804处理功能块808(例如,块1和块2)中的数据,以生成数据。
在框822,生产者通过引用生产者指针816当前正指向的数据槽并检查该数据槽的首部来确定FIFO缓冲器812中是否有开放的可用的数据槽。
在框826,如果首部表示当前的槽是空的,则生产者将所生成的数据存储在空的数据槽中,并使生产者指针816递增一个数据槽。
在框828,如果首部表示生产者指针当前正指向的数据槽是满的,则生产者等待空数据槽变得可用。当需要停止过程时,终止条件也可以由用户设置。
图8C示出了由消费者(例如,第二核806)执行的用于使用同步的FIFO缓冲器812处理数字样本的示例性过程830的流程图。过程由SDR堆栈的PHY模块使用多核处理器802的多个核来执行。
在框832,消费者准备接收和处理数据。例如,在第二核806中的块3和块4的管道中,数据可能已经被从块3传递到块4,而块3现已准备好接纳更多数据。
在框834,消费者通过检查首部以确定首部是表示槽是满的还是空的,来检查消费者指针818当前正指向的数据槽,以确定该槽是否包含可用的数据。
在框836,当槽包含数据时,消费者从数据槽获取数据,从而打开该数据槽并改变该数据槽的首部,以表示该数据槽现在是空的。消费者也将消费者指针递增到下一个数据槽。
在框838,如果在当前数据槽中无数据可用,则消费者继续检查数据槽,并等到数据槽充满数据。
实时支持
SDR处理是要求计算资源的严格的保证和严苛的实时期限的时间关键的任务。例如,在802.11协议中,无线通道是由在相同频谱上操作的所有收发器共享的资源。如此,由于同时发射的近邻可能彼此干扰,因此已经开发了各种MAC协议以协调无线网络中的发射来避免冲突。
此外,大多数现代的MAC协议,如802.11,要求对关键事件的及时响应。例如,802.11使用CSMA(载波侦听多路访问)MAC协议来协调发射。在启动它们的发射之前,发射器需要侦听通道,通道访问只有在没有侦听到能量时,即通道是空闲的,才被允许。侦听和访问之间的延迟应该尽可能地小。否则,侦听结果可能是过时的并且是不准确,导致冲突。另一示例是无线协议中的链路层重新传输机制,这可能要求在有限的时间窗口内返回即时确认(ACK)。诸如IEEE 802.11之类的商品标准要求响应延迟在数十微秒内,这对在运行通用OS的通用处理器上以软件实现而言是一项挑战。
如此,作为依赖于实时操作系统的完全的通用性的替代方案,此处的各实现通过将一个或多个处理器核专用于多核处理系统中的SDR处理来获得实时保证。如此,由于一个或多个核被专用于SDR,因此,此处的各实现保证足够的计算资源,而不会受到系统中的其他并发任务的影响。
例如,无线通信常常要求PHY不断地监测通道是否有传入信号。因此,PHY处理可能需要在每时每刻都是活动的。期望调度此监视任务以在同一个核上连续地操作,以便最小化开销,如高速缓存未中或TLB刷新。此外,与对称调度相比,将应用程序隔离到不同的核会得到更好的性能,因为对高速缓存资源的有效使用和锁定的减少会使专用核有利(outweight)。此外,核专用机制比实时调度器容易实现得多,有时甚至无需修改OS内核。用于实现根据此处的SDR的各实现的核专用的方法的一个示例是提高内核线程的优先级,以便内核线程被钉在特定核中,并排他地在该核上运行,直到终止。
此处的SDR的各实现使用排它性线程(即,“ethread”)来使核专用于实时SDR任务。ethread可以在不对内核代码进行任何修改的情况下实现。例如,ethread可被实现为内核模式线程,并由此利用通常在常规操作系统中得到支持的处理器联署来提供关于内核模式线程在哪个核上运行的控制。一旦OS在指定的物理核上调度了ethread,OS就将线程上的优先级和/或IRQL(中断请求级别)提高到与内核调度器一样高的级别,例如,Windows
Figure BDA0000148857960000231
中的分派级别。如此,ethread通过提高中断请求级别来取得对核的控制,并防止它本身被其他线程抢先。
然而,在这样的IRQL运行不会阻止核对硬件中断作出响应。因此,附着于主机的所有设备的中断关系也受到约束。例如,如果ethread在特定核上运行,则安装的设备的所有中断处理程序都从核中去除,如此防止核被硬件中断。此外,为确保计算设备和操作系统的正确操作,此处的SDR的各实现始终确保核0能够对所有硬件中断作出响应。因此,此处的SDR的各实现只允许ethread在其ID大于零的核上运行。
示例性实现
此处的SDR的示例性实现包括作为示例性WiFi实现的SDR平台上的全功能WiFi收发器。示例性WiFi实现SDR堆栈支持所有IEEE 802.11a/b/g调制,并可以无缝地与商用WiFi网卡进行通信。例如,通用计算设备体系结构上的高速无线协议的各实现必须克服源于现有硬件接口和软件体系结构的多个挑战。首先,将高保真数字波形样本传输到系统存储器来进行处理要求非常高的总线吞吐量。常规软件无线电平台使用USB 2.0或Gigabit以太网,这不能满足维持高速无线协议的此要求。其次,物理层(PHY)信号处理对于从波形生成信息比特或反之具有非常高的计算要求,特别是在高调制速率时。最后,无线PHY和媒体访问控制(MAC)协议具有必须被满足以便正确操作的低延迟实时期限。例如,802.11MAC协议要求准确的时间控制和大约数十微秒的ACK响应延迟。通用计算设备上的现有的软件体系结构不能一贯地满足此计时要求。
图9A示出了在具有如上文参考图1和2所描述的多核处理器的,并耦合到对应于RCB 116、214和/或302的RCB 904的诸如计算设备902之类的硬件上实现的此处的SDR的示例性WiFi实现900。在所示出的实现中,通过提高内核线程的优先级,MAC状态机(SM)被实现为ethread 906,以便内核线程被钉在特定核中,并排他在该核上运行,直到终止。由于根据802.11标准的无线电是半双工无线电,因此,PHY的解调组件可以直接在MAC SM线程内运行。此外,如果单个核不足以用于所有PHY处理(例如,如802.11a/g的情况),则PHY处理可以跨包括MAC_SM线程906和PHY_Thread 908的两个ethread分区。如上文参考图8A-8C所讨论的,这两个ethread 906、908使用同步CPFIFO910而流线化。另外的线程,即Snd_thread 912,在后台将传出的帧调制为波形样本。如上文所讨论的,这些经调制的波形可以被预先存储在RCB的存储器中,以便于快速传输。此外,Completion_thread 914监测接收缓冲器、Rcv_buf916,并将任何正确地接收到的帧通知给上软件层。Completion_thread914还在Rcv_buf 916和发送缓冲器即Snd_buf 918被使用之后对它们进行清空。由于Completion_thread 914和Snd_thread 912的功能不要求PHY ethread 906、908的相同高性能和低延迟,因此这些其他线程不被实现为ethread,并可以在任何可用的核上运行。
在所示示例中,DMA存储器920包括发射器缓冲器TX_buf 922和接收器缓冲器RX_buf 924,用于分别将用于发射和接收的数字样本存储在RF前端930上的发射器硬件926和接收器硬件928上,如上文诸如参考图4所讨论的。此外,RCB 904还包括控制模块932,诸如上文参考图4所描述的DMA控制器、总线控制器、存储器控制器以及RF控制器,它们共同地表示为Ctrl 924,它们与MAC_SM_Thread 906交换命令,以便确保RCB 904和计算设备902之间的适当的交互。在流线型处理过程中,MAC_SM线程906和PHY线程908访问PHY库934,用于访问LUT和SIMD指令,以便执行优化的PHY处理,如上文参考图6A-6C和7A-7B所讨论的。经处理的数字样本被传递到接收缓冲器916,然后,通过Completion_thread914呈现到虚拟以太网接口936,从而,到TCP/IP层938,如此,呈现到也在计算设备902的一个或多个核上运行的一个或多个应用程序940。
图9B示出了可以使用多核处理器的一个或多个核执行以便在一个或多个核上排他地执行SDR处理的示例性过程950。
在框952,数字样本从RCB传递到计算设备中的存储器。数字样本由RCB从RF前端接收,然后,可以使用直接存储器访问(DMA)等传递到计算设备中的存储器。数字样本到计算设备中的存储器的传递可以由RCB上的DMA控制器来控制,而DMA也可以将数字样本临时存储在RCB上的缓冲器或板载存储器中。
在框954,线程可以在多核处理器的一个或多个核上启动,以便执行诸如PHY和MAC处理之类的SDR处理。
在框956,可以提高一个或多个核的中断请求级别,以确保线程不被中断,使得核能够排他地执行数字样本的SDR处理。此外,也可以移除一个或多个核的中断处理程序,以防止硬件中断。
在框958,当多个线程在不同的核上操作时,核之间的处理可以使用核之间的同步FIFO来被流线化,如上文所讨论的。
在框960,SMID和LUT可以在适用于加速对数字样本的SDR处理时使用。
在框962,经处理的数字样本被输出,供诸如由计算设备上的应用程序使用。此外,前述的过程示出了对从RF前端接收到的数字样本的排它性核处理,但可见,类似地处理由计算设备所生成的用于由RF前端发射的数字样本。例如,在要发射数字样本的情况下,步骤954-960是相同的,输入是由计算设备所生成的或(诸如从应用程序)接收到的比特流,而输出是准备好转换为模拟并由RF前端发射的经处理的数字样本。
此外,示例性WiFi实现900还能够实现802.11标准的基本访问模式。图10示出了MAC状态机的示例性细节。通常,SM处于帧检测(FD)状态1002。在帧检测状态1002,RCB 904不断地将样本写入到Rx_buf 924。SM(即,MAC_SM_Thread 906)连续地测量平均能量,以确定通道是否是干净的或者是否有传入的帧。
帧的发射遵循载波侦听多路访问(CSMA)机制。当有要发射的待处理的帧,SM首先检查通道上的能量是否为低(即,当前没有接收到帧)。如果通道忙,则发射被推迟,并启动倒数计时器1004。每当通道变得空闲时,SM都检查是否有任何倒数时间剩余。如果计时器变为零,则SM在框发射1006发射待处理的帧。
此外,当示例性WiFi实现开始接收到帧时,它检测帧检测状态1002中的高能量。在802.11中,SM使用PHY层中的三个步骤来在框接收1008接收帧。首先,PHY层需要同步到帧,即,发现帧的起始点(时间同步)和样本流的频率偏移和相位(载波同步)。同步通常是通过将传入的样本与预先定义的前同步码相关来执行的。随后,PHY层需要解调PLCP(物理层收敛协议)首部,该首部始终是使用固定的低速率调制模式来传输的。PLCP首部包含帧的长度以及调制模式,可能还包含随后的帧数据的较高速率。如此,只有在成功地接收PLCP首部之后,PHY层才能知道如何解调帧的其余部分。
当在接收1008成功地接收帧之后,802.11MAC标准要求接收站如在框ACK发射1010所示出地以及时的方式发射ACK帧。例如,802.11b要求以不超过10μs的延迟发送ACK帧,以确认收到接收到的帧。然而,此短的ACK要求对于SDR实现在通用计算设备上以软件实现而言是十分困难的。跨系统总线生成和传输波形两者都可以导致几微秒的延迟,并且所需的总时间通常大于由标准要求的最大量。幸运的是,ACK帧一般具有固定模式。例如,在802.11中,除相对应的数据帧的发送器地址之外,ACK帧中的所有数据都是固定的。如此,在示例性WiFi实现900中,有可能预先计算ACK帧的大部分(19字节),并只更新地址(10字节)。此外,这可以在处理的初期,紧随在解调MAC首部之后进行,而无需等待帧的结束。然后,波形被预先存储到RCB的存储器中。如此,ACK生成和传输的时间可以与对正在被接收的数据帧的解调重叠。在MAC SM解调整个帧并验证CRC32校验和之后,MAC SM指示RCB发射已经被存储在RCB上的ACK。如此,对于ACK发射的延迟是非常小的,因为ACK已经存储在RCB中,并可以立即发射,而无需被生成或沿着系统总线发送。
偶尔,当传入的数据帧相当小(例如,帧只包含MAC首部和零有效负载)时,示例性WiFi实现则不能将ACK生成和DMA传输与解调全部重叠以完全隐藏延迟。在此情况下,示例性WiFi实现可能不能及时发送ACK。此问题通过在RCB中维护以前的ACK的高速缓存来解决。对于802.11,来自一个节点的所有数据帧都将具有完全相同的ACK帧。如此,RCB中的预先分配的存储器槽可以被用来存储不同的发送器的ACK波形(在一些实现中,分配了64个不同的槽)。因此,当解调帧时,如果ACK帧已经在RCB高速缓存中,则MAC SM简单地指示RCB发射预先高速缓存的ACK。利用此方案,示例性WiFi实现可能对来自发送器的第一小的帧迟到,从发送器的观点来看,实际上丢弃了数据包。但是,重新发射以及所有随后的发射将发现已经在RCB高速缓存中存储了适当的ACK波形。
示例性WiFi实现900是作为全802.11a/g/b收发器实现和测试的,该收发器支持DSSS(直接序列扩散:在11b中为1和2Mbps)、CCK(补码键控:在11b中为5.5和11Mbps)以及OFDM(正交频分多路复用:在802.11a/g中为6、9以及直到54Mbps)。
因此,已经发现此处的SDR的实现无缝地与商用基于硬件的802.11设备进行交互操作,而同时支持全套的802.11a/b/g调制速率,并在每一调制中实现基本上与基于硬件的设备的相当的性能。结果,可见,此处的SDR的实现可以足够快地处理信号以实现全信道使用率,利用通用计算设备上的软件实现,SDR可以满足802.11标准的所有计时要求。
软件频谱分析仪
图11示出了根据此处的某些实现的软件实现的频谱分析仪1100,它可以作为用于分析此处的SDR的性能的应用程序来在通用计算设备上实现。例如,此处的SDR的实现易于向在计算设备上运行的应用程序展示所有PHY层信息。软件频谱分析仪1100是可以利用此信息的这样的应用程序。例如,当SDR处于操作中时,频谱分析仪1100可以在通用计算设备的处理器的一个或多个核上运行,并可以用图形方式在一个或多个星座图中显示无线电通信的波形和调制点,以及解调的结果。在图11中所示出的实现中,原始数据、下采样数据以及巴克数据被显示在星座图1102和波形图1104两者中。还显示了经解码的信息、解扰码信息、调试信息、帧内容、MAC信息、概述信息首部信息以及对文件信息的简要描述。此外,尽管市场上销售的频谱分析仪可能具有类似的功能和较宽的侦听频谱带,但是,它们也较贵。
对无线电协议的扩展
此处的SDR的各实现的灵活性允许开发和测试对诸如802.11之类的当前无线电协议的扩展。
巨帧
当信道条件好时,使用较大的帧来发射数据可以降低MAC/PHY首部、前同步码和每个帧ACK的开销。然而,802.11的最大帧大小被固定在2304字节。利用简单的修改(PHY算法中的几行的变化),示例性WiFi实现可以发射和接收最多32KB的巨帧。例如,当此处的SDR的两个实现使用上文所描述的示例性WiFi实现并带有巨帧优化时,数据的吞吐量可以增加。例如,当帧大小从1KB增大到6KB时,端对端吞吐量从5.9Mbps到8.2Mbps增大了39%。然而,当帧大小进一步增大到7KB时,吞吐量下降,因为帧差错率也随着大小而增大。如此,在某一时刻,增大的差错将抵消降低开销的好处。然而,值得注意的是,默认的商用基于硬件的NIC拒收大于2304字节的帧,即使那些帧可以被成功地解调。另外,还应指出,虽然发射巨帧的能力只是一个可能的优化,但是该能力表明由此处的SDR的实现所提供的完全可编程性使研究人员能使用便宜的通用计算设备SDR平台来探索这样的“假设”问题。
TDMA MAC
为评估此处的SDR的各实现准确地控制帧的发射时间的能力,实现了以预定义的时间间隔调度帧发射的简单的时分多址(TDMA)MAC算法。MAC状态机(SM)在如上文参考图9所讨论的ethread中运行,MAC SM连续地查询计时器以检查预定义的时间量是否已经过去。如果是,则MAC SM指示RCB发出帧。修改是简便易行的,向MAC算法添加了大约20行的附加代码。
由于RCB可以向示例性WiFi实现指出何时发射完成,并且帧的准确的大小是已知的,因此,当帧发射时,有可能计算准确的时间。在重负载下利用各种调度时间间隔进行了测试,在此期间,复制了本地磁盘上的文件,从附近的服务器下载了文件,同时回放HD视频,以用于确定平均错误和错误的标准偏差。发现平均错误小于1μs,这对于大多数无线协议是足够的。此外,被定义为与预先定义的调度晚了2μs发生的数据包发射的离群值在少于0.5%的时间中会出现。
无线电控制板接口和消息传递协议
图12示出了用于使无线电控制板(RCB)1202能与各种不同的RF前端1204中的任何一种连接的无线电控制板接口1200的示例性实现。在所示出的示例中,RCB 1202可以对应于上文所讨论的RCB 116、214、302、904中的任何一个,并包括用于控制RF前端1204和计算设备的系统总线(诸如上文所讨论的(已示出)计算设备200的系统总线212、系统总线112)之间的数据传输的功能。在所示出的实现中RCB 1202包括控制器1206,该控制器1206可以对应于FPGA 308或能够执行上文所讨论的RCB的功能的其他电路。RCB1202还包括板载存储器1208,该板载存储器1208可以对应于上文所讨论的板载存储器324,诸如用于数据缓冲和信号缓存的。RCB 1202还包括使RCB 1202能连接到计算设备200的系统总线212的总线接口1210。如上文所讨论的,系统总线212可以是PCIe总线或其他高速类型的总线,而总线接口1210是使RCB 1202能作为即插即用设备连接到计算设备的PCIe插槽的PCIe接口或PCIExpress卡接口。
RF前端1204包括控制器1212、模拟-数字和数字-模拟转换器1214、RF电路1216、一个或多个天线1218以及板载存储器1220。RF前端1204可以对应于上文所讨论的RF前端118、216、304、930中的任何一个,或其他RF前端。
用于可操作地连接RF前端1204与RCB 1202的接口1200可包括位于RCB1202上的一个或多个LVDS(低电压差分信号)接口或连接器1222,以及位于RF前端1204上的一个或多个LVDS接口或连接器1224。在所示出的实现中,RCB 1202包括四个LVDS连接器1222,其中两个用于连接RF前端1204上的两个LVDS连接器1224。在所示示例中,两个LVDS连接器1222、1224被用来支持两个无线电或两个不同的通道,诸如对于多个输入和多个输出(MIMO)应用程序等等。在其他实现中,RF前端1204可以只要求用于可操作地与RCB 1202连接的单个LVDS连接器1222,或者RF前端可以与RCB1202上的四个或更多LVDS连接器1222进行连接,用于各种多个通道或多个连接实现。此外,尽管此处作为示例性接口描述了LVDS接口1200,但是,其他接口也可以和SDR平台一起使用。
现在将描述可以与LVDS接口1200一起使用的消息交换协议的各实现。此处所描述的消息交换协议能实现RCB 1202和RF前端1204之间的数据、控制消息、状态消息、时钟信息及其他类型的消息或信号的交换。消息交换协议的各实现包括两层:物理层和链路层。
物理层包括时钟控制、串行化、低级别的编码以及训练。例如,可以使用双倍数据速率(DDR)模式来通过LVDS接口传输数据。在一些实现中,时钟信号是在专用LVDS引脚对(即,如下文所描述的,构成LVDS通道的正负的引脚对)上发射的。可以在时钟信号的上升和下降缘,即,在DDR模式下,传输和采样数据。在一些实现中,时钟速率可以比较高,例如,400MHz或更多。此外,可以在接口上提供用于在每一方向上传递时钟信号的专用线路或通道,即,clock_in通道和clock_out通道,各自使用专用的LVDS引脚对,如下面进一步描述的。
物理层还可以包括用于促进LVDS功能的串行器和解串行器。例如,LVDS接口是使输入数据宽度能比LVDS接口的可用线路或通道的实际数量宽的串行化的接口。
另外,物理层还可包括对通过接口传输的数据的标准8b/10b编码,用于实现DC(直流电)平衡和有限的差异。例如,8b/10b编码是线编码技术,该编码技术将8比特码元映射到10比特码元,以实现DC平衡和有限的差异,同时仍实现足够的状态改变以允许时钟恢复。根据8b/10b编码,至少20个比特的串中的1和0的计数之间的差不超过2,而连续的1或0的最大数量被限于合理的数量。如此,通过遵守接收到的序列中的变换,可以恢复时钟周期,而同时具有最大允许的运行长度能保证这样的时钟恢复。
物理层还可以包括训练和自适应调整(即,调节)特征。例如,LVDS发送器和LVDS接收器可以自适应地调整采样阶段,以调节LVDS接口来实现改善的性能。为促进自适应调整,LVDS发送器通过数据线发送训练模式,而LVDS接收器调节时钟信号的相位,并尝试确定对数据进行采样的最佳时间。
另外,物理层还可以包括使用状态LVDS引脚对(即,下面所描述的status_in或status_out引脚对)的专用的状态通道。状态信号指出通过数据线传递的数据是正常的工作数据(即,对应于RF信号的数字样本)还是用于调节接口1200的训练数据。例如,在训练期间,状态信号将指出“目的地未准备好”,直到训练阶段完成。
消息传递协议的链路层定义通过LVDS接口1200交换的消息格式。例如,如上文所提及的,状态消息在专用的状态通道(即,专用status_in通道和专用status_out通道)上在每一方向传输,用于指示LVDS接收器的状态。在一些实现中,有三种可能的状况状态:“复位”、“目的地未准备好”和“目的地已准备好”。“复位”状态表示,LVDS接口的LVDS接收器处于复位状态,在复位完成以前不能接收数据。“目的地未准备好”状态表示,LVDS接口的接收器当前不能接收数据,因为接收器要么处于训练阶段,要么接收器的FIFO缓冲器已满。在一些实现中,当LVDS接收器的状态是“接收器未准备好”时,LVDS发送器发送训练模式以使得LVDS接收器能够自适应地调整时钟信号的相位。“目的地已准备好”状态是表示LVDS发送器被允许向LVDS接收器发送工作数据的正常状态。在示例性实现中,状态可以使用下面的比特模式来编码:复位:01010101;目的地未准备好:0000111;目的地已准备好:00110011。作为一个示例,状态信号的比特率是相对应的时钟信号的1/5,例如,status_out信号的比特率等于clock_out信号的比特率除以5。
链路层还包括对用于在RCB和RF前端之间传输数据的数据消息的编码。如上文所描述的,通过接口1200传递的数据可包括从由RF前端接收到的并从RF前端传递到RCB的RF信号导出的数字样本(即,data_in),或由RCB从计算设备接收到的,并从RCB传递到RF前端以便作为RF信号发射的数字样本(即,data_out)。此外,通过LVDS接口1200传递的数据可以被封装到数据帧或编码的消息中,然后,数据在LVDS引脚对上传输,每一数据帧都包含预定数量的字节的数据。下面将参考图14另外描述数据消息的帧的示例性格式。在一些实现中,数据通过LVDS接口在每一方向在四个专用通道(即,四个data_in通道和四个data_out通道)上传输。如此,可以提供四个相应的数据专用的LVDS引脚对(即,每一引脚对都包括正引脚和负引脚,以构成用于传输消息的通道,如下面另外描述的),用于在每一方向传输数据。此外,例如,数据流还被以循环的方式分发到专用于传递数据的四个LVDS引脚对。如此,如果在数据队列中有四个数据消息或帧,则每一LVDS引脚对都可以接收四个数据消息的相应的一个数据消息。
链路层还使用专用于控制消息的LVDS引脚对在每一方向的专用控制通道上传输控制和确认(ACK)消息。如下面参考图15所描述的,可以使用固定长度帧来编码和传输控制消息。为确保控制消息的可靠传输,还使用控制通道,响应于正确地接收到的控制消息,返回ACK。作为示例,ACK消息可以是固定的一字节帧,例如,带有值0x5F。否定确认(NACK)也可以被定义为固定一字节帧,例如,带有值0xAF。
图13示出了对应于上文所讨论的LVDS连接器1222、1224的,并且被配置成与上文所讨论的协议一起使用的LVDS连接器1302的示例性实现。LVDS连接器1302包括用于提供14个不同的通道的编号为1-28的14对引脚。这些引脚对中的七对充当接收或“in”通道1304(即,RCB接收由RF前端作为RF信号接收到的数据),另外七对引脚充当发射或“out”通道1306(即,RCB将数据从计算设备传递到RF前端,以便作为RF信号传输)。每一LVDS通道都包括一对引脚,即,正(P)引脚和负(N)引脚,以支持LVDS通信。在所示示例中,在接收端,使用Status_in_Ppositive引脚1310和Status_in_Nnegative引脚1312作为构成专用status_in线路或通道的LVDS引脚对,来传递status_in信息。使用Control_in&ACK_in_Ppositive引脚1314和Control_in & ACK_in_Nnegative引脚1316作为专用的control_in通道的LVDS引脚对,来传递Control_in和ACK_in消息。使用相对应的正和负LVDS引脚对1318-1332上的四个数据通道Data0_in到Data3_in来传递接收到的数据。接收端时钟信号,clock_in在相应的正和负LVDS引脚1334、1336上传递。在发射端,status_out信号在相应的正和负引脚1340、1342上传递;Control_out &ACK_out信号在引脚1344、1346上传递;数据在相应的引脚1348-1362上的四个数据通道Data0_out到Data3_out上传递;而发射端时钟信号,clock_out,在相应的正和负LVDS引脚1364、1366上传递。如此,可见,此处的协议和LVDS接口为状态信号、控制消息和时钟信号建立了与用于数据消息的LVDS通道分开的单独的LVDS通道。
图14示出了根据此处所描述的消息传递协议的用于编码数据消息1400的示例性帧格式。数据消息1400通过上文所讨论的LVDS接口1200从RCB传递到RF前端或从RF前端传递到RCB。在所示出的示例数据消息1400中,根据此处的协议,数据帧格式包括一字节起始帧定界符(SFD)字段1402。SFD1402信令消息的开始,并可以具有例如值0xF5。SFD字段1402后面是一字节长度的字段1404,该字段1404指定消息1400的数据有效负载部分1406的长度,接下来是数据有效负载1406。例如,数据有效负载1406的最大长度可以限于特定预定的大小,如256个字节。数据有效负载1406包括在RCB 1202和RF前端1204之间交换的实际工作数据。此外,尽管此处示出和描述了数据消息1400的示例性帧格式,但是,也可以使用用于在RCB和RF前端之间传递数据的其他格式。
图15示出了根据此处的协议的用于编码控制消息1500的示例性帧格式。控制消息1500通常包含命令或参数,并通过上文所讨论的LVDS接口1200,使用专用的control_out和control_in引脚对作为专用的LVDS线路或通道,从RCB传递到RF前端或从RF前端传递到RCB。根据此处的协议的控制消息1500的所示出的格式包括一字节起始帧定界符(SFD)1502,接下来是提供控制消息1500的命令或参数的六字节命令和参数字段1504。一字节CRC 1506(循环冗余校验)、校验和等等被包括在控制消息的末尾处,用于确保消息被正确地接收。作为示例,当使用CRC-8时,使用下面多项式来计算CRC:x^8+x^7+x^6+x^4+x^2+1。此外,尽管此处示出和描述了数据消息1500的示例性格式,但是,也可以使用用于在RCB和RF前端之间传递控制消息的其他格式。
图16示出了在RCB 1202和RF前端1204之间实现消息传递协议的接口1200的示例性图。如上文所讨论的,消息传递协议包括物理层1600、RCB链路层1602和RF前端链路层1604。在一些实现中,参考图16所描述的协议和接口1200的各种编码器、解码器及其他模块可以通过RCB 1202上的相应的控制器1206以及RF前端1204上的控制器1212,分别通过存储在诸如板载存储器1208、1220之类的计算机可读存储介质中的执行指令来实现。在其他实现中可以在RCB 1202和/或RF前端1204上提供用于实现相同功能的专用电路和/或处理器。
如上文所讨论的,RCB 1202的状态和RF前端1204的状态可以是三种状态中的一个,即,复位、目的地已准备好、或目的地未准备好。根据当前状态,RCB生成状态信号1606,该状态信号1606表示通过数据线正在向RF前端发送的数据的类型,即,是训练数据还是工作数据(例如,对应于RF信号的数字样本)。例如,在训练状态,RCB向RF前端发送训练数据,或反之,用于执行对LVDS接口的调节。另一方面,在正常工作状态,RCB向RF前端发送数字样本及其他信息,或反之。
在框1606,状态信号被传递到物理层1600中的状态编码器1608。状态编码器1608编码RCB的当前状态信号,以便传输到RF前端。作为一个示例,状态信号的比特率是相对应的时钟信号的比特率的1/5,例如,status_out信号的比特率等于clock_out信号的比特率除以5。状态编码器1608在专用的status_out LVDS引脚对(例如,上文所讨论的引脚1340、1342)上将status_out信号传递到RF前端1204上的状态解码器1610。状态解码器1610解码status_out信号,以确定数据的当前状态,然后,在框1612,将状态传递到RF前端上的其他模块。此外,在进行训练的情况下,当完成训练时,“训练完成”信号1614被提供到状态编码器1608,并传递到状态解码器1610,状态解码器1610输出训练完成信号1616,如下文另外描述的。
另一方面,RF前端生成其自己的当前状态的状态信号1618(status_in),并将其传递到状态编码器1620。状态编码器1620将状态信号编码为status_in信号,并在专用的status_in LVDS引脚对(例如,上文所讨论的引脚1310、1312)上将status_in信号传递到RCB 1202上的状态解码器1622。状态解码器1622解码从RF前端接收到的状态信号,并在框1624,将状态传递到RCB上的其他模块。此外,在进行训练的情况下,当完成训练时,训练完成信号1626被提供到状态编码器1620,并传递到状态解码器1622,状态解码器1622输出训练完成信号1628,如下文另外描述的。
另外,如上文所讨论的,RCB 1202从计算设备接收要被传递到RF前端1204以便作为无线电信号发射的数据(例如,数字样本)。在将数据传递到RF前端1204之前,数据可以被临时存储在RCB 1202上的数据FIFO传输缓冲器1630(数据FIFO_TX)中。用于发射的数据从FIFO_TX缓冲器1630递送到RCB链路层1602中的数据帧编码器1632。数据帧编码器1632使用上文参考图14所讨论的帧格式,将数据编码为数据消息1400。然后,经格式化的数据消息1400被传递到物理层1600中的LVDS发送器1634,以便在四个专用的data_out通道引脚对(例如,上文所讨论的引脚1348-1362)中的一个上传递到RF前端1204上的LVDS接收器1636。在一些实现中,数据消息以循环的方式被串行化并分配给四个数据通道引脚对中的一对,虽然也可以使用其他调度技术。LVDS发送器1634可以以双倍数据速率传输,即,在时钟信号的上升和下降缘,还使用8b/10b编码来传递数据消息。在非训练数据的传递期间,RF前端上的LVDS接收器1636接收已编码的数据消息,并将数据消息传递到RF前端链路层1604中的数据帧解码器1638。数据帧解码器1630解码数据消息,并将来自经解码的消息的数据传递到数据FIFO缓冲器1640中。然后,数据从数据FIFO 1640传递到数字-模拟转换器1642,该转换器1642将数据的数字样本转换为模拟波形,以便由RF前端1204上的RF电路作为RF信号来发射。
类似地,另一方面,在框1644,由RF前端1204接收到的无线电信号被模拟-数字转换器转换为数字数据。数据可以被临时存储在数据FIFO缓冲器1646中,然后,传递到RF前端链路层1604中的数据帧编码器1648中。如上文参考图14所描述的,数据帧编码器1648将数据编码为数据消息格式,并将数据消息1400传递到LVDS发送器1650,该LVDS发送器1650执行类似于上文所描述的LVDS发送器1634的功能。LVDS发送器1650通过四个专用的LVDS data_in通道引脚对(例如,上文所描述的引脚1318-1332)中的一对,将数据消息传递到RCB 1202上的LVDS接收器1652,该LVDS接收器1652类似于上文所描述的LVDS接收器1636。LVDS接收器1652接收数据消息,并将数据消息传递到数据帧解码器1654。数据帧解码器1654解码数据消息,并将数据消息传递到数据FIFO接收缓冲器1656(数据FIFO_RX),用于最终从RCB传递到计算设备。
此外,在训练状态,当LVDS接收器的状态是“目的地未准备好”时,LVDS发送器1634、1650可以分别向LVDS接收器1636、1652发送包括训练模式的训练信息。LVDS接收器可以使用此训练模式来利用时钟信号优化采样相位。例如,可以通过每一专用数据LVDS引脚对(即,分别是引脚1318-1332和1348-1362)来递送训练模式。在一些实现中,训练模式满足下面的条件:
(1)模式不符合有效的8b/10b数据码,以便区分训练数据与有效的工作数据;
(2)“0”的数量和“1”的数量大致相等,以便实现DC平衡;以及(3)训练模式包括1、2、3、4和5个连续的相等比特,即,训练模式包括所有五个模式:“0”、“1”、“00”、“11”、“000”、“111”、“0000”、“1111”、“00000”、以及“11111”,以便促进接收到的时钟信号和数据之间的相位调整,这是训练的主要目的。当训练完成时,LVDS接收器递送训练完成信号1614、1620,如上文所讨论的,这些信号1614、1620被分别作为训练完成信号1616、1628传递到LVDS发送器。
另外,如上文所讨论的,控制消息和ACK在RCB 1202和RF前端1204之间在与数据线分开的控制线上传递。RCB 1202可以首先将控制命令或参数放在控制FIFO传输缓冲器1660(Crtl FIFO_TX)中。然后,控制命令或参数被传递到RCB链路层1602中的控制消息和ACK编码器1662。控制消息和ACK编码器作为控制消息来编码命令或参数,诸如以上文参考图15所描述的控制消息1500的帧格式。然后,控制消息被传递到LVDS发送器,该发送器在由LVDS引脚对(即,上文所讨论的引脚1344、1346)构成的专用的control out通道上将控制消息传递到RF前端1204上的LVDS接收器1636。LVDS接收器将控制消息传递到控制和ACK解码器1664,该解码器1664解码控制消息,以提取命令或参数。命令或参数被传递到无线电寄存器表1670,并可以是,例如,寄存器写入命令1666或寄存器读取命令1668。无线电寄存器表1670被无线电控制器1212访问,而控制命令或参数从而实现对RF前端1204的控制。
另一方面,寄存器读回1674或无线电接收到的信号强度指示(RSSI)1676可以作为控制参数从RF前端1204传递到RCB 1202。参数被传递到控制和ACK编码器1678,该编码器1678将参数编码为控制消息1500,如上文参考图15所讨论的。经编码的控制消息被传递到LVDS发送器1650,并在由LVDS引脚对(例如,上文所讨论的引脚1314、1316)构成的专用的control_in通道上传输到RCB 1202上的LVDS接收器1652。LVDS接收器1652将接收到的控制消息传递到控制和ACK解码器1680,该解码器1680解码接收到的控制消息,并将参数传递到控制FIFO接收缓冲器1682,然后,参数从该控制FIFO接收缓冲器1682传递到RCB控制器上。
此外,RCB 1202上的LVDS发送器1634还通过使用LVDS引脚对(例如,上文所讨论的引脚1334、1336)来在专用的clock_out通道上传递信号,将clock_out信号传递到RF前端1204上的LVDS接收器1636。类似地,RF前端1204上的LVDS发送器1650通过使用LVDS引脚对(例如,上文所讨论的引脚1364、1366),在另一专用时钟通道上传递clock_in信号,来将clock_in信号传递到RCB 1202上的LVDS接收器1652。如上文所讨论的,当在物理层1600执行训练时,LVDS接收器1636、1652中的一个或两者调节时钟信号的相位,来确定对数据进行采样的最佳时间。
响应于通过控制通道接收到的控制消息,置位ACK(确认消息)。当控制与ACK解码器1670、1680成功地接收到控制消息时,ACK接收到的信号1684、1686,分别被发送到相对应的控制与ACK编码器1678、1662。控制与ACK编码器1678、1662生成ACK消息,并分别将ACK消息传递到LVDS发送器1650、1634,再分别由LVDS发送器1650、1634将ACK消息分别发送到相对应的LVDS接收器1652、1636,再由LVDS接收器1652、1636将ACK消息传递到相应的LVDS发送器1634、1650。
图17示出了RCB 1202上的接口1200的LVDS连接器1222的另一示例性布局。在图17的实现中,八个28针LVDS连接器1222位于RCB上,当在平面图中查看时,呈现网格图案,具有四个连接器1222的两行,以及两个连接器1222的四列。如从纵向中心线1702起计算,连接器1222被间隔了预定的横向距离1704。在一种实现中,横向距离1704在17.78和20.00mm之间;然而,也可以使用其他预定的横向距离1704。此外,连接器1222被间隔预定的纵向距离,如从连接器的一个短端到同一列中的相邻的连接器的相对应的短端计算。在一种实现中,预定的纵向距离1706在45.085和48.00mm之间;然而,也可以使用其他预定的纵向距离1706。
图18示出了RCB 1202上的接口1200的LVDS连接器1222的另一示例性布局。在图18的实现中,四个28针连接器1222位于RCB的一侧,当在平面图中查看时,呈现第一网格图案,具有两个连接器1222的两行,以及两个连接器1222的两列。另外,四个28针连接器1222被排列在RCB 1202的另一侧,当在平面图中查看时,呈现第二网格图案,具有两个连接器1222的两行,以及两个连接器1222的两列,第二网格图案偏离第一网格图案。如从纵向中心线1802、1804、1806、1808起计算,连接器1222被间隔了预定的横向距离。在所示出的实施例中,中心线1802和1804之间的以及中心线1806和1808之间的横向距离1810在15.24和18.00mm之间,而中心线1804和1806之间的横向距离1704在17.78和20.00mm之间;然而,也可以使用其他预定的横向距离1704、1810。此外,连接器1222被间隔预定的纵向距离,如从连接器的一个短端到同一列中的相邻的连接器的相对应的短端计算。在一种实现中,预定的纵向距离1706在45.085和48.00mm之间;然而,也可以使用其他预定的纵向距离1706。
从前述的内容可以看出,RCB 1202的体系结构和用于连接RCB 1202与RF前端1204的接口1200实现了计算设备、RCB 1202和RF前端1204之间的对应于RF信号的数据的传递。各实现还与专用数据通道和专用控制通道一起提供消息传递协议,分别用于传递已编码的数据消息和控制消息。各实现还提供了用于传递相应的状态和时钟信号的单独的专用状态通道和时钟通道。在一些实现中,接口1200是用于提供高速数据传递的LVDS接口。此外,还可以进入用于根据时钟信号的相位来调节接口的训练模式。
额外的实现
此处的SDR的各实现在通用计算设备体系结构上提供完全可编程的软件定义的无线电平台。此处的SDR的各实现组合了基于硬件的SDR平台的性能和保真度与基于GPP的SDR平台的编程灵活性。此处的SDR平台的各实现在某些示例中是在实现使用802.11a/b/g协议进行操作的软件无线电的上下文中描述的。然而,也可以使用此处的SDR平台,实现额外的类型的软件无线电,如3GPP LTE(长期演进)、W-CDMA、GSM 802.11n、WiMax和各种其他无线电协议和标准。由此处的SDR的各实现所提供的灵活性使得它成为试验诸如ANC(模拟网络编码)或PPR(部分数据包恢复)之类的新颖的无线协议的方便的平台。此外,通过能够使用多个核,此处的SDR的各实现可以被扩展以支持甚至更加复杂的PHY算法,如MIMO(多个输入多个输出)或SIC(连续的干扰抵消)。
另外,此处的实现也不一定仅限于任何特定编程语言。应该理解,可以使用各种编程语言来实现此处所描述的原理。此外,还应该注意,图1、2、3、4、5、8和9中所示出的系统配置纯粹是其中可以提供各实现的系统的示例性系统,并且,各实现不仅限于所示出的特定硬件配置。
显然,此详细描述提供了各种示例性实现,如附图所描述和所示出的。本发明不限于此处所描述并示出的实现,而可扩展到其他实现,如本领域技术人员已知或将变得已知的。说明书中对“一个实现”、“该实现”、“这些实现”或“某些实现”的引用意味着结合这些实现所描述的特定特征、结构或特性被包括在至少一个实现中,并且这些短语在说明书各处的出现不一定都指代同一实现。另外,在说明书中,阐明了众多具体细节以提供全面的公开。然而,本领域的普通技术人员可以明白,这些具体细节并不是在所有实现中都是必需的。在其它环境中,未详细描述和/或以框图形式示出公知的结构、材料、电路、进程和接口以免不必要地使公开内容变得晦涩难懂。
结论
此处所描述的实现提供了SDR平台和高性能的PHY处理库。此处的SDR的各实现使用硬件和软件技术两者在通用计算设备体系结构上取得高吞吐量和低延迟以用于实现高速SDR。实现包括用于使用消息传递协议来在RCB和RF前端之间交换数据的LVDS接口。此外,训练状态可以用于根据时钟信号的相位来调节RCB和RF前端之间的接口,以优化数据访问。另外,实现还包括SDR平台,该平台可使用户能够完全以软件在通用计算设备体系结构上开发高速无线电实现,如IEEE 802.11a/b/g PHY和MAC。例如,时间紧迫的任务、MAC和PHY处理可以根据需要被改变和重新编程,以便实现各种目的。此外,还描述了SDR的特定示例,包括可以使用802.11a/b/g标准与商用无线NIC进行交互操作的示例性WiFi无线电系统。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解所附权利要求书中定义的主题不限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。另外,本领域技术人员可以理解,用于实现相同用途的任何方案都可以代替此处所公开的特定实现。本发明旨在覆盖所公开的实现的任一和所有改编或变型,并且可以理解后面的权利要求中所使用的术语不应被解释为将本专利限于说明书中所公开的具体实现。相反,本专利的范围完全由所附权利要求书以及这些权利要求所授权的等效技术方案的完整范围来确定。

Claims (15)

1.一种无线电控制板(RCB),包括:
控制器;
用于可操作地连接所述RCB以便与计算设备进行通信的总线接口;以及
用于可操作地连接所述RCB与RF前端以便在所述RCB和所述RF前端之间交换数据的低电压差分信号(LVDS)接口。
2.根据权利要求1所述的无线电控制板,其特征在于,所述LVDS接口包括至少一个LVDS连接器,提供用于传输数据消息的至少一个LVDS数据通道和用于在所述RCB和所述RF前端之间传输控制消息的单独的LVDS控制通道。
3.根据权利要求2所述的无线电控制板,其特征在于,所述LVDS接口还包括用于递送表示LVDS接收器是否能够接收数据的状态信号的LVDS状态通道,其中所述LVDS状态通道是与所述至少一个LVDS数据通道和所述LVDS控制通道分开的。
4.根据权利要求3所述的无线电控制板,其特征在于,所述LVDS接口还包括用于递送时钟信号的LVDS时钟通道,其中所述LVDS时钟通道是与所述LVDS状态通道、所述LVDS控制通道和所述至少一个LVDS数据通道分开的。
5.根据权利要求1所述的无线电控制板,其特征在于,所述LVDS接口包括至少一个LVDS发送器和至少一个LVDS接收器,其中所述至少一个LVDS发送器被配置成向所述LVDS接收器发送训练模式,用于调节所述LVDS接口的时钟相位。
6.根据权利要求1所述的无线电控制板,其特征在于,所述LVDS接口包括至少四个28针LVDS连接器,它们分两行和两列排列在所述RCB上,每一行或列有两个LVDS连接器,其中所述LVDS连接器的纵向中心线之间的距离在17.78和20.00mm之间。
7.根据权利要求1所述的无线电控制板,其特征在于,所述系统总线是外 围组件互连快捷(PCIe)总线。
8.根据权利要求1所述的无线电控制板,其特征在于,还包括数据帧编码器,所述数据帧编码器被配置成,将所述RCB上的数据编码为数据消息的有效负载部分,然后再将所述数据消息发射到所述RF前端,所述数据消息具有起始帧定界符和长度指示符。
9.根据权利要求1所述的无线电控制板,还包括:
在所述RCB上实现的、从所述RF前端上的LVDS发送器接收传入的编码的数据消息的LVDS接收器;以及
所述RCB上的解码所述编码的数据消息以得到传入的数据,用于将所述传入的数据存储在所述RCB上的缓冲器中的数据帧解码器。
10.一种方法,包括:
通过通信接口连接具有处理器和存储器的无线电控制板(RCB)以便可操作地与射频(RF)前端进行通信,其中所述RCB还连接用于可操作地与计算设备的系统总线进行通信;
从所述计算设备将传出数据接收到所述RCB处的所述存储器中;
通过所述RCB将所述传出数据编码为数据消息;以及
通过所述通信接口将所述编码的数据消息传递到所述RF前端。
11.根据权利要求10所述的方法,其特征在于,还包括:
将控制参数编码为控制消息,用于通过所述通信接口递送到所述RF前端,
其中,所述控制消息包括起始帧定界符,所述控制参数和循环冗余校验值,
其中,所述控制消息通过所述通信接口在与用于递送所述数据消息的一个或多个数据通道分开的专用控制通道上递送到所述RF前端。
12.根据权利要求10所述的方法,其特征在于,还包括通过所述通信接口在专用状态通道上,在所述RCB处接收所述RF前端的状态,其中,所述状态表示通过所述专用数据通道递送的数据是训练数据还是工作数据。
13.根据权利要求10所述的方法,其特征在于,还包括通过所述通信接口递送训练数据,其中,所述训练数据使LVDS接收器能调节时钟信号的相 位,以便优化接收到的数据的读取。
14.根据权利要求10所述的方法,其特征在于,所述通信接口是LVDS(低电压差分信号)接口,所述方法还包括通过所述RCB上的LVDS发送器来向所述RF前端发送所述数据消息,其中,所述LVDS发送器使用8b/10b编码来向所述RF前端递送所述数据消息。
15.一种无线电控制板(RCB),包括:
耦合到RCB存储器的RCB控制器;
用于可操作地连接所述RCB以与计算设备的系统总线进行通信,以便在所述RCB和所述计算设备之间交换数据的总线接口;
用于可操作地连接所述RCB与射频(RF)前端以便在所述RCB和所述RF前端之间交换数据的低电压差分信号(LVDS)接口,
其中,所述LVDS接口包括至少一个LVDS连接器,提供用于在所述RCB和所述RF前端之间传输数据消息的至少一个LVDS数据通道的,以及用于在所述RCB和所述RF前端之间传输控制消息的单独的LVDS控制通道。 
CN201080043940.9A 2009-09-30 2010-09-15 用于软件定义无线电平台的无线电控制板 Active CN102667742B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/571,188 US9753884B2 (en) 2009-09-30 2009-09-30 Radio-control board for software-defined radio platform
US12/571,188 2009-09-30
PCT/US2010/049013 WO2011041111A2 (en) 2009-09-30 2010-09-15 Radio control board for software-defined radio platform

Publications (2)

Publication Number Publication Date
CN102667742A true CN102667742A (zh) 2012-09-12
CN102667742B CN102667742B (zh) 2015-08-19

Family

ID=43781559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080043940.9A Active CN102667742B (zh) 2009-09-30 2010-09-15 用于软件定义无线电平台的无线电控制板

Country Status (3)

Country Link
US (1) US9753884B2 (zh)
CN (1) CN102667742B (zh)
WO (1) WO2011041111A2 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916322A (zh) * 2013-01-04 2014-07-09 特拉博斯股份有限公司 定义软件定义网络的网络元件的查找系统的方法和设备
CN105812355A (zh) * 2016-03-04 2016-07-27 北京左江科技有限公司 一种lvds接口通信方法
CN107491975A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 用于服务器和用于消费者的数据槽数据处理方法和装置
CN107943744A (zh) * 2017-10-25 2018-04-20 西南电子技术研究所(中国电子科技集团公司第十研究所) 综合化通信系统多核处理器可重构体系结构
CN108173555A (zh) * 2017-11-16 2018-06-15 上海微波技术研究所(中国电子科技集团公司第五十研究所) 一种基于多参数状态机的波形控制方法
CN108574486A (zh) * 2017-03-14 2018-09-25 芯籁半导体股份有限公司 时脉信号处理系统及其方法
CN109361490A (zh) * 2018-08-10 2019-02-19 锐捷网络股份有限公司 数据传输方法、计算机设备、数据转接板及sdr平台
CN109479106A (zh) * 2016-08-22 2019-03-15 索尼半导体解决方案公司 比较器、ad转换器、固体摄像装置、电子设备和比较器的控制方法
CN109889226A (zh) * 2019-03-18 2019-06-14 中国科学院上海高等研究院 基于rtx的双向通信软件无线电实现装置及方法
CN111816231A (zh) * 2020-07-30 2020-10-23 中科院微电子研究所南京智能技术研究院 一种双-6t sram结构的存内计算装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685931A (zh) 2011-03-17 2012-09-19 中兴通讯股份有限公司 一种基于软件无线电的无线通讯传输系统及方法
CN102571317B (zh) * 2012-01-06 2016-04-27 因诺微科技(天津)有限公司 软件无线电系统中基于pci总线的数据同步方法及系统
KR102009440B1 (ko) * 2012-12-14 2019-08-12 엘지디스플레이 주식회사 데이터 인터페이스 제어 장치 및 방법
CN103441807A (zh) * 2013-08-20 2013-12-11 南昌大学 一种基于GNU Radio和USRP的软件频谱分析仪
KR101553805B1 (ko) * 2014-09-15 2015-09-17 아주대학교산학협력단 양방향 릴레이 채널을 위한 아날로그 네트워크 코딩 기반의 랜덤 액세스 방법 및 그 장치
TWI629597B (zh) * 2017-03-14 2018-07-11 芯籟半導體股份有限公司 一種時脈訊號處理系統及其方法
US11183773B2 (en) 2018-10-16 2021-11-23 Hook'd WiFi Inc. Configurable communication system using stacked antennas
US11239570B2 (en) 2018-10-16 2022-02-01 Hook'd WiFi Inc. Wireless communications system with scalable architecture
US20200120753A1 (en) * 2018-10-16 2020-04-16 Hook'd WiFi Inc. Modular Circuit Board for Telecommunications System
JP7270787B2 (ja) * 2019-08-06 2023-05-10 華為技術有限公司 指示情報を搬送するデータを伝送するための方法、装置およびシステム
US11936717B2 (en) * 2021-11-16 2024-03-19 Netflix, Inc. Scalable media file transfer
US20230239936A1 (en) * 2022-01-21 2023-07-27 David Todd Miller Real-time high data rate demodulation method using multi-cores of general purpose processor in parallel

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050202858A1 (en) * 2002-06-21 2005-09-15 Michael Farber Positional determination of a user in a mobile communications system with emission diversity
US20060015674A1 (en) * 2002-07-12 2006-01-19 Murotake David K Self-booting software defined radio module
US20080098133A1 (en) * 2005-01-06 2008-04-24 Tamir Shaanan Bi-Directional Wired Interface
CN101399557A (zh) * 2007-09-27 2009-04-01 奇景光电股份有限公司 支持高速无线通信平台的方法及系统

Family Cites Families (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5099417A (en) 1987-03-13 1992-03-24 Texas Instruments Incorporated Data processing device with improved direct memory access
US5212777A (en) 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
FR2734360B1 (fr) 1995-05-19 1997-07-04 Elf Antar France Procede de correction d'un signal delivre par un instrument de mesure
US5784640A (en) 1996-03-18 1998-07-21 Advanced Micro Devices, Inc. CPU with DSP function preprocessor having look-up table for translating instruction sequences intended to perform DSP function into DSP macros
KR100195741B1 (ko) 1996-07-01 1999-06-15 전주범 가변 레이트 비터비 복호화기
US6298370B1 (en) 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
FI104019B (fi) 1997-06-19 1999-10-29 Nokia Telecommunications Oy Signaalin ilmaisumenetelmä digitaalisen solukkoradioverkon vastaanottimessa
US6114971A (en) 1997-08-18 2000-09-05 X-Cyte, Inc. Frequency hopping spread spectrum passive acoustic wave identification device
US6167031A (en) 1997-08-29 2000-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Method for selecting a combination of modulation and channel coding schemes in a digital communication system
JP3900637B2 (ja) 1997-12-19 2007-04-04 ソニー株式会社 ビタビ復号装置
US6654428B1 (en) 1998-01-13 2003-11-25 Massachusetts Institute Of Technology Systems and methods for wireless communications
US5955992A (en) 1998-02-12 1999-09-21 Shattil; Steve J. Frequency-shifted feedback cavity used as a phased array antenna controller and carrier interference multiple access spread-spectrum transmitter
US6252547B1 (en) 1998-06-05 2001-06-26 Decisionmark Corp. Method and apparatus for limiting access to signals delivered via the internet
US6061555A (en) 1998-10-21 2000-05-09 Parkervision, Inc. Method and system for ensuring reception of a communications signal
US6188702B1 (en) 1998-11-17 2001-02-13 Inrange Technologies Corporation High speed linking module
US6182030B1 (en) 1998-12-18 2001-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced coding to improve coded communication signals
US6587671B1 (en) 1999-05-28 2003-07-01 Agilent Technologies, Inc. RF test set with concurrent measurement architecture
US6415415B1 (en) 1999-09-03 2002-07-02 Infineon Technologies North America Corp. Survival selection rule
US6788702B1 (en) 1999-10-15 2004-09-07 Nokia Wireless Routers, Inc. Protocol for neighborhood-established transmission scheduling
US7072818B1 (en) 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6557062B1 (en) 1999-12-09 2003-04-29 Trw Inc. System and method for low-noise control of radio frequency devices
US6351499B1 (en) 1999-12-15 2002-02-26 Iospan Wireless, Inc. Method and wireless systems using multiple antennas and adaptive control for maximizing a communication parameter
US6298035B1 (en) 1999-12-21 2001-10-02 Nokia Networks Oy Estimation of two propagation channels in OFDM
US6578153B1 (en) * 2000-03-16 2003-06-10 Fujitsu Network Communications, Inc. System and method for communications link calibration using a training packet
US6895512B1 (en) 2000-06-30 2005-05-17 Microsoft Corporation Methods and systems for synchronizing security descriptors in systems that use multiple security descriptor specifications
US6735448B1 (en) 2000-11-07 2004-05-11 Hrl Laboratories, Llc Power management for throughput enhancement in wireless ad-hoc networks
WO2002039668A2 (en) 2000-11-09 2002-05-16 Hrl Laboratories, Llc Method and apparatus for adaptive bandwidth reservation in wireless ad-hoc networks
US7054375B2 (en) 2000-12-22 2006-05-30 Nokia Corporation Method and apparatus for error reduction in an orthogonal modulation system
EP2627008A3 (en) 2000-12-29 2013-09-11 Intel Mobile Communications GmbH Channel codec processor configurable for multiple wireless communications standards
US7751411B2 (en) * 2001-01-10 2010-07-06 Pmc-Sierra, Inc. System interface for cell and/or packet transfer
US7016325B2 (en) 2001-01-18 2006-03-21 Strix Systems, Inc. Link context mobility method and system for providing such mobility, such as a system employing short range frequency hopping spread spectrum wireless protocols
US6963579B2 (en) 2001-02-02 2005-11-08 Kyocera Wireless Corp. System and method for broadband roaming connectivity using DSL
US7110349B2 (en) 2001-03-06 2006-09-19 Brn Phoenix, Inc. Adaptive communications methods for multiple user packet radio wireless networks
US20020155811A1 (en) 2001-04-18 2002-10-24 Jerry Prismantas System and method for adapting RF transmissions to mitigate the effects of certain interferences
BR0209873A (pt) 2001-05-24 2005-04-12 Atlinks Usa Inc Chavemento de deslocamento de frequência caótica de banda estreita
JP2003029957A (ja) 2001-07-16 2003-01-31 Seiko Epson Corp 情報処理装置
FR2831015B1 (fr) 2001-10-15 2004-01-02 Thomson Licensing Sa Procede de detection de canaux de transmission et dispositif de reception utilisant le procede
HUE030635T2 (en) 2002-03-27 2017-06-28 Panasonic Ip Corp America A variable length coding and decoding system and a variable length coding and decoding method
US6996738B2 (en) * 2002-04-15 2006-02-07 Broadcom Corporation Robust and scalable de-skew method for data path skew control
US7287254B2 (en) 2002-07-30 2007-10-23 Unisys Corporation Affinitizing threads in a multiprocessor system
AU2003259781A1 (en) 2002-08-13 2004-02-25 Vanu, Inc. Convolutional decoding
US7017140B2 (en) 2002-08-29 2006-03-21 Bae Systems Information And Electronic Systems Integration Inc. Common components in interface framework for developing field programmable based applications independent of target circuit board
WO2004038549A2 (en) 2002-10-24 2004-05-06 Bbnt Solutions Llc Spectrum-adaptive networking
US8205145B2 (en) 2002-12-18 2012-06-19 Texas Instruments Incorporated High-speed add-compare-select (ACS) circuit
US7010060B2 (en) 2003-01-10 2006-03-07 Cornell Research Foundation, Inc. Real-time software receiver
US6864715B1 (en) 2003-02-27 2005-03-08 Xilinx, Inc. Windowing circuit for aligning data and clock signals
US7065376B2 (en) 2003-03-20 2006-06-20 Microsoft Corporation Multi-radio unification protocol
US7620062B2 (en) * 2003-05-01 2009-11-17 Genesis Microchips Inc. Method of real time optimizing multimedia packet transmission rate
US7408878B2 (en) * 2003-06-10 2008-08-05 Cisco Technology, Inc. System packet interface
US7162204B2 (en) 2003-11-24 2007-01-09 Broadcom Corporation Configurable spectral mask for use in a high data throughput wireless communication
US7287077B2 (en) 2003-08-07 2007-10-23 International Business Machines Corporation Reservation of TCP/UDP ports using UID, GID or process name
US8526412B2 (en) 2003-10-24 2013-09-03 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
JP2005136572A (ja) 2003-10-29 2005-05-26 Renesas Technology Corp 無線通信用半導体集積回路およびデータ処理用半導体集積回路並びに携帯端末
US20050118977A1 (en) 2003-12-02 2005-06-02 Drogi Serge F. Method, apparatus, and systems for digital radio communication systems
KR101085716B1 (ko) 2003-12-03 2011-11-21 삼성전자주식회사 소프트웨어 기반 이동통신 시스템에서 이동국의 수신 장치및 방법
US7236806B2 (en) 2004-03-14 2007-06-26 Benq Corporation Baseband card architecture for a base transceiver station
US7529565B2 (en) 2004-04-08 2009-05-05 Starkey Laboratories, Inc. Wireless communication protocol
US7660374B2 (en) 2004-05-21 2010-02-09 Honeywell International Inc. Method and apparatus for excision of narrowband interference signals in navigation or communication bands
WO2006000955A1 (en) 2004-06-24 2006-01-05 Philips Intellectual Property & Standards Gmbh A method for signaling thestatus of a subcarrier in a mc network and a method for adaptively allocating the subcarriers in a mc network
PT2144071T (pt) 2004-08-16 2018-08-07 E Distribuzione S P A Método e sistema para detetar a cablagem de fase de uma tensão de fase desconhecida em relação a uma tensão de fase de referência
US7881390B2 (en) 2004-12-01 2011-02-01 Intel Corporation Increased discrete point processing in an OFDM communication system
CN101088242B (zh) 2004-12-23 2012-07-11 Nxp股份有限公司 低复杂度的盲传输格式检测
US20060168587A1 (en) 2005-01-24 2006-07-27 Shahzad Aslam-Mir Interoperable communications apparatus and method
US7701900B2 (en) 2005-02-03 2010-04-20 Control4 Corporation Device discovery and channel selection in a wireless networking environment
US7933598B1 (en) 2005-03-14 2011-04-26 Kineto Wireless, Inc. Methods and apparatuses for effecting handover in integrated wireless systems
KR100618266B1 (ko) 2005-03-21 2006-09-01 주식회사 팬택 Lvds를 이용한 데이터 송수신 장치 및 그를 이용한휴대용 단말기 및 그 방법
US7610017B2 (en) 2005-06-09 2009-10-27 Vixs Systems, Inc. Increased data rate transmissions of a wireless communication
WO2006138288A2 (en) 2005-06-13 2006-12-28 Nokia Corporation Flexible bandwidth communication system and method using a common physical layer technology platform
US8670493B2 (en) 2005-06-22 2014-03-11 Eices Research, Inc. Systems and/or methods of increased privacy wireless communications
WO2007012790A1 (en) 2005-07-26 2007-02-01 Abolghasem Chizari Digital wireless information delivery system
JP4398927B2 (ja) 2005-09-22 2010-01-13 株式会社東芝 周波数利用状況測定システム
KR101457830B1 (ko) 2005-09-29 2014-11-05 인터디지탈 테크날러지 코포레이션 Mimo 빔형성 기반의 단일 반송파 주파수 분할 다중 접속 시스템
US20070076649A1 (en) 2005-09-30 2007-04-05 Intel Corporation Techniques for heterogeneous radio cooperation
US7650525B1 (en) * 2005-10-04 2010-01-19 Force 10 Networks, Inc. SPI-4.2 dynamic implementation without additional phase locked loops
US7532676B2 (en) 2005-10-20 2009-05-12 Trellis Phase Communications, Lp Single sideband and quadrature multiplexed continuous phase modulation
JP4480661B2 (ja) 2005-10-28 2010-06-16 株式会社ルネサステクノロジ 半導体集積回路装置
CN101385361A (zh) 2005-11-07 2009-03-11 新加坡科技研究局 用于分配频率范围的方法和装置
KR100825739B1 (ko) 2005-11-14 2008-04-29 한국전자통신연구원 Ofdma 기반 인지 무선 시스템에서의 동적 자원 할당방법 및 이를 위한 하향 링크 프레임 구조
US7565140B2 (en) 2005-12-29 2009-07-21 Intel Corporation Device, system and method of processing received wireless signals
US20070178841A1 (en) 2006-01-27 2007-08-02 Network Instruments, Llc Apparatus and methods for concurrent wireless network analysis
WO2007100774A1 (en) 2006-02-28 2007-09-07 Atc Technologies, Llc Systems, methods and transceivers for wireless communications over discontiguous spectrum segments
WO2007132016A1 (en) 2006-05-16 2007-11-22 Interuniversitair Microelektronica Centrum (Imec) Digital receiver for software-defined radio implementation
US8606259B2 (en) 2006-06-28 2013-12-10 Samsung Electronics Co., Ltd. Method and system for testing a software-defined radio device
EP1876730A1 (en) 2006-07-05 2008-01-09 Koninklijke Philips Electronics N.V. Bandwidth asymmetric communication system
US7756198B2 (en) 2006-08-18 2010-07-13 Fujitsu Limited System and method for assigning channels in a wireless network
US8520606B2 (en) 2006-10-23 2013-08-27 Samsung Electronics Co., Ltd Synchronous spectrum sharing based on OFDM/OFDMA signaling
US8891455B2 (en) 2006-10-23 2014-11-18 Samsung Electronics Co., Ltd. Synchronous spectrum sharing by dedicated networks using OFDM/OFDMA signaling
KR20080036534A (ko) 2006-10-23 2008-04-28 삼성전자주식회사 무선 통신 시스템의 동기 스펙트럼 공유 장치 및 방법
WO2008052001A2 (en) 2006-10-24 2008-05-02 Qualcomm Incorporated Guard independent signal mapping
US7876786B2 (en) 2006-12-01 2011-01-25 Microsoft Corporation Dynamic time-spectrum block allocation for cognitive radio networks
US8879573B2 (en) 2006-12-01 2014-11-04 Microsoft Corporation Media access control (MAC) protocol for cognitive wireless networks
US8687563B2 (en) 2007-01-09 2014-04-01 Stmicroelectronics, Inc. Simultaneous sensing and data transmission
US7831893B2 (en) 2007-01-20 2010-11-09 Harris Corporation Reduced state trellis decoder using programmable trellis parameters
US8391217B2 (en) 2007-03-23 2013-03-05 Samsung Electronics Co., Ltd Synchronous spectrum sharing by dedicated networks using OFDM/OFDMA signaling
US8136147B2 (en) 2007-04-16 2012-03-13 International Business Machines Corporation Privilege management
US8655283B2 (en) 2007-04-23 2014-02-18 Lingna Holdings Pte., Llc Cluster-based cooperative spectrum sensing in cognitive radio systems
US8041380B2 (en) 2007-04-26 2011-10-18 Lingna Holdings Pte., Llc Power control in cognitive radio systems based on spectrum sensing side information
KR20080098263A (ko) 2007-05-04 2008-11-07 국방과학연구소 애드혹(Ad-hoc) 네트워크에서의 통신 방법
US8010149B2 (en) 2007-05-29 2011-08-30 Broadcom Corporation Multi-mode IC with multiple processing cores
JP4806660B2 (ja) 2007-06-11 2011-11-02 日本電信電話株式会社 無線通信システムとその通信方法
CN101743586B (zh) 2007-06-11 2012-10-17 弗劳恩霍夫应用研究促进协会 音频编码器、编码方法、解码器、解码方法
FR2917932A1 (fr) 2007-06-19 2008-12-26 Thomson Licensing Sas Procede de detection de canaux de transmission satellitaires et dispositif de reception utilisant le procede.
US7881726B2 (en) 2007-07-31 2011-02-01 Motorola, Inc. Method and apparatus for spectrum sharing between an incumbent communications system and a cognitive radio system
US8243612B2 (en) 2007-08-01 2012-08-14 Microsoft Corporation Dynamic channel-width allocation in wireless networks
KR101434176B1 (ko) 2007-08-28 2014-09-30 삼성전자주식회사 무선 통신 시스템의 액세스 포인트와 이동국 및 그 제어방법
FI120758B (fi) 2007-08-31 2010-02-15 Vacon Oyj Komponentin eliniän määritys
EP2040427A1 (en) 2007-09-22 2009-03-25 New Day Investment Limited High speed electrical data transmission system
CN101399930B (zh) 2007-09-25 2011-02-09 晨星半导体股份有限公司 智能型扫描频道的方法及其相关装置
CN101415226B (zh) 2007-10-15 2010-06-23 大唐移动通信设备有限公司 时分双工系统提高下行导频时隙资源利用率的方法及装置
US8761192B2 (en) 2007-11-07 2014-06-24 Apple Inc. Methods and systems for channelization
JP4583430B2 (ja) 2007-11-08 2010-11-17 日本電信電話株式会社 無線通信システム
US8107939B2 (en) 2007-12-14 2012-01-31 Microsoft Corporation Software defined radio architecture
US8068826B2 (en) 2008-02-01 2011-11-29 Motorola Solutions, Inc. Method and apparatus for controlling transmit power and incumbent protection in a cognitive radio system
US20090204725A1 (en) 2008-02-13 2009-08-13 Microsoft Corporation Wimax communication through wi-fi emulation
US8155039B2 (en) 2008-03-17 2012-04-10 Wi-Lan, Inc. System and apparatus for cascading and redistributing HDTV signals
US8718559B2 (en) 2008-04-07 2014-05-06 Nokia Corporation Method, apparatus and computer program for sensing spectrum in a cognitive radio environment
US8831519B2 (en) 2008-04-09 2014-09-09 Core Wireless Licensing S.A.R.L. Distributed multi-channel cognitive MAC protocol
US8060104B2 (en) 2008-05-30 2011-11-15 Motorola Solutions, Inc. Coexistence and incumbent protection in a cognitive radio network
US8699424B2 (en) 2008-06-27 2014-04-15 Microsoft Corporation Adapting channel width for improving the performance of wireless networks
KR101513044B1 (ko) 2008-08-05 2015-04-17 엘지전자 주식회사 Papr을 줄이기 위한 무선 접속 방식
KR101565417B1 (ko) 2008-08-08 2015-11-03 엘지전자 주식회사 다중 주파수 대역 시스템에서의 자원 할당하는 방법 및 장치
EP2319260A2 (en) 2008-08-19 2011-05-11 Shared Spectrum Company Method and system for dynamic spectrum access using specialty detectors and improved networking
KR101549021B1 (ko) 2008-08-20 2015-09-01 엘지전자 주식회사 상향링크 papr을 줄이기 위한 프리코딩 방법 및 이를 위한 장치
US8170577B2 (en) 2008-08-22 2012-05-01 Telcom Ventures, Llc Method and system enabling use of white space radio spectrum using digital broadcast signals
US8107391B2 (en) 2008-11-19 2012-01-31 Wi-Lan, Inc. Systems and etiquette for home gateways using white space
US8204455B2 (en) 2008-12-19 2012-06-19 Sony Corporation Techniques for pre-distorting transmitted signals for a transmitter device
US8861445B2 (en) 2009-03-11 2014-10-14 Sony Cororation Multi-channel single radio communication in home mesh network
US9025536B2 (en) 2009-03-26 2015-05-05 Qualcomm Incorporated Apparatus and methods of whitespace communication
US8179797B2 (en) 2009-05-28 2012-05-15 Microsoft Corporation Channel discovery and disconnection in networks over white spaces and other portions of the spectrum
US8811903B2 (en) 2009-05-28 2014-08-19 Microsoft Corporation Spectrum assignment for networks over white spaces and other portions of the spectrum
US20100309317A1 (en) 2009-06-04 2010-12-09 Wi-Lan Inc. Device and method for detecting unused tv spectrum for wireless communication systems
US8937872B2 (en) 2009-06-08 2015-01-20 Wi-Lan, Inc. Peer-to-peer control network for a wireless radio access network
WO2011015960A1 (en) 2009-08-05 2011-02-10 Koninklijke Philips Electronics N.V. Dynamic reconfiguration of regulation-compliance mode in cognitive radio networks
US8599773B2 (en) 2009-11-17 2013-12-03 Samsung Electronics Co., Ltd. Method and system for selective scalable channel-based station enablement and de-enablement in television band white spaces
US8644230B2 (en) 2009-11-23 2014-02-04 At&T Intellectual Property I, L.P. Method and apparatus for providing communication over a white space channel without causing interference to digital television systems
ES2805151T3 (es) 2010-02-02 2021-02-10 Microsoft Technology Licensing Llc Método y aparato de control de potencia de transmisión en una red de área local inalámbrica
US9516686B2 (en) 2010-03-17 2016-12-06 Qualcomm Incorporated Method and apparatus for establishing and maintaining peer-to-peer (P2P) communication on unlicensed spectrum
WO2012149679A1 (en) 2011-05-04 2012-11-08 Microsoft Corporation Spectrum allocation for base station

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050202858A1 (en) * 2002-06-21 2005-09-15 Michael Farber Positional determination of a user in a mobile communications system with emission diversity
US20060015674A1 (en) * 2002-07-12 2006-01-19 Murotake David K Self-booting software defined radio module
US20080098133A1 (en) * 2005-01-06 2008-04-24 Tamir Shaanan Bi-Directional Wired Interface
CN101399557A (zh) * 2007-09-27 2009-04-01 奇景光电股份有限公司 支持高速无线通信平台的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OPTICAL INTERNETWORKING FORUM: "《System Packet Interface Level 4》", 15 October 2003, article "System Packet Interface Level 4", pages: 10,14,36,40 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916322A (zh) * 2013-01-04 2014-07-09 特拉博斯股份有限公司 定义软件定义网络的网络元件的查找系统的方法和设备
CN103916322B (zh) * 2013-01-04 2018-07-17 特拉博斯股份有限公司 定义软件定义网络的网络元件的查找系统的方法和设备
CN105812355A (zh) * 2016-03-04 2016-07-27 北京左江科技有限公司 一种lvds接口通信方法
CN105812355B (zh) * 2016-03-04 2019-04-12 北京左江科技股份有限公司 一种lvds接口通信方法
CN107491975A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 用于服务器和用于消费者的数据槽数据处理方法和装置
CN109479106A (zh) * 2016-08-22 2019-03-15 索尼半导体解决方案公司 比较器、ad转换器、固体摄像装置、电子设备和比较器的控制方法
CN108574486A (zh) * 2017-03-14 2018-09-25 芯籁半导体股份有限公司 时脉信号处理系统及其方法
CN107943744A (zh) * 2017-10-25 2018-04-20 西南电子技术研究所(中国电子科技集团公司第十研究所) 综合化通信系统多核处理器可重构体系结构
CN108173555A (zh) * 2017-11-16 2018-06-15 上海微波技术研究所(中国电子科技集团公司第五十研究所) 一种基于多参数状态机的波形控制方法
CN109361490A (zh) * 2018-08-10 2019-02-19 锐捷网络股份有限公司 数据传输方法、计算机设备、数据转接板及sdr平台
CN109361490B (zh) * 2018-08-10 2021-06-18 锐捷网络股份有限公司 数据传输方法、计算机设备、数据转接板及sdr平台
CN109889226A (zh) * 2019-03-18 2019-06-14 中国科学院上海高等研究院 基于rtx的双向通信软件无线电实现装置及方法
CN111816231A (zh) * 2020-07-30 2020-10-23 中科院微电子研究所南京智能技术研究院 一种双-6t sram结构的存内计算装置
CN111816231B (zh) * 2020-07-30 2023-08-11 中科南京智能技术研究院 一种双-6t sram结构的存内计算装置

Also Published As

Publication number Publication date
WO2011041111A2 (en) 2011-04-07
CN102667742B (zh) 2015-08-19
WO2011041111A3 (en) 2011-07-07
US20110078355A1 (en) 2011-03-31
US9753884B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
CN102667742B (zh) 用于软件定义无线电平台的无线电控制板
US8565811B2 (en) Software-defined radio using multi-core processor
US20110136439A1 (en) Analyzing Wireless Technologies Based On Software-Defined Radio
US8627189B2 (en) High performance digital signal processing in software radios
EP3494751B1 (en) Transportation of user plane data across a split fronthaul interface
KR100981561B1 (ko) 이동통신 시스템의 데이터 처리 방법 및 장치
JP5925916B2 (ja) データを送信、受信する方法及び装置
CN101510819B (zh) 速率匹配方法及装置
CN206442403U (zh) 一种车辆通信实验平台
CN104242981B (zh) 一种基于软件无线电的嵌入式通讯装置
CN103795655A (zh) 数据传输方法及装置
CN104021097A (zh) 数据传输方法、装置及直接存储器存取
US7653860B2 (en) Transmit driver data communication
CN102946293B (zh) 一种基于ds编码的并行接收方法及其装置
CN105530196A (zh) 一种afdx终端系统基于子虚链路的调度方法
CN102036420A (zh) 一种高速接口及其传输数据的方法
CN103701717A (zh) 云基站用户数据处理方法、装置和系统
CN113254080A (zh) 一种pdsch信道并行处理及多线程任务动态分配方法
CN104202124A (zh) 一种erp数据包通讯方法
WO2013080289A1 (ja) 信号処理装置及び信号処理方法
CN113660695B (zh) 小区数据的处理方法及装置
Villegas Fronthaul Modelling for 5G Systems
CN110855689B (zh) 面向128bit位宽的SRIO协议控制字符与数据包分离方法
CN109639713A (zh) 一种iq数据帧和传输、接收方法
CN107295366B (zh) 一种广播多管道业务数据调度复用方法与系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150723

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150723

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant