快速傅立叶变换以及信标搜索的装置、过程和制品的制作方法

文档序号:6593218阅读:163来源:国知局
专利名称:快速傅立叶变换以及信标搜索的装置、过程和制品的制作方法
技术领域
概括地说,本发明涉及通信。具体地说,本发明的诸方面涉及快速傅立叶变换引擎 的操作。
背景技术
为了提供诸如语音和数据应用之类的各种类型的通信应用,广泛部署了现代无线 通信系统。这些系统是能够通过共享可用系统资源(例如,频谱和发射功率)支持与多个 用户通信的多址系统。这类多址系统的实例包括码分多址(CDMA)系统、时分多址(TDMA) 系统、频分多址(FDMA)系统、时分双工(TDD)系统、频分双工(FDD)系统、第3代合作伙伴 计划长期演进(3GPP LTE)系统和正交频分多址(OFDMA)系统。还有点对点系统、对等系统 和无线局域网(无线LAN)。通常,无线多址通信系统可同时支持与多个无线终端进行通信。每个终端通过前 向链路和反向链路上的传输与一个或多个基站收发机(BTS或基站)进行通信。前向链路 或下行链路指从基站收发机到终端的通信链路,反向链路或上行链路指从终端到基站收发 机的通信链路。每个前向和反向通信链路均可以根据用于特定链路的发射和接收天线的数 量,通过单输入单输出、多输入单输出、单输入多输出或多输入多输出(MIMO)通信技术来 建立。MIMO系统因为其相对较高的数据率、相对较长的覆盖范围和相对较稳定的数据传 输而受到关注。MIMO系统使用多(Nt)个发射天线和多(Nk)个接收天线进行数据传输。将 由Nt个发射天线和Nk个接收天线形成的MIMO信道分为Ns个独立信道,也称为空间信道, 其中Ns Smin{NT,NK}。Ns个独立信道中的每一个对应于一个维度。如果使用由多个发射 天线和接收天线产生的额外维度,MIMO系统能够提高性能(例如,更高的吞吐量和/或更 高的可靠性)。OFDM通信系统通常在频域执行至少一些接收信号的处理。通常使用傅立叶变换将 接收信号从时域变换为频域。相反地,使用傅立叶反变换将频域信号变换为信号的时域对 应部分。快速傅立叶变换(FFT)是进行傅立叶变换的计算算法。与离散傅立叶变换(DFT) 相比,FFT允许以更少的计算操作来执行傅立叶变换。通常,在无线设备中负责FFT的模块 (“FFT引擎”)通常实现为“蝶形运算单元(butterfly)”序列。“蝶形运算单元”在本文中是指执行小(相对于整个FFT引擎)DFT的FFT引擎的计算部分。术语“蝶形运算单元”通 常出现在Cooley-Tukey FFT算法的描述中。Cooley-Turkey算法将复合尺寸η = (r · m) 的DFT分解为r次更小的尺寸为m的变换,其中,r称为FFT变换的“基数”。这种分解是递 归地运行的,并且较小的变换与尺寸为r的蝶形运算单元相结合,这些蝶形运算单元本身 是尺寸为r的DFT (对较小变换的输出执行m次)。在多个应用中,FFT引擎的参数可能必须随时间变化。例如,这是因为移动设备需 要支持多种系统配置和多种标准,每种都要求不同的FFT尺寸。此外,需要根据时序算法或 者由接入点或基站收发机发送的排列命令在FFT引擎的输入端动态地调整移动设备接收 机时序。从而,需要灵活的FFT体系结构。需要对频域FFT输出执行很多实时操作。一个例子是检测强子载波的存在,该强 子载波在每个OFDM符号输出上具有信标或功率加强(boosted)导频。注意到,在OFDM通 信技术中,与其它子载波相比,对一些子载波进行功率加强,并对不同加强的子载波应用不 同程度的功率加强。例如,功率加强子载波可以包括导频和信标。接收机需要在相对较短 的时间内检测到这些功率加强子载波。例如,快速检测导频通常对于获得接收设备中的时 序和实现系统同步是很重要的。因此,本领域中存在对以下技术的需求,S卩(例如)通过附加一个能够一个符号一 个符号地从OFDM传输中挑选强音调的处理器,来加速检测OFDM系统中的功率加强子载波。其它实时操作包括由频域滤波器对FFT输出进行滤波,以便补偿各种RF衰减以及 其它模拟/数字时域滤波效应。从而,需要为FFT引擎附加能够对FFT输出执行实时滤波 的频域滤波器。

发明内容
本文描述的实施例可通过提供装置、方法和制品来解决一个或多个上述需求,所 述装置、方法和制品在可配置的、任务驱动的FFT引擎中执行快速傅立叶变换,FFT引擎也 被配置成缩放蝶形运算单元之间的中间结果,以便使得蝶形运算单元和缓冲器的比特宽度 降低。FFT引擎可以耦合至用于挑选最强OFDM子载波的硬件分类器和/或频域补偿滤波
ο在实施例中,通信方法包括对信号进行接收以获得接收信号的步骤,以及在由固 件控制的基于硬件的快速傅立叶变换(FFT)引擎中对接收信号进行变换以获得变换后的 信号的步骤。变换步骤包括维护任务列表存储器中的任务列表,任务列表包括多个任务条 目,多个任务条目中的每个任务条目包括(i)在接收信号与所述各个任务条目相关联的部 分的变换期间的用于FFT引擎的相关联的配置描述,以及(ii)定义接收信号与所述各个任 务条目相关联的部分的位置的第一信息。变换步骤还包括读取所述各个任务条目。变换步 骤还包括根据与所述各个任务条目相关联的配置描述对FFT引擎进行配置。变换步骤还包 括在根据与所述各个任务条目相关联的配置描述进行配置的FFT引擎中,对接收信号与所 述各个任务条目相关联的部分进行处理,以便获得经处理的与所述各个任务条目相关联的 信号部分。在实施例中,接收机系统包括用于对信号进行接收并输出接收信号的接收机,以 及接收数据处理器。接收数据处理器包括用于对接收信号进行变换以获得变换后的信号的由固件控制的基于硬件的快速傅立叶变换(FFT)引擎。接收数据处理器用于(1)维护任 务列表存储器中的任务列表,该任务列表包括多个任务条目,多个任务条目中的每个任务 条目包括(i)在接收信号与所述各个任务条目相关联的部分的变换期间的用于FFT引擎 的相关联的配置描述,以及(ii)定义接收信号与所述各个任务条目相关联的部分的位置 的第一信息;( 读取所述各个任务条目;C3)根据与所述各个任务条目相关联的配置描述 对FFT引擎进行配置;以及(4)在根据与所述各个任务条目相关联的配置描述进行配置的 FFT引擎中,对接收信号与所述各个任务条目相关联的部分进行处理,以便获得经处理的与 所述各个任务条目相关联的信号部分。在实施例中,计算机程序产品包括存储有用于无线通信的指令的计算机可读介 质。该指令包括用于对信号进行接收以获得接收信号的代码。该指令还包括在由固件控制 的基于硬件的快速傅立叶变换(FFT)引擎中对接收信号进行变换以获得变换后的信号的 代码。用于变换的代码包括用于维护任务列表存储器中的任务列表的代码,任务列表包括 多个任务条目,多个任务条目中的每个任务条目包括(i)在接收信号与所述各个任务条目 相关联的部分的变换期间的用于FFT引擎的相关联的配置描述,以及(ii)定义接收信号与 所述各个任务条目相关联的部分的位置的第一信息。用于变换的代码还包括用于进行以下 操作的代码读取所述各个任务条目,根据与所述各个任务条目相关联的配置描述对FFT 引擎进行配置以及在根据与所述各个任务条目相关联的配置描述进行配置的FFT引擎中, 对接收信号与所述各个任务条目相关联的部分进行处理,以便获得经处理的与所述各个任 务条目相关联的信号部分。在实施例中,接收机系统包括用于对信号进行接收并输出接收信号的接收机以及 用于处理的模块。用于处理的模块包括基于硬件的模块,基于硬件的模块用于由固件控制 执行快速傅立叶变换(FFT),以便对接收信号进行变换,以获得变换后的信号。用于处理的 模块用于(1)维护任务列表存储器中的任务列表,该任务列表包括多个任务条目,多个任 务条目中的每个任务条目包括(i)在接收信号与所述各个任务条目相关联的部分的变换 期间的用于FFT引擎的相关联的配置描述,以及(ii)定义接收信号与所述各个任务条目相 关联的部分的位置的第一信息;( 读取所述各个任务条目;C3)根据与所述各个任务条目 相关联的配置描述对FFT引擎进行配置;以及(4)在根据与所述各个任务条目相关联的配 置描述进行配置的FFT引擎中,对接收信号与所述各个任务条目相关联的部分进行处理, 以便获得经处理的与所述各个任务条目相关联的信号部分。在实施例中,接收机系统包括用于对包括多个子载波的接收信号进行接收的接收 机以及接收数据处理器。接收数据处理器包括快速傅立叶变换(FFT)引擎,快速傅立叶变 换(FFT)引擎用于对接收信号进行变换,以便获得变换后的信号。接收数据处理器还包括 硬件分类器,硬件分类器用于根据各个子载波的能量,对变换后的信号中的子载波进行分 类,以便获得一组分类子载波。接收数据处理器还包括选择器模块,选择器模块用于从选择 的一组子载波中选择加强子载波。在实施例中,接收机系统包括接收机和接收数据处理器,接收机用于对包括多个 子载波的信号进行接收并输出接收信号。接收数据处理器包括快速傅立叶变换(FFT)引 擎,快速傅立叶变换(FFT)引擎用于对接收信号进行变换,以便获得变换后的信号。接收数 据处理器还包括用于根据各个子载波的能量对变换后的信号中的子载波进行分类以获得
10一组分类子载波的硬件模块。接收数据处理器还包括用于从该组分类子载波中选择加强子 载波的模块。在实施例中,通信方法包括对信号进行接收以便获得包括多个子载波的接收信 号。该方法还包括在快速傅立叶变换(FFT)引擎中对接收信号进行变换,以便获得变换后 的信号。该方法还包括在硬件分类器中根据各个子载波的能量对变换后的信号的子载波进 行分类,以便获得一组分类子载波。该方法还包括从该组分类子载波中选择加强子载波。在实施例中,计算机程序产品包括存储有进行无线通信的指令的计算机可读介 质。该指令包括用于对信号进行接收以获得包括多个子载波的接收信号的代码。该指令还 包括用于在快速傅立叶变换(FFT)引擎中对接收信号进行变换,以便获得变换后的信号的 代码。该指令还包括在硬件分类器中根据各个子载波的能量对变换后的信号的子载波进行 分类以便获得一组分类子载波的代码。该指令还包括用于从该组分类子载波中选择加强子 载波的代码。在实施例中,接收机系统包括硬件接收数据处理器。硬件接收数据处理器具有快 速傅立叶变换(FFT)引擎,快速傅立叶变换(FFT)引擎用于对接收信号进行变换,以获得具 有多个子载波的变换后的信号。接收机系统还包括硬件分类器,硬件分类器用于根据各个 子载波的能量对变换后的信号中的子载波进行分类,以便获得一组分类子载波。接收机系 统还包括硬件选择器模块,用于从该组分类子载波中选择加强子载波。接收机系统还包括 固件模块,用于使用预定能量强度阈值对子载波进行过滤,将符合阈值的子载波存储在FW 信标阵列中。FW信标阵列具有时间位置部分、子载波位置部分和信标强度部分。参照下文的描述、附图和所附的权利要求,将会更好地理解本发明的这些和其它 方面。


