在ofdm系统中的快速傅里叶变换处理的制作方法

文档序号:6567247阅读:161来源:国知局
专利名称:在ofdm系统中的快速傅里叶变换处理的制作方法
在OFDM系统中的快速傅里叶变换处理 相关申请的交叉引用
本申请要求于2005年3月11日提交的,题为"FAST FOURIER TRANSFORM"的临时申请No.60/660,855的优先权,并且在此转让给受让人并特 别结合在此作为参考。
本申请涉及2006年3月IO日提交的,代理人档案号0505071U2,题为 "FAST FOURIER TRANSFORM TWIDDLE MULTIPLICATION,,的非临时美国专 利申请,并且特别结合在此作为参考资料。背景I. 领域
本公开涉及无线通信领域和无线通信信号的处理的领域。尤其是,本公 开涉及正交频分多路复用(OFDM)信号的快速傅里叶变换(FFT)处理。II. 背景
正交频分多路复用(OFDM)是多载波调制技术,其有效地将整个系统带 宽分割为多个(N)正交子频带。这些子频带还可以称为频调(tone)、子载波、频 段(bin)和频道。对于OFDM,每个子频带与可以以数据调制的各自的子载波相 关联。
在无线通信系统中,射频(RF)调制信号可以经由许多的信号通路从发射机传播到接收机。如果信号通路具有不同的延迟,那么,在接收机上的接收信号将 包括多个具有不同增益和延迟的发送信号的实例。这个在无线信道中的时间扩散导致频率选择性衰落,其特征在于在系统带宽上变化的频率响应。对于OFDM系统,N个子频带因此可以经历不同的有效信道,并且因此可以与不同的复信道增益相关联。
与在其他的通信系统中的接收信号的处理相比,OFDM系统的处理明显更加复杂。依据处理能力,所需的大量处理导致接收机很大的负担。希望在OFDM 接收机中提高处理性能的能力以允许利用调制方案通信系统的更大扩展。简要概述
在此描述了一种用于OFDM接收机的FFT处理器和用于在OFDM系统 中处理接收的码元的方法。该FFT处理器包括配置为执行数据解调、信道估计和 对于接收的OFDM码元的精密定时捕获的多个相互关连的操作模块。该FFT处理 器包括使用与信道估计和解调模块同享的存储器结构的流水线化的的FFT引擎。 该共享存储器结构和流水线化的FFT操作的组合允许在用于捕获下一个接收码元 的时间期间完成信道估计和解调处理。
该共享存储器可以被安排为与它们支持的功能模块有关的多个存储体。 该FFT处理器的定时指示用于定址为各存储体的存储体、数据和控制多路复用器 的操作。
流水线化的FFT引擎是FFT处理器的骨架,并且在由FFT处理器执行 的信道估计和时间捕获过程中使用。该信道估计值在下面的数据的后续处理中使 用。[OOIO]描述了一种实现在多级中适用旋转相乘的循环计数方法的FFT引擎。 当实现多级的FFT,诸如,基于8基数核心的实现时,该中间值需要乘以各旋转因 子。该FFT引擎利用最小数目的乘法器以在有效的流水线中执行旋转相乘。基于 FFT基数和在存储器的每行中的多个数值优化多个乘法器允许使用合理的区域量 和以最小循环数执行FFT功能。这些值的基本排序和分组允许以较少的循环数执 行FFT操作。[OOll]—种方面包括一种用于处理OFDM码元的信号处理装置。该装置包括 包括多个存储体的存储器结构,解调模块,配置为接收OFDM码元的样值和将该 样值累加进在存储器结构内的多个交错存储器,和计算模块,配置为在多个交错存 储器的至少一个上执行频率域变换。
—种方面包括一种用于处理OFDM码元的信号处理装置。该装置包括 包括多个存储体的存储器结构,解调模块,配置为接收对应于OFDM码元的样值, 并且在存储器结构内的样值存储器中累加码元样值数据,解调模块累加用于M个OFDM交错的每个的P个相异的样值,这里P表示每个交错的子频带的数目,配 置为执行P点FFT操作的快速傅里叶变换(FFT)引擎,和连接到存储器结构和FFT 引擎的信道估计器,并且配置为基于多个累加的导频样值的P点FFT产生信道估 计。
另一个方面包括一种用于处理OFDM码元的信号处理装置。该装置包 括用于存储多个值的装置,用于解调多个接收的OFDM样值并在用于存储多个值 的装置内的多个交错存储部分的一个中累加多个接收的OFDM样值的每个的装 置,和用于将存储在多个交错存储部分的至少一个中的多个OFDM样值变换为频 率域表示的装置。[OOM]另一个方面包括一种处理OFDM码元的方法,其包括解调第一 OFDM 码元的接收的样值以产生解调的样值,在存储器结构中存储解调的样值,在解调第 二 OFDM码元的所有接收的样值之前,基于解调的样值确定信道估计,和基于解 调的样值从多个OFDM交错中确定对应于一个交错的多个子频带的编码值。
另一个方面包括利用计算机程序编码的计算机可读的介质以执行步 骤解调第一 OFDM码元的接收的样值以产生解调的样值,在存储器结构中存储 解调的样值,在解调第二OFDM码元的所有接收的样值之前,基于解调的样值确 定信道估计,和基于解调的样值从多个OFDM交错中确定对应于一个交错的多个 子频带的编码值。附图简述
从以下结合附图的详细描述中,本公开各实施例的特点、目的以及优势 将变得更加明显,其中相同的单元具有相同的标号。


