CN101416463A - 用于发射级的流水线处理的Ping-Pong存储器 - Google Patents
用于发射级的流水线处理的Ping-Pong存储器 Download PDFInfo
- Publication number
- CN101416463A CN101416463A CNA2007800123226A CN200780012322A CN101416463A CN 101416463 A CN101416463 A CN 101416463A CN A2007800123226 A CNA2007800123226 A CN A2007800123226A CN 200780012322 A CN200780012322 A CN 200780012322A CN 101416463 A CN101416463 A CN 101416463A
- Authority
- CN
- China
- Prior art keywords
- ifft
- memory
- data
- encoder
- clock speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Advance Control (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
描述了用于执行IFFT流水线化的技术。在一些方面,该流水线技术是用处理系统实现的,该处理系统具有:具有第一和第二部分的存储器;编码器,它被配置成处理第一和第二存储器部分的每一个中的数据;IFFT,它被配置成处理第一和第二存储器部分的每一个中经编码的数据;以及后处理器,它被配置成在IFFT正在处理第二存储器部分中经编码的数据的同时处理第一存储器部分中经IFFT处理的数据,该后处理器被配置成以与编码器或IFFT不同的时钟速度工作。
Description
根据35 U.S.C.§119的优先权要求
本专利申请要求2006年4月4日提交且被转让给本发明受让人并因而被明确援引纳入于此的题为“PIPELINING FOR HIGHER ORDER IFFTIMPLEMENTATIONS(用于较高阶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.11a/gWLAN系统、以及一些蜂窝系统等各种系统中。该处理技术的特定方面和实施例在以下是针对使用OFDM的广播系统——例如MediaFLO系统——来描述的。
图1示出了典型传输处理系统10、数据12、及RF发射机34的框图。处理系统10可以是基站的一部分或接入终端的一部分。处理系统10可以作为诸如MediaFLO系统等OFDM广播系统的一部分来实现。基站通常是固定站,并且也可被称作基收发机系统(BTS)、接入点、B节点等。终端可以是固定的或移动的,并且也可被称作移动站、用户装备、移动装备、接入终端等。终端可以是蜂窝电话、个人数字助理(PDA)、无线调制解调器、无线通信设备、手持式设备、订户单元等等。
处理系统10接收数据12并准备由RF发射机34进行传输的数据。在准备用于传输的数据时,处理系统10采用用于预传输处理的一个或多个引擎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接收码元S1,将该码元写入到系统的嵌入式随机存取存储器(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)。
如果情形为QAM 2/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/3turbo群的ping存储器的最后一项时,turbo编码引擎接收到处理QAM 1/3分组的请求。在该情形下,turbo编码器不得不在系统用于处理存储器的pong部分的时间内处理ping存储器的QAM 1/3分组和QAM 2/3分组。处理QAM2/3分组所需的时间量是1536个时钟(2048*0.75=1536)。处理QAM 1/3分组和QAM 2/3分组所需的时间量是2411个时钟(1393+1018=2411)。在该实例中,信道化器处理时间不得不增大875个时钟(2411-1536=875)或17.5μs的停顿时间。由于在最差情形中有两个(2个)QAM 2/3 turbo群,所以总停顿时钟数加倍至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存储器的奇数存储器组执行4KIFFT。
从时钟的角度,在该IFFT处理过程中,每个4K IFFT需要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在时段T0(未示出;标示最初开始状态)未处理数据。系统在时段T1开始,其中编码器处理将被存储在存储器M1中的码元S1。在该过程中,编码器对交织进行turbo编码,对码元进行信道化,并将结果S1写回到M1上。该过程122在时段T1结束时完成。
在T2,IFFT引擎处理S1(当前存储在M1中)。该过程124涉及到IFFT引擎从M1读取S1,执行IFFT,以及将结果写回到M1。当过程124正在进行时,编码器开始处理将存储在M2中的码元S2(过程126)。与过程122中大体类似,过程126涉及编码器对(构成S2的)交织进行turbo编码,对S2信道化,以及将结果S2写回到M2上。两个过程124、126在时段T2结束时完成。
在T3,后处理引擎(PP)处理S1(仍存储在M1中)。该过程128包括从M1读取码元S1,执行如上所述的任何必要的残余处理,以及在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,在T4,码元S1已经完成在该流水线中的处理。这在前一步骤中发生。T4开始,其中后处理引擎(PP)处理S2(仍存储在M2中)。该过程134包括从M2读取码元S2,执行如上所述的任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T4处,IFFT引擎处理S3(当前存储在M3中)。该过程136涉及到IFFT引擎从M3读取S3,执行IFFT,以及将结果写回到M3上。当过程134和136正在进行时,编码器开始处理将存储在M1中的码元S4(过程138)。与过程122中大体类似,过程138涉及编码器对(构成S4的)交织进行turbo编码,对S4信道化,以及将结果S4写回到M1上。所有三个过程134、136、138都在时段T4结束时完成。
在T5,码元S2已完成在该流水线中的处理。这在前一步骤中发生。T5开始,其中后处理引擎(PP)处理S3(仍存储在M3中)。该过程140包括从M3读取码元S3,执行如上所述的任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T5处,IFFT引擎处理S4(当前存储在M1中)。该过程136涉及到IFFT引擎从M1读取S4,执行IFFT,以及将结果写回到M1上。当过程140和142正在进行时,编码器开始处理将存储在M2中的码元S5(过程144)。与过程122中大体类似,过程144涉及编码器对(构成S5的)交织进行turbo编码,对S5信道化,以及将结果S5写回到M2上。所有三个过程140、142、144都在时段T5结束时完成。
在T6,码元S3已完成在该流水线中的处理。这在前一步骤中发生。T6开始,其中后处理引擎(PP)处理S4(仍存储在M1中)。该过程146包括从M1读取码元S4,执行如上所述的任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T6处,IFFT引擎处理S5(当前存储在M2中)。该过程148涉及到IFFT引擎从M2读取S5,执行IFFT,以及将结果写回到M2上。当过程146和148正在进行时,编码器开始处理将存储在M3中的码元S6(过程150)。与过程122中大体类似,过程150涉及编码器对(构成S6的)交织进行turbo编码,对S6信道化,以及将结果S6写回到M3上。所有三个过程146、148、150都在时段T6结束时完成。
在替换实施例中,数据可沿处理流水线移动。数据码元在其整个处理期间将不是驻留在同一存储器部分上而是由各引擎向前移动至其它存储器部分上。例如,代替所有处理单元都从M1读取S1,引擎将沿M1、M2等移动S1等等。该实现可要求硬件沿流水线传递数据以及要求至少四个存储器部分(以代替三个)以确保后处理引擎将总是有数据可传送。
图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存储器A 212a、ping存储器B 212b、pong存储器A 214a、以及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的访问权限。IFFT 204具有对ping存储器A 212a、ping存储器B 212b、pong存储器A 214a、以及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存储器B 224b中。这是先前被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在时段T0(未示出;标示最初开始状态)未处理数据。系统在时段T1开始,其中编码器处理将被存储在存储器M1a中的码元S1a(一半4K码元)。在该过程中,编码器对交织进行turbo编码,对码元进行信道化,并将结果S1a写回到M1a上。该过程122在时段T1结束时完成。
在T2,IFFT引擎处理S1a(当前存储在M1a中)。该过程264涉及到IFFT引擎从M1a读取S1a,执行IFFT,以及将结果写回到M1a。当过程264正在进行时,编码器开始处理将存储在M1b中的码元S1b(过程266)。与过程262中大体类似,过程266涉及编码器对(构成S1b的)交织进行turbo编码,对S1b信道化,以及将结果S1b写回到M1b上。两个处理264、266在时段T2结束时完成。
在T3,IFFT引擎处理S1b(当前存储在M1b中)。该过程268涉及到IFFT引擎从M1b读取S1b,执行IFFT,以及将结果写回到M1b上。过程266将在T3之前完成。发生一些处理用以将(存储在M1a中的)S1a的信息与(存储在M1b中的)S1b相组合以产生完整码元S1。S1被存储在以M1指示的组合存储器部分中。M1是M1a和M1b的组合。
在T4,后处理引擎(PP)处理S1(存储在M1中)。该过程270包括从M1读取码元S1,执行任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T4,编码器开始处理将存储在存储器M2a中的码元S2a(过程272)。与过程262中大体类似,过程272涉及编码器对(构成S2a的)交织进行turbo编码,对S2a信道化,以及将结果S2a写回到M2a上。到T5时,过程272将已经结束而过程270还未结束。后处理花费时间相当的长,并且该系统被设计成适应该点。具体而言,系统被设计成适应该后处理直至T6结束。
T5、T6、和T7示出了在三个存储器部分当中都存储有数据时流水线的情况并示出了四重存储器数据处理的循环的概念。术语循环被用在多种上下文中并且通常表示多种事物依次轮流进行某事。例如,图2c所示实现中的各引擎正依次轮流对四个存储器部分进行读写。循环还可以是其它依次轮流实现形式。
继续图2c,在T5,码元S1还未完成在该流水线中的处理。T5开始,其中后处理引擎(PP)继续处理S1(仍存储在M1中)。后处理引擎直至T7都将无需处理不同码元。同时在T5处,IFFT引擎处理S2a(当前存储在M2a中)。该过程274涉及到IFFT引擎从M2a读取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将在T7之前完成。发生一些处理用以将(存储在M2a中的)S2a的信息与(存储在M2b中的)S2b相组合以产生完整码元S2。S2被存储在以M2指示的组合存储器部分中。M2是M2a和M2b的组合。
在T7,后处理引擎(PP)处理S2(存储在M2中)。该过程280包括从M2读取码元S2,执行任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T7,编码器开始处理将存储在存储器M3a中的码元S3a(过程282)。与过程262中大体类似,过程282涉及编码器对(构成S3a的)交织进行turbo编码,对S3a信道化,以及将结果S3a写回到M3a上。到T8(未示出)时,过程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、以及第四模块部分299b的存储器模块297的装置;用于以循环方式将第一存储器部分298a、第二存储器部分298b、第三存储器部分299a、以及第四存储器部分299b的每一个中的数据编码(在turbo编码和信道化模块292中)的装置;用于对第一部分模块298a、第二部分模块298b、第三部分模块299a、以及第四部分模块299b的每一个中经编码的数据进行IFFT处理(在IFFT模块294中)的装置;以及用于对第一存储器部分模块298a、第二存储器部分模块298b、第三存储器部分模块299a、以及第四存储器部分模块299b的每一个中经IFFT处理的数据进行后处理器处理的(在后处理模块296中)装置。
用于后处理器处理的装置296是将第一存储器部分模块298a和第二存储器部分模块298b作为第一组合存储器部分模块298来处理的,且用于后处理器处理的装置296是将第三存储器部分模块299a和第四存储器部分模块299b作为第二组合存储器部分模块299来处理的。用于编码292、IFFT处理294、以及后处理器处理296的装置处于同一时钟速度。
图4a示出了解决传输/处理间隙时钟预算问题的另一示例性传输处理系统50的框图设计。处理系统300包括编码器引擎302、IFFT处理引擎304、后处理引擎306、以及连接至引擎302、304、306的存储器310。存储器310包括四个(4个)存储器部分(扇区)——ping存储器A 312a、ping存储器B 312b、pong存储器A 314a、以及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。在IFFT 344处理期间,数据被分为多个(两个)部分并且这两个子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存储器B334b中。这是先前被turbo编码器处理的另一半。IFFT引擎将该数据从频域转换到时域,并在经IFFT处理(经IFFT)的数据被写回到ping存储器334b中之前执行一些次要处理。MediaFLO分两步执行8K IFFT,对ping存储器的偶数存储器组执行4KIFFT并对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在时段T0(未示出;标示最初开始状态)未处理数据。系统在时段T1开始,其中编码器处理将被存储在存储器M1中的码元S1。在该过程中,编码器对交织进行turbo编码,对码元进行信道化,并将结果S1写回到M1上。该过程362在时段T1结束时完成。
在T2,IFFT引擎处理S1(当前存储在M1中)。代替将S1作为8K IFFT来处理,IFFT引擎将S1作为两个4K IFFT来处理,其中IFFT的两个子引擎各自处理一个4K数据。这些处理364、366涉及:一个IFFT子引擎从M1a读取S1a,执行IFFT,并将结果写回M1a;以及第二IFFT子引擎从M1b读取S1b,执行IFFT,并将结果写回M1b。这两个IFFT处理364、366并发进行。S1a和S1b随后被组合以形成S1并被存储在M1中(过程368)。由于IFFT正在存储器部分M1中工作,所以编码器在T2期间不能在该存储器区域中工作。
在T3,后处理引擎(PP)处理S1(存储在M1中)。该过程370包括从M1读取码元S1,执行任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T3期间,编码器开始处理将被存储在存储器M2中的码元S2(过程372)。与过程362中大体类似,过程372涉及编码器对(构成S2的)交织进行turbo编码,对S2信道化,以及将结果S2写回到M2上。到T4时,过程372将已经结束而过程370还未结束。后处理花费相当长的时间,并且该系统被设计成适应该点。具体而言,系统被设计成适应该后处理直至T4结束。
T4开始,其中后处理引擎(PP)继续处理S1(仍存储在M1中)。后处理引擎直至T5都将无需处理不同码元。同时在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并发进行。S2a和S2b随后被组合以形成S2并被存储在M2中(过程378)。由于IFFT正在存储器部分M2中工作,所以编码器在T4期间不能在该存储器区域中工作。
在T5,后处理引擎(PP)处理S2(存储在M2中)。该过程380包括从M2读取码元S2,执行任何必要的残余处理,以及在RF前端处发起码元发射过程。同时在T5期间,编码器开始处理将被存储在存储器M1中的码元S3(过程382)。与过程362中大体类似,过程382涉及编码器对(构成S3的)交织进行turbo编码,对S3信道化,以及将结果S3写回到M1上。到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和第四存储器部分模块399b作为第二组合存储器部分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将该频域数据编码和位交织。信道化器基于星座图(如果存在一个)将各频调加载到特定频率上,该过程也被称为码元安置。IFFT404对经编码的数据执行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将该频域数据编码和位交织。信道化器基于星座图(如果存在一个)将各频调加载到特定频率上,该过程也被称为码元安置。IFFT504对经编码的数据执行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)中并由处理器来执行。该存储器可被实现在处理器内,或可外置于处理器。
提供前面对所公开的实施例的描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他实施例而不会脱离本发明的精神或范围。由此,本发明并非旨在被限定于本文中示出的实施例,而是应被授予与本文中公开的原理和新颖性特征一致的最广义的范围。
Claims (25)
1.一种处理系统,包括:
具有第一和第二部分的存储器;
编码器,它被配置成处理所述第一和第二存储器部分的每一个中的数据;
IFFT,它被配置成处理所述第一和第二存储器部分的每一个中经编码的数据;以及
后处理器,它被配置成在所述IFFT正在处理所述第二存储器部分中所述经编码的数据的同时处理所述第一存储器部分中经IFFT处理的数据,所述后处理器被配置成以与所述编码器或所述IFFT不同的时钟速度工作。
2.如权利要求1所述的处理系统,其特征在于:
所述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.如权利要求11所述的方法,其特征在于:
以与所述编码不同的时钟速度进行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处理更快的时钟速度进行编码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US78944506P | 2006-04-04 | 2006-04-04 | |
US60/789,445 | 2006-04-04 | ||
US11/612,456 US8612504B2 (en) | 2006-04-04 | 2006-12-18 | IFFT processing in wireless communications |
US11/612,456 | 2006-12-18 | ||
PCT/US2007/066001 WO2007115328A2 (en) | 2006-04-04 | 2007-04-04 | Ping-pong memory for pipeline processing of transmission stages |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101416463A true CN101416463A (zh) | 2009-04-22 |
CN101416463B CN101416463B (zh) | 2013-01-30 |
Family
ID=40595673
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780012400.2A Expired - Fee Related CN101416464B (zh) | 2006-04-04 | 2007-04-04 | 电信快速傅立叶逆变换处理方法和系统 |
CN200780012322.6A Expired - Fee Related CN101416463B (zh) | 2006-04-04 | 2007-04-04 | 具有发射级的流水线处理的Ping-Pong存储器的方法、系统及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780012400.2A Expired - Fee Related CN101416464B (zh) | 2006-04-04 | 2007-04-04 | 电信快速傅立叶逆变换处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN101416464B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122703A (en) * | 1997-08-15 | 2000-09-19 | Amati Communications Corporation | Generalized fourier transform processing system |
US20050233710A1 (en) * | 2001-12-06 | 2005-10-20 | Ismail Lakkis | High data rate transmitter and receiver |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449664B1 (en) * | 1998-11-16 | 2002-09-10 | Viewahead Technology, Inc. | Two dimensional direct memory access in image processing systems |
GB2359967B (en) * | 2000-02-29 | 2004-05-12 | Virata Ltd | Qamd |
US7225320B2 (en) * | 2000-12-28 | 2007-05-29 | Koninklijke Philips Electronics N.V. | Control architecture for a high-throughput multi-processor channel decoding system |
-
2007
- 2007-04-04 CN CN200780012400.2A patent/CN101416464B/zh not_active Expired - Fee Related
- 2007-04-04 CN CN200780012322.6A patent/CN101416463B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122703A (en) * | 1997-08-15 | 2000-09-19 | Amati Communications Corporation | Generalized fourier transform processing system |
US20050233710A1 (en) * | 2001-12-06 | 2005-10-20 | Ismail Lakkis | High data rate transmitter and receiver |
Also Published As
Publication number | Publication date |
---|---|
CN101416463B (zh) | 2013-01-30 |
CN101416464B (zh) | 2013-06-05 |
CN101416464A (zh) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101463624B1 (ko) | 데이터 처리 장치 및 방법 | |
JP5392905B2 (ja) | データ処理装置及びデータ処理方法 | |
CN107113094B (zh) | 广播信号发送装置和广播信号发送方法 | |
US7830957B2 (en) | Parallel bit interleaver for a wireless system | |
CN112187403B (zh) | 信息处理的方法、装置、通信设备和通信系统 | |
CN106664436B (zh) | 广播信号发送设备、广播信号接收设备、广播信号发送方法、以及广播信号接收方法 | |
US20090049359A1 (en) | Circular buffer based rate matching | |
CN106664164B (zh) | 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法、及接收广播信号的方法 | |
EP2241012B1 (en) | System and method for pseudorandom permutation for interleaving in wireless communications | |
TW201838384A (zh) | 用於無線通訊中的速率匹配和交錯的技術 | |
JP2001500713A (ja) | 直交周波数分割多重通信方式によるデジタル信号の送信 | |
KR101274349B1 (ko) | 순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법 | |
WO2011123458A1 (en) | An enhanced frequency diversity technique for systems with carrier aggregation | |
US20200127761A1 (en) | Polar code interleaving processing method and apparatus | |
WO2009086726A1 (zh) | 宽带无线传输的方法、装置及一种传输系统 | |
US20080063105A1 (en) | System and method for implementing preamble channel in wireless communication system | |
JPWO2007110901A1 (ja) | インタリーブ方法および通信装置 | |
CN101416463B (zh) | 具有发射级的流水线处理的Ping-Pong存储器的方法、系统及装置 | |
KR100984657B1 (ko) | 송신 스테이지들의 파이프라인 프로세싱을 위한 핑-퐁 메모리 | |
CN111181572B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
US8543629B2 (en) | IFFT processing in wireless communications | |
KR20110065319A (ko) | 병렬처리 터보 복호 방법 및 장치 | |
KR101049947B1 (ko) | 컨볼루셔널 터보 코드 부호화 장치 및 컨볼루셔널 터보 코드를 사용하는 부호화 방법 | |
Song et al. | Optimized Interleavers for Bit-interleaved Polar Coded MIMO Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130130 Termination date: 20190404 |
|
CF01 | Termination of patent right due to non-payment of annual fee |