图1示出了根据本申请中描述的实施例配置的多址无线通信系统的所选择元件;图2以方框图的方式示出了根据本申请中描述的实施例配置的无线MIMO通信系 统的所选择部件;图3示出了在终端中生成或由终端接收的符号的所选择特征;图4示出了图2中所示终端的接收机的所选择部件;图5示出了图2中终端的接收数据处理器的所选择部件;图6A示出了快速傅立叶变换引擎的所选择部件;图6B示出了图6A的傅立叶变换引擎的递归实现的所选择细节;图7A示出了具有数据标准化的快速傅立叶变换引擎的所选择部件;图7B示出了图7A的傅立叶变换引擎的递归实现的所选择细节;图8示出了阵列的所选择方面,在该阵列中,根据FFT尺寸和采样率将接收的数字 信号划分为多个单元;图9A示出了包括信标的接收信号的例子的所选择方面;图9B示出了用于检测功率加强子载波的过程的所选择步骤和决策的框图;图10是示出了各种任务在硬件、固件和软件中的示例性分配的所选择方面;图11是示出了各种任务在硬件、固件和软件中的另一种示例性分配的所选择方面;以及图12示出了功率加强子载波的捕获过程的选择步骤和决策的流程图。 具体实施例在本文中,“实施例”、“变体”及其类似的表述用于指代特定的装置、过程或制 品,但不是必定指代相同的装置、过程或制品。因此,在一处或上下文中使用的“一个实施 例”(或类似的表述)是指代特定的装置、过程或制品;在另一处相同或相似的表述可以指 代不同的装置、过程或制品。“可替换实施例”、“可替换变体”、“作为另一种选择”以及类似 的短语可用于指示多个不同的可能实施例或变体中的一个。可能的实施例或变体的数量不 局限于两个或其它数值。本申请中提到的“示例性”一词是指“举一个例子、实例或作为说明”。本申请中描 述为“示例性”的任何实施例或变体不应被理解为比其它实施例或变体更优选或更具优势。 本文描述的全部实施例和变体都是为使本领域技术人员能够实现或者使用本发明而提供 的示例性实施例和变体,而不是对本发明的法律保护范围的限制。“音调”和“子载波”通常互换使用,表示OFDM或OFDMA系统中的各个音调。“增益控制设备”和“数据标准化设备”互换使用。按照快速傅立叶变换引擎描述 这种设备。“固件”是指固化(永久存储或半永久性存储)在设备的存储器中的计算机代码 指令。通常,固件是一种特别适用于设备的硬件的“低层”代码形式。也可以将固件理解为 在硬件设备中执行的硬件专用指令,包括机器语言指令、配置设置和类似的信息。固件运行 通常局限于其依存的硬件,并且,通常不包括“更高”层的处理或控制。当固件不是永久地 “烧”在存储器中时,通常比软件更难更新,例如,需要特定的过程,诸如授权的下载。按照常 识,固件是很好理解的术语。“硬件”也是很好理解的术语。“硬件”是指计算机或其它电子 系统的物理部件。“软件”通常是指不同于固件的计算机代码指令。设计通信系统的常规方 法是对输入信号或接收进行识别和转换,其中信号的“处理”是由硬件控制器执行的,或者 由运行软件的主处理器执行。相反,对于输出信号,通常由硬件控制器或主处理器执行相关 的处理。本文中描述的技术可用于各种无线通信网络,包括⑶MA网络、TDMA网络、FDMA网 络、OFDM和OFDMA网络、单载波FDMA(SC-FDMA)网络以及其它网络和对等系统。这些技术可 以用于前向链路和反向链路。此外,这些技术不必局限于无线系统或其它通信系统,而是可 用于任何使用快速傅立叶变换引擎处理信号的装置中。术语“网络”和“系统”通常互换使 用。CDMA网络可以实现诸如通用陆地无线接入(UTRA)、cdma2000以及其它技术的无线技 术。UTRA网络包括宽带CDMA(W-CDMA)和低码片速率(LCR)网络。cdma2000覆盖IS-2000、 IS-95和IS-856标准。TDMA网络可以实现诸如全球移动通信系统(GSM)的无线技术。 OFDMA 网络可以实现诸如演进的 UTRA(E-UTRA)、IEEE 802. 11、IEEE 802. 16、IEEE802. 20、 Flash-OFDM以及其它技术的无线技术。UTRA、E-UTRA和GSM是通用移动电信系统(UMTS) 的一部分。长期演进(LTE)是采用E-UTRA的UMTS的版本。在名为“第三代合作伙伴项 目”(3GPP)的组织的文档中描述了 UTRA、E-UTRA、GSM、UMTS和LTE。在名为“第三代合作伙 伴项目2” (3GPP2)的组织的文档中描述了 cdma2000标准。这些技术的特定方面是以LTE系统进行描述的,并且在下面描述中使用LTE术语,但是这些技术可以应用于其它标准和 技术。单载波频分复用(SC-FDMA)是使用单载波调制和频域均衡的一种通信技术。 SC-FDMA系统通常具有与OFDMA系统相似的性能和基本相同的整体复杂性。SC-FDMA信号 由于该技术固有的单载波结构而具有较低的峰均功率比(PAPR)。在很多系统中SC-FDMA技 术具有吸引力,尤其在反向链路通信中,其中就发射功率效率而言,较低的PAI^R对移动终 端尤其有利。在3GPP长期演进和演进的UTRA中,SC-FDMA技术用于上行链路多路存取方 案是普遍的工作设想。图1中示出了根据一个实施例的多址无线通信系统100。接入点或基站收发机站 101包括多个天线组,一组包括天线104和106,另一组包括天线108和110,还有一组包括 天线112和114。尽管每组天线只示出了两个天线,但是,更多或更少的天线可以包括在任 何一组天线中。BTS 101也可以包括单个天线组,或仅有一个天线。接入终端(AT) 116与天 线112和114进行通信,其中天线112和114通过前向链路120向接入终端116发送信息, 并通过反向链路118从接入终端116接收信息。另一个接入终端122与天线106和108进 行通信,其中天线106和108通过前向链路126向接入终端122发送信息,并通过反向链路 IM从接入终端122接收信息。在FDD系统中,每个通信链路118、120、1M和1 使用不同 的频率在接入终端和特定天线或天线组之间进行通信,同样,前向链路和反向链路也使用 不同的频率。例如,前向链路120可使用与反向链路118不同的频率,也和前向链路1 不 同的频率。但是,使用不同的频率不是本发明必须的要求。每组天线和其设计的通信区域通常称为扇区。如图1中所示,将每组天线设计为 与由BTS 101所覆盖的区域的不同扇区中的接入终端进行通信。在通过前向链路120和126的通信中,BTS 101的发射天线使用波束成形,以便提 高不同接入终端116和122的前向链路的信噪比。此外,与通过单个天线到所有接入终端 的前向链路传输相比,波束成形降低相邻小区中的接入终端的干扰。波束成形也不是本发 明的必须要求。接入点或基站收发机站可以是用于与终端进行通信的固定站,也可以称为节点B 或其它术语。接入终端也可以称为移动单元、用户设备(UE)、无线通信设备、终端、移动终端 或其它某个术语。图2以方框图的方式示出了无线MIMO通信系统200的实施例的所选择部件,其 中,无线MIMO通信系统200包括基站收发机站的发射机系统210以及接入终端的接收机系 统 250。在发射机系统210,由数据源212向发射(Tx)数据处理器214提供多个数据流的 业务数据。在实施例中,每个数据流通过各自的发射天线或天线组发送。Tx数据处理器214 根据为数据流选择的特定编码方案对每个数据流的业务数据进行格式化、编码和交织,以 提供编码数据。可以使用OFDM技术将每个数据流的编码数据与导频数据进行复用。导频 数据是以已知方式处理的已知的数据模式,并可以在接收机系统中用于估计物理信道响应 或传输函数。随后,根据为每个数据流选择的特定调制方案,对每个数据流的经复用的导频 和编码数据进行调制(即,符号映射),以便获得调制符号。调制方案可以从(例如)二进 制移相键控(BPSK)、正交移相键控(QPSK)、M进制移相键控(M-PSK)以及多电平正交幅度调制(M-QAM)中选择。由处理器230执行的指令确定每个数据流的数据速率、编码和调制。将所有数据流的调制符号提供到Tx MIMO处理器220,Tx MIMO处理器220进一步 处理调制符号(例如,针对OFDM)。随后,Tx MIMO处理器220将Nt个调制符号流提供到Nt 个发射机(TMTR) 22h-222t。在特定实施例中,TX MIMO处理器220对数据流的符号以及发 射符号的天线施加波束成形权重。每个发射机222接收各自的符号流并对其进行处理,以便提供一个或多个模拟信 号,并进一步对这些模拟信号进行调节(例如放大、滤波和上变频),以便提供适用于通过 相应的MIMO信道进行传输的调制信号。来自发射机22h-222t的Nt个调制信号分别从Nt 个天线2Ma-224t发射出去。天线2M可以与图1中示出的天线104-114相同,也可以与 其不同。在接收机系统250处,所发射的调制信号由Nk个天线25h-252r接收,并且从每 个天线252接收到的信号提供给各自的接收机(RCVR) 254a-254r0每个接收机2M对各自 接收到的信号进行调节(例如滤波、放大和下变频)、对调节后的信号进行数字化处理以提 供采样,并进一步对这些采样进行处理,以便提供相应的接收到的符号流。接收(RX)数据处理器260根据特定的接收机处理技术从Nk个接收机2M接收Nk 个接收到的符号流并对这些符号流进行处理,以便提供Nt个经检测的符号流。然后,RX数 据处理器260对每个经检测的符号流进行解调、解交织和解码,以便恢复数据流的业务数 据。RX数据处理器沈0的处理与在发射机系统210处TX MIMO处理器220和TX数据处理 器214执行的处理互补。处理器270定期地判断使用哪个预编码矩阵。处理器270用公式表示反向链路消 息,包括矩阵索引部分和秩值部分。反向链路消息可以包括关于通信链路和/或接收到的 数据流的各种类型的信息。随后,反向链路消息由TX数据处理器238进行处理,TX数据处理器238还从数据 源236接收多个数据流的业务数据。业务数据和反向链路消息由调制器280进行调制、由 发射机25^-254r进行调节并发送到发射机系统210。在发射机系统210处,来自接收机系统250的调制信号由天线2M接收、由接收机 222进行调节、由解调器240进行解调并由RX数据处理器242进行处理,以便提取由接收 机系统250发送的反向链路消息。处理器230判断使用哪个预编码矩阵来确定波束成形权 重,并对所提取的消息进行处理。图3示出根据本公开的所选择方案所发送的数据的OFDM符号300的所选择特征。 符号300开始于时间t = 0,并结束于时间tEND。符号300包括前导斜坡(leading ramp)部 分310、数据部分320 (其包括有效负载或业务数据和诸如循环前缀的特定开销)和拖尾斜 坡(trailing ramp)部分330。前导部分和拖尾部分也公知为窗口,并且通常存在以平滑 从符号到符号的过渡和减小传输信号的相关频谱扩展。图3仅示出根据本公开的数据的图 示,然而可以采用其它传输方法。例如,使用每个具有多个子载波的OFDM符号不是本发明 的必要条件。还注意到,不同子载波的发射功率可以不同,与其它子载波相比,一些子载波 是功率加强的。一般地,功率加强子载波是以高于同一符号中的至少一个其它子载波的功率传输 的子载波,或更通常地,以高于同一符号的大部分子载波的功率传输的子载波。可以对全部
14或部分传输,例如,在一个或多个OFDM符号的持续时间,对子载波进行功率加强。功率加强 子载波可以包括导频和/或信标。导频或信标可用于(例如)训练和同步。相同子载波可 用作整个传输的信标或OFDM数据的局部块的信标。图4示出接收机254的所选择细节(接收机2M是图2所示的接收机
中的一个)。接收机2M从其相关联的天线或多根天线252接收信号。因而,接收机25 从天线(或多根天线)25 接收信号,而接收机254r从天线(或多根天线)252r接收信 号。图4所示及相关描述可以应用于接收机2M中的任意一个或每一个,例如,接收机25 和接收机254r。虽然图中未示出接收机254的架构的一些细节,但是,应当理解可以采用 许多已知的和未来可能开发的架构。在各种示例性实施例中,模块410-440可采取通过一 系列独立总线耦合在一起的单独电子部件的形式。在其它实施例中,一个或多个不同模块 410-440可采取通过一个或多个网络耦合在一起的处理器或单独服务器的形式。另外,应当 理解,能够利用以协作方式使用的多个计算设备来方便地实现模块410-440的每一个。还 应当理解,一些模块410-440可采取存在于存储器中将要通过控制器执行或在控制器上运 行的软件/固件结构及例程的形式,或采取存在于单独服务器/计算机的单独存储器中通 过不同控制器进行操作的软件/固件例程或结构的形式。在操作中,当信号通过天线252-0和/或天线252-1 (和/或与图4所示的接收机 2M相关联的任何其它天线252)接收时,模拟前端410用于接受所接收的信号,调节信号, 并将经调节的信号提供给混频器420。前端信号调节可以包括通过前端410中的一个或多 个滤波器412对信号进行滤波。混频器420用于将经调节的信号从其接收频谱下变频到较低的基带频谱。接着, 将变频后的基带信号提供给采样器430,该采样器430用于将模拟基带信号转换为数字数 据。一个或多个滤波器432用于在进行采样之前或之后对基带信号进行进一步滤波。因 而,(一个或多个)滤波器432可以是模拟的和/或数字的,这取决于它们是在采样转换之 前还是在采样转换之后执行。虽然理想的滤波器不会引入相位延迟,具有跨越整个接收频率的平坦曲线,并可 以在任意频率表现理想的截止,但已知可实现的滤波器与这种“理想的”滤波器性能存在偏 差。因而,滤波器412和432可能向所接收的信号中引入失真。例如,滤波器或滤波器组 412和432中的一个或两者可能向所接收的信号中引入频率相关的振幅和/或相位失真,例 如通带振幅和/或相位波纹。时序恢复器440用于对所接收的数据应用各种算法以从信号中导出时序信息。可 能存在因疏忽所致的时间偏移τ d,时序恢复器440可以最终识别并报告该时间偏移το!。图5示出了 Rx数据处理器260 (来自图幻的所选择细节,这里该Rx数据处理器 260用于从接收机2Μ接收时序信息和基带数据。虽然图中未示出示例性Rx数据处理器 260的架构的一些细节,但是应当理解,可以采用任何已知的或未来可能开发的架构。在示 例性实施例中,各种模块510-574可以采取通过一系列独立总线耦合在一起的单独电子部 件的形式。在其它实施例中,一个或多个不同模块510-574可以采取通过一个或多个网络 耦合在一起的处理器或单独服务器的形式。另外,应当理解,可以使用以协作方式使用的多 个计算设备来方便地实现模块510-574的每一个。还应当理解,一些模块510-574能采取 存在于存储器中将要通过控制器执行或在控制器上运行的软件/固件结构和例程的形式,
15或采取存在于单独的服务器/计算机的单独存储器中通过不同控制器操作的软件/固件例 程或结构的形式。示例性数据处理器260包括时序调整模块510 ;指令处理器模块520,其可以是 诸如DSP的顺序指令机或其它处理器控制器;输入数据采样缓冲器530 ;快速傅立叶变换 (FFT)引擎550,其包括FFT控制设备550a和FFT引擎本体(proper) 550b ;滤波器校正设备 560 ;相位斜坡模块562 ;信标分类器564 ;以及输出缓冲器570。指令处理器模块520包括 实时时钟或计数器(RTC) 522,FFT地址产生器524,以及FFT引擎任务列表存储器526。数 据采样缓冲器530包括用于与不同天线相关联的数据的单独模块532和534。类似地,输出 缓冲器570包括用于与不同天线相关联的输出数据的单独模块572和574。在操作中,时序调整模块510用于接收时序信息,并将输出时间偏移τ d提供给指 令处理器模块520。可进一步将时序偏移τ d传递到相位斜坡模块562。输入数据采样缓冲器530用于可能通过前端410经由各个接收机2M的一个或多 个天线252接收采样基带数据,并将缓冲的数据采样提供给FFT引擎550。处理器模块520的FFT地址产生器5M用于产生由FFT引擎550使用的地址。FFT 引擎的控制模块550a接收由FFT地址产生器5 产生的地址和存储在FFT引擎任务列表 526中的命令和变量,并基于所接收的信息来配置FFT引擎本体550b,以便FFT引擎550转 换缓冲的数据采样,根据缓冲的数据采样可以解析通信信道。 在硬件/软件/固件架构中,FFT引擎任务列表5 可以存储由FFT控制模块550a 使用的各种指令、各种变量、和/或运算数据。作为非限制性的例子,FFT引擎任务列表5 可以包括单独的条目(任务),每一个任务都包括表示采样开始地址的变量,采样开始地 址指示用于变换的数据所存储的位置;输出地址,其指示通过FFT引擎输出的数据(变换的 数据)将被转储或存储的位置;用于读取或提供采样开始地址的指令;表示在傅立叶变换 的执行之前或之间跳过的数据符号的数量的变量;用于在执行之前或之间跳过多个数据符 号的指令;表示FFT长度的变量;表示待执行的FFT级数或蝶形运算单元的数量的变量;用 于执行多级FFT的指令;表示对将要执行的每级FFT进行缩放(scaling)或增益控制的变 量(下面将更详细讨论);用于在每级FFT/蝶形运算单元处或之后执行缩放的指令;表示 待执行的每个FFT操作的启动时间的变量;用于启动FFT操作的指令;表示即时启动的位 的变量;和/或用于执行即时启动的指令。这些仅是例子,其它指令、变量、和/或数据项目 可以存储在FFT引擎任务列表526中。FFT引擎任务列表526的内容保持在存储器中,并可以使用新的或不同指令、变 量、和/或数据按需要进行更新或修改。保持在FFT引擎任务列表5 中的指令、变量、和/或运算数据可以由FFT控制模 块550a请求,并存储在模块550a的寄存器中,或在没有模块550a的特别请求的情况下,由 指令处理器520提供给FFT控制模块550a。在FFT引擎550将所接收的且缓冲的时域数据采样转换成频域数据块之后,将全 部k行的OFDM数据都提供给滤波校正设备560。每个正交频率分量将具有其频率fk和时 间t的解析值,如下式所示I+jQ = A exp (_j 2 π fk t),其中,A表示振幅,I表示频率分量的同相部分,Q表示频率分量的正交部分。
注意在实际操作中,FFT数据可能需要振幅和/或相位校正。现继续描述FFT引擎适应较大动态范围的接收时域信号的机制。图6A示出FFT引擎600的所选择组件(FFT引擎600可以与FFT引擎550相同)。 FFT引擎600包括N多个内部FFT级或蝶形运算单元610n。(回忆上文中蝶形运算单元的 讨论。)每个蝶形运算单元610之后紧跟着缓冲器620,缓冲器620用于接收并存储最靠近 的上一个蝶形运算单元610的输出,并将所存储的数据作为输入提供给最靠近的下一个蝶 形运算单元610。虽然图6A仅示出两个蝶形运算单元610和两个关联的缓冲器620,但FFT 引擎600可以具有更多或更少数量的蝶形运算单元610,在许多设计中蝶形运算单元的典 型数量是3-4个。例如,FFT引擎600可包括4个、8个或16个蝶形运算单元以及与它们数 量相同的关联的缓冲器。在FFT过程的连续级中使用连续的蝶形运算单元610。因而,蝶形运算单元6101在 FFT引擎600的第一级中使用,并且蝶形运算单元610i的输出存储在缓冲器620i中。接着, 在FFT引擎600的第二级中,由蝶形运算单元6102处理缓冲器620i的内容,并且蝶形运算 单元6102的输出存储在缓冲器6202中。然后,在FFT引擎600的第三级,缓冲器6202的内 容提供给蝶形运算单元6103的输入,并且蝶形运算单元6103的输出存储在缓冲器6203中。由于包括频域信道变化、不同子载波或音调之间的发射功率的不同的因素,以及 可能的其它因素,跨越不同FFT子载波的FFT引擎600输出的符号能具有大的动态范围。关 于发射功率的不同,在一些实施例中的信标可以比其它子载波强30dB,前向链路控制信道 音调可以比其它子载波强0-15dB。如果FFT引擎600在每级蝶形运算单元之后不对信号进 行标准化,则其输出会饱和,这导致饱和子载波上的符号失真,以及随后的这些子载波的较 差解调性能。此外,如果FFT引擎600在每级蝶形运算单元之后不对信号进行标准化,则相 对于用于处理具有较小动态范围的信号的系统中的模拟缓冲器来说,缓冲器620和用于接 收FFT引擎600的输出的缓冲器(或在双缓冲的情况下的缓冲器)的存储尺寸相对较大。应当注意,在FFT引擎600中,多级蝶形运算单元-缓冲器可以用设置为连续操作 的一个这样的级代替。这在图6B中示出,该图示出具有一个蝶形运算单元SlOliL1^n-A 缓冲器620^的单级,其中,蝶形运算单元610^,执行图6A中所示的两个或更多(包 括全部)蝶形运算单元610的功能,缓冲器620^.,执行图6A中所示的两个或更多(包括 全部)缓冲器620的功能。这里,所述级被连续地设置为第一级(蝶形运算单元GlO1和缓 冲器620》,接着为第二级(蝶形运算单元GlO1和缓冲器620),等等,前面一级的输出被馈 入到紧接着一级的输入。我们可以将这种结构称为递归FFT引擎结构。图7A示出了另一个FFT引擎的实现,其在每个蝶形运算单元的输出处使用数据 标准化设备或者增益控制设备。在名为MULTIPLE STAGEFOURIER TRANSFORM APPARATUS, PROCESSES, AND ARTICLES OFMANUFACTURE、代理案号为081017的美国临时专利申请 No. 61/040, 324的共同受让专利申请中也描述了这一实现。图7A中示出的FFT引擎700 (其可与FFT引擎550相同)具有N多个内部FFT级 或蝶形运算单元710η。每个蝶形运算单元710后为与其相关联的数据标准化或增益控制 设备730和缓冲器720。因此,配置串联的引擎700的级,以处理连续通过各级的在第一级 710/720^730!的输入处接收到的信号,然后从最后一级710N/720N/730N的输出将其输出。 应该注意,增益控制设备730n设置在与该增益控制设备730n相连(前面最近一个)的蝶形运算单元710 和与该蝶形运算单元相关联的缓冲器720n之间。增益控制设备730n(例如) 通过乘以或除以数字域中的输出,来标准化(缩放至预定振幅规模/范围)与其相关联的 蝶形运算单元710n的输出,并如所示,向最接近的下一缓冲器720n提供生成的输出。缓冲 器720 用于接收和存储最接近的前一增益控制设备730n的输出数据,并且向最接近的下一 蝶形运算单元710n+1提供所存储的数据。尽管图7A只示出两个蝶形运算单元710、两个缓 冲器720和两个增益控制设备730,但是,FFT引擎700可以具有更大或更小数量的蝶形运 算单元、缓冲器和数据标准化设备。一些实施例含有二、三、四、八或十六个蝶形运算单元, 和相等数量的与其相关联的缓冲器和数据标准化设备。此外,可通过存储在FFT引擎任务 列表526中的信息对级数进行配置。在FFT处理的连续级中使用连续的蝶形运算单元710。因而,在FFT引擎700的第 一级使用蝶形运算单元TlO1,并且蝶形运算单元TlO1的输出被发送到增益控制设备730” 然后(标准化/缩放后)被存储在缓冲器720i中。由FFT引擎700的第二级中的蝶形运 算单元7102处理缓冲器720i的内容,并且向增益控制设备7302提供其输出以及在再次适 当缩放后在缓冲器7202中存储蝶形运算单元7102的输出。然后,缓冲器7202的内容提供 给FFT引擎700的第三级中的蝶形运算单元7103的输入,并且蝶形运算单元7103的输出被 发送给增益控制设备7303并存储在缓冲器7203中。这样继续,直到通过具有蝶形运算单元 710N、增益控制设备730N、和缓冲器720n的最后的级N。操作中,例如在蝶形运算单元TlO1中执行第一蝶形运算级。由设备蝶形运 算单元TlO1的输出数据进行标准化,例如,以便当前数据模块内的所有信号都落入预定的 最大信号振幅和最小信号振幅之间。接下来,将标准化的数据存储在缓冲器720i中。将来 自缓冲器720i的经缓冲的数据发送至下一蝶形运算单元7IO2,用于下一级FFT,然后重复该 步骤(角标改变)用于后面的蝶形运算。应注意到,FFT引擎700中,多个蝶形运算单元-缓冲器-标准化设备级可使用连 续操作的一个此种级所代替。这在图7B中描述,其示出具有一个蝶形运算单元710^、一 个缓冲器720m、和一个增益控制设备730^的单个级,所述蝶形运算单元710^..,执行 图7A示出的两个或更多个(包括所有)蝶形运算单元710的功能,所述缓冲器TZOliP1^A 行图7A示出的两个或更多个(包括所有)缓冲器720的功能,而所述增益控制设备730^.. N执行图7A示出的两个或更多个(包括所有)增益控制设备730的功能。此处,连续地将 该级配置为第一级(蝶形运算单元TlO1、缓冲器720i和增益控制设备730),然后为第二级 (蝶形运算单元7102、缓冲器7202和增益控制设备7302)等,其中将前一级的输出馈入下一 级的输入。如在FFT引擎600(图6B)的情况,我们也将该结构称为递归FFT引擎结构。记住前端410中的滤波器412和采样器430中的滤波器432可能引入某种量的相 位和/或振幅失真,其可能是频率相关的并且造成OFDM和其它通信系统中的性能恶化。Afk 表示对于给定子载波fk的滤波器412和432的组合振幅失真,而Pefk表示滤波器412和432 的组合相位失真。本领域的技术人员在精读本文后应理解,Afk和P。fk每个都可随子载波变 化,并且更通常是随着信号频率变化。于是,在频域中,可由Ac表示两个滤波器的组合振幅 和相位失真,其可按下述给出Acfk = Afkexp (-j Pcfk))。接收机254的实施例中,通过后-FFT频域补偿来降低或消除振幅和/或相位失真
18的影响。为此,将滤波器412和432的频率响应存储在存储器中,该存储器可以位于滤波校 正模块560的内部,也可以位于该模块560的外部。多种实施例中,可在制造接收机邪4期 间计算或测量滤波频率响应数据并存储在存储器中,可将该数据上传给存储器作为固件, 和/或可在处理内部产生的或者已知的信号时,由滤波校正模块560计算该数据。由于FFT引擎550提供频域内的采样数据,滤波校正设备560可将后-FFT信号 的每个频率子载波乘以频率相关的参数Acfk—1,以获得校正信号,这接近替代滤波器412和 432的理想滤波器的处理,其中,参数AcfV1是相应频率的所存储的滤波器响应的倒数。图8示出阵列800的所选择的方面,其中可根据FFT尺寸和采样率,即OFDM子载 波数和一段时间中的采样数,将接收到的数字信号分成多个单元。可通过滤波校正模块560 处理阵列的每个单元,并且可将其有效地乘以AcfV1来补偿对应于特定子载波的滤波器 412和432的振幅和相位失真。经滤波校正设备560校正的数据输出提供给相位斜坡模块562,以补偿或调整时 序偏移,其在频域中表现为FFT输出值的旋转(rotation)。相位斜坡模块562可针对给定 OFDM数据块通过指令处理器520接收定时信息,例如时间偏移。可对每个OFDM信息块确定 定时偏移信息(表示为τ d),并且可根据下面的公式,计算OFDM块中的每个频率或子载波 fk的各自的相位校正系数Dfk = exp (_j2 π fk ( τ d))。上面的体系架构通过在相位斜坡模块562处的补偿解决了频域中的时间偏移校 正。当来自数据采样缓冲器530的采样数据出现时,FFT引擎550将该采样数据变换到频 域。然后,相位斜坡模块562将后-FFT信号的每个频带乘以Dft1,以有效地将时域中的信 号转移回没有发生延迟时间偏移所应该具有的情况,其中Dft1是上面相位校正系数Dk的倒 数。对于每个频率fk,在接收到下一 OFDM数据块时,可重新计算Dft1值。如图5所示,信标分类器564接收相位斜坡模块562的输出,其中已经针对由滤波 器412和432引入的时间偏移以及失真对该输出进行了校正。如下面所述,信标分类器564 用于识别功率加强子载波,如来自传输的k个子载波之间的信标。每个频率为fk的子载波在时间t具有复振幅,其可表示为I。fk+jQ。fk。一些实施例 中,信标分类器564通过按E。fk = (I。fk)2+0i。fk)2计算I和Q的平方和,来预测频率为fk的 每个单独的子载波在时间t的总能量E。fk。然后,可通过给定频率fk,例如图8中的“行”对E。fk值求和,以确定对应于该行的 一段时间内的子载波的总能量。该时间段例如可对应于一或多个OFDM符号。以此方式,信 标分类器564可以确定每个子载波的能量,然后将一或多个子载波的子集标识为信标。一 些实施例中,将具有最高能量的预定数量的信标标识为功率加强子载波。例如,可将4或8 个具有最高能量的子载波假设为信标或者其它功率加强子载波。或者或另外,可根据一套其它存储规则,由信标分类器564将最高能量子载波的 子集标识为功率加强子载波。作为示例,信标分类器564可用于确定相邻子载波之间的能 量差异,然后将与相邻子载波的能量差异最大的那些子载波标识为功率加强子载波。这一 处理倾向于在一定程度上补偿频率相关的衰落性质,因为相邻子载波可能受到与功率加强 子载波相似程度的衰落的影响。也可以使用其它存储规则。当使用两个或更多个天线时,可针对每个子载波横跨天线对E-值求和。
19
图9A图示根据一个实施例的包含信标的接收信号的示例900的所选择的方面。应 注意到,一个或多个频率fk(以行示出各个频率)可全部为功率加强子载波保留,如在子载 波910中,或者仅可用作有限时间的功率加强子载波,如子载波920的情况。一些信标可能 以多频率发送,但只能在固定的时间t发送,如在子载波930的情况下。单个频率和时间也 可用作信标,如在子载波940的情况下。信标分类器564可用于解析这些功率加强子载波 中任一个或功率加强子载波的组合。图9B图示用于检测功率加强子载波的处理950的所选择步骤和决策模块。可在 分类器564中实施该处理950,其紧随FFT引擎550的输出。处理950在流程点951开始而在流程点999结束。应注意的是该处理通常是重复 的。在步骤955,接收FFT引擎的输出。可直接从FFT引擎接收该输出,或者正如已经 讨论的,可能已经针对时间偏移和滤波失真校正了输出,和/或可能另外处理了该输出。在步骤960,例如,通过对I和Q的平方求和(Eefk= (Icfk)2+(Qcfk)2)来计算每个子 载波的能量。在步骤965,按子载波各自的能量对它们进行分类。例如,可按升序或降序来执行 分类。在步骤970,识别预定数量N的具有最高能量的子载波。该预定数量可以是可编程 的或可配置的,并且可落入2和10之间,并包含端值。该范围外的数值也是可能的。当按 照能量降低的顺序执行分类时,这一确定可以简单地取前N个子载波,而在按照能量升高 的顺序执行分类时,可以取后N个子载波。在步骤975,根据附加标准或准则选择N个识别的子载波中的子集。应注意一些 实施例中,自动选择所有的N个识别的子载波,这对应于不用附加选择准则。其它实施例 中,进行附加检验,例如,将每个识别的子载波与其最接近子载波(最近频率)进行比较,并 只选择超过其最接近子载波预定能量差异的那些经识别的子载波。例如,预定能量差异可 (确切地或基本上)对应于2、3、5或10dB。这一处理可造成最终选择所有、无一或一些经 识别的子载波。处理950随后终止于流程点999。回到图5,信标分类器564可以报告子信道索引、子信道强度、信标时间窗、或其任 何组合。因此,输出缓冲器570从信标分类器564接收信标频率和/或时间的一或多个标 识,以及经时间偏移校正的和滤波校正的采样输出。图10是框图,图示诸如图2的接收机系统250的无线通信装置中硬件模块1010、 固件模块1020、和软件模块1030之间的各种任务的示例性分配1000。硬件模块1010可接 收一信号并对该信号进行处理操作,作为非限制示例,例如FFT或IFFT。然后,通过固件处 理模块1020处理经硬件处理的信号,在该模块中对该信号进行一或多个中-至-高等级处 理层的处理。如图示的示例,固件模块1020可包括同步扇区处理模块1021、异步扇区处理 模块1023、空闲状态处理模块1027、连接状态处理模块10 和其它模块。通过固件模块 1020处理后,信号被转发到软件模块1030用于进一步的处理和控制。应理解可将固件处理 模块的各个部分进一步分成各个单独的模块。如图10所示,可在固件处理等级而非硬件处理等级进行若干形式的信号和信息处理。以此方式,硬件处理器可减轻许多任务,否则硬件处理器将不得不执行这些任务。因 此,可以通过在硬件模块1010、固件模块1020和软件模块1030之间划分算法来实现较大程 度的系统可配置性、较低复杂性、较低硬件需求和提高的响应和性能。图11是框图,示出诸如图2的接收机系统250的无线通信装置中硬件模块1110、 固件模块1120、和软件模块1130之间的各种任务的另一示例性分配1100。具体地,固件模 块1120包括由固件模块FWl处理的错误警报控制(1121和1123)。其它固件模块,如空闲 状态处理1125可由固件模块1120的固件模块FW2处理。固件模块1120也可包括其它模 块FWn,用于进行其它功能。将任务分配给固件而非硬件可提高整个系统250的性能和可配 置性的效率。就FFT引擎550 (图幻及其控制而言,可按下述来实施硬件和固件之间的划分。硬 件中(例如FFT引擎本体550b),可以配置许多参数,包括例如,用于变换的采样开始地址; 表示在执行傅立叶变换前或期间跳过的数据符号数的变量;表示FFT长度的变量;表示要 执行的FFT级数或蝶形运算单元数量的变量;表示用于要执行的每个FFT级的缩放或增益 控制的变量;表示用于要执行的每个FFT操作的起始时间的变量;瞬时启动的位;和/或其 它运算/配置数据。操作中,可用固件存储的指令实现FFT控制模块550a,以从FFT引擎任务列表526 读取任务并根据指令配置FFT引擎本体550b。硬件FFT引擎本体550b执行数据的FFT变 换并按照该任务的规定转储该变换的数据。需要时,FFT引擎550可随后移至下一任务。也 可在固件控制下向FFT引擎任务列表5 中写入各个条目(entry)。以此方式,解耦硬件和 固件,使得配置FFT引擎本体550b的灵活性更大并且实质上基于硬件的FFT处理的速度更 快。图12是流程图,图示按照本文中描述的实施例的某些方面,使用在硬件、固件和 软件之间分配的示例性架构,用于示例性的功率加强子载波捕获的处理1200的所选择的 步骤。这一处理可在无线接收机中进行,例如接入终端接收机系统250。步骤1210中,通过按上述配置包括该配置的固件控制的FFT引擎硬件计算特定时 间的OFDM符号的子载波强度。步骤1215中,按照子载波的强度对子载波进行分类。也使用分类器564,由FFT引 擎硬件来执行这一步骤。步骤1221中,用可编程的或者预定能量强度阈值来过滤步骤1215的经分类的子 载波,并且在阵列FW信标阵列(t)中,以时间位置、子载波位置和信标强度的形式存储满足 该阈值的子载波。这一步骤在固件中完成,以使得对阈值的过滤和编程更灵活,其中,该阈 值允许调整错误警报的敏感度。接下来的步骤也在固件中执行。固件维护对应于强度-频率(SF)对(t)和(t-Ι)的两个阵列,强度-频率(SF)对 分别对应于当前(t)和之前(t-Ι)时间段或OFDM符号。子载波的时间位置变量表示特定 子载波强度是对应于t还是对应于(t-Ι);子载波位置变量表示OFDM符号中的特定音调; 而子载波的信标强度变量表示相应时间的子载波强度。步骤1222中,确定要添加到候选信标集的子载波,并且在步骤1225执行子载波的 添加。候选信标集是这样的集合,从该集合中选择功率加强子载波。通常,候选信标集含有 来自FW信标阵列⑴的最高N(例如N彡8)个条目,这N个条目存在于子载波的FW信标阵列(t-i)中而不存在于子载波的试验信标集和确认信标集中。试验信标集存储通过单步 (single-shot)信标解码算法,被试验性地验证为信标的子载波。确认信标集存储在多个时 间实例中,通过多信标解码算法被完全验证为信标的子载波。通过系统的固件来维护候选 信标集、试验信标集和确认信标集。然后,可以通过软件对经确认的子载波执行各种操作,例如步骤1252中的几何估 计和步骤12M中的激活集管理。对经确认的子载波的其它操作可包括同步(尤其对于导 频)和控制信息的接收。功率加强子载波随后按其目的用于通信目的。例如,导频可用于定时恢复和同步, 促进带信标的信息(有效载荷)的解码。可解码带信标的有效载荷,并且可向无线接收机 的使用者显示、发声或以其它方式呈现信标携带的信息。如果信标携带信息,例如开销,则 可解码该信息并且该信息也用于想要的目的,例如建立通信信道。可解码信标中的信息并 且该信息也用于促进使用者的通信,例如呈现由其它子载波携带的数据。通常,经确认的功 率加强子载波可用于通过有效载荷数据的无线信道促进接收或发送例如音频数据、图像数 据、视频数据、和其它无线传输的有用数据。将接收到的数据呈现在执行该处理的接入终端 或其它无线装置处。尽管在本文中上述的各个方法的步骤和决策块是连续的,但是,这些步骤和决策 中的一些可以由单独的元件结合或并联、同步或异步、以传递途径模式或其它方式执行。除 非明确地指出、从上下文理解出或固有的要求,否则不特别要求各个步骤和决策按照与本 文列出的顺序相同的顺序来执行。然而,应该注意,在所选择的变体中,各个步骤和决策是 以上文所述和/或附图中所示的特定顺序执行的。此外,不必在每个系统中使用每个图示 的步骤和决策,在一些系统中不具体示出一些步骤和决策也是期望的。应该注意,在一些方面中,公开的发明思想可用于前向链路、反向链路、对等链路 和其它非多址环境。还应该注意到,本文中描述的通信技术可用于单向业务传输,以及双向 业务传输。本领域技术人员应当理解,信息和信号可以使用多种不同的技术和方法来表示。 例如,在贯穿上面的描述中所提及的数据、指令、命令、信息、信号、比特、符号和码片可以用 电压、电流、电磁波、磁场或磁性粒子、光场或光粒子或者其任意组合来表示。本领域技术人员还应当明白,结合本文公开的实施例和变体所描述的各种示例性 的逻辑块、模块、电路和算法步骤均可以实现为电子硬件、计算机软件或其组合。为了清楚 地表示硬件和软件之间的这种可互换性,上面对各种示例性的部件、块、模块、电路和步骤 均围绕其功能进行了总体描述。至于这种功能是实现成硬件、软件还是实现成硬件与软件 的结合,取决于特定的应用和对整个系统所施加的设计约束。熟练的技术人员可以针对每 个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明 的保护范围。用于执行本申请所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立 硬件组件或者其任意组合,可以实现或执行结合本文公开的实施例和变体所描述的各种示 例性的逻辑块、模块和电路。通用处理器可以是微处理器,或者可替换地,该处理器也可以 是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组
22合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合, 或者任何其它此种构成。在一个或多个示例实施例中,所描述的功能可以实现为硬件、软件、固件或它们的 任何组合。当以软件实现时,该功能可以作为一个或多个指令或代码存储计算机可读介质 上或者通过其进行传输。计算机可读介质包括计算机存储介质和通信介质,通信介质包括 任何便于将计算机程序从一个地方转移到另一个地方的介质。存储介质可以是计算机能 够访问的任何可用介质。举例但非限制地来说,这样的计算机可读介质可以包括RAM、R0M、 EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、闪存,或者能够用于以 指令或数据结构的形式携带或存储所需程序代码并能够由计算机访问的任何其它介质。而 且,任何连接都可以适当地称为计算机可读连接介质。举个例子,如果用同轴电缆、纤维光 缆、双绞线、数字用户线路(DSL),或诸如红外、无线和微波之类的无线技术,从网站、服务 器或其它远程源传输软件,则该同轴电缆、纤维光缆、双绞线、DSL,或诸如红外、无线和微波 之类的无线技术也包含在介质的定义中。本申请所用的磁盘和盘,包括压缩盘(CD)、镭射 光盘、光盘、数字多用途光盘(DVD)、软盘和蓝光盘,其中“磁盘”通常通过磁性再现数据,而 “盘”通过激光光学地再现数据。上述的组合也包括在计算机可读介质的范围内。为使本领域技术人员能够实现或者使用本发明,上面提供了对所公开实施例和变 体的描述。对于本领域技术人员来说,对这些实施例的各种修改都是显而易见的,并且,本 申请定义的一般原理也可以适用于其它实施例。因此,本发明并不限于本申请给出的实施 例和变体,而是与本申请公开的原理和新颖性特征的最广范围相一致。
权利要求
1.一种通信方法,包括如下步骤在由固件控制的基于硬件的快速傅立叶变换(FFT)引擎中对接收信号进行变换,以获 得变换后的信号;其中,所述变换步骤包括维护任务列表存储器中的任务列表,所述任务列表包括多个任务条目,所述多个任务 条目中的每个任务条目包括(i)在所述接收信号与所述各个任务条目相关联的部分的变 换期间用于所述FFT引擎的相关联的配置描述,以及(ii)用于定义所述接收信号与所述各 个任务条目相关联的部分的位置的第一信息;读取所述各个任务条目;根据与所述各个任务条目相关联的所述配置描述对所述FFT引擎进行配置;以及在根据与所述各个任务条目相关联的所述配置描述进行配置的所述FFT引擎中,对所 述接收信号与所述各个任务条目相关联的部分进行处理,以便获得经处理的与所述各个任 务条目相关联的信号部分。
2.根据权利要求1所述的通信方法,其中,所述变换步骤还包括从根据所述第一信息的所述位置读取所述接收信号与所述各个任务条目相关联的部 分;以及所述方法还包括以下步骤中的至少一个(a)呈现包含在所述接收信号中的数据,(b) 根据包含在所述接收信号中的数据发送信息,以及(c)根据包含在所述接收信号中的所述 数据接收附加数据。
3.根据权利要求1所述的通信方法,其中,所述各个任务条目还包括(iii)第二信息,该第二信息定义用于存储所述经处理的与所述各个任务条目相关联 的信号部分的位置,并且,所述方法还包括对所述接收信号进行接收。
4.根据权利要求3所述的通信方法,其中在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括FFT长度。
5.根据权利要求3所述的通信方法,其中在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括将要执行的FFT级数。
6.根据权利要求3所述的通信方法,其中在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括表示对所述FFT引擎的一级或多级的增益控制的一个或多个变量。
7.根据权利要求3所述的通信方法,其中所述FFT引擎包括多个级,每一级包括蝶形运算单元、缓冲器以及配置为缩放所述每 一级的所述蝶形运算单元引擎的输出的增益控制设备;和在所述接收信号与所述各个任务条目相关联的部分的变换期间的所述FFT引擎的所 述配置描述包括表示对所述FFT引擎的一级或多级的增益控制的多个变量。
8.根据权利要求3所述的通信方法,其中所述FFT引擎包括采用用于实现多级的递归配置的硬件级,所述多级中的每一级包括 蝶形运算单元、缓冲器以及配置为缩放所述每一级的所述蝶形运算单元引擎的输出的增益控制设备;以及在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括表示对所述FFT引擎的一级或多级的增益控制的多个变量。
9.根据权利要求3所述的通信方法,其中,所述变换后的信号包括多个子载波,所述方 法还包括根据所述各个子载波的能量对所述经处理部分中的所述子载波进行分类,以便获得一 组分类子载波;以及从所述一组分类子载波中选择加强子载波的步骤。
10.根据权利要求3所述的通信方法,其中,所述变换后的信号包括多个子载波,所述 方法还包括根据所述各个子载波的能量对所述经处理部分中的所述子载波进行分类,以便获得一 组分类子载波;以及从所述一组分类子载波中选择预定数量的具有最高能量的子载波。
11.一种接收机系统,包括接收机,配置为对信号进行接收并对接收信号进行输出;以及接收数据处理器,所述接收数据处理器包括由固件控制的基于硬件的快速傅立叶变换 (FFT)引擎,用于对所述接收信号进行变换,以便获得变换后的信号,其中,所述接收数据处 理器配置为维护任务列表存储器中的任务列表,所述任务列表包括多个任务条目,所述多个任务 条目中的每个任务条目包括(i)在所述接收信号与所述各个任务条目相关联的部分的变 换期间用于所述FFT引擎的相关联的配置描述,以及(ii)用于定义所述接收信号与所述各 个任务条目相关联的部分的位置的第一信息;读取所述各个任务条目;根据与所述各个任务条目相关联的所述配置描述对所述FFT引擎进行配置;以及在根据与所述各个任务条目相关联的所述配置描述进行配置的所述FFT引擎中,对所 述接收信号与所述各个任务条目相关联的部分进行处理,以便获得经处理的与所述各个任 务条目相关联的信号部分。
12.根据权利要求11所述的接收机系统,其中,所述变换步骤还包括从根据所述第一信息的所述位置读取所述接收信号与所述各个任务条目相关联的部 分;以及所述接收数据处理器还配置为执行以下步骤中的至少一个(a)呈现包含在所述接收 信号中的数据,以及(b)根据包含在所述接收信号中的数据执行至少一个通信步骤。
13.根据权利要求11所述的接收机系统,其中,所述各个任务条目还包括(iii)第二信息,该第二信息定义用于存储所述经处理的与所述各个任务条目相关联 的信号部分的位置。
14.根据权利要求13所述的接收机系统,其中在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括FFT长度。
15.根据权利要求13所述的接收机系统,其中 所述FFT引擎包括多个FFT级;并且在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括将要执行的FFT级数。
16.根据权利要求13所述的接收机系统,其中 所述FFT引擎包括多个FFT级;并且在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括表示对所述FFT引擎的一级或多级的增益控制的一个或多个变量。
17.根据权利要求13所述的接收机系统,其中所述FFT引擎包括多个级,每一级包括蝶形运算单元、缓冲器以及配置为缩放所述每 一级的所述蝶形运算单元引擎的输出的增益控制设备;以及在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括表示对所述FFT引擎的多级的增益控制的多个变量。
18.根据权利要求13所述的接收机系统,其中所述FFT引擎包括采用用于实现多级的递归配置的硬件级,所述多级中的每一级包括 蝶形运算单元、缓冲器以及配置为缩放所述每一级的所述蝶形运算单元引擎的输出的增益 控制设备;以及在所述接收信号与所述各个任务条目相关联的部分的变换期间用于所述FFT引擎的 所述配置描述包括表示对所述FFT引擎的多级的一或多级的增益控制的多个变量。
19.根据权利要求13所述的接收机系统,其中,所述接收信号包括多个子载波,所述接 收机系统还包括硬件分类器,配置为根据所述各个子载波的能量对所述经处理部分中的所述子载波进 行分类,以便获得一组分类子载波;以及用于从所述一组分类子载波中选择加强子载波的模块。
20.根据权利要求13所述的接收机系统,其中,所述接收信号包括多个子载波,所述方 法还包括分类器,配置为根据所述各个子载波的能量对所述经处理部分中的所述子载波进行分 类,以便获得一组分类子载波;以及从所述一组分类子载波中选择预定数量的具有最高能量的子载波。
21.一种计算机程序产品,包括 计算机可读介质,包括使计算机能够无线通信的代码,包括 对信号进行接收以获得接收信号;以及在由固件控制的基于硬件的快速傅立叶变换(FFT)引擎中对所述接收信号进行变换 以获得变换后的信号;其中,所述变换的步骤包括维护任务列表存储器中的任务列表,所述任务列表包括多个任务条目,所述多个任务 条目中的每个任务条目包括(i)在所述接收信号与所述各个任务条目相关联的部分的变 换期间用于所述FFT引擎的相关联的配置描述,以及(ii)用于定义所述接收信号与所述各个任务条目相关联的部分的位置的第一信息; 读取所述各个任务条目;根据与所述各个任务条目相关联的所述配置描述对所述FFT引擎进行配置;以及 在根据与所述各个任务条目相关联的配置描述进行配置的所述FFT引擎中,对所述接 收信号与所述各个任务条目相关联的部分进行处理,以便获得经处理的与所述各个任务条 目相关联的信号部分。
22.一种接收机系统,包括配置为对信号进行接收并输出接收信号的接收机;以及用于处理的模块,所述用于处理的模块包括基于硬件的模块,所述基于硬件的模块由 固件控制执行快速傅立叶变换(FFT),以便对所述接收信号进行变换,以获得变换后的信 号,所述用于处理的模块配置为维护任务列表存储器中的任务列表,所述任务列表包括多个任务条目,所述多个任务 条目中的每个任务条目包括(i)在所述接收信号与所述各个任务条目相关联的部分的变 换期间用于所述FFT引擎的相关联的配置描述,以及(ii)用于定义所述接收信号与所述各 个任务条目相关联的部分的位置的第一信息, 读取所述各个任务条目,根据与所述各个任务条目相关联的所述配置描述对所述FFT引擎进行配置,以及 在根据与所述各个任务条目相关联的所述配置描述进行配置的所述FFT引擎中,对所 述接收信号与所述各个任务条目相关联的部分进行处理,以便获得经处理的与所述各个任 务条目相关联的信号部分。
23.一种接收机系统,包括接收机,配置为对包括多个子载波的接收信号进行接收;以及 接收数据处理器,所述接收数据处理器包括配置为对所述接收信号进行变换以获得变 换后的信号的快速傅立叶变换(FFT)引擎;硬件分类器,配置为根据各个子载波的能量对所述变换后的信号中的所述子载波进行 分类,以便获得一组分类子载波;以及选择器模块,配置为从选择的一组子载波中选择加强子载波。
24.根据权利要求23所述的接收机系统,其中,所述选择器配置为从所述一组分类子 载波中选择预定数量的具有最高能量的子载波。
25.根据权利要求23所述的接收机系统,其中,所述选择器模块配置为从所述一组分 类子载波中选择可配置数量的具有最高能量的子载波。
26.根据权利要求23所述的接收机系统,其中,所述选择器模块配置为根据各个子载波的能量以及每个子载波与所述每个子载波的至少一个相邻子载波的 比较,从所述一组分类子载波中选择多个加强子载波。
27.根据权利要求23所述的接收机系统,其中,所述选择器模块配置为根据从包括(i)和(ii)的集合中选择的至少一组参数,从所述一组分类子载波中选择 多个加强子载波,所述(i)和(ii)为(i)各个子载波的能量,( )每个子载波与所述每个 子载波的至少一个相邻子载波的比较。
28.根据权利要求27所述的接收机系统,其中,所述选择器模块是固件可配置的硬件选择器模块。
29.一种接收机系统,包括接收机,配置为对包括多个子载波的信号进行接收并输出接收信号;以及 接收数据处理器,所述接收数据处理器包括配置为对所述接收信号进行变换以便获得 变换后的信号的快速傅立叶变换(FFT)引擎;硬件模块,用于根据各个子载波的能量对所述变换后的信号中的所述子载波进行分 类,以便获得一组分类子载波;以及选择模块,用于从所述一组分类子载波中选择加强子载波。
30.一种通信方法,包括如下步骤对信号进行接收,以便获得包括多个子载波的接收信号;以及 在快速傅立叶变换(FFT)引擎中对所述接收信号进行变换,以便获得变换后的信号; 在硬件分类器中根据所述各个子载波的能量对所述变换后的信号的所述子载波进行 分类,以便获得一组分类子载波;以及从所述一组分类子载波中选择加强子载波。
31.根据权利要求30所述的通信方法,其中,所述选择步骤包括 从所述一组分类子载波中选择预定数量的具有最高能量的子载波。
32.根据权利要求30所述的通信方法,其中,所述选择步骤包括 从所述一组分类子载波中选择可配置数量的具有最高能量的子载波。
33.根据权利要求30所述的通信方法,其中,所述选择步骤包括根据各个子载波的能量以及每个子载波与所述每个子载波的至少一个相邻子载波的 比较,从所述一组分类子载波中选择多个加强子载波。
34.根据权利要求30所述的通信方法,其中,所述选择步骤包括根据从包括(i)和(ii)的集合中选择的至少一组参数,从所述一组分类子载波中选择 多个加强子载波,所述(i)和(ii)为(i)各个子载波的能量,( )每个子载波与所述每个 子载波的至少一个相邻子载波的比较。
35.根据权利要求34所述的通信方法,其中,所述选择步骤在由固件可配置的硬件选 择器中执行。
36.一种计算机程序产品,包括 计算机可读介质,包括使计算机进行无线通信的代码,包括 对信号进行接收以获得包括多个子载波的接收信号;在快速傅立叶变换(FFT)引擎中对所述接收信号进行变换,以便获得变换后的信号; 在硬件分类器中根据所述各个子载波的能量对所述变换后的信号的所述子载波进行 分类,以便获得一组分类子载波;以及从所述一组分类子载波中选择加强子载波。
37.一种接收机系统,包括硬件接收数据处理器,所述硬件接收数据处理器包括配置为对接收信号进行变换以获 得变换后的信号的快速傅立叶变换(FFT)引擎,所述变换后的信号包括多个子载波;硬件分类器,配置为根据各个子载波的能量对所述变换后的信号中的所述子载波进行分类,以便获得一组分类子载波;硬件选择器模块,配置为从所述一组分类子载波中选择加强子载波;以及 第一固件模块,配置为使用预定能量强度阈值对所述子载波进行过滤,将符合所述阈 值的子载波存储在FW信标阵列中,所述FW信标阵列包括时间位置部分、子载波位置部分和 信标强度部分。
38.根据权利要求37所述的接收机系统,还包括 第二固件模块,配置为将所述FW信标阵列中的所述子载波分类为候选信标集、试验信标集以及确认信标集, 其中,所述候选信标集包括所述FW信标阵列中不存在于所述试验信标集和确认信标集中 的N个具有最高能量的子载波。
39.根据权利要求38所述的接收机系统,其中,所述试验信标集包括 已经通过单步信标解码算法被试验性地验证为信标的所述子载波。
40.根据权利要求38所述的接收机系统,其中,所述确认信标集存储在多个时间实例 中已经通过多信标解码算法被完全验证为信标的所述子载波。
全文摘要
在各个实施例中,无线接收机使用由固件控制的基于硬件的快速傅立叶变换(FFT)引擎。FFT引擎执行存储在任务列表中的任务。每个任务与信号(例如,一个或多个正交频分复用(OFDM)符号)的不同部分相关联。每个任务包括用于配置FFT引擎以便处理信号的相关联部分的FFT引擎的配置信息,指向将要处理的部分的一个指针,和指向用于存储输出的存储器的另一个指针。任务列表可以是由固件控制的。将FFT划分成由固件驱动的可配置硬件部分,以读取并执行任务列表中的任务,这能够提高FFT处理的速度并使FFT处理更加灵活。硬件信标分类器与FFT引擎相耦合,用于根据子载波的能量对子载波进行分类。
文档编号G06F17/14GK102067109SQ200980111429
公开日2011年5月18日 申请日期2009年3月23日 优先权日2008年3月28日
发明者H·桑帕特, J·H·林, N·夏尔马, R·保兰基, S·K·坎杜库里纳拉亚纳, X·张 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1