图1是一无线通信系统实施例的功能方框图。
图2是一 OFDM接收机实施例的简化功能方框图。
图3是一用于OFDM系统的FFT处理器实施例的简化功能方框图。
图4是一用于OFDM系统的FFT处理器实施例的简化功能方框图。
图5是一 OFDM交错处理实施例的简化功能方框图。
图6是一在OFDM处理器中共享存储器使用的简化时序图。
图7是一导频信道处理实施例的简化功能方框图。
图8是一逻辑信道控制逻辑实施例的简化状态图。
图9是一 FFT处理器实施例的简化状态图。
图10是一 FFT引擎实施例的简化功能方框图。
图11是8基数FFT蝶形实施例的简化功能方框图。
图12是8基数FFT蝶形的最初两态实施例的简化功能方框图。
图13是8基数FFT蝶形的一个级的实施例的简化功能方框图。
图14是在8基数FFT中旋转相乘顺序的简化表示。
图15是流水线化的8基数FFT操作的简化时序图。
图16是流水线化的256点FFT的简化时序图。
图17是处理OFDM信号方法的简化流程图。
图18是解调码元样值方法的简化流程图。
图19是处理OFDM信号方法的简化流程图。
图20是FFT处理器的简化功能方框图。
图21是FFT引擎的简化功能方框图。本发明实施例详述
图1是无线通信系统100的实施例的简化功能方框图。该系统包括一个 或多个可以与用户终端110通信的固定单元。该用户终端110例如可以是配置为按 照一个或多个通信标准工作的无线电话。例如,该用户终端iio可以被配置为从第 一通信网络接收无线电话信号,并且可以被配置为从第二通信网络接收数据和信息。
该用户终端110可以是便携式单元、移动单元或者固定单元。该用户终 端110还可以称为移动单元、移动终端、移动站、用户设备、便携式设备、电话等 等。虽然在图1中仅仅示出一个用户终端110,应该明白,典型的无线通信系统100 具有与多个用户终端iio通信的能力。
该用户终端110典型地与一个或多个在这里描述为扇形蜂窝塔的基站 120a或者120b通信。该用户终端110将典型地与基站,例如120b通信,其在用 户终端110内的接收机处提供最强的信号强度。
该基站120a和120b的每个可以连接到基站控制器(BSC)140,其路由通信信号往返于合适的基站120a和120b。该BSC140连接到移动通信交换中心 (MSC)150,其可以被配置为作为在用户终端110和公用电话交换网(PSTN)150之 间的接口。该MSC还可以被配置为作为用户终端IIO和网络160之间的接口。该 网络160例如可以是局域网(LAN)或者广域网(WAN)。在一个实施例中,该网络160 包括因特网。因此,该MSC150连接到PSTN150和网络160。该MSC150还可以 连接到一个或多个媒体信源170。该媒体信源170例如可以是由系统提供者提供的 媒体库,该系统提供者可以由用户终端110访问。例如,该系统提供者可以提供视 频或者其它形式的媒体,其可以由用户终端110根据需要访问。该MSC150还可 以被配置为与其他的通信系统(未示出)协调系统间切换。
该无线通信系统IOO还可以包括广播发射机180,其被配置为将信号发 送给用户终端IIO。在一个实施例中,该广播发射机180可以与基站120a和120b 相关联。在另一个实施例中,该广播发射机180可以区别于并独立于包含基站120a 和120b的无线电话系统。该广播发射机180可以是,但是不局限于,音频发射机、 视频发射机、无线电发射机、电视发射机等等,或者一些发射机的组合。虽然在无 线通信系统100中仅仅示出一个广播发射机180,但该无线通信系统IOO可以被配 置为支持多个广播发射机180。
多个广播发射机180可以在交叠覆盖区中发送信号。用户终端110可以 同时从多个广播发射机180接收信号。多个广播发射机180可以被配置为广播相同 的、相异的或者类似的广播信号。例如,其覆盖范围与第一广播发射机的覆盖范围 交叠的第二广播发射机还可以广播由第一广播发射机广播的信息的子集。
该广播发射机180可以被配置为从广播媒体信源182接收数据,并且可 以被配置为编码该数据,基于该编码数据调制信号,和将该调制数据广播给可由用 户终端IIO接收的服务区。
在一个实施例中,该基站120a和120b以及广播发射机180的一个或者 两者发送正交频分多路复用(OFDM)信号。该OFDM信号可以在预定的工作频带上 包括调制到一个或多个载波上的多个OFDM码元。
OFDM通信系统利用用于数据和导频传输的OFDM。 OFDM是多载波 调制技术,其将整个系统带宽分割为多个(K)正交频率子频带。这些子频带还可以 称作音调、载波、子载波、频段和频道。对于OFDM,每个子频带与可以以数据调制的各自的子载波有关。
在OFDM系统中的发射机,诸如广播发射机180可以同时地将多个数 据流发送给无线设备。这些数据流可以实际上是连续的或者脉冲,可以具有固定或 者可变的数据速率,和可以使用相同的或者不同的编码和调制方案。该发射机还可 以发送导频以帮助无线设备执行许多的功能,诸如,时间同步、频率跟踪、信道估 计等等。导频是发射机和接收机两者先验己知的传输。
该广播发射机180可以按照交错子频带结构发送OFDM码元。该OFDM 交错结构包括总计K个子频带,这里K〉1。 U个子频带可以用于数据和导频传输, 并且被称作可使用的子频带,这里IKK。剩余的G个子频带不使用,并且被称作 保护子频带,这里G=K-U。作为一个例子,该系统可以利用具有总计K-4096个 子频带,U-4000个可使用的子频带和G:96个保护子频带的OFDM结构。为简单 起见,以下的描述假设全部总计K个子频带是可使用的,并且被分配0至K-1的 标志,使得l^K和G-0。
总计K个子频带可以被安排为M个交错或者不相重叠的子频带集合。 M个交错是不相重叠的或者不相交的,其中总计K个子频带的每个仅仅属于一个 交错。每个交错包含P个子频带,这里P二K/M。在每个交错中P个子频带可以均 匀分布在总计K个子频带上,使得在该交错中顺序的子频带通过M个子频带以定 距离间隔。例如,交错0可以包含子频带0、 M、 2M等等,交错l可以包含子频 带l、 M+l、 2M+1等等,并且交错M-1可以包含子频带M-1、 2M-1、 3M-1等等。 对于示例的如上所述具有K^4096的OFDM结构,可以形成M二8个交错,并且每 个交错可以包含P二512个子频带,其均匀地通过八个子频带以定距离间隔。在每 个交错中的P个子频带因此与在另一 M-l个交错的每个中的P个子频带交错。
通常,该广播发射机180可以以任何数目的总计、可使用的和保护子频 带实现任何的OFDM结构。还可以形成任何数目的交错。每个交错可以包含任何 数量的子频带和总计K个子频带的任何一个。该交错可以包含相同的或者不同数 目的子频带。为简单起见,许多以下的描述是用于具有M:8个交错的交错子频带 结构,并且每个交错包含P=512个均匀分布的子频带。这个子频带结构提供若干 优点。第一,实现频率分集,因为每个交错包含从整个系统带宽上提取的子频带。 第二,无线设备可以通过执行部分P点快速傅里叶变换(EFT),而不是全部K点FFT12恢复在给定交错上发送的数据或者导频,其可以在无线设备上简化处理。
该广播发射机180在一个或多个交错上传送频分多路复用(FDM)导频, 以允许无线设备去执行各种功能,诸如信道估计、频率跟踪、时间跟踪等等。该导 频由调制码元组成,其是基站和无线设备两者先验已知的,其也称作导频码元。该 用户终端110可以基于接收的导频码元和已知传送的导频码元估计无线信道的频 率响应。该用户终端110能够在用于导频传输的每个子频带上采样无线信道的频;並 l曰o
系统100可以在OFDM系统中定义M个时隙以便于数据流到交错的映 射。每个时隙可以看作一个传输单元或者用于发送数据或者导频的装置。用于数据 的时隙被称作数据时隙,并且用于导频的时隙被称作导频时隙。M个时隙可以分 配标志0至M-1。时隙O可以用于导频,并且时隙1至M-1可以用于数据。该数 据流可以在时隙1至M-l上发送。具有固定标志的时隙的使用可以简化时隙到数 据流的分配。每个时隙可以在一个时间间隔中映射到一个交错。M个时隙可以基 于任何时隙到交错的映射方案在不同的时间间隔中映射到M个交错的不同的一 个,其可以实现频率分集和好的信道估计和检测性能。通常, 一个时间间隔可以跨 越一个或者多个码元周期。以下的描述假设一个时间间隔跨越一个码元周期。
图2是OFDM接收机200的简化功能方框图,其可以例如在图1的用 户终端中实现。该接收机200可以被配置为实现如在此处描述的FFT处理模块以 执行接收的OFDM码元的处理。
该接收机200包括配置为接收在RF信道上传送的RF OFDM码元,将 它们处理和频率转换为基带OFDM码元或者大体上基带信号的接收RF处理器 210。如果与基带信号的频率偏移是信号带宽的一小部分,或者如果信号是在足够 低的中频上,以允许无需进一步频率变换直接处理该信号,则该信号可以大体上称 为基带信号。来自接收RF处理器210的OFDM码元被耦合到帧同步器420。
该帧同步器220可以被配置以将接收机200与码元定时同步。在一个实 施例中,该帧同步器可以被配置以将接收机与超帧定时同步,并与在超帧内的码元 定时同步。
该帧同步器220可以被配置以基于用于时隙到交错的映射所需的码元 数确定交错以进行重复。在一个实施例中,时隙到交错的映射可以在每14个码元13之后重复。该帧同步器220可以从码元计数确定模14码元标志。该接收机200可 以使用模14码元标志以确定导频交错以及对应于分配的数据时隙的一个或多个交错。
该帧同步器220可以基于多个因素并使用多个技术的任何一个同步该 接收机的定时。例如,该帧同步器220可以解调OFDM码元,并且可以从解调的 码元确定超帧定时。在另一个实施例中,该帧同步器220可以基于在一个或多个码 元内,例如,在一个开销信道中接收的信息确定超帧定时。在另一个实施例中,该 帧同步器220可以通过在相异的信道上,诸如通过解调从OFDM码元相异接收的 开销信道,接收信息同步该接收机200。当然,该帧同步器220可以使用任何方式 实现同步,并且实现同步的方式不必是限制确定模码元计数的方式。
该帧同步器220的输出被耦合到样值映射230,其可以被配置为解调 OFDM码元,并且将码元样值或者码片从串行数据路径映射到多个并行数据路径 的任何一个。例如,样值映射220被配置为将OFDM码片的每个映射到多个并行 数据路径的一个,该并行数据路径在OFDM系统中对应于子频带或者子载波的数 百。
该样值映射230输出被耦合到FFT模块240,其被配置为将OFDM码 元变换为相应的频域子频带。该FFT模块240可以被配置为基于模14码元计数确 定对应于该导频时隙的交错。该FFT模块240可以被配置为将一个或多个子频带, 诸如,预定的导频子频带耦合到信道估计器250。该导频子频带例如可以是跨越 OFDM码元的带宽的一个或多个等间隔的OFDM子频带的集合。
该信道估计器250被配置为使用导频子频带估计对接收的OFDM码元 有影响的各个信道。在一个实施例中,该信道估计器250可以被配置为确定对应于 数据子频带的每个的信道估计。
来自FFT模块240的子频带和信道估计被耦合到子载波码元去交错器 260。该码元去交错器260可以被配置为基于对一个或多个分配的数据时隙的知识 确定该交错,并且确定对应于分配的数据时隙的交错的子频带。
该码元去交错器260可以被配置为例如解调对应于分配的数据交错的 子载波的每个,并且从解调的数据中产生串行数据流。在另一个实施例中,该码元 去交错器260可以被配置为解调对应于分配的数据交错的子载波的每个,并且产生并行数据流。在又一个实施例中,该码元去交错器260可以被配置为产生对应于分配的时隙的数据交错的并行数据流。
该码元去交错器260的输出被耦合到配置为进一步处理接收的数据的 基带处理器270。例如,该基带处理器270可以被配置为将接收数据处理为具有音 频和视频的多媒体数据流。该基带处理器270可以将已处理的信号发送给一个或多 个输出设备(未示出)。
图3是在OFDM系统中工作的接收机的FFT处理器300的实施例的简 化功能方框图。可以例如在图1的无线通信系统中或者在图2的接收机中使用该 FFT处理器300。在一个实施例中,该FFT处理器300可以被配置为执行图2的接 收机实施例的帧同步器、FFT模块和信道估计器的部分或者全部功能。
该FFT处理器300可以在单个集成电路(IC)基片上的IC中实现,以提 供用于OFDM接收机设计的处理部分的单个码片解决方案。做为选择,该FFT处 理器300可以在多个IC或者基片上实现,并且封装为一个或多个芯片或者模块。 例如,该FFT处理器300可以具有在第一IC上执行的处理部分,并且该处理部分 可以与处在一个或多个不同于第一 IC的存储设备上的存储器对接。
该FFT处理器300包括耦合到存储器结构320的解调模块310,存储器 结构320互连FFT计算模块360和信道估计器380。可以选择性地作为FFT处理 器300的一部分包括对数似然比模块350,或者可以在相异的模块内实现,其可以 或者可以不在相同的基片或者IC上作为FFT处理器300实现。
该解调、FFT、信道估计和对数似然比模块对样值执行操作。该存储器 结构320允许这些模块的任何一个在给定时间上去接入任何块。通过临时分解存储 体简化切换逻辑。
存储器的一个存储体由解调模块310重复地使用。该FFT计算模块320 访问现行被处理的的存储体。该信道估计模块380访问当前被处理的存储体的导频 信息。该对数似然比(LLR)模块350访问包含最早样值的存储体。
该解调模块310包括耦合到系数ROM 314的解调器312。该解调模块310处理时间同步的OFDM码元以恢复导频和数据交错。在如上所述的例子中,OFDM码元包括被分成8个相异的交错的4096个子频带,这里每个交错具有在整个4096个子频带上均匀间隔的子频带。
该解调器312将进入的4096个样值组织为八个交错。该解调器通过w(n)=e 512旋转每个进入的样值,并且n表示交错0至7。最初的512个值被旋 转和存储在每个交错中。对于随后每个512个样值的集合,该解调器312旋转然后 添加这些值。在每个交错中的每个存储位置将具有累加的八个已旋转的样值。在交 错O中的数值不旋转,仅仅累加。与用于表示输入样值相比较,该解调器312可以 在较大位数中表示旋转和累加值,以适应由于累加和旋转的增长。
该系数ROM 314被用于存储复旋转系数。对于每个进入的样值需要七 个系数,因为交错O不需要任何旋转。该系数ROM314可以是上升边缘触发,其 可以从解调模块310接收样值的时间开始导致1个周期延迟。
该解调模块310可以被配置为寄存从系数ROM314检索的每个系数值。 寄存该系数值的行为在可以使用该系数值本身之前增加另一个周期延迟。
对于每个进入的样值,使用七个不同的系数,其中每个具有不同的地址。 七个计数器被用于査找不同的系数。每个计数器递增其交错数目,对于每个新的样 值,例如,交错1增加1,而交错7增加7。通常生成ROM图像以保持在单个行 中需要的全部七个系数,或者使用七个不同的ROM是不实际的。因此,该解调流 水线通过在新样值到达时取出系数值而开始。
为了降低系数存储器的大小,仅仅存储在0和兀/4之间的COS和SIN值。 该系数地址(其没有发送给存储器)的三个最高有效位(MSB)可用于将该值引导到 适宜的象限。因此,从系数ROM314读取的值不立即寄存。
该存储器结构320包括耦合到多个存储体324a-324c的输入多路复用器 322。该存储体324a-324c被耦合到存储器控制块326,其包括能够将值从存储体 324a-324c的每个传送到各模块的多路复用器。
该存储器结构320还包括导频观察处理的存储器和控制器。该存储器结 构320包括将导频观察耦合到多个导频观察存储器332a-332c的任何一个的输入导 频选择多路复用器330。多个导频观察存储器332a-332c被耦合到输出导频选择多 路复用器334,以允许选择任何存储器的内容用于处理。该存储器结构320还可以 包括多个存储器部分342a-342b以存储从导频观察确定的处理的信道估计。
用于产生OFDM码元的正交频率可以方便地使用傅里叶变换,诸如FFT 处理。FFT计算模块360可以包括配置为执行有效的一个或多个预定维数的FFT 和逆FFT(IFFT)操作的多个单元。典型地,该维数是2的幂,但是FFT或者IFFT操作不局限于2的幂的维数。
该FFT计算模块360包括蝶形核心370,其可以对从存储器结构320或 者转置寄存器364检索的复数据操作。该FFT计算模块360包括蝶形输入多路复 用器362,其被配置为在存储器结构320和转置寄存器354之间选择。该蝶形核心 370和复数乘法器366和旋转存储器368 —起工作以执行蝶形操作。
该信道估计器380可以包括与PN序列发生器384 —起工作以对导频样 值解扰的导频解扰器382。相位斜坡模块386用于旋转从对导频交错到各数据交错 的任何一个的导频观察。相位斜坡系数存储器388用于存储将样值旋转到希望的频 率需要的相位斜坡信息。
时间滤波器392可以被配置以在多个码元上时间滤波多个导频观察。来 自时间滤波器392的滤波输出可以存储在存储器结构320中,并且在返回给存储器 结构320供对数似然比模块350中使用进行基本的子频带数据的解码之前,进一步 由阈值器394处理。
该信道估计器380可以包括信道估计输出复用器390以将各信道估计器 输出值(包括中间和最终输出值)对接到存储器结构320。
图4是与在OFDM接收机中其他的信号处理模块有关的FFT处理器400 的实施例的简化功能方框图。TDM导频捕获模块402产生用于FFT处理器400的 初始码元同步和定时。进入的同相(I)和正交(Q)样值被耦合到AGC模块404,该 AGC模块404用于实现将信号保持在希望的幅度和频率误差内的增益和频率控制 回路。
该FFT处理器400可用于提供定时和频率信息给精密频率捕获模块 406,以保持与使用AGC模块404的AFC功能获得的相比较更加精确的码元频率。 控制处理器408执行FFT处理器400的高级控制。该控制处理器408例如可以是 通用处理器或者简化指令集计算机(RISC)处理器,诸如,由ARMTM设计的。该控 制处理器408例如可以通过控制码元同步,有选择地控制FFT处理器400的状态 为激活或者睡眠状态,或相反控制FFT处理器400的操作,来控制FFT处理器408 的操作。
在FFT处理器400内的控制逻辑410可用于对接FFT处理器400的各 内部模块。该控制逻辑410还可以包括用于与在FFT处理器400外部的其他模块对接的逻辑。
1和Q样值被耦合到FFT处理器400,尤其是,耦合到该FFT处理器 400的解调模块310。该解调模块310用于将样值分解为预定数目的交错。该解调 模块310与存储器结构320对接,以存储用于处理的样值,并且传送给对数似然比 模块350用于基本数据的解码。
该存储器结构320可以包括用于控制在存储器结构320内的各存储体访 问的存储器控制器412。例如,该存储器控制器412可以被配置为允许行写入到各 存储体内的位置。
该存储器结构320可以包括用于存储FFT数据的多个FFT RAM 420a-420c。另外,多个时间滤波存储器430a-430c可用于存储时间滤波数据,诸如 用于产生信道估计的导频观察。
分离信道估计存储器440a-440b可用于存储来自信道估计器380的中间 信道估计。当确定该信道估计的时候,该信道估计器380可以使用信道估计存储器 440a-440b。
该FFT处理器400包括FFT计算模块,其用于执行至少部分FFT操作。 在图4的实施例中,该FFT计算模块是8点FFT引擎460。 8点FFT引擎460可 以对于如上所述处理OFDM码元结构的说明性的例子是有益的。如先前描述的, 每个OFDM码元包括每个被分成512个子频带的8个交错的40%个子频带。在每 个交错中子频带的数目512是8的三次方(83=512)。因此,512点FFT可以在三个 使用8基数FFT的级中执行。事实上,因为4096是8的四次方,4096点FFT可 以仅附加一个FFT级,即总共四个级来执行。
8点FFT引擎460可以包括蝶形核心370和适用于执行8基数FFT的转 置寄存器364。标准化模块462用于标准化由蝶形核心370产生的积。该标准化模 块462可以用于限制表示从跟随每个FFT级的蝶形核心输出的值所需的存储器位 置的位增长。
图5是OFDM交错处理实施例的简化功能方框图。图3或者图4的FFT 处理器可以被配置为执行在图5中示出的OFDM交错处理。该简化功能方框图举 例说明两个数据交错处理器510k和510j,和单个导频交错处理器510p。但是,FFT 处理器可以取决于在该OFDM码元中交错的数目实现任何数量的交错处理器。例如,为了处理先前描述的OFDM码元实施例,该FFT处理器可以包括七个数据交 错处理器,诸如510k,和一个导频交错处理器510p。
该数据交错处理器510k、 5I0J的每个被类似地安排,并且有效地用于 数据交错的任何一个。每个数据交错处理器510k、 510j包括配置为旋转进入的样 值的相位的旋转器514k、 514j。该相位旋转有效地将每个交错旋转为用于处理的通 用交错。每个数据交错处理器510k、 510j对每个顺序M个样值中的一个样值进行 操作,这里M表示交错的总数。
每个旋转器514k、 514j的输出被耦合到累加器520k、 520j,其在八个 交错上累加样值。对于具有4096个子频带和8个交错的OFDM码元,每个交错包 括512个子频带,并且累加器520k、 520j对512个样值的8个实例求和。在描述 的OFDM码元例子中,对于每个交错,旋转和存储最初的512个值。对于随后的 每组512个样值旋转器514k、 514j旋转该样值,并且累加器520k、 520j将该值加 到先前存储的样值。在每个交错中的512个存储位置的每个将具有累加的八个已旋 转的样值。
该数据交错处理器510k、 510j包括用于存储累加样值,或者累加样值 的中间值的存储器530k、 530j。在一个例子中,每个存储器530k、 530j可以存储 512个样值,或者累加的样值。在每个码元的开始,由第一组数据交错样值复位或 改写存储位置。
计数器540可用于指向在存储器530k、 530j中访问输入以及返回累加 值的位置。虽然图5仅仅示出一个耦合到导频样值存储器530p的模512计数器540, 但该计数器540可以将计数值提供给存储器530k、 530j的每个,用于存储累加的 数据样值。做为选择,每个数据交错处理器510k、 510j可以包括分解计数器或者 一个或多个数据交错处理器510k、 510j,还可以共享与由导频交错处理器510p使 用的计数器540相同或不同的计数器。
在一个实施例中,该计数器540在每个码元开始时被复位。类似地,该 数据存储器530k、 530j和导频样值存储器530p可以在每个码元开始时被复位或清 除。该旋转器514k、 514j通过预定的相位旋转希望的交错样值,并且将该旋转的 样值耦合到相关的累加器520k、 520j。该累加器520k、 520n包括加法器522k、 522j, 其从存储器530k、 530j读取由计数器540指向的先前累加的值。
该加法器522k、 522j将检索的值与来自旋转器514k、 514J的值求和。 在将和值写回到相同的存储位置之前(其用于提供输入给加法器522k、 522j),该 累加器520k、 520j将和值加载进寄存器524k、 524j中。
在所有交错都已处理一个样值之后,计数器540增加。因此,该计数可 以在所有交错,包括导频交错中,对于每个周期保持相同。
FFT模块550k、 550j对存储在存储器530k、 530j中的累加的交错数据 执行FFT。在图5的例子中,该FFT模块550k、 550j对512个累加的样值执行512 点FFT。 512点FFT模块550k、 550j的输出表示数据交错的子频带。
512点FFT模块550k、 550j的输出被耦合到相关的对数似然比(LLR)模 块580k、 580j,这里具有信息的子频带的每个可以被解码。虽然在此处描述的FFT 处理器和数据交错处理器510k、 510j实现用于解码该子频带的IXR模块580k、 580j,但是其他的FFT处理器可以使用其他类型的解码器。选择用于FFT处理器 的解码器的类型可以部分地取决于在发射机上使用的编码过程。例如,如果该数据被可巻积地编码,FFT处理器可以使用维特比解码器。
该LLR模块580k、580j可以使用部分由导频交错处理器510p产生的信 道估计解码子频带数据。在图5示出的例子中,该导频交错处理器510p包括旋转 器510p和累加器520p,如数据交错处理器510k、 510j中每个所包括的。
该累加器520p以与数据交错处理器510k、 510j同样的方式累加在存储 器530p中的导频样值。FFT模块550p对累加的导频样值执行512点FFT,以将时域表示变换为频域导频子频带。
该FFT模块550p的输出被耦合到导频外插和解调模块560。该OFDM 系统可以定义靠近频率子频带限定的频带边缘的预定的保护频带,以确保传输不在 分配的带宽之外延伸。在保护频带内的子频带上不传送导频或者数据信息。
该导频外插和解调模块560可以用于在导频子频带中外插数值,以在保护频带中估计子频带中的导频数值。在该导频子频带被解调以恢复信道估计的导频 解调之前,进行外插。以已知的码元或者序列调制该导频子频带。该已知的码元或 者序列可以由伪随机序列扰频,并且该导频外插和解调模块560可以在解调过程期 间对导频子频带解扰。
该信道脉冲响应被耦合到旋转器564,该旋转器564大体上执行与在导 频交错处理器510p中由初始旋转器514p所执行的相反的旋转。该旋转器564的输 出被耦合到时间滤波器566,这里信道脉冲响应可以被时间滤波。该时间滤波器566 可以被配置为部分地基于当前信道脉冲响应和附加信道脉冲响应值对信道脉冲响 应进行滤波。该附加信道脉冲响应值包括过去的信道脉冲响应值以及将来的信道脉 冲响应值,这里将来的信道脉冲响应值表示基于后续接收的OFDM码元的信道脉 冲。
该FFT处理器可以存储多个码元样值,并且可以确定用于存储的码元 每个的信道脉冲响应。该时间滤波器566因此可以通过存储足够数目的OFDM码 元并且确定其信道估计的每个来实现非因果滤波器。因此,该时间滤波器可以对在 过去充分确定的信道估计进行操作,以允许相对于滤波的信道脉冲响应的表示"将 来"码元的后续码元的采样和处理。
当然,事实上,该时间滤波器566可以实现任何类型的滤波器,包括 FIR、 IIR或者其它类型的滤波器。另外,该时间滤波器566可以实现因果或者非 因果滤波响应。
该时间滤波的导频脉冲响应被耦合到数据交错处理器510k、 510j的每 个,其中取决于与各数据交错相关的参数而进行进一步滤波或者处理。该导频滤波 器572k、 572j可以用于部分地基于特定的数据交错截取导频脉冲响应或者对各脉 冲响应抽头设定阈值。[OllO]该导频滤波器572k、 572j的输出被耦合到旋转器574k、 574j,其旋转 对于特定数据交错的导频脉冲响应。该旋转器574k、 574j的输出被耦合到FFT模 块576k、 576j,这里将最终的信道脉冲响应变换为在数据交错频率处的信道频率响 应估计。该信道频率响应估计被耦合到LLR模块580k、 580j,供解码数据交错的 子频带使用。[Olll]图6是在OFDM处理器中共享存储器使用的简化时序图600。该FFT 处理器的存储器结构可以被安排为多个存储体。在FFT处理器的一个实施例中,诸如,图3或者图4的FFT处理器,该存储器可以被安排为8个相异的存储体。 存储体1、 2和3是用于进入的样值。存储体4、 5和6存储导频信息。存储体7 存储精密频率结果,而存储体8存储信道估计结果。该时序图600指示存储体地址、 数据的操作和控制多路复用器的操作。
该时序图600示出输入样值数据流610的帧结构例子。进入的样值数据 流610可以以特定的顺序安排。信息的每个码元,例如612,通过循环前缀614与 相邻的码元分离。 一些码元可以包括跨越整个码元周期的数据,而其他的码元可以 具有可以在小于一个整个码元周期捕获的数据。
进入样值存储器620将进入的样值620引导到存储体1、 2或者3中的 一个。初始TDM导频和开销(OIS)信息被存储在存储体1中。此后,该进入的样值 经由存储体l、 2和3被循环。
解调620对存储当前进入样值的存储体进行操作。在已经捕获该码元之 后,该FFT引擎640工作,并且利用存储体1和经由存储体4、 5和6循环。
在TDM导频2码元的前半部分期间,进行精密定时操作650,并且使 用存储体1和7操作。该信道估计操作660对在存储体4、 5和6中的FFT结果进 行操作,并且还使用用于结果的存储体8。该LLR模块670经由用于进入样值的 存储体循环。[(M16]该时序图600示出存储体如何在FFT处理器的多个操作之中共享。该 时序图600示出多个操作的定时如何相互依赖。
样值存储器控制逻辑确定是否处理用于码元的任何数据。如果没有要处 理的数据,则对于该码元时间的进入样值将不解调、存储或者处理。但是,在该码 元中,在希望的数据开始之前,解调导频信号用于信道估计。[OllS]在FFT处理器中的各操作的定时产生许多的数据相关性。该FFT和精 密定时模块必须在OIS信息开始之前结束。特别地,在接收到第一个OIS码元数 据之前的一个周期,精密定时模块必须准备好。FFT、信道估计和LLR模块必须 以比将进入样值填充存储体所花费的更少的时间来完成操作。
该FFT处理器具有足够的存储器以保持三个数据码元。该信道估计算 法在当前要处理的数据码元之前、期间和之后需要来自该码元的导频信息。由数据 值与导频值交错组成的样值连续到达。直到接收了整个码元才执行处理。因此,需要足够的存储器以保持三个数据码元。
三个存储块可用于以下面方式捕获进入码元。第一个存储器,例如存储体1从APC模块采集进入的样值。第二个存储器,例如存储体2保存数据值。这 个存储器是由在FFT处理单元中的不同的计算引擎(FFT核心和信道估计模块) 使用的。第三个存储器,例如存储体3保存码元交错数据。这个存储器用于执行该 计算的大部分。
接收的样值被以特定的顺序(列方式)存储,以优化FFT处理。4096 个样值被分成八个块。块0包含导频信息,而块1至7可以包含数据。
8基数FFT引擎需要八个样值以输入到其蝶形电路。通过在单个存储器 行中将这八个样值分组,8基数FFT引擎可以在每个周期计算值。
对于进入的采样数据,存储体的适当的行被取出。在八个的范围内的一 个值在写回之前被更新。8基数执行512点FFT需要三个级。存储器不同的八行集 合被访问以执行512点FFT。
除了先前描述的样值存储器之外,信道估计模块使用五个额外的存储 器。每个存储器是512个样值大小,具有64行,每行8个样值。三个信道估计存 储器保存过去、现在和将来的导频观察。其他二个信道估计存储器保存用于两个时 间滤波电路的输出。该信道估计模块的最终输出被存储回样值存储器的活动库的导 频交错中。
图7是使用共享存储器的导频处理的简化功能方框图。导频数据是从存 储样值存储器导频交错710的存储器中读取的。该导频数据在旋转器720中被旋转, 并且存储在三个信道估计存储器740的一个中。计数器在每个具有有效数据的码元 时递增,并且指示多路复用器730,三个信道估计存储器740中哪一个去存储该导 频数据。
在时间滤波器750中使用存储在信道估计存储器740中的信道估计以产 生时间滤波的信道估计。该时间滤波器750可以产生多个时间滤波的信道估计,并 且可以在相应的滤波信道估计存储器760中存储多个时间滤波的信道估计。
第二旋转器770可以组合或者选择该滤波的信道估计,并且可以旋转组 合的信道估计。最终的信道估计被返回到样值存储器的存储体。
图8是信道处理状态机的简化状态图800。该信道处理状态机可以使用寄存器设置去确定何时和怎样按照进入的数据入码元行动。对于任何给定的码元, 该信道处理状态机可以确定该FFT处理器将执行多个功能的任何一个。
用于该信道处理器的状态机可以根据进入样值的解调从空闲状态890 转换到操作确定状态801。该信道处理状态机可以转换到用于提取供信道估计的导 频观察和信道估计计算的状态803,从IFT模块11请求动态时间跟踪调整(DMTT) 的状态,用于七个数据时隙的任何一个/全部的数据处理的状态802,从七个数据时 隙的任何一个/全部发送数据到LLR模块的状态810,和用于特定帧0码元的特定 处理的状态、WIC的特定处理的状态809、 LIC的特定处理的状态813和TDM2 精密定时处理的状态804。
图9是用于FFT处理器实施例的状态图900。该状态图示出用于实现导 频处理、信道估计、LLR处理和FFT处理的状态转换。如从该状态图中所看到的, 在整个状态机中都通过使用FFT和IFFT操作,并且许多的状态转换到达或通过 FFT操作或IFFT操作。
图IO是FFT引擎1000实施例的简化功能方框图。因为FFT和IFFT操 作的相似性,该FFT引擎1000可以被配置为执行FFT操作或者IFFT操作。在512 点FFT的环境下描述该FFT引擎。但是,该FFT引擎1000不局限于这样一个实 施例,并且对于该FFT引擎1000的各单元的改变可以允许其执行其他的FFT维数。
该FFT引擎1000被配置为执行使用频率抽取实现的512点FFT。在频 率抽取和时间抽取之间的差别是旋转存储器系数。该FFT引擎1000有利地使用8 基数FFT,使得可以以三个级执行512点FFT。当然,可以在FFT引擎1000中使 用其他的基数值或者基数值的组合。例如,该FFT引擎IOOO可以使用2基数、4 基数、8基数FFTs或者不同基数的FFT的组合。
该FFT引擎1000包括用于存储在其上进行FFT操作的复数样值的样值 存储器1010。如先前论述的,该样值存储器可以在多个模块之中共享,并且该已 处理的FFT结果以及中间值可以存储在样值存储位置中,用于由其他的模块访问。
该FFT引擎1000包括用于访问样值存储器以将样值逐行读取到蝶形核 心1030的寄存器1020。还可将该样值存储器的行直接读取到转置存储器1040的 行,该转置存储器1040可以是寄存器存储器。该蝶形核心1030被建立以执行FFT 或者IFFT,并且可以作为单个8基数计算,或者2个4基数计算来进行计算。24
每个蝶形操作的结果被以列式的方式写入到转置存储器1040,其可以 例如包括转置寄存器的8x8结构。来自转置存储器1040的结果被以行或列方式读 取,并且以行方式写入到样值存储器1010。列写入后跟行读取导致该存储器中内 容的转置。
用于FFT的每个级的旋转因子可以存储在旋转存储器1070中,该旋转 存储器1070可以是旋转ROM。这些旋转因子可以被安排为存储器的每个行四个旋转因子。
包括四个复数乘法器的乘法器模块1060可以使用旋转因子旋转在转置 存储器1040中的值。四个复数乘法器与在旋转存储器1070的单个行中的旋转因子 的数目一致,以允许在单个周期中进行四个复数乘法。
在转置存储器1040中的加权值在被写回到样值存储器1010的起始位置 之前,在标准化寄存器1050中被标准化。
图11示出用于8基数FFT的完整的蝶形操作1100。通过调整在区域A 和B中的旋转相乘值,该蝶形核心可以转变为执行8基数点IFFT。为了执行4基 数计算,使用第二级加法器的结果(在图11示出为Out4),而不是使用最后的和(在 图11中示出为Out8)。
从存储器中读取的所有值可以立即被寄存。图11示出当核心以8基数 方式工作的时候使用的寄存器。当核心作为2个4基数部分工作的时候,输入值来 自寄存器转置模块中的寄存器,因此,不需要再次被寄存。
在第一组加法器之前,还对输入进行位反转。对于8基数操作,这是全 部3位反转0->0, 1->4, 2->2, 3->6, 4-〉1, 5->5, 6->3, 7->7。对于4基数操作,每组四个输入使用2位反转0->0; 1->2; 2->1; 3-〉3; 4-〉4; 5->6; 6->5;7->7。
当值经由每个加法器组传送时,它们的位宽度增加1以防止饱和。输入 值是由9位表示的。第一个和值是由IO位表示的。Out4值是由ll位表示的,并 且Out8值是由12位表示的。
如图ll所示,在A区域中的第四和第八和值对于FFT必须乘以w(2)。 对于IFFT,这个值变为w(6)。该旋转因子W(k)确定如下W(k)=exp(-j27ik/8)。
w("乘法是如下实现的
wG等于(I+jQ"(l+jO"I+jQ,消除对任何修改的需要。
w'等于(I+jQ)^l/sqrt(2)-j/sqrt(2))。需要复数乘法器。对于1/sqrt(2)的值,使用9位带符号常数。
wS等于(I+jQf(0-jl)-Q-jI。不进行对于该输入的实部执行2的补码求反然后相加,而是将该实部的值保持不变,并且将后续的加法器改为减法器以表示符号变化。
w3等于(I+jQ"(-l/sqrt(2)-j/sqrt(2))。需要复数乘法器。对于1/sqrt(2)的值, 使用9位带符号常数。
w4等于(I+jQf(-l+j0h-I-jQ。但是,这个值不用于任何的FFT计算。
w5等于(I+jQ"(-l+j/sqrt(2))。需要复数乘法器。对于1/sqrt(2)的值,使用9位带符号常数。
wS等于(I+jQ"(0+jl一-Q+jL不进行对于该输入的虚部执行2的补码求 反然后相加,而是将该虚部的值保持不变,并且将后续的加法器改为减法器以表示 符号变化。
w7等于(I+jQ)^l/sqrt(2)+j/sqrt(2))。需要复数乘法器。对于1/sqrt(2)的值, 使用9位带符号常数。
图12是8基数FFT蝶形的最初两态实施例的功能方框图。该部分蝶形 核心1200包括在图11中示出的蝶形核心1100的从输入至Out4的计算。
两组加法器用于第四和第八求和。 一个组计算w(2),而另一个组计算 w(6)。 fftjfft一n信号控制去使用哪一个求和。
图13是8基数FFT蝶形的末级实施例的功能方框图。该部分蝶形核心 1200包括在图11中示出的蝶形核心1100的从Out4到输出的计算。
在B区域中对于第六和第八个值需要实复数乘法器。
当执行FFT的时候,这些将是w(l)和w(3)。
当执行IFFT的时候,这些将分别地是w(7)和w(5)。
对于w(l)/w(7),该乘积总和是:
P=l/sqrt(2),
W( 1 )=PI+PQ+j(-PI+PQ)
W(7)=PI-PQ+j(PI+PQ)
该ffi一ifft—n信号用于将输入值引入到加法器和减法器,并且将和值和差
值引入到它们的最终目的地。这个实现仅仅需要二个乘法器和二个加法器(一个加 法器和一个减法器)。对于w(3)/w(7),该乘积总和是P=l/sqrt(2), W(3)=-PI+PQ+j(-PI-PQ)W(5)=-PI-PQ+j(PI-PQ)对于这些乘积总和,fft—core不使用P,而使用R=-l/sqrt(2)。使用R, 该公式变为W(3)=RI-RQ+j(RI+RQ)
W(5)=RI+RQ+j(-RI+RQ)这些乘积总和是携带两个符号位的20位宽。当乘积总和被相加的时候,
它们变为携带一个符号位的20位宽。然后通过对八个最低有效位(LSB)进行圆整并
且填充一个MSB而将这些和值标准化以回到11位。信号ffi—ifft一n被用于将该输入值引入到加法器和减法器,以及将和值和
差值引入到它们的最终目的地。如前所述,仅仅需要二个乘法器和二个加法器(一
个加法器和一个减法器)。与区域A相同,处理区域B中零解的乘法w(2)或者w(6)。
为了满足定时,如果不结合额外的硬件,所有这些计算通常不能在单个
时钟周期中做到。增加一组寄存器以捕获大多数Out4值。用于第六和第八的Out4
值在被寄存之前乘以常数P和R。该寄存器的这种安排对于最坏情形的路径均衡计
算如下第一周期多路复用器=〉加法器=>加法器=>多路复用器=>乘法器
第二周期加法器=>多路复用器=>加法器=>加法器
最后,ffl512—4—n信号被用于发送Out4或者Out8值。将Out4值从11 位符号扩展为12位。该FFT模块使用三个途径贯穿8基数蝶形核心以执行单个512点FFT。 为了实现它,来自最初两个途径的结果必须将它们的值乘以旋转值并且被标准化。 因为在存储器的单个行中存储八个值被,当它们被读取时的值顺序与被写回时不同。如果执行2kl/FFT,则在被发送给蝶形核心之前,存储器值必须被转置。8基数FFT使用8x8寄存器。所有64个寄存器接收来自蝶形核心的输 入。这些寄存器中的56个接收来自复数乘法器的输入。32个寄存器接收来自该存 储器结构中主存储器的输入。寄存器的每个在其输入端上可以具有2:1或者3:1多 路复用器。来自主存储器的输入被写入给寄存器的一行。来自蝶形核心的输入被写 入给寄存器的列。来自复数乘法器的输入被成组执行。全部64个寄存器经由标准化计算和寄存发送输出给主存储器。对于 1/FFT的每个类型和级,标准化的顺序是不同的。全部64个寄存器可以发送输出给复数的乘法器。56个寄存器需要旋转 相乘,并且32个寄存器需要平方。32个寄存器将它们的值发送给蝶形核心。将值逐行发送给标准化电路,用于数据FFT、信道估计FFT、 WIC/LIC 处理和精密定时IFFT。将值逐列发送,用于信道估计IFFT、导频FFT和IFFT。当值被发送给蝶形核心的时候,它们被逐列发送。当值被发送给复数乘 法器的时候,则它们成组执行。图14是示出在8基数FFT中旋转相乘顺序的转置存储器1400的简化 表示。为了减少执行整个8基数FFT需要的周期的总数,FFT操作被有利地流水 线化。 一旦将值从蝶形核心输出,并且寄存在转置存储器1400中,它们可以被发 送用于旋转相乘。该旋转相乘的顺序是基于从蝶形核心逐列寄存的值,并且使旋转相乘的 值逐行地发送给存储器。对于整个8基数FFT操作至少需要八个读取加上八个写 入周期。如果至少16个周期可利用,则使用四个复数的乘法器用于旋转操作需要 14个周期。任何较少的乘法器将停顿存储器写回操作,而任何额外的乘法器将是 过剩的硬件,这将空闲至少一半流水线,导致浪费资源。在图10示出的实现中, 用于整个8基数FFT操作需要二十一个周期。在图14的转置存储器1400的第一列中的值不需要旋转相乘。 一旦第二 列被写入,则在分组1中的值可以发送给复数乘法器。这被重复直到分组7为止。 在最初七个分组中的所有值是以列式的方式相邻的。此时,最初的4行准备发送给 主存储器,而最低的4行被旋转相乘。
其余分组的值被以行分组方式检索。可以看到行分组的每个具有相邻行 的值,其中这些值是以环形方式相邻的。因此,在分组9中,例如,值[4, O]是环
形邻近于该行n最后的值[4,7]。图15是流水线化的8基数,512点FFT操作的简化时序图。在图15中 的流水线时序1500示出用于8基数计算的蝶形计算、旋转计算和标准化计算的交
叠本质。在周期0期间,在存储器的第一行中的八个值的第一个被读取(在图14 中的值0)。对于以下周期来自存储器的值可用于FFT。来自存储器的值在被操作 之前被寄存。这对于存储器存取导致一个周期的延迟。因此,直到cycle—Count=2, 输入核心寄存器才会使数据对于第一个存储器行有效。为了满足定时要求,该蝶形 计算采用二个周期。当cycle—count=3的时候,对于第一个存储器行已执行了蝶形 计算的一半。当cycle—count=4的时候,该蝶形计算已经完成,并且结果被寄存在 转置寄存器组中。为了在cycle—count=4之前准备好正确的旋转系数值,则当cycle_count=3 时,必须驱动旋转存储器的地址tw—addr。当cycle一count-4时,该系数将被寄存, 并且当cycle一count-5时,可用于乘第二组蝶形结果。当cyde一coimt二11时,用于分组7的值正在写回到转置寄存器。此时, 图14的最初四行完成,并且可以被标准化并读回到存储器。当cycle—count=12时,寄存器的第一行被读取,并且这些值被标准化。 该标准值被存储在与包括转置寄存器的64个寄存器分离的标准化寄存器,。当 CyCle—COunt=13时,来自标准化寄存器的值被送回给主存储器。在任何一个I/FFT 的第三级期间,都不进行旋转乘法。因此,借助于这个流水线定时,逐列写回(用 于数据FFT)就没有问题了。图16是流水线化的2048点FFT的简化时序图1600。该流水线化的时 序图1600示出用于从一组512点FFT结果来执行2048点FFT的操作。该2048点FFT的操作非常类似于该512点FFT。但是,因为2048不是 8的幂,该FFT对512点FFT的结果执行4基数操作。当执行2048点I/FFT的时候,四个不同的512点I/FFTs的结果经受4 基数操作。从四个交错(包括每个经受512点I/FFT的512值)的每个中读取一个
29行,。该存储器结构允许交错值被用作在可能的四个不同交错中选择的多路 复用器,而不是作为一个地址。因此,当cycle_cnt=l时,对于所有4个交错,来 自存储位置0准备好,并且ffi—intl用于选择适宜的值。当cycle_cnt=5时,所有四 个行已经被读取,并且最初两列被发送给蝶形核心。该蝶形核心在一个周期中执行 两个4基数计算,并且将值返回到转置寄存器。为了减小各寄存器输入的复杂度, 在每对中用于第二列的四个值在它们起始的该列的最低四个寄存器中被捕获。然后 使用执行旋转乘法的样值复数乘法器对4基数结果进行平方。当CyCle—Cnt=6时, 平方值在被写回到存储器之前准备用于标准化。由于位宽度限制,对平方值执行不 同的标准化。该标准化的值被写入到初始精密定时模块IFT。在存储器中组成旋转系数,每行四个值。在与FFT的特定的级有关的 存储器的行中存储旋转值是有益的,而不是试图计算这些值,或者存储旋转值的非 冗余集合并且试图定址期望的值。每个周期执行四次56个乘法,因此需要14个周期。为了确定各旋转系 数的位置,需要以在图14中给出的乘法顺序覆盖512点和64点系数矩阵。当数据 行完成的时候,其被写回到存储体。在最初的八行(0、 8、 16等等)被写回之后,下一个八行被读取。对于 第一级,这将是行l、 9、 17等等。在行7、 15、 23等等被处理之后,FFT将前进 到第二级。对于第二和第三级,顺序地访问这些行。
'
寄存器值是12位宽。旋转系数是八位宽。在被存储在转置寄存器中之 前,最终的20位乘积被圆整回12位。当执行信道估计的第一或者第三级的时,进 行圆整。第13位被添加到12个MSB。对于所有其他的情况,不执行圆整,并且 所有标准化留待以后执行。仅仅返回12个MSB。相同的12x8乘法器被用于执行平方。在4基数操作之后,寄存器值是 ll位宽。寄存器值对于一个乘法器输入被符号扩展为12位。为了得到用于另一个 乘法器输入的八位,该寄存器值将其两个LSB縮减,然后对MSB进行填充检查 (saturation check) 。 20位乘积随后被圆整为14位,并且填充检查降至ll位。这 些11位值被发送给IFT模块用于进一步计算。
图17是处理OFDM信号的方法1700的简化流程图。该方法可以例如 通过图3或者图4的FFT处理器,或者图1的系统的用户终端来执行。该方法1700从框1710开始,其中FFT处理器接收样值,该样值可以 是接收的OFDM码元或者接收的OFDM码元码片的复数样值。该FFT处理器进行 到框1720,并且解调接收的样值的每个。该FFT处理器进行到框1730,并且在存 储器中存储解调的样值,例如,在图3示出的存储器结构的样值存储体中。该FFT处理器进行到框1740,并且从解调的样值中确定信道估计。在 一个实施例中,解调的样值被存储为多个交错样值,并且该FFT处理器基于导频 交错确定信道估计。该FFT处理器进行到框750,并且确定对应于一个或多个数据交错的数 据子频带。这些子频带的每个可以在其上具有编码数据,并且该FFT处理器或者 相关的模块可以执行子频带数据的解码。在一个实施例中,该子频带数据在LLR 模块中与在该交错中用于子频带每个的信道估计一起被处理。图18是解调码元样值的方法1720的简化流程图。该方法1720可以对 应于在图17的方法中执行的解调动作。解调样值的方法1720可以由图3或者图4 的FFT处理器执行。尤其是,该解调码元样值的方法可以由图3的解调模块执行。该解调模块可以包括多个计数器,并且可以通过在码元开始时复位所有 计数器开始方法1720。码元的开始可以有些微改变,但是如果在开始时间中的误 差小于任何一个OFDM循环前缀的持续时间,这些些微改变对于解调1720的方法 的目的是次要的。该解调模块进行到框1820,并且从在OFDM码元内的多个交错确定一 个交错。该解调模块例如可以借助于模M计数器跟踪该交错,其中数字M对应于 交错的数目。最初地,该计数器可以被设置为零,并且在每个样值后递增。该解调模块进行到框1830,并且旋转该接收的样值。在一个实施例中,
该解调模块将接收的码元旋转一固定值,该固定值是基于该交错确定的。因此,对 于具有八个交错的OFDM码元,输入样值将旋转八个相位的一个。在旋转该样值之后,解调模块进行到框1840并且累加该旋转的样值。 该解调模块可以被配置为累加P个交错值的M个旋转的样值。也就是说,当OFDM 码元包括M个交错,并且每个交错具有P个子频带时,该解调模块可以旋转最初的P个样值,并且存储它们,然后以模P配置旋转和累加样值,直到一个码元的 所有样值已经被接收、旋转和累加为止。在每个累加之后,该解调模块进行到判定框1850以确定是否所有码元
样值被解调。该解调模块可以确定完成码元样值,例如,通过确定第M个交错的 第P个值已经累加了M个值。如果码元样值已经被解调,该解调模块进行到框1860,并且完成码元 解调。该解调模块可以进行到下一个码元解调。如果在判定框1850解调模块确定 还没有处理所有的码元样值,则该解调模块回到框1820以确定下一个抵达的码元 样值的交错。图19是处理OFDM信号的方法1900的简化流程图。该方法1900可以 由在图3和图4中示出在FFT处理器执行。尤其是,该方法1900可以通过图10 的FFT引擎执行。该方法1900从框1910开始,其中FFT引擎读取多个样值存储器的行。 在一个实施例中,该FFT引擎寄存从样值存储器读取的每个值。该FFT引擎进行到框1920,并且对于在一行中的值执行蝶形。有利地, 样值存储器的每行可以存储等于FFT基数值的多个样值。因此,单个行读取可以 加载用于单个R基数FFT的所有的值。该FFT引擎进行到框1930,并且从旋转存储器中检索一行旋转因子。 该行旋转因子与样值存储器的行相比可以具有更少的值。在一个实施例中,样值存 储器的每行包括8个样值,而旋转存储器在每行中存储四个旋转因子。该FFT引擎进行到框1940,并且将蝶形值乘以旋转因子。在一个实施 例中,复数乘法器的数目等于在一行旋转存储器中的旋转因子的数目,并且该旋转 因子乘法可以在一个周期中执行。因为可以有比旋转因子更多的蝶形值,可能需要 执行一个以上的乘法步骤来完成该R基数FFT的每个级。对于该FFT的每个级,
每个蝶形值通常仅仅乘以一个旋转因子。 一些蝶形值不需要复数乘法功能,因为旋 转因子可以无需乘法执行。在将蝶形值乘以旋转因子之后,该FFT引擎将旋转值写回到存储器, 或者写回到寄存器,并且完成该行值的处理。该FFT引擎因此可以借助于仅仅从 存储器的8次读取执行R基数FFT,诸如8基数FFT。
图20是FFT处理器2000的简化功能方框图。该FFT处理器包括耦合 到用于存储数据的装置的用于解调的装置。用于存储数据的装置在各模块中共享。 用于变换样值的装置可以耦合到用于存储数据的装置。用于估计信道的装置还可以 耦合到用于存储数据的装置,并且可以对存储的值进行操作。用于解码由用于变换 样值的装置产生的子频带信息的装置可以对该变换的样值进行操作。图21是FFT引擎2100的简化功能方框图。该FFT引擎2100包括用于 存储样值的装置,可将这些样值解调为OFDM码元样值。用于存储样值的装置被 耦合到用于计算蝶形的装置。用于处理的装置可以被配置为将来自用于存储样值的 装置的值加载进由用于计算蝶形的装置操作的寄存器中。用于计算蝶形的装置被配置为对检索的样值计算蝶形,并且将计算的蝶 形值写入用于转置值的装置。该数据可以例如以列式的方式写入用于转置值的装 置,并且以行式的方式读取以允许该值的转置。用于存储系数的装置可用于在多个行中存储旋转因子。用于标准化值的 装置可用于标准化来自用于转置值装置的值。已经描述了多个FFT处理器、多个FFT引擎和多个处理OFDM码元的 方法。使用共享存储器结构的多个模块的集成可以大大地简化OFDM接收机设计。 该FFT引擎可以以这样的方式实施,以大大地减小FFT循环计数,同时充分地使 用所有昂贵的资源,诸如,复数乘法器。如在此处使用的,术语耦合或者连接用于指示间接耦合以及直接耦合或 者连接。当两个或更多个块、模块、设备或者装置被耦合时,在两个耦合的块之间 可能有一个或多个插入的块。与在此处公开的实施例相结合描述的各示例性的逻辑块、模块和电路可 以用通用处理器、数字信号处理器(DSP)、简化指令集计算机(RISC)处理器、专用 集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他的可编程逻辑设备、分立门 或者晶体管逻辑、分立硬件组件或者设计成执行在此处描述的功能的以上组件任意 的组合来实现或者执行。通用处理器可以是微处理器,但是在备选方案中,该处理 器可以是任何的处理器、控制器、微型控制器或者状态机。处理器还可以被作为计 算设备的组合来实现,例如,DSP和微处理器、多个微处理器、与DSP核心相结 合的一个或多个微处理器或者任何其他这样的配置的组合。
与在此处公开的实施例相结合描述的方法、处理或者算法的步骤可以被 直接以硬件、以由处理器执行的软件模块或者以两者的组合来实施。在方法或者处 理中的各步骤或者动作可以以示出的顺序执行,或者可以以另一个顺序执行。另外, 可以省略一个或多个处理或者方法步骤,或者可将一个或多个处理或者方法步骤添加到该方法和处理中。可将附加的步骤、块或者动作添加到该方法和处理开始、结 束,或者插入该方法和处理的现有组成部分中。
提供该公开的实施例的以上描述,以使在该领域中的任何的普通的技术 人员能够实施或者使用本公开。对于这些实施例的各种各样的修改对于本领域技术 人员来说将是容易地显而易见的,并且在此处限定的通用原理可以应用于不脱离本 公开的精神或者范围的其他的实施例。因此,本公开不意欲限于在此处示出的实施 例,而是要给予符合在此处公开的原理和新颖的特点最宽的范围。
权利要求
1.一种用于处理正交频分多路复用(OFDM)码元的信号处理装置,该装置包括包括多个存储体的存储器结构;解调模块,配置为接收所述OFDM码元的样值和将所述样值累加到在所述存储器结构内的多个交错存储器中;和计算模块,配置为在所述多个交错存储器的至少一个上执行频域变换。
2. 根据权利要求1的装置,其特征在于所述解调模块包括旋转器,配置为部 分基于在所述OFDM码元内的交错数目将所述样值的每一个旋转预定的相位偏 移。
3. 根据权利要求1的装置,其特征在于所述解调模块包括累加器,配置为将 与预定的交错有关的样值累加到特定的交错存储位置。
4. 根据权利要求3的装置,其特征在于所述解调模块进一步包括配置为提供 模计数的计数器,其中模数P等于在多个M个交错的每个交错中的子频带的数目; 并且其中所述累加器被配置为基于计数器值在特定的交错存储器的P个位置的每 个中累加M个样值。
5. 根据权利要求1的装置,其特征在于所述计算模块包括快速傅里叶变换 (FFT)引擎。
6. 根据权利要求5的装置,其特征在于所述FFT引擎被配置为执行P点FFT,其中P表示在多个交错的每个中子频带的数目。
7. 根据权利要求5的装置,其特征在于可选择地控制所述FFT引擎以执行多 维中的一个维的FFT操作。
8. 根据权利要求5的装置,其特征在于所述FFT引擎包括8基数蝶形核心, 并且被配置以执行512点FFT。
9. 根据权利要求5的装置,其特征在于所述多个交错存储器的每个包括每个 行存储多个S个样值的存储器行,并且所述FFT引擎被配置为对在所述多个交错 存储器的每个存储器行中的S个样值执行S基数蝶形。
10. 根据权利要求5的装置,其特征在于所述FFT引擎包括转置存储器,配置为对存储在所述转置存储器的存储位置中的值的位置进行转置。
11. 根据权利要求5的装置,其特征在于所述FFT引擎包括配置为同时处理 多个复数乘法的复数乘法模块。
12. 根据权利要求5的装置,其特征在于所述FFT引擎包括有选择地可控位 反转逻辑。
13. 根据权利要求1的装置,其特征在于所述计算模块被配置为有选择地执行 快速傅里叶变换(FFT)或者快速傅里叶逆变换(IFFT)。
14. 根据权利要求1的装置,进一步包括耦合到所述存储器结构的信道估计 器,配置为至少部分地基于在所述多个交错存储器的一个中累加的样值确定信道估 计。
15. 根据权利要求14的装置,其特征在于所述存储器结构进一步包括多个导 频观察存储体,并且所述信道估计器被配置为在所述多个导频观察存储体的每个中 存储与相异的OFDM码元对应的信道估计。
16. 根据权利要求14的装置,其特征在于所述信道估计器包括配置为部分基 于多个信道估计产生至少一个滤波的信道估计的时间滤波器,多个信道估计的每个 对应于相异的OFDM码元。
17. 根据权利要求14的装置,其特征在于所述信道估计器包括配置为对存储在所述多个交错存储器的一个中的多个导频交错样值进行解扰的解扰器。
18. —种用于处理正交频分多路复用(OFDM)码元的信号处理装置,该装置包括包括多个存储体的存储器结构;解调模块,配置为接收对应于OFDM码元的码元,并且在所述存储器结构内 的样值存储器中累加码元样值数据,所述解调模块对于M个OFDM交错的每个累 加P个相异的样值,其中P表示每个交错的子频带的数目;快速傅里叶变换(FFT)引擎,配置为执行P点FFT操作;和 耦合到所述存储器结构和所述FFT引擎的信道估计器,配置为基于多个累加 的导频样值的P点FFT产生信道估计。
19. 根据权利要求18的装置,其特征在于所述FFT引擎包括M基数蝶形核心。
20. 根据权利要求18的装置,其特征在于所述样值存储器被配置为在每个行中存储M个样值,并且所述FFT引擎被配置为通过同时处理在蝶形核心中样值存 储器的每行的M个样值的每个而执行所述P点FFT。
21. 根据权利要求20的装置,其特征在于所述FFT引擎进一步包括配置为对 在样值存储器的多个行中的样值进行转置的转置存储器。
22. —种用于处理正交频分多路复用(OFDM)码元的信号处理装置,该装置包括用于存储多个值的装置;用于解调多个接收的OFDM样值,并且在所述用于存储多个值的装置内的多 个交错存储部分的一个中累加所述多个接收的OFDM样值的每个的装置;和用于将存储在所述多个交错存储部分的至少一个中的多个OFDM样值变换为 频域表示的装置。
23. 根据权利要求22的装置,其特征在于所述用于解调的装置包括 用于部分基于在所述OFDM码元中的交错数目旋转所述多个接收的OFDM样值以产生多个旋转的OFDM样值的装置;和用于在所述多个交错存储部分中累加所述多个OFDM样值的装置,所述多个交错存储部分的每个与相异的旋转值有关。
24. 根据权利要求22的装置,其特征在于所述用于变换多个OFDM样值的装置包括快速傅里叶变换(FFT)蝶形核心;用于将由所述FFT蝶形核心操作的值进行转置的装置;和 用于将由所述FFT蝶形核心操作的多个值进行相乘的装置。
25. —种用于处理正交频分多路复用(OFDM)码元的方法,该方法包括 解调第一 OFDM码元的接收的样值以产生解调的样值; 在存储器结构中存储解调的样值;在解调第二 OFDM码元的所有接收的样值之前,基于所述解调的样值确定信 道估计;和基于所述解调的样值从多个OFDM交错中确定与一交错的多个子频带对应的编码值。
26. 根据权利要求25的方法,其特征在于解调接收的样值包括将所述接收的样值的每个旋转根据与所接收的样值相关的交错确定的相位旋 转以产生旋转的样值;和对于每一交错累加旋转的样值。
27. 根据权利要求25的方法,其特征在于解调接收的样值包括 将所述接收的样值的每个旋转M个相位值的一个,所述M个相位值的每个对应于在所述OFDM码元内的M个交错中的一个;和在每个交错的P个存储位置的每个中累加M个旋转的值,其中在所述OFDM 码元中子频带的总数N是MxP。
28. 根据权利要求25的方法,其特征在于确定信道估计包括 基于导频交错的解调的样值确定多个子频带值;和 将所述多个子频带值解扰以产生多个解扰的子频带值。
29. 根据权利要求28的方法,其特征在于确定信道估计进一步包括 基于所述多个解扰的子频带值确定信道脉冲响应;和将所述信道脉冲响应旋转由解调器使用的相位值的取反以旋转对应于所述导 频交错的样值。
30. 根据权利要求25的方法,其特征在于确定与所述交错的多个子频带对应 的编码值包括对与该交错有关的解调的样值执行P点快速傅里叶变换(FFT)操作。
31. —种利用计算机程序编码的计算机可读介质以执行以下步骤,包括 解调第一 OFDM码元的接收的样值以产生解调的样值; 在存储器结构中存储所述解调的样值;在解调第二 OFDM码元的所有接收的样值之前,基于所述解调的样值确定信 道估计;和基于所述解调的样值从多个OFDM交错确定与一交错的多个子频带对应的编码值。
32. 根据权利要求31的计算机可读介质,其特征在于解调接收的样值的行为 包括以下步骤将所述接收的样值的每个旋转M个相位值的一个,所述M个相位值的每个对 应于在所述OFDM码元内的M个交错中的一个;和在每个交错的P个存储位置的每个中累加M个旋转的值,其中在所述OFDM码元中子频带的总数N是MxP。
全文摘要
一种用于OFDM接收机的FFT处理器包括多个相互关连的操作模块。该FFT处理器被配置为对接收的OFDM码元执行数据解调、信道估计和精密定时获取。该FFT处理器包括使用与信道估计和解调模块同享的存储器结构的流水线化的FFT引擎。该共享存储器结构和流水线化的FFT操作的组合允许在用于捕获下一个接收的码元的时间期间完成信道估计和解调处理。
文档编号G06F17/14GK101258488SQ200680013527
公开日2008年9月3日 申请日期2006年3月13日 优先权日2005年3月11日
发明者K·S·库森纽 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1