专利名称:多级傅立叶变换装置、方法和制品的利记博彩app
技术领域:
本发明一般涉及通信。具体地,本发明的方案涉及快速傅立叶变换引擎的操作。
背景技术:
如今已广泛地布置无线通信系统以提供各种通信服务,例如,语音和数据服务。这 些系统可以是多址系统,其通过共享可用的系统资源(例如,频谱和发射功率)来支持多个 用户的通信。这种多址系统的例子包括码分多址(CDMA)系统、时分多址(TDMA)系统、频 分多址(FDMA)系统、时分双工(TDD)系统、频分双工(FDD)系统、第三代合作伙伴计划长期 演进(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引擎的计算部件。术
6语“蝶形运算单元”一般出现在Coolye-Tukey FFT算法的描述中。Coolye-Tukey算法将 合成大小为η = (r -m)的DFT分解成r个大小为m的较小的变换,其中r称作为FFT变换 的“基数”。递归地执行该分解,将较小的变换与大小为r的蝶形运算单元相组合,其中大小 为r的蝶形运算单元本身是预先乘以单位根的、大小为r的DFT (对较小变换的输出执行m 次)。还可以反向执行该步骤,从而蝶形运算在先,然后乘以单位根。FFT引擎的输出通常存储在输出缓冲器或随机访问存储器(RAM)的处理芯片上, 以便在频域中进行进一步处理。输出缓冲器的大小可以相当大,并且占用专用集成电路 (ASIC)的极大比例,增加了芯片面积和成本。例如,无线标准可以定义具有8个OFDM符号 的分组或帧,其中每个OFDM符号具有1024个音调。在这种情况下,具有4个接收天线的移 动设备必须实例化一个输出缓冲器,该缓冲器必须存储8个OFDM符号X1024个音调X4 个接收天线X 16比特I/Q抽样,导致IM比特的缓冲器。由于输出帧的双倍缓冲,因此大小 增加到2M比特。输入时域信号可以显著地波动。例如每个OFDM符号可以具有不同的功率电平和 不同的频谱特性。这是因为物理信道的功率控制、自适应和变化性质受到噪声、多径和衰 落、衰减、多普勒偏移和干扰的影响。在FFT输出处信号振幅的显著波动(即,动态范围的 增加)使得用于缓存无线设备的FFT引擎的输出的存储器必然产生额外的增加。因为存储器是稀缺资源(除了直接经济成本之外还有重量、大小和功耗成本),所 以在本领域中需要一种降低FFT引擎的输出处的缓冲器大小需求的装置、方法和制品。本 领域还需要存在一种技术使得降低FFT引擎的输出缓冲器大小需求而不损害其它性能特 性,包括动态范围。本领域还需要降低FFT引擎中的蝶形运算所使用的计算资源。
发明内容
本文所公开的实施例可以通过在FFT引擎中提供执行快速傅立叶变换的装置、方 法和制品,解决上述一个或多个需求,该FFT引擎被配置为缩放(scale)蝶形运算单元之间 的中间结果从而允许降低蝶形运算单元和缓冲器的比特宽度。在一个实施例中,一种无线通信方法包括在连续排列的多级中对接收信号数据块 进行变换,使得接收信号数据块输入到多级的第一级中,通过多级中的每一级连续地处理 接收信号数据块,并且从多级的最后一级输出经过快速傅立叶变换后的信号数据块。多级 中的每一级包括蝶形运算单元和数据归一化设备。每一级的数据归一化设备通过与每一级 的数据归一化设备相对应的归一化因子,缩放每一级的蝶形运算单元的输出。该方法还包 括处理经过快速傅立叶变换后的块,以获得处理后的数据块。该方法还包括在无线设备的 应用中使用处理后的块,例如呈现处理后的块中所包括的信息。在一个实施例中,一种设备包括第一快速傅立叶变换(FFT)块,其具有输入端、输 出端和连续排列的多级,使得该FFT块被配置为通过多级中的每一级连续处理输入到多 级中的第一级的接收信号数据块,以获得经过快速傅立叶变换的信号数据块;并且从FFT 块的输出端输出经过快速傅立叶变换的块。多级中的每一级具有蝶形运算单元和数据归一 化设备。每一级的数据归一化设备通过对应于该级的数字归一化设备的归一化因子来缩放 该级的蝶形运算单元的输出。该设备还包括处理块,其被配置为处理该经过快速傅立叶变 换的块,以获得处理后的数据块。该设备还包括应用块,其被配置为对处理后的数据块进行
7操作,以呈现处理后的块中所包括的信息。在一个实施例中,一种无线设备包括至少一个接收机、至少一个发射机和至少一 个控制器,该控制器耦合到该至少一个接收机和至少一个发射机。该至少一个控制器被配 置为执行多个步骤。这些步骤包括在连续排列的多级中对接收信号数据块进行变换,使得 将接收信号数据块输入到多级的第一级中,通过多级中的每一级连续地处理接收信号数据 块,并且从多级的最后一级输出经过快速傅立叶变换的信号数据块。多级中的每一级具有 蝶形运算单元和数据归一化设备。每一级的数据归一化设备通过与该级的数据归一化设备 相对应的归一化因子,缩放该级的蝶形运算单元的输出。这些步骤还包括处理经过快速傅 立叶变换的块,以获得处理后的数据块。这些步骤还包括在无线设备的应用中使用处理后 的块,例如呈现处理后的块中所包括的信息。在一个实施例中,一种计算机程序产品在计算机可读介质上存储用于致使计算机 无线地通信的代码。该代码包括变换指令,该变换指令在连续排列的多级中对接收信号数 据块进行变换,使得将接收信号数据块输入到多级中的第一级中,通过多级中的每一级连 续地处理接收信号数据块,并且从多级的最后一级输出经过快速傅立叶变换的信号数据 块。多级中的每一级具有蝶形运算单元和数据归一化设备。每一级的数据归一化设备通 过与该级的数据归一化设备相对应的归一化因子,缩放该级的蝶形运算单元的输出。该代 码还包括处理指令,用于处理经过快速傅立叶变换的块,以获得处理后的数据块。该代码还 包括用于在无线设备的应用中使用处理后的块的指令,例如呈现处理后的块中所包括的信 肩、ο在一个实施例中,一种设备包括执行模块,用于对接收信号数据块执行快速傅立 叶变换以获得经过快速傅立叶变换的信号数据块;归一化模块,用于对该执行模块中的信 号进行归一化;处理模块,用于处理经过快速傅立叶变换的块以获得处理后的数据块;呈 现(rendering)模块,用于呈现处理后的块中所包括的信息。通过参考以下描述、附图和附属权利要求,将更好地理解本发明的这些和其它方案。
图1示出了根据本文所述的实施例来配置多址无线通信系统的所选元件;图2以方框图的形式示出了根据本文所述的实施例来配置无线MIMO通信系统的 所选组件;图3示出了由终端所生成或接收的符号的所选特征;图4示出了图2中所示的终端的接收机的所选组件;图5示出了图2的终端的接收数据处理器的所选组件;图6A示出了快速傅立叶变换引擎的所选组件;图6B示出了图6A的傅立叶变换引擎的递归实现的所选细节;图7A示出了具有数据归一化的另一个快速傅立叶变换引擎的所选组件;图7B示出了图7A的傅立叶变换引擎的递归实现的所选细节;图8示出了用于操作图7的快速傅立叶变换引擎的过程的所选步骤和判决。
具体实施例方式在本文中,词语“实施例”、“变形”和类似的表述用于表示特定的装置、过程或制 品,而无需表示相同的装置、过程或制品。因此在一个地方或上下文中所使用的“ 一个实施 例”(或类似的表述)可以表示特定的装置、过程或制品,在不同地方的相同的或类似的表 述可以表示不同的装置、过程或制品。表述“可替换的实施例”、“可替换的变形”、“可替换 地”和类似的短语可用于指示多个不同的可能的实施例或变形中的一个。可能的实施例或 变形的数量并不受限于两个或任何其他的数量。本申请中使用的“示例性的”一词意味着“用作例子、例证或说明”。本申请中被描 述为“示例性”的任何实施例或变形不应被解释为比其它实施例或变形更优选或更具优势。 本文所述的全部实施例和变形都是提供来使得本领域的普通技术人员能够实施和使用本 发明的示例性实施例和变形,并且不会限制本发明所承载的法律保护范围。“音调”和“子载波” 一般可互换地使用,以指示OFDM或OFDMA系统中的独立的携 带符号的音调。“增益控制设备”和“数据归一化设备”可互换地使用。在快速傅立叶变换引擎的 上下文中描述该设备。本文所述的技术可用于各种无线通信网络,包括CDMA网络、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)、IEEE802. 11、IEEE 802. 16、IEEE 802. 20、Flash-OFDM等等的无线电技术和其他技术。UTRA、E-UTRA和GSM是通用移动通信 系统(UMTS)的一部分。长期演进(LTE)是UMTS使用E-UTRA的版本。在名为“第三代合作 伙伴计划”(3GPP)的组织的文献中描述了 UTRA、E-UTRA、GSM、UMTS和LTE。在名为“第三代 合作伙伴计划2” (3GPP2)的组织的文献中描述了 cdma2000标准。在LTE系统的上下文中 描述该技术的某些方案,并且在以下描述中可使用LTE技术,但是这些技术也适用于其它 标准和技术。单载波频分多址(SC-FDMA)是一种利用单载波调制和频域均衡的通信技术。 SC-FDMA系统一般与OFDMA系统具有相似的性能和本质上相同的总复杂度。因为SC-FDMA 技术的内在单载波结构,因此SC-FDMA信号具有较低的峰均功率比(PAPR)。SC-FDMA技术 在许多系统中是有吸引力的,尤其是在较低的PAHU吏移动终端的传输功率效率得到受益 的反向链路通信中。在3GPP长期演进和演进的UTRA中,SC-FDMA技术当前是上行链路多 址方案的工作前提。图1中示出了根据一个实施例的多址无线通信系统100。接入点或基站收发机101 包括多组天线,一组包括天线104和106,另一组包括天线108和110,附加组包括天线112 和114。虽然对每组天线仅示出了两个天线,但是在任意天线组中可以包括更多或更少的天 线。BTS 101还可以包括单个天线组或者仅有单个天线。接入终端(AT) 116与天线112和
9114通信,其中天线112和114在前向链路120上向接入终端116发送信息,并且在反向链 路118上从接入终端116接收信息。另一个接入终端122与天线106和108通信,其中天 线106和108在前向链路126上向接入终端122发送信息,并且在反向链路124上从接入 终端122接收信息。在FDD系统中,通信链路118、120、124和126中的每一个可以对接入 终端和特定天线或天线组之间的通信使用不同的频率,以及对前向链路和反向链路使用不 同的频率。例如,前向链路120使用的频率可以与反向链路118不同,而前向链路126可以 使用另一个不同的频率。然而,不同频率的使用不是本发明所必需的。将每组天线以及其设计用于通信的区域称为扇区。如图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-PSK)和多进制正交幅度调制 (M-QAM)中选择调制方案。可以通过由处理器230所执行的指令来确定每个数据流的数据 速率、编码和调制。将全部数据流的调制符号提供给Tx MIMO处理器220,其可以进一步处理该调制 符号(例如,用于OFDM)。Tx ΜΙΜΟ处理器220然后向Nt个发射机(TMTR) 222a到222t提供 Nt个调制符号流。在某些实施例中,TxMIMO处理器220将波束成形权重应用到数据流的符 号和用于传输该符号的天线上。每个发射机222接收并且处理各自的符号流以提供一个或多个模拟信号,并且进 一步调节(例如,放大、滤波、上变频)该模拟信号以提供适用于在对应的MIMO信道上传输 的已调信号。分别从Nt个天线224a到224t发送来自发射机222a到222t的Nt个已调信 号。天线224可以与图1中所示的天线104-114相同或不同。在接收机系统250,由Nk个接收天线252a到252ι 接收所发送的已调信号,并且向 每个天线252各自的接收机(RCVR) 254a到254r提供来自每个天线252的接收信号。每个 接收机254调节(例如,放大、滤波、下变频)它们各自的接收信号,对调节后的信号进行数
10字化以提供抽样,并且进一步处理这些抽样以提供相应的接收符号流。接收(Rx)数据处理器260基于特定接收机处理技术从Nk个接收机254接收并且 处理Nk个接收符号流,以提供Nk个已检测符号流。然后Rx数据处理器260对每个已检测 符号流进行解调、解交织和解码,以恢复数据流的业务数据。Rx数据处理器260的处理与发 射机系统210处的TxMIMO处理器220和Tx数据处理器214所执行的处理互补。处理器270定期地确定使用哪个预编码矩阵。处理器270形成反向链路消息,其 包括矩阵索引部分和秩值部分。反向链路消息可以包括关于通信链路和/或接收数据流的 各种信息。然后由Tx数据处理器238处理反向链路消息,Tx数据处理器238还从数据源236 接收多个数据流的业务数据。业务数据和反向链路消息由调制器280调制、由发射机254a 到254r调节并且发送至发射机系统210。在发射机系统210,由天线224接收、由接收机222调节、由解调器240解调并且由 Rx数据处理器242处理来自接收机系统250的已调信号,以提取由接收机系统250发送的 反向链路消息。处理器230确定使用哪个预编码矩阵来确定波束成形权重,并且处理所提 取的消息。图3示出了根据本发明的所选方案来发送的数据的OFDM符号300的所选特征。符 号300在时刻t = 0开始并且在时刻t·结束。该符号包括前端斜坡(leading ramp)部 分310、数据部分320(其可以包括有效载荷或业务数据以及特定开销,例如循环前缀)和尾 端斜坡(trailing ramp)部分330。前导和尾端部分一般用来平滑符号之间的转换并且防 止发射功率中的尖峰和所发送的信号的相关频谱扩散。图3仅仅是根据本发明的数据的例 子,还可以使用其它传输方法。例如,使用具有多个子载波的OFDM符号不是本发明所必需 的。图4示出了接收机254(其是图2中所示的接收机254a-254r中之一)的所选细 节。接收机254接收来自与其相关的天线252的信号。因此,接收机254a接收来自天线 252a(或多个天线)的信号,而接收机254r接收来自天线252r(或多个天线)的信号。图 4的例子和相关说明可以应用于接收机254中的任意一个或每一个,例如,应用于接收机 254a和接收机254r。虽然未显示接收机254的结构的一些细节,但应理解的是可以使用许 多已知的和以后即将开发出的结构。在各种示例性实施例中,模块410-440的形式可以是 经由一系列独立的总线耦合在一起的独立的电子组件。在其它实施例中,模块410-440中 的一个或多个的形式可以是处理器或经由一个或多个网络耦合在一起的多个独立服务器。 另外,要理解的是,可以以协同应用的方式使用多个计算设备来有利地实现模块410-440 中的每一个。还要理解的是,模块410-440中某些的形式可以是由控制器所执行或操作的、 存储于存储器中的软件/固件结构或例程,或者由不同的控制器所操作的、在独立服务器/ 计算机的独立存储器中存储的软件/固件结构或例程。在操作中,当天线252-0和/或天线252-1 (和/或与图4中的接收机254相关联 的任意其它天线252)接收到信号时,模拟前端410被配置为接受所接收的信号、调节这些 信号并且将调节后的信号提供给混频器420。前端信号调节可以包括通过前端410中的一 个或多个滤波器412来过滤信号。混频器420被配置为将调节后的信号从它们的接收频谱下变频到较低的基带频谱。然后将转换后的基带信号提供给抽样器430,其被配置为将模拟基带信号转换为数字数 据。一个或多个滤波器432可用于在抽样之前或之后过滤基带信号。因此,滤波器432可 以是模拟的和/或数字的,这取决于它们是在抽样转换之前还是之后操作。虽然理想的滤波器不会引起相位延迟,在整个接收频率具有平坦的轮廓,并且在 任何频率都具有完美的截止带,但是已知可实现的滤波器都与该“理想的”滤波器性能有所 偏离。滤波器412和432因此可能对接收信号引起失真。例如,滤波器组412和432或其 中一个滤波器可能对接收信号引起频率依赖性振幅和/或相位失真,例如带通振幅和/或 相位抖动。时序恢复设备440被配置为将各种算法应用到接收数据,以从信号得到时序信 息。时序恢复设备440可以独立于其它接收机254中的其它这种设备440进行操作,或者 它可以结合其它时序恢复设备进行操作。在变形例中,时序恢复设备440接收来自模拟前 端410或混频器420的模拟数据,或者其接收来自抽样器430的数字数据,或两者都接收, 以便用于它的算法。因为时序恢复不会永远是完美的,因此可以给出疏忽的时间偏移Td, 时序恢复设备440最终可以识别并且报告το!。图5示出了(来自图2的)Rx数据处理器260的所选细节,在此Rx数据处理器 260被配置为从接收机254接收时序信息和抽样数据两者。虽然未显示示例性Rx数据处理 器260的结构的一些细节,要理解的是可以使用许多已知的和以后即将开发出的结构。在 示例性实施例中,各种模块510-574的形式可以是经由一系列独立的总线耦合在一起的独 立的电子组件。在其它实施例中,模块510-574中的一个或多个模块的形式可以是经由一 个或多个网络耦合在一起的多个处理器或多个独立服务器。另外,要理解的是,可以以协同 应用的方式使用多个计算设备来有利地实现模块510-574中的每一个。还要理解的是,模 块510-574中的某些的形式可以是由控制器所执行或操作的、存储在存储器中的软件/固 件结构或例程,或者由不同的控制器所操作的、存储在独立服务器/计算机中的独立存储 器中的软件/固件结构或例程。示例性数据处理器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被配置为接收时序信息并且向指令处理器方框520 提供输出时间偏移Td。时间偏移τ d可以进一步传递到相位斜坡562。输入数据抽样缓冲器530被配置为经由各接收机254的一个或多个天线252,还有 可能经由前端410来接收抽样数据,并且向FFT引擎550提供缓存后的数据抽样。处理器方框520的FFT地址生成器524被配置为生成由FFT引擎550所使用的地 址。FFT引擎550的控制方框550a接收由FFT地址生成器524所生成的地址和存储在FFT 引擎任务列表526中的命令和变量,并且基于该接收的信息来控制FFT引擎本体550b,使得 FFT引擎550对可以从中解出通信信道的缓存的数据抽样进行转换。
在上述硬件/软件/固件结构中,FFT引擎任务列表526存储各种指令、各种变量 和/或由FFT控制方框550a使用的操作数据。作为非限制性的实例,FFT引擎任务列表 526可以存储用于表示进行变换的抽样开始地址的变量、用于读取或提供抽样开始地址的 指令、用于表示在傅立叶变换的执行之间或之前所跳过的数据符号数量的变量、用于在执 行之前或之间跳过多个数据符号的指令、用于表示FFT长度的变量、用于表示待执行的FFT 级和蝶形运算单元的数量的变量、用于执行多个FFT级的指令、用于表示每个待执行的FFT 级的缩放和增益控制(以下将详述)的变量、用于在每个FFT级/蝶形运算单元或每个FFT 级/蝶形运算单元之后执行缩放的指令、用于表示每个待执行的FFT操作的开始时间的变 量、用于开始FFT操作的指令、用于指示立即开始的比特的变量和/或用于执行立即开始的 指令。这些仅仅是实例,其它指令、变量和/或数据项也可以存储在FFT引擎任务列表526 中。FFT引擎任务列表526的内容可以保存在固件或其它存储器中,并且可以在需要 时通过新的或不同的指令、变量和/或数据来进行更新和变更。FFT控制方框550a可以请求保存在FFT引擎任务列表526中的指令、变量和/或 操作数据,并且将其存储在方框550a的寄存器中,或者由指令处理器520在没有来自方框 550a的特定请求的情况下将其提供给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引擎550相同)的所选元件。FFT引擎600包 括N个内在FFT级或蝶形运算单元610n。(回顾以上关于蝶形运算单元的描述。)每个蝶 形运算单元610之后紧跟缓冲器620,缓冲器620被配置为接收并且存储紧接的在前蝶形运 算单元610的输出,并且将存储的数据作为输入提供给紧接的随后蝶形运算单元610。虽然 图6A仅显示2个蝶形运算单元610和两个相关缓冲器620,但是FFT引擎600可以具有更 多或更少蝶形运算单元610,其中在许多设计中一般具有3-4个蝶形运算单元。例如,FFT 引擎600可以包括4、8或16个蝶形运算单元以及相等数量的相关缓冲器。在FFT过程的连续级中采用连续的蝶形运算单元610。因此,在FFT引擎600的 第一级中使用蝶形运算单元eiOi,并将蝶形运算单元eiOi的输出存储在缓冲器中。在 FFT引擎600的第二级中用蝶形运算单元6102替换缓冲器620i的内容,并且将蝶形运算单 元6102的输出存储在缓冲器6202中。从而将缓冲器6202的内容提供给FFT引擎600的第 三级中的蝶形运算单元6103的输入,并且将蝶形运算单元6103的输出存储在缓冲器6203 中。由于包括频域信道变化、不同的子信道或音调间的发射功率差异的因素以及可能 的其它因素,FFT引擎600在不同的FFT子信道所接收的符号可以具有大的动态范围。关于 发射功率差异,在一些实施例中的信标可以比其它子信道强30dB,并且前向链路控制信道
13音调可以比其它子信道强0-15dB。如果FFT引擎600没有将信号归一化,则它的输出可能 趋于饱和,导致在饱和的和邻近的子信道上的符号失真以及因此导致这些子信道上的调制 性能很差。另外,如果FFT引擎600没有将具有大动态范围的信号进行归一化,则与被配置 为处理具有较小动态范围的信号的系统中的模拟缓冲器相比,缓冲器620和用于接收FFT 引擎600的输出的缓冲器(或双倍缓存情况下的缓冲器)的存储大小可能较大。要注意的是,在FFT引擎600中,可以用被配置为连续地进行操作的一级代替多个 蝶形运算单元-缓冲器级。这在图6B中示出,其示出了具有一个蝶形运算单元eiOu.j* 一个缓冲器620^.,的单级,其中蝶形运算单元eiOu...,执行图6A中所示的蝶形运算单元 610的两个或更多个(包括全部)蝶形运算单元的功能,而缓冲器620^.,执行图6A中所 示的缓冲器620中两个或更多个(包括全部)缓冲器的功能。这里,将级连续地配置为第 一级(蝶形运算单元GlO1和缓冲器620》,然后配置为第二级(蝶形运算单元6102和缓冲 器6202),依此类推,其中将前一级的输出馈入下一级的输入。我们将该配置称为递归FFT 引擎配置。图7A示出了另一个FFT引擎实现,其在每个蝶形运算单元的输出端使用数据归一 化设备或增益控制设备。因此,图7A中所示的FFT引擎700 (与FFT引擎550相同)具有N 个内在FFT级或蝶形运算单元710n。每个蝶形运算单元710之后紧跟与其相关联的数据归 一化或增益控制设备730和缓冲器720。因此,连续地配置引擎700的级以处理信号,其中在 第一级TIO1AZO1ASO1的输入端连续接收通过各级的信号并且从最后一级710n/720n/730n 的输出端输出该信号。要注意的是,增益控制设备730 介于与它相关联(紧接的在前)的 蝶形运算单元710 和与该蝶形运算单元相关联的缓冲器720n之间。增益控制设备730 将 与其相关联的蝶形运算单元710n的输出归一化(缩放到预定的幅度刻度/范围),例如,如 图所示,通过在数字域对输出进行相乘或相除,并且向紧接的随后缓冲器720n提供所产生 的输出。缓冲器720n被配置为接收并且存储紧接的在前增益控制设备730n的数据,并且 向紧接的随后蝶形运算单元710n+1提供存储的数据。虽然图7A仅显示两个蝶形运算单元 710、两个缓冲器720和两个增益控制设备730,但是FFT引擎700可以具有更多或更少数量 的蝶形运算单元、缓冲器和数据归一化设备。一些实施例包括2个、3个、4个、8个或16个 蝶形运算单元和等数量的相关缓冲器和数据归一化设备。此外,可以通过存储在FFT引擎 任务列表526中的信息来配置多级。在FFT过程的连续级中采用连续的蝶形运算单元710。因此在FFT引擎700的第 一级中使用蝶形运算单元TlO1并且将其输出发送到增益控制设备730i,然后(在归一化/ 缩放之后)存储在缓冲器720i中。在FFT引擎700的第二级中用蝶形运算单元7102替换 缓冲器720i的内容,将其输出提供给增益控制设备7302并且在经过再次合适的缩放之后存 储在缓冲器7202中。从而在FFT引擎700的第三级中将缓冲器7202的内容提供给蝶形运 算单元7103的输入,将蝶形运算单元7103的输出发送给增益控制设备7303并且存储在缓 冲器7203中。从而持续进行到最后一级N,最后一级N具有蝶形运算单元710N、增益控制设 备730n和缓冲器720n。在操作中,例如在蝶形运算单元TlO1中执行第一级蝶形运算。通过设备730i对来 自蝶形运算单元TlO1的输出数据进行归一化,例如,使得当前数据块中的全部信号落入信 号的预定最大和最小振幅之间。接下来,将归一化后的数据存储在缓冲器720i中。将来自
14缓冲器TZO1的缓存数据发送到下一个蝶形运算单元7102,用于下一个FFT级,然后对接下 来的蝶形运算单元重复该步骤(改变下标)。在一些实施例中,并非每个蝶形运算单元之后都紧跟数据归一化设备。作为非限 制性的实例,通过在FFT引擎的每一级或者在FFT引擎的输入端和输出端或者在一个或多 个中间级进行数字增益控制,可以在FFT引擎700中实现归一化。在特定实施例中,除了最 后一个蝶形运算单元之外,在每个蝶形运算单元之后执行归一化。要注意的是,在FFT引擎700中,可以用被配置为连续操作的一级代替多个蝶形运 算单元_缓冲器_归一化设备级。这在图7B中示出,其示出了具有一个蝶形运算单元TlO1, 2..|一个缓冲器7201,2...,和一个增益控制设备7301,2...,的单级,其中蝶形运算单元7101, 2...N执行图7A中所示的蝶形运算单元710中两个或更多个(包括全部)蝶形运算单元的 功能,缓冲器720^.,执行图7A中所示的缓冲器720中两个或更多个(包括全部)缓冲器 的功能,增益控制设备730^.,执行图7A所示的增益控制设备730中两个或更多个(包括 全部)增益控制设备的功能。这里,将级连续地配置为第一级(蝶形运算单元TlO1、缓冲器 720!和增益控制设备730》,然后配置为第二级(蝶形运算单元7102、缓冲器7202和增益控 制设备7302)等等,其中将前一级的输出馈入下一级的输入。与FFT引擎600的情况相同, 我们将该配置称为递归FFT引擎配置。本领域的普通技术人员在读过本文之后将理解,存储所有数据归一化设备的归一 化因子,使得基于FFT引擎的最后一级的输出和归一化因子(在FFT引擎中处理数据时所 使用的增益控制设备的设置),可以容易地将FFT引擎700的输出转换成FFT变换后的数 据。独立的方框或模块可以负责配置数据归一化设备。可替换地,用于控制和配置数 据归一化设备的功能可以分布在例如包括在数据归一化设备自身中。或者该功能可以是还 用于执行附加功能的另一处理器。因为设备730对由蝶形运算单元710所操作的数据进行归一化,所以FFT引擎被 配置为利用蝶形运算单元710、缓冲器720和用于适应较小的信号动态范围的FFT引擎的输 出端上的任意其他缓冲器(例如用于双倍缓存的缓冲器)来适应大动态范围的输入信号。 因此归一化降低了 FFT比特宽度,其最终使得改善了 FFT时间线并且降低芯片上的FFT面 积。归一化还可以使得降低符号缓冲器比特宽度,并且因此降低整个调制解调器的面积。归 一化可以提供面积和时间线改善,以补偿在FFT引擎700中包括增益控制设备所导致的成 本和复杂度的增加。在一些实施例中,使用12或18比特宽的级来处理FFT引擎输入端的16比特信号 范围,但是FFT引擎的输入和输出的不同比特宽度也落入本发明的保护范围之中。为了缓存FFT数据,FFT引擎700的输出与用于处理该数据的所有增益控制设备 730的增益设置一起存储。通常,在某些持续时间期间,信号范围相对稳定,例如1、2、3、4、 5或甚至更多OFDM符号。因此,在对应的持续时间期间可能不需要在相应的持续时间期间 改变增益设置,不需要在相应的持续时间期间存储每组FFT数据的增益设置。在实施例中, 缓存的经FFT处理的数据与FFT引擎700中使用的增益设置的存储位置指针一起存储,以 处理该数据。在实施例中,每1个OFDM符号、每2个OFDM符号、每3个OFDM符号、每4个 OFDM符号或每5个OFDM符号更新一次增益设置。对于1到5范围之外的M,每M个OFDM符号更新一次增益设置也在本发明的范围之内,并且M可以是整数或分数。在实施例中,在 需要时执行更新,也就是说,当由于饱和或缺少分辨率(resolution)、缺少部件蝶形运算单 元710和缓冲器720的给定比特宽度而导致在无信息损失的情况下使用当前设置无法处理 输入到FFT引擎700的信号块时,改变(并且存储)一个或多个增益设置。在一些实施例中,每个蝶形运算单元710的增益设置具有2、3、4或5比特的分辨 率。在一些其它实施例中可以对蝶形运算单元710的增益设置使用其它数量的比特。在一些实施例中,在对应于因子2的各步阶(step)(例如1、2、4、8、16(或对应于 这些数的分数或倍数))中增益设置的分辨率会变化。在增益设置中使用这种二进制步阶 有利地使得通过向左或向右比特移位操作来容易地归一化(相乘或相除)数据。另一种用于降低缓冲器或FFT引擎大小的技术是降低FFT引擎和(在FFT引擎的 输出端的)符号缓冲器输出的比特宽度,并且同时在信号质量变化时降低(用于向FFT引 擎提供输入的)抽样服务器的比特宽度。应注意的是,当接收的信号具有高质量时,对于移 动终端,在FFT引擎的输出端的频域中的动态范围一般很低。这是因为向基站收发机告知 移动站具有高质量信号,继而基站收发机并不显著地改变前向链路功率。因此在高质量的 情况下,可以降低FFT引擎和/或符号缓冲器的比特宽度。在低质量信号的情况下,动态范 围可以相对较高。这是因为,例如,基站收发机可以用高功率来传输某些音调,以便与移动 终端连接。但是低质量的接收信号意味着可以降低抽样服务器的比特宽度而在接收信息中 没有显著的质量损失,因为在变化范围底部的分辨率通常主要反映噪声和/或干扰。降低 抽样缓冲器的比特宽度使得对FFT引擎和符号缓冲器的比特宽度的需求降低。因此,在实施例中,馈入FFT引擎的信号的比特宽度根据信噪比(SNR)、信号噪声 干扰比(SINR)、载波干扰比(C/I)或在FFT引擎中处理的接收信号的其它类似的度量而变 化。输入比特宽度的变化可以逐渐地、连续地执行或在一个步骤或多个步骤中执行。在变形 中,如果所监测的信号质量度量(例如,SNR、SINR、C/I)在预定水平之上,则输入信号(抽 样服务器输出)的比特宽度被设置为第一预定长度;当信号质量度量高于预定水平时,抽 样服务器的比特宽度被设置为比第一预定长度短的第二预定长度。通过丢弃抽样服务器的 最低有效位来实现抽样服务器比特宽度的降低。在最后两段中描述的抽样服务器退避技术可以与前述归一化技术一起使用,或者 代替归一化技术。一个实施例使用11比特抽样服务器以及14比特FFT引擎和符号缓冲器。 所有这些技术可以使失真降低并且因此改善性能。此外,上述最后一个技术可以适应在低 载波干扰比情况下较大的子信道功率提升,而不会引起FFT和/或符号缓冲器比特宽度增 加。图8示出了用于操作FFT引擎(例如图7中所示的FFT引擎700)的示例性过程 800的所选步骤和/或判决方框。该过程的流程在流程点801开始并且进行到步骤805,在步骤805针对下一个处理 周期或数据块,例如对应于一个或多个OFDM符号的数据块,确定一个、多个或所有数据归 一化设备的数据增益设置。在步骤810,根据在步骤805所做的确定,对数据归一化设备的增益进行设置或者编程。在步骤815,使用在步骤810所做出的设置在FFT引擎中处理数据块(例如,OFDM符号、OFDM符号的一部分或多个OFDM符号)。在步骤820,对在步骤815中处理的块进行缓存(例如,单或双倍缓存)。在步骤825,还将用于描述在FFT弓丨擎处理块期间的蝶形运算单元830的增益设置 的信息添加到已缓存的块中。例如,存储实际系数或指向实际系数的指针。在步骤830,进一步处理已缓存的块(包括增益设置),例如对可实现的滤波器的 振幅和相位失真进行校正。在步骤835,存储步骤830中所处理的块,或者使其能够用于应用,例如用于解码 和呈现音频和/或视频,以便向执行过程800的无线设备的用户进行播放。然后应用可以 存取数据块并且对其进行操作,例如,通过呈现已编码的信息或者包括在数据中的信息。该 应用可以实现为硬件、软件和/或固件块。该过程流程然后进行到判决方框840,在判决方框840中判决是否需要更新一个 或多个增益设置。该判决可以基于利用当前的增益设置所处理的数据量(例如,是否利用 当前的增益设置处理了一个OFDM符号或其他预定数量的OFDM符号),或者可以按照需要进 行判决(例如,信号振幅范围超过预定上限或者低于预定下限)。如果如判决方框840所确定的,不需要更新增益设置,则过程的流程返回步骤 815,以使用当前增益设置操作另一个(下一个)数据块。否则过程的流程返回步骤805,以 确定蝶形运算单元710的新的增益设置以便在FFT引擎中处理另一个(下一个)数据块。虽然在本发明中按顺序地描述了各实施例的步骤和判决方框,但是可以通过单独 的元件结合地或并行地、异步地或同步地、以流水线的形式等等执行其中一些步骤和判决。 若非明确指示或上下文中清楚说明或内在地要求,则对步骤和判决是否按照说明书中所列 出的顺序来执行没有特定要求。然而要注意的是,在所选的变形中,步骤和判决是按照以上 所述和/或附图中所示的特定顺序来执行的。此外,在每个系统中无需使用所示的每个步 骤和判决,而没有具体示出的一些步骤和判决在一些系统中可能是希望的。应该注意的是,在各方案中,可以在前向链路、反向链路、对等链路和其它非多址 环境中使用本发明的构思。应该注意的是,本文中所述的通信技术可用于单向业务传输和 双向业务传输。本领域普通技术人员应当理解,信息和信号可以使用多种不同的技术和方法来表 示。例如,在整个说明书中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电 压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。本领域技术人员还应当明白,结合本申请的实施例描述的各种示例性的逻辑框、 模块、电路和算法步骤中的任意一个可以实现成电子硬件、计算机软件或二者的组合。为了 清楚地表示硬件和软件之间的可交换性,上文对各种示例性的部件、方框、模块、电路和步 骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件或是软硬件 组合,取决于特定的应用和对整个系统所施加的设计约束条件。本领域普通技术人员可以 针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离 本发明的保护范围。可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门 阵列(FPGA)或其它可编程逻辑设备、分立门或者晶体管逻辑器件、分立硬件组件或用于执 行本文所述的功能任意组合来实现或执行结合本申请的实施例所描述的各种示例性的逻辑框图、模块和电路。通用处理器可以是微处理器,可替换地,通用处理器也可以是任何常 规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如, DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何 其它此种结构。在一个或多个示例性实施例中,可以用硬件、软件、固件或它们的任意组合来实现 本申请所述的功能。如果用软件来实现功能,则可以将功能作为一个或多个指令或代码存 储在计算机可读介质上,或者在计算机可读介质上进行传输。计算机可读介质包括计算机 存储介质和通信介质,这些介质包括用于促进计算机程序从一个地方传递到另一个地方的 任意介质。存储介质可以是计算机可接入的任意可用介质。这种计算机可读介质可以包 括,例如但不限于,RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储 器件、闪存或可用于以计算机可接入的指令或数据结构的形式来携带或存储希望的程序代 码的任意其它介质。此外,任意连接也可以被称为是计算机可读介质。例如,如果软件是使 用同轴线缆、光纤线缆、双绞线、数字用户线(DSL)或诸如红外线、无线电和微波之类的无 线技术从网站、服务器或其它远程源传输的,那么同轴线缆、光纤线缆、双绞线、DSL或诸如 红外线、无线电和微波之类的无线技术也包括在介质的定义中。本申请所使用的光盘或磁 盘包括压缩光盘(CD)、激光光盘、光盘、数字多用途盘(DVD)、软磁盘和蓝光盘,其中“磁盘” 通常磁性地复制数据,而“光盘”用激光和LED光学地复制数据。以上的组合也可以包括在 计算机可读介质的范围中。通过上文对本文的实施例和变形进行的描述,使得本领域普通技术人员能够实施 或使用本发明。本领域的普通技术人员可以容易地想到对这些实例的各种修改,并且在不 脱离本发明所公开的发明性的构思的前提下,本文所定义的通用原理可以适用于其它实 例。因此,本发明的范围并非意图限于本文所示的实例,而是要符合与此处公开的原理和新 颖性特征相一致的最宽范围。
18
权利要求
一种无线通信方法,包括以下步骤在连续排列的多级中对接收信号数据块进行变换,使得所述接收信号数据块输入到所述多级的第一级中,通过所述多级中的每一级连续地处理所述接收信号数据块,并且从所述多级的最后一级输出经过快速傅立叶变换的信号数据块,所述多级中的每一级包括蝶形运算单元和数据归一化设备,其中,所述每一级的所述数据归一化设备利用与所述每一级的所述数据归一化设备相对应的归一化因子,来缩放所述每一级的蝶形运算单元的输出;对所述经过快速傅立叶变换的块进行处理,以获得处理后的数据块;在无线设备的应用中使用处理后的块。
2.如权利要求1所述的无线通信方法,其中,使用所述处理后的块的步骤包括呈现所 述处理后的块中所包含的信息。
3.如权利要求2所述的无线通信方法,还包括对于所述每一级,调整与所述每一级的所述数据归一化设备相对应的所述归一化因 子。
4.如权利要求3所述的无线通信方法,其中,所述调整步骤包括对于所述每一级,确 定与所述每一级的所述数据归一化设备相对应的所述归一化因子。
5.如权利要求4所述的无线通信方法,其中,对每个接收信号数据块执行所述调整步 骤,所述每个块具有预定的大小。
6.如权利要求4所述的无线通信方法,其中,在需要时执行所述调整步骤。
7.如权利要求3所述的无线通信方法,其中,以二进制步阶执行所述调整步骤。
8.如权利要求3所述的无线通信方法,还包括在所述处理步骤之前存储所述经过快速傅立叶变换的块。
9.如权利要求8所述的无线通信方法,其中,所述存储步骤包括在所述处理步骤之 前,将用于描述所述每个归一化因子的数据添加到所述经过快速傅立叶变换的块中。
10.如权利要求8所述的无线通信方法,其中,所述存储步骤包括对于所述每一级,在 所述处理步骤之前,将指向用于存储所述每个归一化因子的存储器的指针添加到所述经过 快速傅立叶变换的块中。
11.如权利要求3所述的无线通信方法,其中,所述处理步骤包括解码所述信息,并且 在所述呈现步骤之前执行所述解码步骤。
12.如权利要求3所述的无线通信方法,其中,所述处理后的块中包含的信息包括音频 信息和视频信息中的至少一个,并且所述呈现步骤包括呈现所述音频信息和视频信息中的 至少一个。
13.如权利要求12所述的无线通信方法,还包括在至少一个正交频分复用(OFDM)符号中无线地接收所述接收信号数据块。
14.如权利要求3所述的无线通信方法,其中,所述每一级还包括级缓冲器。
15.如权利要求3所述的无线通信方法,还包括在所述使用步骤之前双倍缓存所述经过快速傅立叶变换的块。
16.如权利要求3所述的无线通信方法,其中,从接收信号中获得所述接收信号数据, 所述方法还包括监测所述接收信号的质量指示;响应于所述质量指示,改变所述接收信号数据的比特宽度,其中响应于所述接收信号 的质量降低,降低所述接收信号数据的所述比特宽度。
17.如权利要求3所述的无线通信方法,其中,将所述多级实现为递归FFT引擎配置中 的单硬件级。
18.一种设备,包括快速傅立叶变换(FTT)模块,其包括输出端、输入端和连续排列的多级,使得所述FFT 块被配置为通过所述多级中的每一级连续处理输入到所述多级中的第一级的接收信号数 据块,以获得经过快速傅立叶变换的信号数据块,并且从所述FFT块的输出端输出所述经 过快速傅立叶变换的块,所述多级中的每一级具有蝶形运算单元和数据归一化设备,其中, 所述每一级的所述数据归一化设备利用与所述每一级的所述数据归一化设备相对应的归 一化因子来缩放所述每一级的所述蝶形运算单元的输出;处理模块,其被配置为处理所述经过快速傅立叶变换的块,以获得处理后的数据块;应用模块,其被配置为对所述处理后的数据块进行操作。
19.如权利要求18所述的设备,其中,所述应用模块被配置为呈现在所述处理后的块 中所包含的信息。
20.如权利要求19所述的设备,还包括归一化控制模块,其被配置为对于所述每一级,调整与所述每一级的所述数据归一化 设备相对应的所述归一化因子。
21.如权利要求20所述的设备,其中,所述归一化控制模块被配置为确定与所述每一 级的所述数据归一化设备相对应的所述归一化因子。
22.如权利要求21所述的设备,其中,所述归一化控制模块被配置为针对每个接收信 号数据块调整所述归一化因子,其中,所述每个块具有预定的大小。
23.如权利要求21所述的设备,其中,所述归一化控制模块被配置为按照需要调整所 述归一化因子。
24.如权利要求20所述的设备,其中,所述归一化控制模块被配置为以二进制步阶调 整所述归一化因子。
25.如权利要求20所述的设备,还包括缓冲器,其被配置为在由所述处理模块处理所述经过快速傅立叶变换的块之前,存储 所述经过快速傅立叶变换的块。
26.如权利要求25所述的设备,其中,所述缓冲器被配置为将用于描述所述每个归一 化因子的数据添加到所述经过快速傅立叶变换的块中。
27.如权利要求25所述的设备,其中,所述缓冲器被配置为将指向用于存储所述每个 归一化因子的存储器的指针添加到所述经过快速傅立叶变换的块中。
28.如权利要求20所述的设备,其中,所述处理模块包括解码器,其被配置为解码所述 fn息ο
29.如权利要求20所述的设备,其中,包含在所述处理后的块中的信息包括音频信息 和视频信息中的至少一个,并且所述应用模块被配置为呈现所述音频信息和视频信息中的 至少一个。
30.如权利要求29所述的设备,还包括无线接收机,其被配置为在至少一个正交频分复用(OFDM)符号中接收所述接收信号 数据块。
31.如权利要求20所述的设备,其中,所述每一级还包括级缓冲器。
32.如权利要求20所述的设备,还包括双倍缓冲器,其被配置为双倍缓存所述经过快速傅立叶变换的块。
33.如权利要求19所述的设备,还包括抽样服务器,耦合到所述FFT模块的输入端,所述抽样服务器被配置为响应于所述接 收信号的质量指示,改变所述接收信号数据的比特宽度,其中,响应于所述接收信号的质量 降低,降低所述接收信号数据的所述比特宽度。
34.如权利要求19所述的设备,其中,将所述多级实现为递归FFT引擎配置中的单硬件级。
35.一种无线设备,包括至少一个接收机;至少一个发射机;至少一个控制器,其耦合到所述至少一个接收机和所述至少一个发射机,其中,所述至 少一个控制器被配置为执行以下步骤在连续排列的多级中对接收信号数据块进行变换,使得所述接收信号数据块输入到所 述多级的第一级中,通过所述多级中的每一级连续地处理所述接收信号数据块,并且从所 述多级的最后一级输出经过快速傅立叶变换的信号数据块,所述多级中的每一级包括蝶形 运算单元和数据归一化设备,其中,所述每一级的所述数据归一化设备利用与所述每一级 的所述数据归一化设备相对应的归一化因子,来缩放所述每一级的所述蝶形运算单元的输 出;处理所述经过快速傅立叶变换的块,以获得处理后的数据块;在无线设备的应用中使用所述处理后的块。
36.一种计算机程序产品,包括计算机可读介质,所述计算机可读介质包括致使计算机无线地通信的代码,包括在连续排列的多级中对接收信号数据块进行变换,使得所述接收信号数据块输入到所 述多级的第一级中,通过所述多级中的每一级连续地处理所述接收信号数据块,并且从所 述多级的最后一级输出经过快速傅立叶变换的信号数据块,所述多级中的每一级包括蝶形 运算单元和数据归一化设备,其中,所述每一级的所述数据归一化设备利用与所述每一级 的所述数据归一化设备相对应的归一化因子,来缩放所述每一级的所述蝶形运算单元的输 出;处理所述经过快速傅立叶变换的块,以获得处理后的数据块;在无线设备的应用中使用所述处理后的块。
37.一种设备,包括执行模块,用于对接收信号数据块执行快速傅立叶变换以获得经过快速傅立叶变换的 信号数据块;归一化模块,用于对所述执行模块中的信号进行归一化;处理模块,用于处理所述经过快速傅立叶变换的块以获得处理后的数据块;呈现模块,用于呈现在所述处理后的数据块中所包含的信息。
全文摘要
在实施例中,快速傅立叶变换(FFT)引擎包括一系列级,每一级包括蝶形运算单元和数据归一化设备,该数据归一化设备被配置为缩放每一级的蝶形运算单元的输出。例如,定期地或者在需要时调整缩放因子,使得对于给定的比特宽度增加蝶形运算单元和缓冲器的动态范围,或者对于相同的动态范围减小这些设备的比特宽度。另外,由于数据的缩放而减小其它缓冲器的比特宽度。
文档编号H04L27/26GK101981883SQ200980110912
公开日2011年2月23日 申请日期2009年3月24日 优先权日2008年3月28日
发明者H·桑帕特, K·高希, R·N·沙拉, S·韦尔玛尼 申请人:高通股份有限公司