发明内容
本发明涉及的操作方法和装置在附图说明、具体实施方式和权利要求中有更详细的描述。
根据本发明的一方面,提供一种用于射频(RF)收发器中的基带处理模块,包括:
下行链路/上行链路接口,用于从所连接的主机处理组件中接收出站数据和为所连接的主机处理组件提供入站数据;
通信地连接于所述RF收发器的RF前端及所述下行链路/上行链路接口的TX处理组件,用于从所述下行链路/上行链路接口接收出站数据、对出站数据进行处理以产生基带TX信号以及将基带TX信号输出到所述RF收发器的RF前端;
连接至所述RF前端的RX处理组件,用于从所述RF前端接收基带RX信号,从所述基带RX信号生成一组增量冗余(IR)采样,并将所述一组IR采样传送给通信连接的存储器;
通信地连接于处理器、所述存储器以及所述下行链路/上行链路接口的涡轮(turbo)解码模块,所述涡轮解码模块用于:
由从所述存储器获得的一组IR采样构成涡轮码;
对所述涡轮码字进行解码以生成媒体访问控制(MAC)包;
检查所述MAC包的报头以确定所述MAC包携带的服务数据单元(SDU)的边界;
将所述MAC包连同所述SDU的边界一起作为入站数据输出给所述下行链路\上行链路接口。
优选地,所述涡轮解码模块进一步通过在检查MAC包的报头之前校验所述MAC包的CRC部分来对所述MAC包进行错误检验。
优选地,所述涡轮解码模块还用于:
对所述涡轮码字执行至少一次初始涡轮解码操作;
在对所述涡轮码字执行了至少一次初始涡轮解码操作后,确定所产生的MAC包是否无差错;
如果对所述涡轮码字执行的至少一次初始涡轮解码操作所产生的MAC包有差错,则对所述涡轮码字另外执行至少一次涡轮解码;
如果对所述涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包无差错,则在对所述涡轮码字执行预定次数的解码操作之前,结束对该涡轮码字的涡轮解码操作。
优选地,所述涡轮解码模块还用于:
从一组IR采样中形成第一涡轮码字,所述第一涡轮码字对应于所述MAC包的第一部分;
从另一组IR采样中形成第二涡轮码字,所述第二涡轮码字对应于所述MAC包的第二部分;
对所述第一涡轮码字执行预定次数的涡轮解码操作;
对所述第二涡轮码字执行至少一次初始涡轮解码操作;
对所述第二涡轮码字执行至少一次初始涡轮解码操作之后,确定所产生的MAC包是否无差错;
如果对所述第二涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包有差错,则对所述第二涡轮码字另外执行至少一次涡轮解码操作;
如果对所述第二涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包无差错,在对所述第二涡轮码字执行预定次数的涡轮解码操作之前,结束对所述第二涡轮码字的涡轮解码操作。
优选地,对所述第二涡轮码字执行至少一次初始涡轮解码操作之后,在确 定所产生的MAC包是否无差错时,所述涡轮解码模块对包含于所述MAC包的第二部分中的MAC包的CRC部分进行校验。
优选地,所述涡轮解码模块包括:
通信地连接于所述存储器的存储器接口;
解速率(de-rate)匹配模块;
涡轮解码器核心;
解扰和循环冗余校验(CRC)模块;以及
输出缓冲器。
优选地,所述解速率匹配模块用于对所述一组IR采样进行解速率匹配。
优选地,所述涡轮解码器核心包括:
多个寄存器,用于存储涡轮码字和中间结果;
通信地连接于所述多个寄存器中至少一个寄存器的正向主管道相加比较选择引擎,用于对所述涡轮码字进行正向相加、比较、选择操作;
通信地连接于所述多个寄存器中至少一个寄存器的反向主管道相加比较选择引擎,用于对所述涡轮码字进行反向相加、比较、选择操作;
通信地连接于所述正向主管道相加比较选择引擎和所述反向主管道相加比较选择引擎的度量存储器,用于存储对应于所述涡轮码字的涡轮解码操作的一组度量;
通信地连接于所述反向主管道相加比较选择引擎、所述度量存储器和所述解扰和CRC模块的对数似然比引擎,用于处理所述正向主管道相加比较选择引擎和所述反向主管道相加比较选择引擎的结果以产生涡轮解码后的结果。
优选地,所述正向主管道相加比较选择引擎包括:
度量产生和累加模块,为所述涡轮码字每个解码操作产生最大数目的度量校验和;
度量累加选择模块,用于对所述度量产生和累加模块生成的最大数目的度量校验和进行多次比较,以从所述最大数目的校验和中选择一组度量校验和并将所选择的校验和输出。
优选地,所述反向主管道相加比较选择引擎包括:
度量产生和累加模块,为所述涡轮码字每个解码操作产生最大数目的度量校验和;
度量累加选择模块,用于对所述度量产生和累加模块产生的最大数目的度量校验和进行多次比较,以从所述最大数目的度量校验和中选择一组度量校验和并将所选择的度量校验和输出。
根据本发明的一方面,提供一种在无线终端的射频(RF)收发器中执行涡轮解码操作的方法,所述方法包括:
接收RX RF信号;
将所述RX RF信号转换成基带RX信号;
从所述基带RX信号产生一组增量冗余(IR)采样;
将所述一组IR采样存储到增量冗余(IR)存储器中;以及
所述RF收发器的涡轮解码模块:
从所述存储器获取一组IR采样;
从所述一组IR采样形成涡轮码字;
对所述涡轮码字进行解码以生成媒体访问控制(MAC)包;
检查所述MAC包的报头以确定所述MAC包携带的服务数据单元(SDU)的边界;
将所述MAC包连同所述SDU的边界一起作为入站数据输出给所述下行链路\上行链路接口。
优选地,所述方法进一步包括所述涡轮解码模块通过在检查MAC包的报头之前校验所述MAC包的CRC部分来对所述MAC包进行错误检验。
优选地,所述方法进一步包括所述收发器的涡轮解码模块:
对所述涡轮码字执行至少一次初始涡轮解码操作;
在对所述涡轮码字执行了至少一次初始涡轮解码操作后,确定所产生的MAC包是否无差错;
如果对所述涡轮码字执行的至少一次初始涡轮解码操作所产生的MAC包有差错,则对所述涡轮码字另外执行至少一次涡轮解码;
如果对所述涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包无 差错,则在对所述涡轮码字执行预定次数的解码操作之前,结束对该涡轮码字的涡轮解码操作。
优选地,所述方法进一步包括所述收发器的涡轮解码模块:
从一组IR采样中形成第一涡轮码字,所述第一涡轮码字对应于所述MAC包的第一部分;
从另一组IR采样中形成第二涡轮码字,所述第二涡轮码字对应于所述MAC包的第二部分;
对所述第一涡轮码字执行预定次数的涡轮解码操作;
对所述第二涡轮码字执行至少一次初始涡轮解码操作;
对所述第二涡轮码字执行至少一次初始涡轮解码操作之后,确定所产生的MAC包是否无差错;
如果对所述第二涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包有差错,则对所述第二涡轮码字另外执行至少一次涡轮解码操作;
如果对所述第二涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包无差错,在对所述第二涡轮码字执行预定次数的涡轮解码操作之前,结束对所述第二涡轮码字的涡轮解码操作。
根据本发明的一个方面,提供一种在无线终端的射频(RF)收发器中执行涡轮解码操作的方法,所述方法包括:
接收RX RF信号;
转换所述RF信号为基带RX信号;
从所述RX信号产生一组增量冗余(IR)采样;
将所述一组R采样存储到增量冗余(IR)存储器中;以及
所述RF收发器的涡轮解码模块:
从所述存储器中获取一组IR采样;
从所述一组IR采样构成第一涡轮码字,所述第一涡轮码字对应所述MAC包的第一部分;
对所述第一涡轮码字执行预定次数的涡轮解码操作;
从所述存储器中获得另一组IR采样;
由所述另一组IR采样构成第二涡轮码字,所述第二涡轮码字对应所述MAC包的第二部分;
对所述第二涡轮码字执行至少一个初始涡轮解码操作;
在对所述第二涡轮码字执行至少一个初始涡轮解码操作后,确定所生成地MAC包是否无错误;
如果对所述第二涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包有差错,则对所述第二涡轮码字另外执行至少一次涡轮解码操作;
如果对所述第二涡轮码字执行至少一次初始涡轮解码操作所产生的MAC包无差错:
在对所述第二涡轮码字执行预定次数的涡轮解码操作之前,结束对所述第二涡轮码字的涡轮解码操作;
检查所述MAC包的报头;
确定所述MAC包携带的服务数据单元的边界;;
将所述MAC包连同所述SDU的边界一起作为入站数据输出给所述下行链路\上行链路接口。
优选地,对所述第二涡轮码字执行至少一次初始涡轮解码操作之后,在确定所产生的MAC包是否无差错时,所述涡轮解码模块对包含于所述MAC包的第二部分中的MAC包的CRC部分进行校验。
从以下的描述和附图中,可以得到对本发明的各种优点、各个方面、创新特征、及其实施例细节的更深入的理解。
具体实施方式
图1是支持根据本发明运行的无线终端的蜂窝无线通信系统100的局部示意图。蜂窝无线通信系统100包括公共交换电话网(PSTN)接口101如移动交换中心、无线网络分组数据网102、无线电网络控制器/基站控制器(RNC/BSC)152和154、基站/节点103、104、105和106。其中,所述无线网络分组数据网102包括GPRS支持节点、EDGE支持节点、WCDMA支持节点和其他组件。无线网络分组数据网102连接到其他的私人或公共分组数据网114如因特网、WAN、LAN等。常规语音终端121连接到PSTN110。网络电话(VoIP)终端123和个人计算机125连接到因特网/WAN114。PSTN接口101连接到PSTN110。当然,该特定的结构随着系统的变化而变化。
基站/节点103-106中,每个基站/节点为一个蜂窝/无线小区服务,每个基站/节点在其服务的蜂窝/无线小区内支持无线通信。无线链路包括正向链路和反向链路,用以支持基站与基站所服务的无线终端之间的无线通信。这些无线 链路支持数字数据通信、VoIP通信和其他数字多媒体通信。蜂窝无线通信系统100还可向后兼容,支持模拟操作。蜂窝无线通信系统100支持一个或多个UMST/WCDMA标准、全球移动通信系统(GSM)标准、GSM的扩展--GSM通用分组无线业务(GPRS)、加强数据率的GSM(或全球)演化(EDGE)标准和/或其他各种CDMA标准、TDMA标准和/或FDMA标准等。
无线终端116、118、120、122、124、126、128和130使用基站103-106通过无线链路连接到蜂窝无线通信系统100。如图所示,无线终端可包括蜂窝电话116和118、膝上型计算机120和122、桌面计算机124和126、数据终端128和130。但是,蜂窝无线通信系统100也支持与其他类型的无线终端的通信。众所周知,膝上型计算机120和122、桌面计算机124和126、数据终端128和130、蜂窝电话116和118等设备都能够在因特网114上“冲浪”,传送和接收数据通信如email,传送和接收文件和执行其他数据操作。这些数据操作很多都要求相当大的下载(下行)数据速率,而对上载(上行)数据速率则没有那么严格的要求。因此,无线终端116-130中的一部分或者全部都能支持EDGE操作标准、GPRS标准、UMTS/WCDMA标准和/或GSM标准。
图2是无线终端的示意框图。该无线终端包括主机处理组件202和与之关联的无线电收发装置204。对于蜂窝电话,主机处理组件和无线电收发装置204设置在单个壳体(housing)内。在一些蜂窝电话中,主机处理组件202和无线电收发装置204的部分或全部组件被设置在单个集成电路(IC)上。对于个人数字助理主机、膝上型主机和/或个人计算机主机,无线电收发装置204可位于扩充卡上,也可位于与主机处理组件202分离的壳体(house)内。主机处理组件202至少包括处理模块206、存储器208、无线电接口210、输入接口212、输出接口214。处理模块206和存储器208执行指令以支持主机终端功能。例如,对于蜂窝电话主机设备,处理模块206执行用户接口操作和在其他操作中执行主机软件程序。
无线电接口210允许从无线电装置204上接收数据和将数据发送到无线电收发装置204上。对于从无线电装置204上接收数据(如入站数据),无线电接口210将数据提供给处理模块206以进行进一步的处理和/或将数据发送给 输出接口214。输出接口204提供到输出显示设备如显示器、监视器、扬声器等的连通性,以显示所接收的数据。无线电接口210也将数据从处理模块206提供给无线电收发装置204。处理模块206能够通过输入接口212从输入设备如键盘、键区、麦克风等接收数据,或者自己产生数据。对于通过输入接口212接收数据,处理模块206可对该数据实施相应的主机功能和/或将数据通过无线电接口210发送到无线电收发装置204。
无线电收发装置204包括主机接口220、基带处理模块(基带处理器)222、模拟-数字转换器224、滤波/增益模块226、下变频转换模块228、低噪声放大器230、本地振荡器232、存储器234、数字-模拟转换模块228、滤波/增益模块238、上变频转换模块240、功率放大器242、RX(接收)滤波模块264、TX(发射)滤波模块258、TX/RX开关模块260和天线248。天线248可以是由发射路径和接收路径共享(半双工)的单个天线,或者包括分别用于发射路径和接收路径的分开的天线(全双工)。天线的实现取决于无线通信设备遵循的特定标准。
基带处理模块222结合存储器234中的操作指令,实现数字接收器功能和数字发射器功能。所述数字接收器功能包括但不限于数字中频-基带转换、解调、星群解映射、解密和/或解码。数字发射器功能包括但不限于编码、解密、星群映射、调制和/或数字基带-中频转换。基带处理模块222提供的发射和接收功能可用共享的处理装置或独立的处理装置实现。所述处理装置可包括微处理器、微控制器、数字信号处理器、微计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路和/或任何基于操作指令操作信号(模拟的和/或数字的)的装置。存储器234可以是单个存储装置或多个存储装置。所述存储装置可以是只读存储器、随机存取存储器、易失性存储器、永久性存储器、静态存储器、动态存储器、闪存和/或任何存储数字信息的装置。要注意,当基带处理模块222通过状态机、模拟电路、数字电路和/或逻辑电路实施其一个或多个功能时,存储着对应的操作指令的存储器被嵌入在包括该状态机、模拟电路、数字电路和/或逻辑电路的电路上。
在操作上,无线电收发装置204通过主机接口220从主机处理组件上接收 出站数据250。主机接口220将出站数据250发送给基带处理模块222,基带处理模块222根据特定的无线通信标准(如UMTS/WCDMA、GSM、GPRDS、EDGE等)处理出站数据250以产生数字发射格式数据252。数字发射格式数据252是数字的基带信号或数字的低中频(IF)信号,该低中频符号的频率范围在0至几千/几万赫兹(Hz)之间。
数字-模拟转换器236将数字发射格式数据252从数字域转换成模拟域。滤波/增益模块238将模拟信号提供给上变频转换模块240之前,滤波和/或调整模拟信号的增益。上变频转换模块240基于发射器本地振荡254将模拟基带或低IF信号直接转换成RF信号,所述发射器本地振荡254由本地振荡模块232产生。功率放大器242将RF信号放大以生成出站RF信号256,该出站RF信号256被TX滤波模块258滤波。TX/RX开关模块260从TX滤波模块258上接收经放大和经滤波的RF信号,将出站RF信号256提供给天线248。天线248将出站RF信号256发射给目标设备如基站103-106。
无线电收发装置204也接收由基站通过天线248、TX/RX开关模块160、RF滤波模块264传送的入站数据262。低噪声放大器230接收入站RF信号262和放大入站RF信号262以产生经放大的入站RF信号。低噪声放大器230将放大后的入站RF信号提供给下变频转换模块228,下变频转换模块228基于接收器本地振荡将经放大的入站RF信号转换成入站低IF信号或基带信号,该接收器本地振荡由接收器本地振荡模块232提供。下变频转换模块228将入站低IF信号提供给滤波/增益模块226。滤波/增益模块226将(入站低IF)信号提供给模拟-数字转换器224之前,滤波和/或调整该信号的增益。模拟-数字转换器224将滤波后的入站低IF信号(或基带信号)从模拟域转换成数字域,以产生数字接收格式数据268。基带处理模块222根据无线电收发装置204实施的特定无线通信标准对该数字接收格式数据进行解调、解映射、解密和/或解码以还原入站数据270。主机接口220通过无线电接口210将还原的入站数据270提供给主机处理组件202。
图3是根据本发明实施例的基带处理模块222的组件的示意框图。基带处理模块(基带处理器)222包括处理器302、存储器接口304、板载存储器306、下行/上行接口308、TX处理组件310和TX接口312。基带处理模块222还包括RX接口314、蜂窝搜索模块316、多路经扫描模块318、耙式接收器组合器320和涡轮解码模块322。在一些实施例中,基带处理模块222连接到外接存储器234。但是,在其他的实施例中,存储器306满足基带处理模块222的所有要求。
如图2中所述,基带处理模块从连接的主机处理组件202上接收出战数据250和将入站数据270提供给连接的主机处理组件202。另外,基带处理模块222将数字发射格式数据(基带TX信号)252提供给连接的RF前端。另外,基带处理模块222从所连接的RF前端接收数字接收格式数据268。如图2中所述,ADC 224产出数字接收格式数据(基带RX数据)268,而RF前端的DAC 236从基带处理模块222上接收数字发射格式数据(基带TX数据)252。
根据本发明的特定实施例,下行/上行接口308可操作地从连接的主机处理组件上接收出站数据250,例如,通过主机接口220从主机处理组件202上接收。另外,下行/上行接口308可操作地通过主机接口220将入站数据270提供给连接的主机处理组件202。读者应该知晓,可将基带处理模块222与无线电收发装置204的其他组件一起设置在单个集成电路上。另外,可将无线电收发装置204与主机处理组件202设置在单个集成电路上。因此,在这种情况下,图2中除了天线、显示器、扬声器等和键盘、键区、麦克风等之外,其他的组件都可以设置在单个集成电路上。但是,在其他的一些实施例中,基带处理模块222和主机处理模块202设置在分开的集成电路上。在不脱离本发明的教导的情况下,有多种不同的集成电路构造是可行的。
如图2所示TX处理组件310和TX接口312通信地连接到RF前端,并连接到下行链路/上行链路接口308。TX处理组件310和TX接口312用于从下行链路/上行链路接口308上接收出站数据,处理出站数据以产出基带TX信号252和将出站TX数据252输出给RF前端,如图2中所述。
RX处理组件包括RX接口314、耙式接收器组合器320,在一些方案中,处理器302用于从RF前端接收RF基带信号268。这些组件也可从RX基带信号268上产生一组IR采样,并将该组IR采样发送给存储器234和/或236。根 据本发明,IR采样构成所接收的涡轮码字的全部或部分。一般,信号编码的使用是为了克服不太理想的信道条件。编码操作包括在无线链路的发射端的对信息进行编码以产生码字,例如涡轮码字。通常对该涡轮码字进行收缩处理(punctured),然后再将收缩处理后的涡轮码字被发射给接收器。接收器接收到的涡轮码字是由无线发射器和无线发射器之间的信道对该收缩处理后的涡轮码字进行相关操作后的版本。接收器一旦接收该涡轮码字,就对其进行解收缩处理和解码。将该涡轮码字成功解码后,就取得了被发射的数据。
在IR的操作下,部分涡轮码字从发射器发射到接收器。如果接收器成功地将涡轮码字解码,比如,基于所接受的内容,循环冗余校验(CRC)显示没有错误,那么发射器会发射该涡轮码字的另一部分。该另一部分涡轮码字的发射可能与前一部分涡轮码字的发射不同,这取决于不同的收缩处理式样、不同的编码率、不同的数据发射率等。IR操作时,后面的涡轮码字的发射与前面的涡轮码字的发射相同。根据本发明,任何情况下,码字或涡轮码字的起始部分以及随后部分都被接收、组合以及进行涡轮解码。在很多操作中,携带所有的或部分的涡轮码字的多个接收部分被组合和解码后,涡轮码字即被成功解码。
根据本发明,涡轮解码模块322可操作地从存储器304/306上接收IR采样组,将表示所有/部分涡轮码字的该IR采样组合以产生涡轮码字,并将所产生的涡轮码字解码,以及在差错检测操作中确定该涡轮解码操作是否成功。当该涡轮解码操作成功时,涡轮解码模块322为下行链路/上行链路接口308产生入站数据270。涡轮解码模块322的操作和结构将在图4-13中进行阐述。与之前的无线电频率收发器的解码操作相比,本发明的涡轮解码模块322从其支持的操作中为处理器302减轻了负担。虽然这里描述的解码操作与涡轮解码有关,但本发明的原理也能应用到其他类型的解码操作中,如卷积编码、低密度奇偶校验(LDPC)编码和其他类型的信道编码。
图4是根据本发明一个实施例的涡轮解码模块322的组件的示意图。如图所示,涡轮解码模块322包括存储器接口402,该存储器接口402可通信地连接于存储器234和/或236。涡轮解码模块322还包括WCDMA解速率(de-rate)匹配模块404、涡轮解码器核心406。涡轮解码器核心406的结构将会图5和图6中阐述,涡轮解码器核心的操作将会结合图8-10进行阐述。涡轮解码模块322还包括解扰和循环冗余校验(CRC)模块408。解扰和循环冗余校验(CRC)模块408的操作将会结合图11-13进行阐述。最后,涡轮解码模块322还包括输出缓冲器410,输出缓冲器410可以是往复式解码输出缓冲器。输出缓冲器410连接到下行链路/上行链路接口308。涡轮解码模块322还包括处理器接口、控制参数和总线控制逻辑412,通过处理器总线414连接到处理器302。
图5是本发明一实施例的涡轮解码模块322的涡轮解码核心406的组件示意图。涡轮解码核心406包括软符号存储器602、Alpha度量存储器612、LLRe存储器606和608。其中,软符号存储器602存储涡轮码字的软符号,Alpha度量存储器612存储中间结果,LLRe存储器606和608存储涡轮解码过程使用的信息。涡轮交错器地址产生器610产生存储器入口的地址,涡轮解码过程中使用存储器入口的地址访问LLRe存储器608和606。涡轮解码过程中需要的数据取决于所使用的特定的涡轮码。例如,宽带CDMA/UMTS标准需要使用特定类型的涡轮码字。因此,涡轮解码器核心406根据所使用的涡轮码来操作。
涡轮解码器核心406包括正向主管道相加比较选择引擎(forward mainpipe add compare select engine)614,通讯地连接到寄存器601-608中的至少一个。在使用从存储器604和存储器602获得的参数进行正向涡轮解码操作的过程中,正向主管道相加比较选择引擎614对涡轮码字执行正向相加、比较和选择操作。已知在涡轮解码操作时,使用涡轮码网格(trellis)及其对应的参数来产生/更新基于涡轮码的软符号值的度量。正向主管道相加比较选择引擎614正向通过网络(trellis)以产生/更新度量,该网格操作对应于所使用的涡轮码。根据一个实施例,在贯穿该网格时涡轮解码器核心406使用维特比(Viterbi)解码器。
涡轮解码器核心406还包括反向主管道相加比较选择引擎616,通信地连接至多个寄存器602-606中的至少一个。当涡轮解码核心406反向通过对应的网格时,反向主管道相加比较选择引擎616对涡轮码字执行反向相加、比较和选择操作。涡轮解码器核心406还包括度量存储器612,度量存储器612通信地连接于正向主管道相加比较选择引擎614和对数似然率引擎618。度量存储器612可存储与涡轮码的涡轮解码操作对应的至少一组度量。
最后,涡轮解码器核心还包括对数似然率引擎618,通信地连接于反向主管道相加比较选择引擎616、度量存储器612、解扰CRC模块408。对数似然率引擎618处理正向主管道相加比较选择引擎614以及反向主管道相加比较选择引擎616产生的结果,从而生成涡轮解码结果。在本发明一些实施例的涡轮解码模块322中,该解码过程产生媒介访问控制(MAC)包或其一部分,并由涡轮解码模块322进行进一步的操作。
图6是根据本发明一实施例的涡轮解码模块的涡轮解码核心的组件示意图,所述组件涉及涡轮解码操作中的数据流。图6中,正向主管道相加比较选择引擎614和反向主管道相加比较选择引擎616以及对数似然率引擎618的组件连接到存储器604和606,并在这种连接方式下对这些组件进行进一步的说明。
正向主管道相加比较选择引擎614从软符号存储器602中接收软符号并从LLRe存储器606中接收将在相加、比较、选择操作中使用的参数。正向主管道相加比较选择引擎614包括度量产生和累加模块702、度量累加选择模块704。度量产生和累加模块702为每个涡轮码字的每个网格步骤(trellis step)产生最大数目的度量校验和。度量累加选择模块704对度量产生和累加模块702产生的最大数目的度量校验和执行多次比较。另外,度量累加选择模块704从所述最大数目的校验和中选择至少一组度量校验和,并输出选择的一组度量校验和。随着度量产生和累加模块702为每个解码操作(例如为相应的涡轮码的每个网格步骤)产生最大数目的度量校验,单个时钟周期内将获得特定网格步骤的特定结果。
反向主管道相加比较选择引擎616包括度量产生和累加模块706和度量累加选择模块708。反向主管道相加比较选择引擎616通信地连接于软符号存储器604和LLRe存储器606。度量产生和累加模块706可为每个解码操作的每个涡轮码字生成最大数目的度量校验和。另外,度量累加选择模块708可对度量产生和累加模块706生成的最大数目的度量校验和执行多次比较。另外,度量累加选择模块708可从所述最大数目的校验和中选择一组度量校验和,然后输出选择的一组度量校验和。
对数似然率引擎618包括三个级:LLR级1-710、LLR级2-712、LLR级3-714。对数似然率引擎618可接收alpha度量存储器612以及反向主管道度量产生和累加模块706的输入。对数似然率引擎618的输出包括解码后的涡轮码字和LLRe信息,该解码后的涡轮码字和LLRe信息被返回到涡轮解码核心以进行随后的迭代解码。
图7是根据本发明一实施例的IR采样/涡轮解码操作800的流程图。操作800包括首先接收指令以开始涡轮解码操作(步骤802)。所述指令可从连接的处理器302、耙式接收器组合器320或其他的源中接收。接收到指令启动涡轮解码操作后,涡轮解码模块从对应于涡轮码字的存储器上接收至少一组IR采样(步骤804)。然后对该IR采样组进行比率解匹配(rate dematch)以形成涡轮码字(步骤806)。
形成涡轮码字后,涡轮解码模块对涡轮码字执行解码操作(步骤808)。图9中示出了这些操作的一个特定实施例。涡轮码字被涡轮解码后,解扰和CRC校验模块408对解码后的涡轮码字解扰,以生成对应的MAC包的全部或一部分。接着,解扰和CRC校验模块408可确定该涡轮解码操作是否成功。一种确定该涡轮解码操作是否成功的技术是通过该涡轮解码操作过程中生成的MAC包内包含的CRC模块来实现。如果步骤810中确定涡轮解码操作未成功,涡轮解码模块将报告该涡轮解码操作不成功。所述报告可简单地包括将解码操作的状态写入存储器234或306。或者,报告不成功的涡轮解码操作还可通过发送通知给处理器302来实现。接着,处理器302可启动自动重发请求(ARQ)操作,使接收器在随后的发射中发送该涡轮码字的其他部分或冗余部分。
如果步骤810中检测到涡轮解码操作成功执行,涡轮解码模块就将入站数据通过输出缓冲器410传递给下行链路/上行链路接口308(步骤814)。接着,涡轮解码模块报告该成功的解码操作(步骤816)。与步骤812中相同,报告 成功的涡轮解码操作可包括发送信息给处理器302或写入存储器234或306的特定位置。当涡轮解码操作成功后,从存储器234或306上清除对应于该涡轮码字的IR采样组,以容纳下一组新数据。步骤812和步骤816之后,操作结束。
图8是根据本发明一实施例的度量标准化的流程图。已知,在使用网格的涡轮解码操作例如Viterbi解码操作中,存储着多个度量,该多个度量表示贯穿涡轮码网格的特定路径。根据本发明,解码过程可包括贯穿对应的涡轮码网格的多个正向处理和多个反向处理。在贯穿网格的每个步骤或每个决策点上,更新对应于该网格的特定路径的度量。因为在贯穿网格的正向和反向上有多个路径,在每个网格步骤都会增大的度量值,甚至会增长得过度大。因此,根据本发明的一方面,涡轮解码模块中保留一组度量中的每个度量,不仅仅可由量值表示,也可由符号表示,如加和减。
图8示出了本发明的涡轮解码模块322中保留的多个度量:度量0到度量N,该多个度量用于特定涡轮码字的解码操作。根据本发明的一方面,涡轮解码模块322确定度量组902和度量组906中的被选择的度量。接着,基于该被选择的度量,涡轮解码模块周期性地将所述度量组的其他度量一一标准化。
在涡轮解码操作的每个网格步骤中,涡轮解码核心406更新该度量,如操作902所示,这已经在图5和6中进行了阐述。在某些操作间隔,确定是否对度量进行标准化(步骤904)。如果步骤904中确定要将该度量标准化,就基于被选择的度量值将该度量标准化,如操作906所示。如果步骤904中确定不将该度量标准化,那么就不执行标准化操作,该度量在涡轮解码模块随后的操作中更新。
度量的标准化作为每个度量更新操作即每个网格步骤的一部分。可选地,当一个和多个度量值超过了阈值,或者根据其他的操作,可以在每次正向穿行网格后、每次反向穿行网格后、多次正向和反向穿行网格后,将度量标准化。当然,可根据多种技术来实施标准化操作,例如,每次正向网格贯穿或者任何的度量值超过阈值时。
在这些标准化操作的一个特定方面中,所选择的度量的身份(identity) 在涡轮码字的所有涡轮解码操作中是固定的。例如,参考图8,可以确定度量0是被选择的度量。因此,操作906中表示的每个标准化操作中,度量1到度量N基于度量0的值进行标准化。在另一个操作中,涡轮解码模块自身用于选择被选择的度量的身份(identity)。在该种情况下,涡轮解码模块选择该被选择的度量的身份。该度量可以在涡轮解码操作的开始时选择,或者在涡轮解码操作的任何时间点上选择。
图9是根据本发明各种实施例的度量标准化的流程图。操作1000从贯穿对应的涡轮解码网格的正向涡轮解码路径开始(步骤1002)。贯穿涡轮码网格的正向涡轮解码路径结束后,做出是否对度量进行标准化的决策(步骤1004)。如果确定需要进行度量的标准化,则基于选择的度量将该度量标准化(步骤1006)。但是,如果确定不需要进行度量的标准化,操作就从步骤1004跳到步骤1008中。在步骤1008中,执行贯穿涡轮网格的反向路径。可选地,贯穿涡轮码网格的多个正向穿行可以连续执行。
步骤1008中贯穿对应的涡轮码网格的反向路径完成后,确定是否进行度量的标准化(步骤1010)。如果确定在反向穿过涡轮码网格后将度量标准化,那么就基于选择的度量进行该度量的标准化(步骤1012)。接着,确定涡轮解码操作是否已经完成(步骤1014)。如果步骤1014中检测到涡轮解码操作尚未完成,那么操作就返回到步骤1002。另外,步骤1010中确定不需要进行标准化,那么操作就从步骤1010转到步骤1014。这里举例的是贯穿对应的涡轮码网格的正向穿行,但是也可以执行贯穿涡轮码网格的多个反向穿行。在该多个反向穿行的情况下,操作将从步骤1012返回到步骤1008,直到最大数目地反向穿行对应的涡轮码网格已经完成。当步骤1014中检测到涡轮解码操作已经完成后,解码操作的的结果被传递给解密和CRC校验模块408以进行解扰和错误校验操作。
图9的操作1000中示出了多个决策点,例如步骤1004和步骤1010。在任何指定的配置中,这些决策点都是固定的。因此,例如,在一种配置下,仅仅在正向穿行涡轮码网格后才将度量标准化;而在另一种配置下,仅仅在反向穿行涡轮码网格后才将度量标准化。此外,这些决策点实际上由涡轮解码器核心测定,且仅仅在一个或多个度量超过阈值后才执行标准化操作。如图8所示,在每次网格度量被更新时,将度量标准化。
图10是本发明的涡轮解码模块对IR采样施加操作以产生涡轮码字的流程图。该操作1100由涡轮解码模块322执行,尤其是由涡轮解码模块322的WCDMA解速率(de-rate)匹配模块404执行。操作从涡轮解码模块从存储器上接收一组IR采样开始(步骤1102)。WCDMA解速率(de-rate)匹配模块404对该组IR采样进行解速率(de-rate)匹配,以形成涡轮码字(步骤1104)。接着,该涡轮码字被传递给涡轮解码器核心406以进行涡轮解码(步骤1106)。
图11A、11B、11C和11D是根据本发明的实施例将涡轮码解码以产生媒介访问控制(MAC)包以及使用涡轮解码模块322处理该MAC包的方法的示意图。详细参考图11A,MAC包1216包括MAC报头1218和MAC包有效载荷1220。MAC包有效载荷1220包括多个服务数据单元(SDU)1224-1232。要求将MAC包1216成功地从发射器如基站发送到接收器,如无线终端。
详细参考图11B,在发射端,MAC包1216分割成多个MAC包片段,如分割成3个MAC包片段1208、1210和1212。附加给MAC包片段1208、1210和1212的是循环冗余校验1214。发射器形成涡轮码字1202、1204、1206来携带MAC包片段1208、1210、1212以及CRC 1214。例如,涡轮码字1202携带MAC包片段1-1208,涡轮码字1204携带MAC包片段2-1210,涡轮码字1206携带MAC包片段3-1212以及CRC 1214。涡轮码字1202-1206被连接在一起,并被从发射器发射,并被接收器接收。本发明的涡轮解码模块接收涡轮码字1202-1206并对该涡轮码字进行解码。涡轮码字1202和1206的涡轮解码操作完成后,涡轮解码模块使用CRC 1214对该接收的MAC包1216执行错误校验操作。接收器上成功的错误检验操作将获得MAC包1216。不成功的错误校验操作会导致对该涡轮码字1202-1206执行附加的ARQ操作。
详细参考图11C,在发射器端,也可将MAC包1216分割成两个MAC包片段1224和1226。添加到MAC包片段1224和1226上的是循环冗余校验1228。发射器构造出涡轮码字1220和1222来携带MAC包片段1224和1226以及 CRC1228。涡轮码字1220和1222被连接在一起,由发射器发射,并由接收器接收。本发明的涡轮解码模块分别单独地接收涡轮码字1220、1222并对涡轮码字1220和1222进行解码。涡轮码字1220和1222的涡轮解码操作完成后,涡轮解码模块使用CRC1228对该接收的MAC包1216执行错误校验操作。接收器上成功的错误检验操作将获得MAC包1216。不成功的错误校验操作会导致对该涡轮码字1220和1222执行附加的ARQ操作。
参考图11D,在发射器端,MAC包1216后添加了循环冗余校验1252,并一起由单个涡轮码字1250进行传送。涡轮码字1250从发射器上发射,并由接收器接收。本发明的涡轮解码模块接收涡轮码字1250并对该涡轮码字1250解码。涡轮码字1250的涡轮解码操作完成后,涡轮解码模块使用CRC1252对该接收的MAC包1216执行错误校验操作。接收器上成功的错误检验操作获得MAC包1216。不成功的错误校验操作会导致对该涡轮码字1202-1206执行附加的ARQ操作。
参考图11A-11D,根据本发明的一方面,涡轮解码模块322不仅可对涡轮码字1202-1206解码,还可检验MAC包1216的MAC报头1218。另外,涡轮解码模块可确定MAC包1220所传送的服务数据单元(SDU)1224、1226、1228、1230的边界。最后,涡轮解码模块可像入站数据270一样将MAC包1216以及SDU1224-1262的边界一起输出给下行链路/上行链路接口308。这样,与之前的系统比较,之前的系统中,需要处理器302对MAC包1216执行错误校验以及将MAC包1216分割成SDU1224-1232;本发明中由涡轮解码模块322执行所述的错误校验和MAC包分割。
图12是根据本发明一实施例对承载MAC包的一个或多个涡轮码字解码的流程图。根据本发明该方面的一般原理,涡轮解码模块仅仅在需要时对相关的涡轮码执行预定次数的解码操作。
当MAC包由多个涡轮码字承载时,涡轮解码模块对最后的涡轮码字执行的解码操作与对之前的涡轮码字执行的解码操作不同。当MAC包由单个涡轮码字承载时,当该MAC包无差错地生成时,在该涡轮码字上执行的涡轮解码操作次数少于预定的次数。
对应由多个涡轮码字承载MAC包的情况,操作1300要求对最先的M-1个涡轮码字中的每个涡轮码字执行预定次数的解码操作(步骤1302),并对第M个涡轮码字执行一次或多次解码操作(步骤1304-1310)。根据本发明,所述M可以是大于或等于2的任何整数。例如,参考图11B和12,当MAC包由三个涡轮码字1202、1204和1206构成时,步骤1302的操作将包括对第一涡轮码字1202和第二涡轮码字1204执行指定次数的解码操作。接着,涡轮解码模块继续该处理流程,涡轮解码模块对第三个涡轮码字1206进行第一次解码操作(步骤1304)。接着,涡轮解码模块对由该三个涡轮码字1202、1204和1206承载的MAC包1216进行解扰和错误检验(步骤1306)。如果所述错误校验通过(由步骤1308确定),涡轮解码模块就对该MAC包进行处理(步骤1314)。但是,如果对该第三个涡轮码字执行的第一次涡轮解码操作没有通过步骤1308中的错误校验,那么该操作转到步骤1310。步骤1310中,检测是否已经对该第三个(第M个)涡轮执行了预定次数的解码。如果还没有对该第三个(第M个)涡轮码字执行预定次数的解码,操作流程转到步骤1304,步骤1304中对该第三个(第M个)涡轮码字执行额外的解码操作;如果已经对该第三个(第M个)涡轮码字执行了预定次数的解码,该操作流程转到步骤1312并在步骤1312中报告解码不成功。
图12中所示的内容,也能应用于由不同数量的涡轮码构成MAC包1216的情况。例如,M=2,如图11C所示,那么步骤1302中对第一个涡轮码字执行解码。另外,M=1,如图11D所示,那么不执行步骤1302,而对该单个涡轮码执行图12中余下的步骤。如果MAC包由多个涡轮码字承载,那么图12的操作1300减少了对一个(第M个)涡轮码的解码操作次数,从而提高效率。例如,当预定的解码操作次数是8时,成功解码所需的解码操作少于8次,该便可提高效率,减少等待时间并减少资源使用。
图13是根据本发明一实施例涡轮解码模块从MAC包中提取信息的操作流程图。上述的图11A-11D已经对涉及涡轮码字的MAC包的结构进行了阐述。图13的操作是对图12的步骤1314的进一步描述。该操作从涡轮解码模块检测MAC包1216的MAC报头1218开始(步骤1402)。接着,涡轮解码模块 确定MAC包1216的服务数据单元1224-1232的服务数据单元边界(步骤1404)。然后,涡轮解码模块识别服务数据单元1224-1232的服务数据单元属性(步骤1406)。接着,涡轮解码模块传送MAC包1216以及在步骤1046中识别的服务数据单元属性内的服务数据边界(步骤1408)。步骤1408之后,该操作结束。
上述对本发明的优选实施例的描述的目的是为了举例说明及描述。这些实施例不是穷尽性的,也就是说本发明不受所公开的精确形式的限制;显然,在本发明的教导下,可对这些实施例做出多种修改和变化。对实施例的选择和描述是为了对本发明的原理及其实践应用做出最佳解释,以使本领域的技术人员能够最好地利用本发明、以及为配合特殊用途对各种实施例进行修改。本发明的范围由本发明的权利要求及其等同限定。