用于发射级的流水线处理的Ping-Pong存储器的制作方法

文档序号:7676271阅读:285来源:国知局
专利名称:用于发射级的流水线处理的Ping-Pong存储器的制作方法
用于发射级的流水线处理的Ping-Pong存储器 根据35 U.S.C. §119的优先权要求
本专利申请要求2006年4月4日提交且被转让给本发明受让人并因而被 明确援引纳入于此的题为"PIPELINING FOR HIGHER ORDER IFFT IMPLEMENTATIONS (用于较高阶IFFT实现的流水线技术)"的临时申请 No. 60/789,445的优先权。
背景
领域
本公开一般涉及电信,尤其涉及无线通信中的快速傅立叶逆变换(IFFT) 处理技术。
背景
在典型电信系统中,发射机通常处理(例如,编码和调制)数据并生成更 适于传输的射频调制信号。然后发射机向接收机发射该RF调制信号。
各种调制技术被用来处理进行传输的数据码元,其中包括一种被称为正交 频分复用(OFDM)的技术。在OFDM调制中,码元在进行后处理器传输之前 被turbo编码、信道化、以及IFFT处理。然而,在特定情形或场合下,预传输 处理(turbo编码、信道化、IFFT)可能比后处理器传输花费更长的时间。尽 管后处理器等待预传输处理完成,但这在传输中造成了不合需要的间隙。取决 于实现,预处理传输可能被迫过早终止。
因此本领域中需要一种以高效和具有成本效率的方式消除这些间隙的技术。
概要
本文描述了用于高效地执行IFFT处理的技术。在一些方面,IFFT流水线是用一处理系统实现的,该处理系统具有具 有第一和第二部分的存储器;编码器,它被配置成处理第一和第二存储器部分 的每一个中的数据;IFFT,它被配置成处理第一和第二存储器部分的每一个中 经编码的数据;以及后处理器,它被配置成在IFFT正在处理第二存储器部分 中经编码的数据的同时处理第一存储器部分中经IFFT处理的数据,该后处理 器被配置成以与编码器或IFFT不同的时钟速度工作。IFFT可以与编码器不同 的时钟速度工作。编码器可包括信道化器且该信道化器可以与IFFT不同的时 钟速度工作。IFFT可以比编码器更快的时钟速度工作。编码器可以比IFFT更 快的时钟速度工作。
在其它方面,该IFFT流水线是用耦合至具有第一和第二部分的存储器的 处理器来实现的,该处理器被配置成将第一和第二存储器部分的每一个中的 数据编码;对第一和第二存储器部分中经编码的数据进行IFFT处理;以及在 IFFT正在处理第二存储器部分中经编码的数据的同时对第一存储器部分中经 IFFT处理的数据进行后处理器处理,该后处理器被配置成以与编码器或IFFT 不同的时钟速度工作。IFFT处理可以与编码器不同的时钟速度工作。编码可 含有信道化且该信道化可以与IFFT不同的时钟速度工作。IFFT可以比编码器 更快的时钟速度工作。编码器可以比IFFT更快的时钟速度工作。
在其它方面,该IFFT流水线是通过以下来实现的提供具有第一和第二 部分的存储器;将第一和第二存储器部分的每一个中的数据编码;对第一和第 二存储器部分中经编码的数据进行IFFT处理;以及在对第二存储器部分中经 编码的数据进行IFFT处理的同时对第一存储器部分中经IFFT处理的数据进行 后处理器处理,该后处理器处理被配置成以与编码器或IFFT不同的时钟速度 工作。IFFT处理可与编码处于不同的时钟速度。编码可包括以与IFFT处理不 同的时钟速度进行信道化。IFFT可以比编码更快的时钟速度进行处理。编码 可处于比IFFT处理更快的时钟速度。
在一些方面,IFFT流水线是用一处理系统实现的,该处理系统具有用 于提供具有第一和第二部分的存储器的装置;用于将第一和第二存储器部分的 每一个中的数据编码的装置;用于对第一和第二存储器部分中经编码的数据进
行IFFT处理的装置;以及用于在对第二存储器部分中经编码的数据进行IFFT处理的同时对第一存储器部分中经IFFT处理的数据进行后处理器处理的装 置,用于后处理器处理的装置被配置成以与用于编码器的装置或用于IFFT的 装置不同的时钟速度工作。用于IFFT处理的装置可以与用于编码的装置处于 不同的时钟速度。用于编码的装置可包括以与用于IFFT处理的装置不同的时 钟速度进行信道化。用于IFFT处理的装置可以比用于编码的装置处于更快的 时钟速度。用于编码的装置可以比用于IFFT的装置处于更快的时钟速度。
在其它方面,该IFFT流水线是用具有第一和第二部分的计算机可读介质 来实现的,该计算机可读介质用实现以下动作的计算机程序来编码将第一和 第二存储器部分的每一个中的数据编码;对第一和第二存储器部分中经编码的 数据进行IFFT处理;以及在对第二存储器部分中经编码的数据进行IFFT处理 的同时对第一存储器部分中经IFFT处理的数据进行后处理器处理,后处理器 以与编码或IFFT处理不同的时钟速度进行处理。IFFT处理可与编码处于不同 的时钟速度。编码数据还可包括以与IFFT处理不同的时钟速度将数据信道化。 IFFT处理可处于比编码更快的时钟速度。编码可处于比IFFT处理更快的时钟 速度。
本发明的各个方面和实施例在下面进一步具体说明。
附图简述
在结合附图理解下面阐述的具体说明时,本发明的特征和本质将变得更加 显而易见,在附图中,相同附图标记始终作相应标识。


图1是示出了典型电信IFFT处理系统中的信息流的框图。
图2a是示出了电信IFFT处理系统的框图。
图2b是示出了电信IFFT处理系统中的信息流的框图。
图2c是电信IFFT处理系统的时间-工序图。
图2d是示出了电信IFFT处理系统的框图。
图3a是示出了电信IFFT处理系统的框图。
图3b是示出了电信IFFT处理系统中的信息流的框图。
图3c是电信IFFT处理系统的时间-工序图。
图3d是示出了电信IFFT处理系统的框图。图4a是示出了电信IFFT处理系统的框图。
图4b是示出了电信IFFT处理系统中的信息流的框图。
图4c是电信IFFT处理系统的时间-工序图。
图4d是示出了电信IFFT处理系统的框图。
图5是示出了电信IFFT处理系统的框图。
图6和7是示出了电信IFFT处理系统信息流的示例的概念框图。 图8是示出了电信IFFT处理系统的框图。
具体描述
本文中使用措辞"示例性"来表示"起到示例、实例、或例示的作用"。 本文中描述为"示例性"的任何实施例或设计不必被解释为优于或胜过其他实 施例或设计。
本文所述的处理技术可被用于诸如蜂窝系统、广播系统、无线局域网 (WLAN)系统等各种无线通信系统。蜂窝系统可以是码分多址(CDMA)系 统、时分多址(TDMA)系统、频分多址(FDMA)系统、正交频分多址(OFDMA) 系统、单载波FDMA (SC-FDMA)系统等。广播系统可以是MediaFLO系统、 手持式数字视频广播(DVB-H)系统、地面电视广播综合业务数字广播 (ISDB-T)系统等。WLAN系统可以是IEEE 802.11系统、Wi-Fi系统等。这 些不同的系统在本领域中是公知的。
本文所述的处理技术可用于具有单载波的系统以及具有多载波的系统。多 载波可用OFDM、SC-FDMA、或一些其它调制技术来获得。OFDM和SC-FDMA 将频带(例如,系统带宽)分划成多个正交副载波,这些正交副载波也可称作 频调、频槽、等等。每一副载波可用数据作调制。 一般而言,调制码元在OFDM 下是在频域中的副载波上发送,而在SC-FDMA下是在时域中的副载波上发送。 OFDM被用在诸如MediaFLO、 DVB-H和ISDB-T广播系统、IEEE 802.1 la/g WLAN系统、以及一些蜂窝系统等各种系统中。该处理技术的特定方面和实施 例在以下是针对使用OFDM的广播系统——例如MediaFLO系统——^来描述 的。
图1示出了典型传输处理系统10、数据12、及RF发射机34的框图。处理系统10可以是基站的一部分或接入终端的一部分。处理系统10可以作为诸 如MediaFLO系统等OFDM广播系统的一部分来实现。基站通常是固定站, 并且也可被称作基收发机系统(BTS)、接入点、B节点等。终端可以是固定 的或移动的,并且也可被称作移动站、用户装备、移动装备、接入终端等。终 端可以是蜂窝电话、个人数字助理(PDA)、无线调制解调器、无线通信设备、 手持式设备、订户单元等等。
处理系统10接收数据12并准备由RF发射机34进行传输的数据。在准 备用于传输的数据时,处理系统IO采用用于预传输处理的一个或多个引擎14, 用于后处理传输的一个或多个引擎30、以及两个存储器部分16和32。数据12 通常是电信码元,但也可以被称为信号、交换信息、分组等。引擎14、 30通 常是为专门任务而设计的专用集成电路(IC)处理器,但也可以是执行专门任 务并在多用途处理器、单IC系统、现场可编程门阵列等上执行的软件代码段。 存储器部分可以是单个存储模块、存储模块的一部分、多个存储模块的相关编 组等。所述系统中的存储器通常是双端口存储器,但也可以是单端口存储器。 存储器部分可存储码元、交织、码元的其它实施例等。RF发射机34通常是借 助天线36传播电磁信号的电子设备。
数据12首先被预传输处理14。预传输处理引擎14接收数据12、对数据 12进行turbo编码、对经编码的数据进行信道化、并对经编码和信道化的数据 进行IFFT。在预传输处理14期间及之后,数据12被存储在称为ping (乒) 存储器16的第一存储器部分上。
在整个说明书内,turbo编码和信道化的过程可被统称为编码。turbo编码 引擎和信道化器(引擎)可被统称为编码引擎。
在数据12被预传输处理引擎14处理的同时,后处理引擎30在处理先前 经过预传输处理且当前被存储在称为pong (乓)存储器32的第二存储器部分 上的数据的码元。后处理引擎30从pong存储器32检索经预传输处理的数据 (例如,经turbo编码/信道化/IFFT),对需要进行传输的数据执行任何必要的 预备,并将该数据传递至RF前端43以在天线36处发射。
然而,在特定情形下,预传输处理14所需的时间比后处理引擎30完成后 处理和数据传输所需的时间长。例如,如果该广播系统是MediaFLO系统且数据是8K码元,则在最差情形中,预传输处理将需要39,382个时钟周期(时钟), 而后处理将需要37,000个时钟周期。这使得预传输处理器超过预算2,382个时 钟周期。取决于实现,该间隙会导致预处理器未完成整个IFFT任务或者后处 理器30没有数据可传。
图2a示出了解决传输/处理间隙时钟预算问题的示例性传输处理系统50 的框图设计。处理系统50包括编码器引擎52、 IFFT处理引擎54、后处理引 擎56、以及连接至引擎52、 54、 56的存储器60。存储器60包括三个存储器 部分(扇区)——ping存储器62、 pong存储器64、以及pung (砰)存储器66。 引擎52、 54、 56中的每一个具有对存储器部分62、 64、 66中每一个的存取。 尽管各引擎可在任意时刻对存储器部分62、 64、 66中的任意一个进行存取, 然而引擎通常处理单个存储器部分上的数据直至该引擎完成其处理。 一旦结 束,引擎开始处理一不同存储器扇区上的数据。
图2b示出传输处理系统50的数据流的即时快照。从功能过程起,数据 80首先被编码102。对经编码的数据执行IFFT104,其结果被发送到后处理引 擎以进行后处理106。后处理引擎将经过后处理的数据传递106给RF前端108 以通过广播天线110进行传输。
取该数据流的快照,编码器引擎82接收诸如8K信息的数据80。这8K 数据可以是整个码元或者可以是足以完成星座图(如由信道化器所处理)的交 织数据。编码器82随后编码该数据,并将经编码的数据存储在诸如ping存储 器92的第一存储器扇区中。在MediaFLO系统中,数据是频域中的码元。turbo 编码器82将该频域数据编码和比特交织。信道化器基于星座图(如果存在一 个)将各频调加载到特定频率上,该过程也被称为码元安置。
在MediaFLO中,编码器一次处理数据八个(8个)交织,尽管在其它实 现中可能有其它数目的交织。这些交织处理4096个频调的集合,每个频调为 一个OFDM码元。每个频调携带一个比特(或调制码元)的信息。在turbo编 码器处理这八个交织之后,输出被编组在一起并被映射到星座图上以产生调制 码元。调制码元准备好进行IFFT处理。
从时钟的角度,在该编码过程中,编码器82接收码元Sp将该码元写入 到系统的嵌入式随机存取存储器(eRAM),并在所被写入的存储器上执行循环冗余校验(CRC)。该过程要求131个时钟周期。在写入之后,编码器开始 对码元进行turbo编码——一个需要500个时钟周期(1000比特/2比特/周期) 的过程。在编码之后,编码器刷新时钟(12个时钟周期)。到此时,该过程已 需要643个时钟(131+500+12 = 643)。
此时,所需的时钟数取决于数据情形。编码器可处理多个正交调幅(QAM) 和正交相移键控(QPSK)模式之一。值得注意的是,由于存储器打包,QPSK 模式与QAM消耗相同数据的时钟。
如果情形为QAM 1/3,则将数据从比特交织器传递至分组存储器需要750 个时钟(3000/4 = 750),从而得出处理QAM 1/3分组总共需要1393个时钟 (131+500+12+750= 1393)。由于每QAM 1/3分组的交织数目是1.5,所以每 QAM 1/3交织需要928.667个时钟(1393/1.5 = 928.667)。
如果情形为QAM2/3,则将数据从比特交织器传递至分组存储器需要375 个时钟(1500/4 = 375),从而得出处理QAM 2/3分组总共需要1018个时钟 (131+500+12+375 = 1018)。由于每QAM 2/3分组的交织数目是0.75,所以 每QAM 2/3交织需要1357.333个时钟(1018/0.75 = 1357.333)。
据此,QAM 2/3表示最差情形的境遇。由于要花费2048个时钟来将交织 从分组存储器传递至重排存储器,并且由于将交织写入分组存储器中的时间量 至多为1357.333,这些QAM读取可被隐藏于用以处理分组存储器组所需的时 间内。然而,这并不代表最差情形。
最差情形情景发生在指令要求堆叠两个(2个)QAM 2/3 turbo群,这两 者之上具有水平放置的第三QAM 2/3 turbo群。这三个(3个)QAM 2/3 turbo 群占用总共七个(7个)隙。假定在该情景下,存在一些排定用于稍后码元的 QAM 1/3 turbo群。在最差情形下,当turbo编码器82正在读取第一个QAM 2/3 turbo群的ping存储器的最后一项时,turbo编码引擎接收到处理QAM 1/3分 组的请求。在该情形下,turbo编码器不得不在系统用于处理存储器的pong部 分的时间内处理ping存储器的QAM 1/3分组和QAM 2/3分组。处理QAM 2/3 分组所需的时间量是1536个时钟(2048*0.75 = 1536)。处理QAM 1/3分组和 QAM 2/3分组所需的时间量是2411个时钟(1393+1018 = 2411)。在该实例中, 信道化器处理时间不得不增大875个时钟(2411-1536 = 875)或17.5 的停顿时间。由于在最差情形中有两个(2个)QAM2/3turbo群,所以总停顿时钟 数加倍至1750 (875*2= 1750)。
在交织数据被编码之后,信道化器处理各交织。对于信道化器而言最差情 形境遇是在其不得不处理QAM模式之一之时。信道化器需要4个时钟处理 QAM码元和2048个时钟(4*512 = 2048)来将交织写入到重排存储器。由于 在MediaFLO中的数据码元中最多有七个(7个)填充交织,所以用以处理所 有数据交织的最差情形的时钟数为14,336 (7*4*512 = 14,336)。导频QPSK 码元需要两个(2个)时钟来处理。由于在MediaFLO中有一个导频交织,所 以处理导频交织的最差情形的时钟数为1024 (1*2*512) = 1024)。最后,将交织 从重排存储器传递至IFFT存储器需要512个时钟(8*64 = 512)。 这得出信 道化OFDM码元总共需要15,872个时钟(14,366+1024+512 = 15,872)。
在最坏情形境遇中,将OFDM码元turbo编码和信道化的总时钟为17,622 (15,872+1,750 = 17,622)。
当编码器82正在对码元80进行编码时,IFFT引擎84对存储在第二存储 器部分94 (pong存储器)中的经编码的码元执行IFFT。在8K码元的情形下, 8K经编码的码元在IFFT处理开始时驻留在pong存储器94中。IFFT引擎将 该数据从频域转换到时域,并在经IFFT处理(经IFFT)的数据被写回到pong 存储器94中之前执行一些次要处理。MediaFLO分两步执行8K IFFT,对pong 存储器的偶数存储器组执行4K IFFT并对pong存储器的奇数存储器组执行4K IFFT。
从时钟的角度,在该IFFT处理过程中,每个4KIFFT需要10,880个时钟 来完成处理。由于有两个4K IFFT(奇数和偶数),所以8K IFFT处理需要21,760 个时钟。
当编码器82和IFFT引擎84正在处理其各自数据的同时,后处理引擎86 处理存储在第三存储器部分96 (pung存储器)中的经IFFT的数据。后处理引 擎检索经IFFT的数据,准备要RF传输的信息,并将数据发送给RF前端88
(和天线90)以进行传输。在后处理中,OFDM要求向码元添加循环前缀。 后处理器引擎86向码元附上循环前缀。尾帧(512个码元)被复制到码元的前 面以产生循环前缀。线性巻积变为循环巻积。这被远程接收机(未示出)用来纠正信道传输差错。
从时钟的角度,后处理需要37,000个时钟。每OFDM码元具有9,250个 时域样本。每个时域样本需要四个(4个)时钟来生成I/Q值。据此,生成后 处理器输出所需的时钟总数为37,000 (4*9,250 = 37,000)。
在图1中所述的两个存储器系统中,编码和IFFT是在同一存储器部分中 顺序执行的,并导致39,382个时钟。在该三重存储器(或三层)流水线实现中, 编码器和IFFT是在单独存储器部分上处理的,因此可并行执行。由于编码器 (17,622个时钟)禾卩IFFT (21,760个时钟)这两者需要比后处理(37,000个 时钟)更少的时间,所以后处理可连续地处理而不会遇到任何传输/处理间隙。 该三重存储器(或三层)流水线技术解决了传输/处理间隙问题。
图2c是电信IFFT处理系统50的示例性时间-工序图。该三重存储器架构 可以多种方式来实现。
为了示出系统50的过程和定时,假定系统50在时段To (未示出;标示 最初开始状态)未处理数据。系统在时段^开始,其中编码器处理将被存储 在存储器M,中的码元S"在该过程中,编码器对交织进行turbo编码,对码 元进行信道化,并将结果Si写回到N^上。该过程122在时段Ti结束时完成。
在T2, IFFT引擎处理S,(当前存储在M,中)。该过程124涉及到IFFT 引擎从M,读取S,,执行IFFT,以及将结果写回到Mi。当过程124正在进行 时,编码器开始处理将存储在M2中的码元S2 (过程126)。与过程122中大 体类似,过程126涉及编码器对(构成S2的)交织进行turbo编码,对S2信道 化,以及将结果S2写回到M2上。两个过程124、 126在时段T2结束时完成。
在丁3,后处理引擎(PP)处理81 (仍存储在M,中)。该过程128包括从 M,读取码元Si,执行如上所述的任何必要的残余处理,以及在RF前端处发起 码元发射过程。同时在T3处,IFFT引擎处理S2 (当前存储在M2中)。该过 程130涉及到IFFT引擎从M2读取S2,执行IFFT,以及将结果写回到M2。当 过程128和130正在进行时,编码器开始处理将存储在M3中的码元S3 (过程 132)。与过程122中大体类似,过程132涉及编码器对(构成S3的)交织进 行turbo编码,对S3信道化,以及将结果S3写回到M3上。所有三个过程128、 130、 132都在时段T3结束时完成。T4、 T5、和T6示出了在三个存储器部分当中都存储有数据时流水线的情
况并示出了循环数据处理的概念。术语循环被用在多种上下文中并且通常表示
多种事物依次轮流进行某事。例如,图2c所示实现中的各引擎正依次轮流对 三个存储器部分进行读写。循环还可以是其它依次轮流实现形式。
继续图2c,在丁4,码元S,已经完成在该流水线中的处理。这在前一步骤 中发生。丁4开始,其中后处理引擎(PP)处理S2 (仍存储在M2中)。该过程 134包括从M2读取码元S2,执行如上所述的任何必要的残余处理,以及在RF 前端处发起码元发射过程。同时在丁4处,IFFT引擎处理S3 (当前存储在M3 中)。该过程136涉及到IFFT引擎从M3读取S3,执行IFFT,以及将结果写 回到Ms上。当过程134和136正在进行时,编码器开始处理将存储在中的 码元S4 (过程138)。与过程122中大体类似,过程138涉及编码器对(构成 S4的)交织进行turbo编码,对S4信道化,以及将结果S4写回到M!上。所有 三个过程134、 136、 138都在时段T4结束时完成。
在丁5,码元S2已完成在该流水线中的处理。这在前一步骤中发生。丁5开 始,其中后处理引擎(PP)处理S3 (仍存储在M3中)。该过程140包括从 M3读取码元S3,执行如上所述的任何必要的残余处理,以及在RF前端处发起 码元发射过程。同时在Ts处,IFFT引擎处理S4 (当前存储在M!中)。该过 程136涉及到IFFT引擎从M!读取S4,执行IFFT,以及将结果写回到M,上。 当过程140和142正在进行时,编码器开始处理将存储在M2中的码元S5 (过 程144)。与过程122中大体类似,过程144涉及编码器对(构成Ss的)交织 进行turbo编码,对Ss信道化,以及将结果S5写回到M2上。所有三个过程140、 142、 144都在时段Ts结束时完成。
在丁6,码元S3已完成在该流水线中的处理。这在前一步骤中发生。丁6开 始,其中后处理引擎(PP)处理S4 (仍存储在]V^中)。该过程146包括从 M^卖取码元S4,执行如上所述的任何必要的残余处理,以及在RF前端处发起 码元发射过程。同时在T6处,IFFT引擎处理Ss (当前存储在M2中)。该过 程148涉及到IFFT引擎从M2读取S5,执行IFFT,以及将结果写回到M2上。 当过程146和148正在进行时,编码器开始处理将存储在M3中的码元S6 (过 程150)。与过程122中大体类似,过程150涉及编码器对(构成Ss的)交织进行turbo编码,对S6信道化,以及将结果S6写回到M3上。所有三个过程146、 148、 150都在时段T6结束时完成。
在替换实施例中,数据可沿处理流水线移动。数据码元在其整个处理期间 将不是驻留在同一存储器部分上而是由各引擎向前移动至其它存储器部分上。 例如,代替所有处理单元都从Mj卖取Sp引擎将沿Mi、 M2等移动S!等等。 该实现可要求硬件沿流水线传递数据以及要求至少四个存储器部分(以代替三 个)以确保后处理引擎将总是有数据可传送。
图2d示出了解决传输/处理间隙时钟预算问题的示例性传输处理系统180 的框图设计。图2a中所示的各组件可由图2d在此示出的模块来实现。作为模 块化实现,处理系统180包括处理模块(编码器模块182、 IFFT处理模块184、 后处理模块186),以及连接至处理模块182、 184、 186的存储器模块190。 存储器模块190包括三个存储器模块部分(模块扇区)——ping存储器模块192、 pong存储器模块194、以及pung存储器模块196。处理模块182、 184、 186 中的每一个具有对存储器模块部分192、 194、 196中每一个的存取。尽管各模 块可在任意时刻对存储器模块部分192、 194、 196中的任意一个进行存取,然 而处理模块通常处理单个存储器模块部分上的数据直至该处理模块完成其处 理。 一旦结束,处理模块开始处理一不同存储器模块扇区上的数据。
这些模块之间的信息流与图2a中的那些相类似并在图2b和2c中进行了 描述。处理系统模块180具有用于提供具有第一模块部分192、第二模块部 分194和第三模块部分196的存储器模块190的装置;用于以循环方式将第一 存储器部分192、第二存储器部分194和第三存储器部分196的每一个中的数 据编码(在turbo编码和信道化模块182中)的装置;用于以循环方式对第一 部分192、第二部分194、和第三部分196的每一个中经编码的数据进行IFFT 处理(在IFFT模块184中)的装置;以及用于以循环方式对第一存储器部分 192、第二存储器部分194和第三存储器部分196的每一个中经IFFT处理的数 据进行后处理器处理(在后处理模块186中)的装置。
图3a示出了解决传输/处理间隙时钟预算问题的另一示例性传输处理系统 50的框图设计。处理系统200包括编码器引擎202、 IFFT处理引擎204、后处 理引擎206、以及连接至引擎202、 204、 206的存储器210。存储器210包括四个(4个)存储器部分(扇区)——ping存储器A212a、 ping存储器B212b、 pong存储器A214a、以及pong存储器B 214b。 ping存储器A 212a和ping存 储器B 212b相组合以形成组合ping存储器212。 pong存储器A 214a和pong 存储器B 214b相组合以形成组合pong存储器214。编码器202具有对ping存 储器A 212a、ping存储器B 212b、pong存储器A 214a、以及pong存储器B 214b 的访问权限。IFFT204具有对ping存储器A212a、 ping存储器B 212b、 pong 存储器A214a、以及pong存储器B 214b的访问权限。后处理引擎206可对组 合ping存储器212和组合pong存储器214进行存取。尽管各引擎可在任意时 刻对上述存储器部分中的任意一个进行存取,然而引擎通常处理单个存储器部 分上的数据直至该引擎完成其处理。 一旦结束,引擎开始处理一不同存储器扇 区上的数据。
图3b示出传输处理系统200的数据流的即时快照。从功能过程起,数据 220首先被编码242。对经编码的数据执行IFFT 244,其结果被发送到后处理 引擎以进行后处理246。后处理引擎将经过后处理的数据传递246给RF前端 248以通过广播天线250进行传输。
取该数据流的快照,编码器引擎222接收诸如8K信息的数据220。这8K 数据可以是整个码元或者可以是足以完成星座图(如由信道化器所处理)的交 织数据。编码器222随后编码该数据的一半(4K),并将经编码的数据存储在 诸如ping存储器A 232a的第一存储器扇区中。编码器最终将编码全部8K,但 一次工作一半。例如,偶数交织。在MediaFLO系统中,数据是频域中的码元。 turbo编码器232a将该频域数据编码并比特交织。信道化器基于星座图(如果 存在一个)将各频调加载到特定频率上,该过程也被称为码元安置。
当编码器222正在对码元220进行编码时,IFFT引擎224对存储在第二 存储器部分224 (ping存储器B)中的经编码的数据执行IFFT。在8K码元的 情形下,在IFFT处理开始时,4K经编码的数据驻留在ping存储器B224b中。 这是先前被turbo编码器处理的那一半。如果编码器当前正对偶数交织工作, 则这一半将是经编码的奇数交织。IFFT引擎将该数据从频域转换到时域,并 在经IFFT处理(经IFFT)的数据被写回到ping存储器224b中之前执行一些 次要处理。MediaFLO分两步执行8K IFFT,对ping存储器的偶数存储器组执行4K IFFT并对ping存储器的奇数存储器组执行4K IFFT。
从时钟的角度,将前4K编码需要2048个时钟。此时,IFFT未处理数据。 在前4K已被编码之后,编码器开始对后4K (也是2048个时钟)进行处理。 当编码器处理后4K时,IFFT处理经编码的前4K,该过程需要1360个时钟。 由于IFFT时钟需求小于编码器的时钟需求,所以IFFT时间被编码器处理所隐 藏。当编码器完成后4K的处理之后,IFFT开始处理后4K。该分级循环处理 技术需要5436个时钟(4096+1360 = 5436)。
当编码器82和IFFT引擎84正在处理各自数据的同时,后处理引擎86 处理存储在第三和第四存储器部分234 (pong存储器A和B)中的经IFFT的 数据。这两个存储器部分是被一起处理的(8K)。后处理引擎检索经IFFT的 数据,准备要进行RF传输的信息,并将数据发送给RF前端228 (和天线230) 以进行传输。在后处理中,OFDM要求向码元添加循环前缀。后处理器引擎 226向码元附上循环前缀。尾帧(512个码元)被复制到码元的前面以产生循 环前缀。线性巻积变为循环巻积。这被远程接收机(未示出)用来纠正信道传 输差错。
在图1中所述的两个存储器系统中,编码和IFFT是在同一存储器部分中 顺序执行的,并导致39,382个时钟。在该四重存储器(或四层)流水线实现中, 编码器和IFFT是在单独存储器部分上处理的,因此可并行执行。由于编码器 和IFFT这两者需要比后处理更少的时间,所以后处理可连续地处理而不会遇 到任何传输/处理间隙。该四重存储器(或四层)流水线技术解决了传输/处理 间隙问题。
图3c是电信IFFT处理系统200的示例性时间-工序图。该四重存储器架 构可以多种方式来实现。
为了示出系统200的过程和定时,假定系统200在时段To (未示出;标 示最初开始状态)未处理数据。系统在时段1开始,其中编码器处理将被存 储在存储器Mh中的码元Sh (—半4K码元)。在该过程中,编码器对交织进 行turbo编码,对码元进行信道化,并将结果Sh写回到M^上。该过程122在 时段T,结束时完成。
在丁2, IFFT引擎处理Sia (当前存储在M^中)。该过程264涉及到IFFT引擎从Mh读取S^,执行IFFT,以及将结果写回到M!a。当过程264正在进 行时,编码器开始处理将存储在M化中的码元S!b (过程266)。与过程262中 大体类似,过程266涉及编码器对(构成S!b的)交织进行turbo编码,对Slb 信道化,以及将结果S化写回到M化上。两个处理264、 266在时段丁2结束时完成。
在丁3, IFFT引擎处理S!b (当前存储在M化中)。该过程268涉及到IFFT 引擎从M,b读取S化,执行IFFT,以及将结果写回到M化上。过程266将在丁3 之前完成。发生一些处理用以将(存储在Mh中的)Sh的信息与(存储在M化 中的)Sib相组合以产生完整码元Sp S^皮存储在以M^旨示的组合存储器部分 中。M!是M^和Mib的组合。
在T4,后处理引擎(PP)处理S,(存储在M,中)。该过程270包括从 Mj读取码元Sp执行任何必要的残余处理,以及在RF前端处发起码元发射过
程。同时在T4,编码器开始处理将存储在存储器M2a中的码元S^(过程272)。
与过程262中大体类似,过程272涉及编码器对(构成S2a的)交织进行turbo 编码,对Sh信道化,以及将结果Sh写回到Mh上。到Ts时,过程272将已 经结束而过程270还未结束。后处理花费时间相当的长,并且该系统被设计成 适应该点。具体而言,系统被设计成适应该后处理直至T6结束。
T5、 T6、和T7示出了在三个存储器部分当中都存储有数据时流水线的情 况并示出了四重存储器数据处理的循环的概念。术语循环被用在多种上下文中 并且通常表示多种事物依次轮流进行某事。例如,图2c所示实现中的各引擎 正依次轮流对四个存储器部分进行读写。循环还可以是其它依次轮流实现形 式。
继续图2c,在Ts,码元S,还未完成在该流水线中的处理。Ts开始,其中 后处理引擎(PP)继续处理Si (仍存储在Mi中)。后处理引擎直至T7都将无 需处理不同码元。同时在Ts处,IFFT引擎处理S^ (当前存储在M^中)。该 过程274涉及到IFFT引擎从Mh读取S2a,执行IFFT,以及将结果写回到M2a 上。当过程270和274正在进行时,编码器开始处理将存储在M2b中的码元S2b (过程262)。与过程262中大体类似,过程276涉及编码器对(构成S2b的) 交织进行turbo编码,对S2b信道化,以及将结果S2b写回到M2b上。到T6时,过程276将已经结束而过程270还未结束。后处理花费相当长的时间,并且该 系统被设计成适应该点。具体而言,系统被设计成适应该后处理直至T6结束。 在T6, IFFT引擎处理S2b (当前存储在M2b中)。该过程278涉及到IFFT 引擎从M2b读取S2b,执行IFFT,以及将结果写回到M2b上。过程278将在丁7 之前完成。发生一些处理用以将(存储在M^中的)S^的信息与(存储在M2b
中的)S2b相组合以产生完整码元S2。 S2被存储在以M2指示的组合存储器部分 中。M2是M2a和M2b的组合。
在T7,后处理引擎(PP)处理S2 (存储在M2中)。该过程280包括从 M2读取码元S2,执行任何必要的残余处理,以及在RF前端处发起码元发射过 程。同时在T7,编码器开始处理将存储在存储器Mh中的码元S^(过程282)。 与过程262中大体类似,过程282涉及编码器对(构成S^的)交织进行turbo 编码,对S^信道化,以及将结果S^写回到Mh上。到丁8 (未示出)时,过程 282将己经结束而过程280还未结束。后处理花费相当长的时间,并且该系统 被设计成适应该点。具体而言,系统被设计成适应该后处理直至T9 (未示出) 结束。
图3d示出了解决传输/处理间隙时钟预算问题的另一示例性传输处理系统 290的框图设计。图3a中所示的各组件可由图3d中在此示出的模块来实现。 作为模块化实现,处理系统290包括编码器模块292、 IFFT处理模块294、后 处理模块296、以及连接至模块292、 294、 296的存储器模块297。存储器模 块297包括四个(4个)存储器部分模块(扇区)——ping存储器A模块298a、 ping存储器B模块298b、 pong存储器A模块299a、以及pong存储器B模块 299b。 ping存储器A模块298a和ping存储器B模块298b相组合以形成组合 ping存储器模块298。 pong存储器A模块299a和pong存储器B模块299b相 组合以形成组合pong存储器模块299。编码器模块292具有对ping存储器A 模块298a、 ping存储器B模块298b、 pong存储器A模块299a、以及pong存 储器B模块299b的访问权限。IFFT模块294可对ping存储器A模块298a、 ping存储器B模块298b、 pong存储器A模块299a、以及pong存储器B模块 299b进行存取。后处理引擎296可对组合ping存储器模块298和组合pong存 储器模块299进行存取。尽管各模块可在任意时刻对上述存储器部分模块中的任意一个进行存取,然而模块通常处理单个存储器部分模块上的数据直至该模 块完成其处理。
一旦结束,模块开始处理一不同存储器扇区模块上的数据。
这些模块之间的信息流与图3a中的那些相类似并在图3b和3c中进行了 描述。处理系统模块290具有用于提供具有第一模块部分298a、第二模块部 分298b、第三模块部分299a、以及第四模块部分29%的存储器模块297的装 置;用于以循环方式将第一存储器部分298a、第二存储器部分298b、第三存 储器部分299a、以及第四存储器部分299b的每一个中的数据编码(在turbo 编码和信道化模块292中)的装置;用于对第一部分模块298a、第二部分模块 298b、第三部分模块299a、以及第四部分模块299b的每一个中经编码的数据 进行IFFT处理(在IFFT模块294中)的装置;以及用于对第一存储器部分模 块298a、第二存储器部分模块298b、第三存储器部分模块299a、以及第四存 储器部分模块29%的每一个中经IFFT处理的数据进行后处理器处理的(在后 处理模块296中)装置。
用于后处理器处理的装置296是将第一存储器部分模块298a和第二存储 器部分模块298b作为第一组合存储器部分模块298来处理的,且用于后处理 器处理的装置296是将第三存储器部分模块299a和第四存储器部分模块29% 作为第二组合存储器部分模块299来处理的。用于编码292、 IFFT处理294、 以及后处理器处理296的装置处于同一时钟速度。
图4a示出了解决传输/处理间隙时钟预算问题的另一示例性传输处理系统 50的框图设计。处理系统300包括编码器引擎302、 IFFT处理引擎304、后处 理引擎306、以及连接至引擎302、 304、 306的存储器310。存储器310包括 四个(4个)存储器部分(扇区)——ping存储器A312a、 ping存储器B 312b、 pong存储器A314a、以及pong存储器B 314b。 ping存储器A 312a和ping存 储器B 312b相组合以形成组合ping存储器312。 pong存储器A 314a和pong 存储器B 314b相组合以形成组合pong存储器314。编码器302和后处理引擎 306可对组合ping存储器312和组合pong存储器314进行存取。IFFT可对所 有四个扇区312a、 312b、 314a、 314b进行存取。IFFT引擎304包括两个子引 擎——IFFT子引擎A 304a和IFFT子引擎B 304b。尽管IFFT引擎304对组合 存储器312、 314工作,但子引擎对个体扇区层312a、 312b、 314a、 314b进行工作。各引擎312、 314、 316可在任意时刻对上述存储器部分中的任意一个进 行存取,然而引擎通常处理单个存储器部分上的数据直至该引擎完成其处理。 一旦结束,引擎开始处理一不同存储器扇区上的数据。
图4b示出传输处理系统300的数据流的即时快照。从功能过程起,数据 320首先被编码342。对经编码的数据执行IFFT 344,其结果被发送到后处理 引擎以进行后处理346。在IFFT344处理期间,数据被分为多个(两个)部分 并且这两个子IFFT引擎并行对这多个部分进行处理。经处理的数据部分被重 新组合并写入组合存储器中。后处理引擎将经过后处理的数据传递346给RF 前端348以通过广播天线350进行传输。
通过取得该数据流的快照,编码器引擎322接收诸如8K信息的数据320。 这8K数据可以是整个码元或者可以是足以完成星座图(如由信道化器所处理) 的交织数据。编码器引擎322随后编码该数据320,并将经编码的数据存储在 第一组合存储器部分332 (ping存储器)中。在处理数据320时,编码器将数 据分为两部分并且将经处理的部分存储在不同的存储器部分中。这么做的原因 是IFFT子引擎将处理各个体部分而不是整个经编码的8K数据。例如,偶数交 织可被编码并存储在ping存储器A中,而奇数交织可被编码并存储在ping存 储器B中。在MediaFLO系统中,数据是频域中的码元。turbo编码器332将 该频域数据编码和位交织。信道化器基于星座图(如果存在一个)将各频调加 载到特定频率上,该过程也被称为码元安置。
当编码器322正在编码和划分码元320时,IFFT子引擎324a和324b对 经编码的数据部分334a和334b分别执行IFFT。在8K码元的情形下,在IFFT 处理开始时,4K经编码的数据驻留在ping存储器A 334a中。这是先前被turbo 编码器处理的那一半。IFFT引擎将该数据从频域转换到时域,并在经IFFT处 理(经IFFT)的数据被写回到ping存储器334a中之前执行一些次要处理。在 IFFT处理开始时,后4K经编码的数据驻留在ping存储器B 334b中。这是先前 被turbo编码器处理的另一半。IFFT引擎将该数据从频域转换到时域,并在经 IFFT处理(经IFFT)的数据被写回到ping存储器334b中之前执行一些次要 处理。MediaFLO分两步执行8K IFFT,对ping存储器的偶数存储器组执行4K IFFT并对ping存储器的奇数存储器组执行4K IFFT。这些部分由两个IFFT子引擎324a、 324b并行处理。在两个IFFT子引擎完成它们的处理之后,两个数 据部分334a、 334b被重新组合成8K经IFFT的数据。数据仍存储在组合ping 存储器部分334中。
当编码器322和IFFT引擎324正在处理其各自数据的同时,后处理引擎 326处理存储在经组合的第三和第四存储器部分336(组合pong存储器A和B ) 中的经IFFT的数据。这两个存储器部分是一起处理的(8K)。后处理引擎检 索经IFFT的数据,准备要RF传输的信息,并将数据发送给RF前端328 (和 天线330)以进行传输。在后处理中,OFDM要求向码元添加循环前缀。后处 理器引擎326向码元附上循环前缀。尾帧(512个码元)被复制到码元的前面 以产生循环前缀。线性巻积变为循环巻积。这被远程接收机(未示出)用来纠 正信道传输差错。
在图1中所述的两个存储器系统中,编码和IFFT是在同一存储器部分中 顺序执行的,并导致39,382个时钟。在该四重存储器(或四层)流水线实现中, 两个IFFT子引擎在单独存储器部分上进行处理,因此可并行执行。由于处理 两个4K IFFT需要比处理8K IFFT更少的时间,所以编码/IFFT处理需要比后 处理更少的时间。随后,后处理可连续地进行而不会遇到任何传送/处理间隙。 该四重存储器(或四层)流水线技术解决了传输/处理间隙问题。
图4c是电信IFFT处理系统300的示例性时间-工序图。该四重存储器架 构可以多种方式来实现。
为了示出系统300的过程和定时,假定系统300在时段TQ (未示出;标 示最初开始状态)未处理数据。系统在时段^开始,其中编码器处理将被存 储在存储器N^中的码元S,。在该过程中,编码器对交织进行turbo编码,对 码元进行信道化,并将结果S!写回到M,上。该过程362在时段^结束时完成。
在丁2, IFFT引擎处理S!(当前存储在Mi中)。代替将S^乍为8K IFFT 来处理,IFFT引擎将S,作为两个4KIFFT来处理,其中IFFT的两个子引擎各 自处理一个4K数据。这些处理364、 366涉及 一个IFFT子引擎从M^读取 Sla,执行IFFT,并将结果写回M^以及第二IFFT子引擎从M化读取S化,执 行IFFT,并将结果写回M化。这两个IFFT处理364、 366并发进行。SlafB Slb 随后被组合以形成Si并被存储在Mi中(过程368)。由于IFFT正在存储器部分Mi中工作,所以编码器在T2期间不能在该存储器区域中工作。
在T3,后处理引擎(PP)处理S,(存储在中)。该过程370包括从 Mj读取码元Sp执行任何必要的残余处理,以及在RF前端处发起码元发射过
程。同时在丁3期间,编码器开始处理将被存储在存储器M2中的码元S2 (过程
372)。与过程362中大体类似,过程372涉及编码器对(构成S2的)交织进 行turbo编码,对S2信道化,以及将结果S2写回到M2上。到丁4时,过程372 将已经结束而过程370还未结束。后处理花费相当长的时间,并且该系统被设
计成适应该点。具体而言,系统被设计成适应该后处理直至T4结束。
14开始,其中后处理引擎(pp)继续处理S!(仍存储在1V^中)。后处理 引擎直至丁5都将无需处理不同码元。同时在T4处,IFFT引擎处理S2 (当前存 储在M2中)。代替将S2作为8K IFFT来处理,IFFT引擎将S2作为两个4K IFFT 来处理,其中IFFT的两个子引擎各自处理一个4K数据。这些处理374、 376
涉及 一个IFFT子引擎从M2a读取S2a,执行IFFT,并将结果写回M2a;以及
第二IFFT子引擎从M2b读取S2b,执行IFFT,并将结果写回M2b。这两个IFFT 处理374、 376并发进行。S^和S2b随后被组合以形成S2并被存储在M2中(过 程378)。由于IFFT正在存储器部分M2中工作,所以编码器在T4期间不能在 该存储器区域中工作。
在T5,后处理引擎(PP)处理S2 (存储在M2中)。该过程380包括从 M2读取码元S2,执行任何必要的残余处理,以及在RF前端处发起码元发射过 程。同时在Ts期间,编码器开始处理将被存储在存储器Mt中的码元S3 (过程 382)。与过程362中大体类似,过程382涉及编码器对(构成S3的)交织进 行turbo编码,对S3信道化,以及将结果S3写回到Mi上。到T6(未示出)时, 过程382将已经结束而过程380还未结束。后处理花费相当长的时间,并且该
系统被设计成适应该点。具体而言,系统被设计成适应该后处理直至T6结束。
图4d示出了解决传输/处理间隙时钟预算问题的另一示例性传输处理系统 390的框图设计。图4a中所示的各组件可由图4d中这里示出的模块来实现。 作为模块化实现,处理系统390包括编码器模块392、 IFFT处理模块394、后 处理模块396、以及连接至模块392、 394、 397的存储器模块396。存储器模 块397包括四个(4个)存储器部分模块(扇区)——ping存储器A模块398a、ping存储器B模块398b、 pong存储器A模块399a、以及pong存储器B模块 399b。 ping存储器A模块398a和ping存储器B模块398b相组合以形成组合 ping存储器模块398。 pong存储器A模块399a和pong存储器B模块399b相 组合以形成组合pong存储器模块399。编码器模块392和后处理引擎模块396 可对组合ping存储器模块398和组合pong存储器模块399进行存取。IFFT可 对所有四个扇区模块398a、 398b、 399a、 399b进行存取。IFFT模块394包括 两个子模块——IFFT子模块A 394a和IFFT子模块B 394b。尽管IFFT模块394 对组合存储器模块398、 399工作,但子模块对个体扇区模块层398a、 398b、 399a、 399b进行工作。各模块392、 394、 396可在任意时刻对上述存储器部分 模块中的任意一个进行存取,然而模块通常处理单个存储器部分模块上的数据 直至该处理模块完成其处理。 一旦结束,处理模块开始处理一不同存储器扇区 模块上的数据。
这些模块之间的信息流与图4a中的那些相类似并在图4b和4c中进行了 描述。处理系统模块390具有用于提供具有第一模块部分398a、第二模块部 分398b、第三模块部分399a、以及第四模块部分399b的存储器模块397的装 置;用于以循环方式将第一存储器部分398a、第二存储器部分398b、第三存 储器部分399a、以及第四存储器部分399b的每一个中的数据编码(在turbo 编码和信道化模块392中)的装置;用于对第一部分模块398a、第二部分模块 398b、第三部分模块399a、以及第四部分模块399b的每一个中经编码的数据 进行IFFT处理(在IFFT模块394中)的装置;以及用于对第一存储器部分模 块398a、第二存储器部分模块398b、第三存储器部分模块399a、以及第四存 储器部分模块399b的每一个中经IFFT处理的数据进行后处理器处理(在后处 理模块396中)的装置。
用于后处理器处理的装置396是将第一存储器部分模块398a和第二存储 器部分模块398b作为第一组合存储器部分398来处理的,且用于后处理器处 理的装置396是将第三存储器部分模块399a和第四存储器部分模块399b作为 第二组合存储器部分399来处理的。用于编码的装置392是将第一存储器部分 模块398a和第二存储器部分模块398b作为第一组合存储器部分398来处理的, 且用于编码的装置392是将第三存储器部分模块399a和第四存储器部分模块39%作为第二组合存储器部分399来处理。用于IFFT处理的装置394是将第 一存储器部分模块398a和第二存储器部分模块398b作为第一组合存储器部分 398来处理的,且是将第三存储器部分模块399a和第四存储器部分模块399b 作为第二组合存储器部分399来处理的,用于对组合存储器部分模块398、 399 的各存储器部分模块进行IFFT子处理(在IFFT A模块394a和IFFT B模块394b 中)的装置并发地发生。用于编码392、 IFFT处理394、以及后处理器处理396 的装置处于同一时钟速度。
图5示出了解决传输/处理间隙时钟预算问题的示例性传输处理系统50的 框图设计。处理系统450包括编码器引擎452、 IFFT处理引擎454、后处理引 擎456、以及连接至引擎452、 454、 456的存储器460。存储器460包括两个 存储器部分(扇区)——ping存储器462、和pong存储器464。引擎452、 454、 456中每一个具有对存储器部分462、 464中每一个的访问权限。尽管各引擎可 在任意时刻对存储器部分462、 464中的任意一个进行存取,然而引擎通常处 理单个存储器部分上的数据直至该引擎完成其处理。 一旦结束,引擎开始处理
一不同存储器扇区上的数据。
图6示出传输处理系统400的数据流的即时快照。该架构是在图5中所示 的双重存储器架构,其中处理系统包含的每个引擎具有对两个存储器部分中的 每一个的访问权限。从功能过程起,数据402首先被编码。对经编码的数据执 行IFFT,其结果被发送到后处理引擎以进行后处理。后处理引擎将经过后处 理的数据传递给RF前端以通过广播天线进行传输。
通过取得该数据流的快照,编码器引擎404接收诸如8K信息的数据402。 这8K数据可以是整个码元或者可以是足以完成星座图(如由信道化器所处理) 的交织数据。编码器引擎404随后编码该数据402,并将经编码的数据存储在 第一存储器部分406 (ping存储器)中。在MediaFLO系统中,数据是频域中 的码元。turbo编码器404将该频域数据编码和位交织。信道化器基于星座图 (如果存在一个)将各频调加载到特定频率上,该过程也被称为码元安置。IFFT 404对经编码的数据执行IFFT。 IFFT引擎将该数据从频域转换到时域,并在 经IFFT处理(经IFFT)的数据被写回到ping存储器406中之前执行一些次要 处理。当编码器404和IFFT引擎404正在处理各自数据的同时,后处理引擎408 处理存储在第二存储器部分410 (pong存储器)中的经IFFT的数据。后处理 引擎检索经IFFT的数据,准备要RF传输的信息,并将数据发送给RF前端412 (和天线414)以进行传输。在后处理中,OFDM要求向码元添加循环前缀。 后处理器引擎408向码元附上循环前缀。尾帧(512个码元)被复制到码元的 前面以产生循环前缀。线性巻积变为循环巻积。这被远程接收机(未示出)用 来纠正信道传输差错。
在图1中所述的两个存储器系统中,编码和IFFT是在同一存储器部分中 顺序执行的,并导致39,382个时钟。在该双重存储器(或双层)实现中,IFFT 引擎以比其它引擎更快的时钟速度(处理速度)来处理。通过将IFFT引擎设 计成以至少比2,382个时钟更快的速度运行,编码器/IFFT将在时钟预算内完 成。已知的提高处理速度的方法(示例更快的处理器时钟;更快的总线速度; 更大的多路复用器)适合用于提高IFFT引擎的处理速度。随后,后处理可连 续地进行而不会遇到任何传输/处理间隙,因为编码/IFFT处理需要比后处理更 少的时间。传输/处理间隙问题被解决。
图7示出传输处理系统500的数据流的即时快照。该架构是在图5中所示 的双重存储器架构,其中处理系统包含的每个引擎具有对两个存储器部分中的 每一个的访问权限。从功能过程起,数据502首先被编码。对经编码的数据执 行IFFT,其结果被发送到后处理引擎以进行后处理。后处理引擎将经过后处 理的数据传递给RF前端以通过广播天线进行传输。
通过取得该数据流的快照,编码器引擎504接收诸如8K信息的数据502。 这8K数据可以是整个码元或者可以是足以完成星座图(如由信道化器所处理) 的交织数据。编码器引擎504随后编码该数据502,并将经编码的数据存储在 第一存储器部分506 (ping存储器)中。在MediaFLO系统中,数据是频域中 的码元。turbo编码器504将该频域数据编码和位交织。信道化器基于星座图 (如果存在一个)将各频调加载到特定频率上,该过程也被称为码元安置。IFFT 504对经编码的数据执行IFFT。 IFFT引擎将该数据从频域转换到时域,并在 经IFFT处理(经IFFT)的数据被写回到ping存储器506中之前执行一些次要 处理。当编码器504和IFFT引擎504正在处理其各自数据的同时,后处理引擎 508处理存储在第二存储器部分510 (pong存储器)中的经IFFT的数据。后 处理引擎检索经IFFT的数据,准备要RF传输的信息,并将数据发送给RF前 端512 (和天线514)以进行传输。在后处理中,OFDM要求向码元添加循环 前缀。后处理器引擎508向码元附上循环前缀。尾帧(512个码元)被复制到 码元的前面以产生循环前缀。线性巻积变为循环巻积。这被远程接收机(未示 出)用来纠正信道传输差错。
在图1中所述的两个存储器系统中,编码和IFFT是在同一存储器部分中 顺序执行的,并导致39,382个时钟。在该双重存储器(或双层)实现500中, 信道化器引擎以比其它引擎更快的时钟速度(处理速度)来处理。通过将信道 化器引擎设计成以至少比2,382个时钟更快的速度运行,编码器/IFFT将在时 钟预算内完成。已知的提高处理速度的方法(示例更快的处理器时钟;更快 的总线速度;更大的多路复用器)适合用于提高IFFT引擎的处理速度。随后, 后处理可连续地进行而不会遇到任何传输/处理间隙,因为编码/IFFT处理需要 比后处理更少的时间。传输/处理间隙问题被解决。
图8示出了解决传输/处理间隙时钟预算问题的另一示例性传输处理系统 550的框图设计。图5中所示的各组件可由图8中在此示出的模块来实现。作 为模块化实现,处理系统550包括编码器模块552、 IFFT处理模块554、后处 理模块556、以及连接至处理模块552、 554、 556的存储器模块560。存储器 模块560包括两个存储器部分模块(扇区)——ping存储器模块562、和pong 存储器模块564。处理模块552、 554、 556中每一个具有对存储器部分模块562、 564中每一个的访问权限。尽管各处理模块可在任意时刻对存储器部分模块 562、 564中的任意一个进行存取,然而处理模块通常处理单个存储器部分模块 上的数据直至该处理模块完成其处理。 一旦结束,处理模块开始处理一不同存 储器扇区模块上的数据。
这些模块之间的信息流与图5中的那些相类似并在图6和7中进行了描 述。处理系统模块550具有用于提供具有第一部分562和第二部分564的存 储器的装置560;用于将第一存储器部分562和第二存储器部分564的每一个 中的数据编码的装置552,用于对第一存储器562和第二存储器部分564的每一个中经编码的数据进行IFFT处理的装置554,以及用于在IFFT处理554第 二存储器部分564中经编码的数据时对第一存储器部分562中经IFFT处理的 数据进行后处理器处理的装置556,该用于后处理器处理的装置556被配置成 以与用于编码器552的装置或用于IFFT的装置554不同的时钟速度操作。
用于IFFT处理的装置554可以与用于编码的装置552处于不同的时钟速 度。用于编码的装置552可包括以与用于IFFT处理的装置554不同的时钟速 度进行信道化。用于IFFT处理的装置554可处于比用于编码的装置552更快 的时钟速度。用于编码的装置552可处于比用于IFFT处理的装置554更快的 时钟速度。
本文中描述的IFFT处理技术可通过各种手段来实现。例如,这些技术可 在硬件、固件、软件、或其组合中实现。对于硬件实现,用于执行IFFT的各 个处理单元可在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、 数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列 (FPGA)、处理器、控制器、微控制器、微处理器、电子器件、设计成执行 本文中描述的功能的其他电子单元、或其组合内实现。
对于固件和/或软件实现,这些技术可用执行本文中描述的功能的模块(例 如,程序、函数等等)来实现。固件和/或软件代码可被存储在存储器(例如, 图2a中的存储器60)中并由处理器来执行。该存储器可被实现在处理器内, 或可外置于处理器。
提供前面对所公开的实施例的描述是为了使本领域任何技术人员皆能制 作或使用本发明。对这些实施例的各种修改对于本领域技术人员将是显而易见 的,并且本文中定义的普适原理可被应用于其他实施例而不会脱离本发明的精 神或范围。由此,本发明并非旨在被限定于本文中示出的实施例,而是应被授 予与本文中公开的原理和新颖性特征一致的最广义的范围。
权利要求
1. 一种处理系统,包括具有第一和第二部分的存储器;编码器,它被配置成处理所述第一和第二存储器部分的每一个中的数据;IFFT,它被配置成处理所述第一和第二存储器部分的每一个中经编码的数据;以及后处理器,它被配置成在所述IFFT正在处理所述第二存储器部分中所述经编码的数据的同时处理所述第一存储器部分中经IFFT处理的数据,所述后处理器被配置成以与所述编码器或所述IFFT不同的时钟速度工作。
2. 如权利要求l所述的处理系统,其特征在于 所述IFFT以与所述编码器不同的时钟速度工作。
3. 如权利要求2所述的处理系统,其特征在于所述编码器包括信道化器且所述信道化器以与所述IFFT不同的时钟速度工作。
4. 如权利要求2所述的处理系统,其特征在于 所述IFFT以比所述编码器更快的时钟速度工作。
5. 如权利要求2所述的处理系统,其特征在于 所述编码器以比所述IFFT更快的时钟速度工作。
6. —种耦合至具有第一和第二部分的存储器的处理器,所述处理器被配置成将所述第一和第二存储器部分的每一个中的数据编码; 对所述第一和第二存储器部分中经编码的数据进行IFFT处理;以及 在所述IFFT正在处理所述第二存储器部分中所述经编码的数据的同时对 所述第一存储器部分中经IFFT处理的数据进行后处理器处理,所述后处理器 被配置成以与所述编码器或所述IFFT不同的时钟速度工作。
7. 如权利要求6所述的处理器,其特征在于 所述IFFT以与所述编码器不同的时钟速度工作。
8. 如权利要求7所述的处理器,其特征在于所述编码器包括信道化器且所述信道化器以与所述IFFT不同的时钟速度 工作。
9. 如权利要求7所述的处理器,其特征在于 所述IFFT以比所述编码器更快的时钟速度工作。
10. 如权利要求7所述的处理器,其特征在于 所述编码器以比所述IFFT更快的时钟速度工作。
11. 一种方法,包括 提供具有第一和第二部分的存储器; 将所述第一和第二存储器部分的每一个中的数据编码; 对所述第一和第二存储器部分中经编码的数据进行IFFT处理;以及 在对所述第二存储器部分中所述经编码的数据进行IFFT处理的同时对所述第一存储器部分中经IFFT处理的数据进行后处理器处理,所述后处理器处 理被配置成以与所述编码器或所述IFFT不同的时钟速度工作。
12. 如权利要求ll所述的方法,其特征在于 以与所述编码不同的时钟速度进行IFFT处理。
13. 如权利要求12所述的处理器,其特征在于 编码包括以与所述IFFT处理不同的时钟速度进行信道化。
14. 如权利要求12所述的处理器,其特征在于 以比所述编码更快的时钟速度进行IFFT处理。
15. 如权利要求12所述的处理器,其特征在于 以比所述IFFT处理更快的时钟速度进行编码。
16. —种处理系统,包括用于提供具有第一和第二部分的存储器的装置; 用于将所述第一和第二存储器部分的每一个中的数据编码的装置; 用于对所述第一和第二存储器部分中经编码的数据进行IFFT处理的装 置;以及用于在对所述第二存储器部分中所述经编码的数据进行IFFT处理的同时 对所述第一存储器部分中经IFFT处理的数据进行后处理器处理的装置,所述 用于后处理器处理的装置被配置成以与所述用于编码器的装置或所述用于IFFT的装置不同的时钟速度工作。
17. 如权利要求16所述的方法,其特征在于,还包括用于以与所述用于编码的装置不同的时钟速度进行IFFT处理的装置。
18. 如权利要求17所述的处理器,其特征在于,还包括 用于编码的装置包括以与所述用于IFFT处理的装置不同的时钟速度进行信道化。
19. 如权利要求17所述的处理器,其特征在于,还包括 用于以比所述用于编码的装置更快的时钟速度进行IFFT处理的装置。
20. 如权利要求17所述的处理器,其特征在于,还包括 用于以比所述用于IFFT处理的装置更快的时钟速度进行编码的装置。
21. 具有第一、第二和第三部分的计算机可读介质,所述计算机可读介质 包含使处理器执行发射机的IFFT处理方法的指令集,所述指令包括用以将所述第一和第二存储器部分的每一个中的数据编码的例程; 用以对所述第一和第二存储器部分中经编码的数据进行IFFT处理的例 程;以及用以在对所述第二存储器部分中所述经编码的数据进行IFFT处理的同时 对所述第一存储器部分中经IFFT处理的数据进行后处理器处理的例程,后处 理器以与编码或IFFT处理不同的时钟速度进行处理。
22. 如权利要求21所述的计算机可读介质,其特征在于,所述发射机被 配置成以与所述编码不同的时钟速度进行IFFT处理。
23. 如权利要求22所述的计算机可读介质,其特征在于,所述发射机被 配置成以与所述IFFT处理不同的时钟速度进行信道化。
24. 如权利要求22所述的处理器,其特征在于,所述发射机被配置成以 比所述编码更快的时钟速度进行IFFT处理。
25. 如权利要求22所述的处理器,其特征在于,所述发射机被配置成以 比所述IFFT处理更快的时钟速度进行编码。
全文摘要
描述了用于执行IFFT流水线化的技术。在一些方面,该流水线技术是用处理系统实现的,该处理系统具有具有第一和第二部分的存储器;编码器,它被配置成处理第一和第二存储器部分的每一个中的数据;IFFT,它被配置成处理第一和第二存储器部分的每一个中经编码的数据;以及后处理器,它被配置成在IFFT正在处理第二存储器部分中经编码的数据的同时处理第一存储器部分中经IFFT处理的数据,该后处理器被配置成以与编码器或IFFT不同的时钟速度工作。
文档编号H04L27/26GK101416463SQ200780012322
公开日2009年4月22日 申请日期2007年4月4日 优先权日2006年4月4日
发明者C·K·加纳帕锡, D·L·范维恩, J·N·苏布拉马尼亚姆, K·S·库森纽, 吴锡勇, 白金霞 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1