无线系统用可重配置解码器的技术的制作方法

文档序号:7638327阅读:149来源:国知局
专利名称:无线系统用可重配置解码器的技术的制作方法
无线系统用可重配置解码器的技术 背景
目前存在使得诸如计算机等的电子设备能够在本地和分布式网络上传送和交 换数据以及诸如语音和多媒体通信(例如,视频、声音、数据)等的其它类型信息
的各种通信系统。诸如无线局域网(WLAN)等的各种无线通信系统也使得移动 计算机能够与彼此以及与连接到诸如因特网等的广域网(WAN)的其它计算机通信。
电信系统应用低密度奇偶校验(LDPC)码来提供纠错能力。这些LDPC码正 被应用于各种电信标准,包括例如经由卫星的数字视频广播(DVB-S2)、电气和 电子工程师协会(IEEE) 802.1 ln无线LAN提案、IEEE 802.16e无线城域网(MAN) 提案等。在许多电信纠错应用中,有一可被重配置以在单个接收机中对各种码进行 解码的LDPC解码器、以及一旦标准被定稿就有无线电产品可用是合乎需要的。
纠错码是许多无线标准的本质组成部分。目前正在使用的三种类型的码是巻 积码(通常使用维特比(Viterbi)算法来解码)、turbo码(使用BCJR算法—— 即由Bahl、 Cocke、 Jelinek和Raviv发表的一种前向-后向后验概率(APP)解码算 法)和最近的LDPC码(使用消息传递算法来解码)。所有这三种算法所共有的 计算要素是加法-比较-选择(ACS)操作的变形。在许多电信纠错应用中,有ACS 算法的一可重配置以支持各种解码器的版本将是合乎需要的。
附图简要说明

图1示出了系统100的一个实施例。 图2示出了组件200的一个实施例。 图3示出了模块300的一个实施例。 图4示出了模块400的一个实施例。 图5A示出了模块500的一个实施例。 图5B示出了模块510的一个实施例。 图6示出了逻辑流600的一个实施例。
具体说明
图1示出了系统的一个实施例。例如,图1可示出系统100的框图。系统100 可以是分布式系统。系统100可包括例如具有多个节点的通信系统。节点可包括在 系统100中具有唯一性地址的任何物理或逻辑实体。节点的示例可包括但不必限
于计算机、服务器、工作站、膝上型计算机、超薄膝上型计算机、手持式计算机、
电话、蜂窝电话、个人数字助理(PDA)、路由器、交换机、网桥、集线器、网关、 无线接入点等。唯一性地址可包括比如网际协议(IP)地址等的网络地址、诸如 MAC地址等的设备地址,等等。实施例并不限于此上下文。
系统100的节点可被安排为传送不同类型的信息,诸如媒体信息和控制信息。 媒体信息可以指表示对用户有意义的内容的任意数据,比如语音信息、视频信息、 音频信息、文本信息、数字信息、字母数字符号、图形、图像、及其组合。控制信 息可指表示对自动化系统有意义的命令、指令或控制字的任意数据。例如,控制信 息可用于在系统中路由媒体信息,或者指令节点以预定方式处理媒体信息。
系统100的节点可根据一个或多个协议来传送媒体和控制信息。协议可包括 用以控制各节点如何在彼此之间传送信息的一组预定义的规则或指令。协议可由诸 如因特网工程任务组(IETF)、国际电信联盟(ITU) 、 IEEE等的标准组织颁布 的一个或多个协议标准来定义。例如,系统100可根据诸如包括IEEE 802.1 la、 802.11b、 802. lle、 802.11g、 802.1 ln等的IEEE 802.11协议族等的各种WLAN协 议来工作。在另一个示例中,系统100可根据诸如来自正EE 802.16或802.20协议 族的协议等的各种WMAN移动宽带无线接入(MBWA)协议来工作。
再次参看图1,系统100可包括无线通信系统。在一个实施例中,系统100 可包括根据正EE 802.11、 802.16或802.20标准协议族工作的WLAN或WMAN系 统。在一个实施例中,例如,系统100可包括与被安排为根据IEEE-802.11n提议 标准中的一个或多个工作的多个高吞吐量(HT)无线设备一起工作的WLAN系统。 实施例并不限于此上下文。
在一个实施例中,系统100可包括一个或多个无线通信设备,诸如节点IIO、 120、 130等。节点IIO、 120、 130全部可被安排为使用一个或多个无线发射机/接 收机("收发信机")或者无线电来传送信息信号,这可涉及使用经由例如IEEE 802.11跳频扩频(FHSS)或直接序列扩频(DSSS)方案的射频通信。节点110、 120、 130可经由建立在无线共享介质160中的多个链路或信道使用无线电在该无 线共享介质160上通信。例如,无线电可被安排为使用无线共享介质160的2.45 千兆赫(GHz)工业、科学和医疗(ISM)频带来工作。也可使用其它工作频带。 信息信号可包括任意类型的用诸如媒体和/或控制信息编码的信号。尽管图1示出 特定拓扑结构中有限数目的节点,但是可以认识到,系统100可按给定实现的需要 在任意类型的拓扑结构中包括更多或更少的节点。实施例并不限于此上下文。
在一个实施例中,系统100可包括节点110、 120。节点IIO、 120可包括具有 无线能力的固定设备。固定设备可包括提供对诸如移动设备等的另一设备的连通 性、管理和控制的通用的整套设备。节点110、 120的示例可包括无线接入点(AP)、 基站或B节点、路由器、交换机、集线器、网关等。在一个实施例中,例如,节 点IIO、 120可包括用于WLAN系统的接入点。尽管可以用实现为例如AP的节点 110、 120来描述某些实施例,但是可以认识到,也可使用其它设备来实现其它实 施例。
在一个实施例中,AP 110、 120还可经由有线通信介质提供对网络170的接入。 网络170可包括比如因特网等的分组网络、公司或企业网络、诸如公共交换电话网 (PSTN)等的语音网络、以及其他WAN。实施例并不限于此上下文。
在一个实施例中,系统IOO可包括节点130。节点130可包括例如具有无线能 力的移动设备或固定设备。移动设备可包括提供对诸如其它移动设备或固定设备等 的其它无线设备的连通性的通用的整套设备。节点130的示例可包括计算机、服 务器、工作站、笔记本计算机、手持型计算机、电话、蜂窝电话、个人数字助理(PDA)、 蜂窝电话与PDA的组合等。在一个实施例中,例如,节点130可包括诸如用于 WLAN的移动站(STA)等的移动设备。在WLAN实现中,AP与相关联的站的 组合可称为基本服务集(BSS)。尽管可使用实现为例如用于WLAN的移动站的 STA130来描述某些实施例,但是可以认识到,也可使用其它无线设备来实现其它 实施例。例如,节点130也可被实现为固定设备,诸如计算机、用于WMAN的移 动订户站(MSS)等。实施例并不限于此上下文。
节点110、 120、 130可具有一个或多个无线收发信机和无线天线。在一个实 施例中,例如,节点IIO、 120、 130可各自具有多个收发信机和多个天线。使用多 个天线可用于提供根据例如IEEE S02.11n提议标准中的一个或多个的空分多址 (SDMA)系统或多输入多输出(MIMO)系统。多个发射天线可用于提高信道中 的数据速率,或者在数据速率不提高的情况下,加大在信道中传送的数据的范围和 可靠性。数据速率还可通过使用多个天线同时在多个信道中传送数据来提高。可使
用多个接收天线来高效率地恢复出所传送的数据。实施例并不限于此上下文。
在一般化的工作中,系统100的节点可以在多种工作模式下工作。例如,节
点110、 120、 130可以以下各工作模式中的至少之一下工作单输入单输出(SISO) 模式、多输入单输出(MISO)模式、单输入多输出(SIMO)模式、和/或MIMO 模式。在SISO工作模式下,可使用单个发射机和单个接收机在无线共享介质160 上传送信息信号。在MISO工作模式下,两个或多个发射机可在无线共享介质160 上传送信息信号,并且信息信号可由MIMO系统的单个接收机从无线共享介质160 接收。在SIMO工作模式下,可使用一个发射机以及两个或多个接收机在无线共享 介质上传送信息信号。在MIMO工作模式下,可使用两个或多个发射机以及两个 或多个接收机在无线共享介质160上传送信息信号。信道162、链路或连接可使用 无线共享介质160的一个或多个频带来形成以用于传送和接收分组164。实施例并 不限于此上下文。
在系统100中,STA 130可与诸如AP 110、 120等的各个AP通信。为了与 AP 110或AP 120通信,STA 130可能首先需要与一给定AP相关联。 一旦STA 130 与一 AP相关联,STA 130就可能需要为具有媒体和控制信息的分组选择在无线共 享介质160上的数据速率。STA130可每关联一次地来选择数据速率,或者可定期 地选择数据速率来适应无线共享介质160的传送状况。使数据速率适应于传送状况 有时可称为速率自适应操作。
诸如系统100等的WLAN可在多个不同是数据速率或数据吞吐量下工作。例 如,使用DSSS无线电的原始802.11系统仅提供两个物理数据速率1兆比特每秒 (Mbps)或2 Mbps。但是根据多种正交频分复用(OFDM)技术工作的目前的 WLAN系统可在2.4 GHz区域中支持高达54 Mbps或以上的很宽范围的数据速率。 其它潜在可能的较高的数据速率和传送模式也是可用的。这种WLAN系统的示例 可包括802.1 lg和802.1 In系统。
相应地,在一个实施例中,系统100可在相关联的节点110、 120、 130中包 括组件200以实现提供支持多个标准的通信设备的技术,从而提高节点IIO、 120、 130中的总体性能,以及提高整个系统100的性能。取决于其特定实施例,组件200 可包括模块300、模块400或模块500。在一个实施例中,模块300可如关于节点 110所示地包括模块400和模块500。在一个实施例中,模块400可包括用于在单 个接收机中对各种码进行解码的可重配置LDPC解码器。在一个实施例中,这提 供了只要特定标准一完成就有收发信机可供生产的能力。该可重配置LDPC解码
器或可被实现为数字信号处理器(DSP)或可被实现为专用集成电路(ASIC)。 包括实现为DSP的可重配置LDPC解码器的模块300的实施例可提供灵活的解决 方案,尽管其能够工作的速度可能受到例如功率约束的限制。包括实现为ASIC的 可重配置LDPC解码器的模块400的实施例可在较高速度下工作,尽管它可能无 法提供与DSP实现相同的灵活性,因为其为"硬布线的",因此一旦其已被构建, 就可能难以重新配置。包括可重配置LDPC解码器的模块400的实施例可被编程 为通过将新的编程下载到解码器的地址生成器模块中来对多种码进行解码。此外, 可针对新协议对可重配置LDPC解码器进行编程,从而使其能够以更短的上市时 间被更广泛地用在各种电信产品上。另外,可重配置LDPC解码器的实施例精简 了校验与码元节点之间的复杂路由,由此简化其实现。
在一个实施例中,组件200可包括模块500。在一个实施例中,模块500可包 括可重配置ACS解码器来支持多种类型的解码器。例如,在一个实施例中,可重 配置ACS解码器可支持维特比算法解码器、BCJR解码器、和LDPC解码器。模 块500的实施例可包括可被配置成对例如维特比巻积码、turbo码、和LDPC码进 行解码的可重配置ACS解码器。此外,可重配置ACS解码器可提供对这三种类型 的码进行解码的能力,并且可能比包括所有三种单独解码器的实现需要更少的空间 和功率。此外,纳入了可重配置ACS解码器的接收机的实施例可针对新协议被重 新编程,从而使其能够以更短的上市时间被更广泛地用在各种电信产品上。
在各种实施例中,系统100可能被图示并描述成包括诸如模块和/或块的若干 单独的功能元件。尽管某些模块和/或块可作为示例描述,但是可以认识到,可使 用更多或更少数目的模块和/或块而仍落在这些实施例的范围内。此外,尽管将以 模块和/或块的形式描述各个实施例以便于说明,但是这些模块和/或块可由一个或 多个硬件组件(例如,处理器、DSP、 PLD、 ASIC、电路、寄存器)、软件组件(例 如,程序、子例程、逻辑)和/或其组合来实现。
在各个实施例中,系统100可包括由一个或多个通信介质连接的多个模块。 通信介质一般可包括能够承载信息信号的任何介质。例如,通信介质按给定实现的 需要可包括有线通信介质、无线通信介质、或两者的组合。有线通信介质的示例可 包括导线、电缆、印刷电路板(PCB)、底板、半导体材料、双绞线、同轴电缆、 光纤等。无线通信介质的示例可包括无线频谱的一些部分,诸如射频(RF)频谱 等。实施例并不限于此上下文。
模块按给定的一组设计或性能约束的需要可包括或被实现为一个或多个系
统、子系统、设备、组件、电路、逻辑、程序、或其任意组合。例如,模块可包括 制作在衬底上的电子元件。在各个实现中,电子元件可例如使用基于硅的IC工艺
来制作,诸如互补金属氧化物半导体(CMOS)、双极、以及双极CMOS (BiCMOS) 工艺。实施例并不限于此上下文。
图2示出了组件的一个实施例。例如,图2可示出系统100的组件200的框 图。组件200可被实现为参照图l所描述的节点110、 120、 B0的一部分。如图2 中所示,组件200可包括多个元件,诸如处理器210、交换机(SW) 220、收发信 机阵列230和存储器290。 一些元件可使用例如一个或多个电路、组件、寄存器、 处理器、软件子例程、或其任何组合来实现。尽管图2示出了有限数目的元件,但 是可以认识到,可在组件200中按给定实现的需要来使用更多或更少的元件。实施 例并不限于此上下文。
在一个实施例中,组件200可包括收发信机阵列230。收发信机阵列230可包 括多个发射机240a、 b和接收机250a、 b对。在一个实施例中,每个发射机240a、 b和接收机250a、 b对可包括模块280,该模块280基于其具体实施例可包括模块 300、 400和500的各个实施例。收发信机阵列230可被实现为例如MIMO系统。 MIMO系统230可包括两个发射机240a和240b,以及两个接收机250a和250b。 尽管MIMO系统230被示为具有有限数目的发射机和接收机,但是可以认识到, MIMO系统230可包括任何合需数目的发射机和接收机。实施例并不限于此上下 文。
在一个实施例中,MIMO系统230的发射机240a-b和接收机250a-b可被实现 为OFDM发射机和接收机。发射机240a-b和接收机250a-b可分别在信道162、 172 上各自与其他无线设备进行分组164、 174的传送。例如,当被实现为AP 110或 AP 120的一部分时,发射机240a-b和接收机250a-b可与STA 130进行分组164、 174的传送。当被实现为STA 130的一部分时,发射机240a-b和接收机250a-b可 与AP 110或AP 120进行分组164、 174的传送。分组可根据包括二进制相移键控 (BPSK)、正交相移键控(QPSK)、正交振幅调制(QAM) 、 16-QAM、 64-QAM 等在内的多种调制方案来调制。实施例并不限于此上下文。
在一个实施例中,发射机240a和接收机250a可操作地耦合到天线260,而发 射机240b和接收机250b可操作地耦合到天线270。天线260和/或天线270的示例 可包括内部天线、全向天线、单极天线、偶极天线、端馈式天线、圆偏振天线、微 带天线、分集天线、复式天线、天线阵列、螺旋天线等。在一个实施例中,系统100可被实现为基于MIMO的、包括多个天线以提高吞吐量并可牺牲范围增大来 换取吞吐量提高的WLAN。基于MIMO的技术也可被应用到其它无线技术。尽管 在一个实施例中,系统100可被实现为根据802.11a/b/g/n协议的WLAN以便于在 企业中进行无线接入,在企业中使用的其它实施例可包括例如可重配置无线电技术 和/或多个无线电(例如,多个收发信机、发射机和/或接收机)。实施例并不限于 此上下文。
在一个实施例中,组件200可包括处理器210。处理器210可被实现为通用处 理器。例如,处理器210可包括由加州Santa Clara的英特尔(Intel)⑧公司制造的 通用处理器。处理器210还可包括专用处理器,诸如控制器、微控制器、嵌入式处 理器、数字信号处理器(DSP)、网络处理器、输入/输出(I/O)处理器、媒体处 理器等。实施例并不限于此上下文。
在一个实施例中,组件200可包括存储器2卯。存储器290可包括能够存储数 据的任何机器可读或计算机可读介质,包括易失性和非易失性存储器两者。例如, 存储器可包括只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、 双倍数据率DRAM (DDRAM)、同步DRAM (DRAM)、静态RAM (RAM)、 可编程ROM (PROM)、可擦可编程ROM (EPROM)、电可擦可编程ROM (EEPROM)、闪存、诸如铁电聚合物存储器、双向开关半导体存储器、相变或 铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器等的聚合物存储器、 磁卡或光卡、或者适于存储信息的任何其它类型的介质。实施例并不限于此上下文。
在一个实施例中,系统100的节点110、 120、 130可根据IEEE 802.11规范族 中的一个或多个来工作。根据正EE 802.11规范工作的无线设备可能需要实现至少 两个层。 一层是802.11 MAC层(即,OSI数据/链路层2)。 一般而言,MAC层 通过协调对共享无线电信道的访问以及使用协议来增强无线共享介质160上的通 信来管理和维护各802.11设备之间的通信。例如,MAC层可执行以下操作诸如 对802.11设备进行扫描、认证802.11设备、将AP与STA相关联、执行诸如无线 加密协议(WEP)等的安全技术、用于访问无线共享介质160的请求发送(RTS) 和清除发送(CTS)操作、省电操作、分段操作等。另一个层是802.11 PHY层(即, OSI物理层l) 。 PHY层可执行载波侦听、802.11帧的发送和接收等操作。例如, PHY层可集成诸如调制、解调、编码、解码、模数转换、数模转换、滤波等操作。 PHY层通常使用专用硬件来实现。然而,MAC层通常使用专用硬件与专用软件的 组合来实现。在一个实施例中,模块300可提供OSI协议栈中的任意层之间的跨
层适应。
在一个实施例中,处理器210可被安排为执行MAC层操作。例如,处理器 210可被实现为媒体访问控制(MAC)处理器。MAC 210可被安排为执行MAC 层处理操作。另外,MAC 210可被安排为根据一个或多个WLAN协议——比如 IEEE 802.11n提议标准中的一个或多个——来选择用于通过无线共享介质160在无 线设备之间传送媒体和控制信息的数据速率。但是实施例并不限于此上下文。
当在系统100的节点中实现时,组件200可被安排为在诸如AP 110、 AP120 和STA 130等的各个节点之间的无线共享介质160上传送信息。信息可在所建立 的信道162、 172上以分组164、 174的形式来传送,其中每个分组164、 174包括 媒体信息和/或控制信息。媒体和/或控制信息可使用例如多个OFDM码元来表示。 分组164、 174可以是帧的一部分,帧在此上下文中可指任何离散信息集,包括单 元、分组、信元、段、片段等。帧可以是适合于给定实现的任何大小。例如,典型 的WLAN协议使用几百字节的帧,而802.11帧可具有高达1518字节或以上的长 度。在一个实施例中,系统100的节点和组件200可被安排为通过无线共享介质 160上在诸如AP 110、 AP 120和STA 130等的各个节点之间传送信息。尽管实施 例描述了无线信道162、 172上分组164、 174形式的信息的通信,但是实施例并不 限于此上下文。
当实现为STA 130的一部分时,MAC 120可被安排为与一 AP相关联。例如, MAC 210可被动地扫描诸如AP 110、 120等的接入点。AP 110、 120可定期地广 播信标。信标可包含关于该接入点的信息,包括服务集标识符(SSID)、支持的 数据速率等等。MAC 210可使用此信息和每个信标的接收信号强度来比较AP并 决定要使用哪一个。替换地,MAC 210可通过广播试探帧、并且从AP 110、 120 接收试探响应来执行主动扫描。 一旦已选定AP,则MAC 210就可执行认证操作 以证明所选定的AP的身份。认证操作可使用认证请求帧和认证响应帧来完成。一 经认证,STA130就在发送分组之前与所选定的AP相关联。关联可有助于用诸如 支持的数据速率等的某些信息来同步STA 130与AP。关联操作可使用包含诸如 SSID和支持数据速率等的元素的关联请求帧和关联响应帧来完成。 一旦关联操作 完成,STA130和AP IIO就可向彼此发送分组,但是实施例并不限于此方面。
在某些实施例中,MAC 210还可被安排为基于无线共享介质160的当前信道 162、 167状况来选择用以传送分组的数据速率。例如,假定STA 130与诸如AP 或其它无线设备(例如,AP110)等的对等设备相关联。STA130可被安排为执行
接收机定向速率选择。结果,在传送分组164、 174之前,STA130可能需要选择 用于在STA 130与AP 110之间传送分组164、 174的数据速率。
图3示出了模块300的一个实施例。在一个实施例中,模块300可包括例如 解码器。在一个实施例中,模块300可包括用于在比如收发信机阵列230 (图2) 中的接收机250a或250b等的单个接收机中对各种码进行解码的可重配置LDPC解 码器310。在一个实施例中,可重配置LDPC解码器310可用于实现消息传递算法 (MPA)的某一形式,其中可重配置LDPC解码器310在更新校验节点和码元节 点之间迭代。每个LDPC码可包括例如以下变量
1. 码元节点与每个校验节点之间的连接;
2. 校验节点与每个码元节点之间的连接;
3. 校验节点的数目;以及
4. 码元节点的数目。
在一个实施例中,校验节点与码元节点之间的路径可能由于LDPC码的随机 本质而非常不规则。在固定LDPC解码器中,从校验节点更新至相应码元节点的 路径以及从码元节点更新至相应的校验节点的路径通常为"硬布线的",并且一旦 解码器被实现就不再改变。在一个实施例中,可重配置LDPC解码器310提供可 重配置路由,其中即使在解码器被实现之后,从校验节点更新至相应码元节点的路 径以及从码元节点更新至相应的校验节点的路径可被改变。
可重配置LDPC解码器310的一个实施例可包括例如C个校验节点和S个码 元节点。可重配置LDPC解码器310可包括例如以下元件。包括N个BCJR块 BCJR。-BCJRw.i的校验节点更新模块312。包括例如M x N个存储体CNMq,o到 CNMj^,m.i的校验节点存储器314。每个校验节点存储体可包括一个读端口和一个 写端口并且每存储体有C/N个条目。包括用以生成在校验节点更新期间每个校验 节点值将被写至的地址的校验节点写地址生成器316以及用以生成在码元节点更 新期间每个校验节点值将被读取的地址的校验节点读地址生成器318的校验节点 地址生成器模块315。包括M个加法器模块AQ到AM.!的码元节点更新模块320。 包括N x M个存储体SNMQ,Q到SNMn4,mj的码元节点存储器322。码元节点存储 器322中的每个存储体可包括一个读端口和一个写端口,并且每存储体有S/M个 条目。包括用以生成在码元节点更新期间每个码元节点值将被写至的地址的码元节 点写地址生成器324以及用以生成在校验节点更新期间每个码元节点值将被读取 的地址的码元节点读地址生成器326的码元节点地址生成器模块323。最后,模块
300可包括用以控制可重配置LDPC解码器310的操作的解码器控制器328。
在校验节点更新期间,N个BCJR块BCJRo-BCJR^中的每一个通过从码元节 点存储器322的相应水平片33(V330w读取码元节点值然后计算校验值来计算出 新的校验节点值。每个校验节点与其各个相应的码元节点之间的连接被存储在存储 器中并且是可寻址的。在一个实施例中,每个校验节点与其各个相应的码元节点之 间的连接被存储在校验节点地址生成器模块315中,并且随每种特定LDPC码而 变。在一个实施例中,每个校验节点与其各个相应的码元节点之间的连接可被随机 生成。例如,在一个实施例中,这些连接可被重新编程以便于对多种LDPC码进 行解码。
校验节点更新模块312中的BCJR块BCJRo-BCJRw.i将新的校验节点值写入到 校验节点存储器314的相应行332()-332w中的存储体。这些条目被复制到行中的 M个存储体中。例如,BCJR块BCJRo将新的校验节点值写入到行332()中的存储 体CNM。,。到CNM(),M^等,以此类推。当执行码元节点更新时,这些条目被拷贝以 使得每个加法器模块Ao到Aj^能够独立访问(无需竞用)校验节点存储器314。 在一个实施例中,如果每个存储体包括例如多个读端口,则可减少存储体的数目。 然而,这些实施例会消耗额外的功率,这可能取决于用于实现校验节点存储器314 的硅工艺。
在码元节点更新期间,M个加法器模块320中的每一个通过从校验节点存储 器314的相应垂直片334o-334M.i读取校验节点值然后累积这些值来计算出新的码 元节点值。每个码元节点与其各个相应的校验节点之间的连接被存储在码元地址生 成器模块323中。例如,在一个实施例中,这些连接可被重新编程以便于对多种码 进行解码。
加法器模块320将新的码元节点值写入到码元节点存储器322的相应列 336。-336M—i中。这些条目被拷贝到该列中的N个存储体中。例如,加法器模块A0 将新的码元节点值写入到列336Q中的存储体SNMo,()到SNMw,o。这些条目被重复 以使得校验节点更新模块312中的这N个BCJR块BCJRo-BCJR^中的每一个能够 独立访问(即,无需争用)码元节点存储器322。在一个实施例中,如果每个存储 体包括例如多个读端口,则可减少存储体的数目。然而,这些实施例可能会消耗额 外的功率。
在一个实施例中,可重配置LDPC解码器310例如或可在DSP中或可在ASIC 中实现。如前面所讨论的,DSP实现可提供增加的灵活性,尽管其工作速度可能
需要额外的功率消耗。在一个实施例中,ASIC能以比DSP实现低的灵活性为代价
提供额外的操作速度。 一旦ASIC被硬布线,其在已被制成后就难以重新配置。
在一个实施例中,可重配置LDPC解码器310使得单个解码器能够支持多种 LDPC码。例如,在一个实施例中,可重配置LDPC解码器310可例如被编程为通 过将新的编程指令下载到地址生成器模块315、 323中来对多种码进行解码。例如, 在一个实施例中,可针对新协议可重配置LDPC解码器310进行重新编程,从而 使其能够以縮短的上市时间被用在各种产品中。在一个实施例中,可重配置LDPC 解码器310可消除与常规的固定LDPC解码器实现相关联的存在问题的路由议题。 例如,可重配置LDPC解码器310的实施例可提供简单直接的解码器实现而无需 常规解码器中所要求的在校验节点与码元节点之间的复杂路由。
图4示出了包括用于接收来自三种类型的码——即维特比巻积码、turbo码、 和LDPC码——的输入的可重配置ACS模块410的模块400的一个实施例的框图。 在一个实施例中,模块400可被包含在模块300内。例如,在一个实施例中,模块 400可被包含在例如校验节点更新模块312内。可重配置ACS模块400的一个实 施例包括四个输入加法器411Q、 41h、 4112、 4113。加法器411。.3的输出被分别馈 送到2:1多路复用器420Q、 420i、 4202 、 4203,并且2:1多路复用器的各个输出4300、 430^ 4302、 4303分别在输入a、输入b、输入c和输入d处馈送到4:1多路复用器。 2:1多路复用器的各个输出430。.3也分别作为输入&、输入b、输入c和输入d被馈 送到比较选择模块450。比较选择模块450接收维特比/turbo/LDPC模式控制输入 452和基数模式控制输入454。比较选择模块450提供回溯(traceback)输出456 以向用于维特比码的回溯模块(未示出)馈送。比较选择模块450还向4:1多路复 用器440提供控制输入458以选择合需的Turbo或LDPC输出码。4:1多路复用器 440的输出460连同例如针对Turbo或LDPC码的修正值464 —起被馈送到加法器 462。然后,加法器462向路径量度存储器(未示出)提供输出468。加法器462 的输出468包括例如维特比、Turbo或LDPC输出。
可重配置ACS模块410的实施例可适应于处理各种算法以对例如维特比巻积 码、BCJR算法turbo码、和MPA LDPC码以及其它码进行解码。以上列出的全部 三种算法的共有的计算要素是加法-比较-选择(ACS)过程的变形。例如,在维特 比算法实现中,ACS过程通过将先前的路径量度加到当前分支量度并比较和从中 选择最佳的新路径量度来计算候选路径量度。在BCJR解码器实现中,ACS过程 执行对数MAX算法以计算前向路径量度(例如,a)和后向路径量度(例如,(3)。
在LDPC解码器实现中,ACS过程在MPA中校验节点更新的BCJR版本中计算 MAXX函数。在所有这三种算法中的ACS过程要素的共性提供了可适应于支持例 如基于这些算法的解码器的可重配置ACS模块410的一个实施例。
例如,在一个实施例中,可重配置ACS模块410可基于例如经由基数模式控 制输入454控制的基数-4 (四输入)ACS过程。基于先前所讨论的算法和解码器的 可重配置ACS模块410的三种工作模式可经由维特比/Turbo/LDPC模式控制输入 452来控制,并且在以下进行描述。
首先,可经由到2:1多路复用器420(u,2,3和比较选择模块450的维特比 /Turbo/LDPC模式控制输入452来选定维特比模式。在维特比模式下,可重配置 ACS模块410在加法器411(u,2,3的第一输入412。山2,3处分别接收输入 VIT—PM_IN_0、 VIT—PM—IN—1 、 VIT—PM—IN—2、 VIT—PM—IN_3 ,并在加法器411o丄2,3 的第二输入414(^,2,3处分别接收输入VIT—BM—IN一O 、 VITJBM_IN_1 、 VIT—BMJN—2、 VIT_BM_IN_3,并且计算以下式(1)。计算的结果为分别在加 法器4110,!,2,3的输出416o丄2,3处的四个输出VIT—PM—OUT—0、 VIT_PM—OUT—1 、 VIT—PM_OUT—2和VIT_PM_OUT_3,这些输出形成到各2:1多路复用器420。丄2,3 的输入之一。此外,在一个实施例中,当在维特比模式下工作时,可重配置ACS 模块410还在比较选择模块450的输出456处输出四个回溯比特VIT TB OUT 0、
VTT TB OUT 1、 VIT TB一OUT—2、 VIT—TB—OUT一3 。
曾—pm—w—o + wr—bm—o-wr — 缀 _ 房 — i + — 服 — i —尸m—/iv—2 + —層_ 2 iw房3 + 皿3
(1)
第二,可经由到2:1多路复用器420。丄2,3和比较选择模块450的维特比 /Turbo/LDPC模式控制输入452来选定Turbo模式。在turbo模式下,可重配置ACS 模块410计算BCJR算法的a和p。当计算a时,到可重配置ACS模块410的输 入TURBO—ALPHA—IN—0 、 TURBO—ALPHA IN 1 、 TURBO ALPHA—IN—2 、 TURBO_ALPHA_IN—3可被分别施加到加法器411。丄2,3的输入412。,w,3,而输入 TURBO—BM—0、 TURBO_BM_l、 TURBO—BM—2、 TURBO—BM_3可被施加到加
法器411o山2,3的输入414()山2,3,以便计算以下式(2)。计算的结果为分别在加法器
411。,i,2,3的输出 416。山2,3处的四个输出 TURBO_ALPHA—OUT—0 、 TURBO ALPHA OUT 1、 TURBO ALPHA OUT 2和TURBO ALPHA OUT 3,这些输出形成到各2:1多路复用器420o,w,3的输入之一。此外,在一个实施例中,
当在Turbo模式下工作时,可重配置ACS模块410还可例如在加法器462的输入
464处提供修正因子以提高解码器性能。可编写类似表达式来计算卩。
<formula>formula see original document page 18</formula>(2)
第三,可经由到2:1多路复用器420()丄2,3和比较选择模块450的维特比 /Turbo/LDPC模式控制输入452来选定LDPC模式。在LDPC模式下,可重配置 ACS模块410使用BCJR算法计算校验节点更新,并在多路复用器420Q的输入4180 处接收输入LDPC_A—IN以及在多路复用器420i的输入418工处接收输入 -LDPC_A—IN。可重配置ACS模块410还在多路复用器4202的输入4182处接收 LDPC_X—IN,并在多路复用器4203的输入4183处接收输入-LDPC一X—IN,并且计算 以下式(3)。此外,在一个实施例中,当在LDPC模式下工作时,可重配置ACS 模块410还可例如在加法器462的输入464处提供修正因子以提高解码器性能。可 编写类似表达式来计算LDPC—B_OUT (这类似于turbo BCJR算法中的p)和最终 校验节点值A。
<formula>formula see original document page 18</formula>(3} 与基于可重配置模块410的解码器技术不同,常规解码器技术可能对上述每
一种类型的码需要有一单独的解码器。本文所述的实施例提供了可被配置成用于对
维特比巻积码、turbo码和LDPC码进行解码的可重配置ACS模块410。因而,可 重配置ACS模块410可能比例如三个单独的解码器需要更少的空间和功率。可针 对新的协议对包括可重配置ACS模块410的接收机250a、 b (图2)进行编程,从 而使其能够例如以縮短的上市时间被用在多个应用中。
图5A示出了模块500的一个实施例。在一个实施例中,模块500可包括可操 作地耦合到其上的模块300和模块400。在一个实施例中,模块400可被包含在模 块300内。例如,在一个实施例中,模块400可被包含在校验节点更新模块312 内。在一个实施例中,模块300可包括可重配置LDPC解码器310,而模块400 可包括用以支持例如在收发信机的各个实施例中使用的多种类型的解码器的可重 配置ACS模块410。例如,如先前所讨论的,可重配置ACS模块410的一个实施 例可支持基于维特比、BCJR和LDPC算法的各种解码器。在一个实施例中,可重
配置ACS模块410可支持例如可重配置LDPC解码器310。模块500的实施例可 包括例如被配置成对维特比巻积码、turbo码和LDPC码进行解码的可重配置ACS 模块410。此外,可重配置ACS模块410可以在较小的空间里对这三种类型的码 进行解码,并且消耗的功率比包括三个单独的解码器的常规实现少。此外,可针对 新协议对纳入了可重配置ACS模块410的收发信机阵列230 (图2)的实施例进行 重新编程,由此使其能够以縮短的上市时间被更广泛地用在各种电信产品上。因而 在包括可重配置LDPC解码器310和可重配置ACS模块410的收发信机阵列230 (图2)中实现的模块500可通过接收包括例如来自可重配置LDPC解码器310的 码的多种码来操作。
图5B示出了模块510的一个实施例。在一个实施例中,模块510可包括包 括可重配置LDPC解码器310的模块300;包括可重配置维特比解码器600的模块 520;以及包括可重配置Turbo解码器700的模块530,这些模块各自可操作地耦 合到模块400。如先前所述,在一个实施例中,模块400可包括可重配置ACS模 块410。在一个实施例中,模块400可被包含在例如模块300、 520和530的任一 个内。例如,在一个实施例中,模块400可以是模块300、 520和530的任一个的 组件。例如,模块400可包括支持在收发信机的各个实施例中使用的多种类型的解 码器——比如可重配置维特比解码器520、可重配置Turbo解码器530、和可重配 置LDPC解码器310——的可重配置ACS模块410。
可参照以下附图和伴随的示例来进一步描述上述实施例的操作。附图中的一 些将包括逻辑流。尽管本文所呈现的这些附图可能包括特定逻辑流,但是可以认识 到,该逻辑流纯粹提供本文所描述的一般化功能集可如何实现的示例。此外,给定 逻辑流并非必须以所呈现的次序来执行,除非另外说明。另外,给定逻辑流可由硬 件元件、由处理器执行的软件元件或其任意组合来实现。实施例并不限于此上下文。
图6示出了逻辑流的一个实施例。图6可示出逻辑流600的流程框图。逻辑 流600可表示由本文中所描述的一个或多个系统——诸如实现为例如节点110、120 和130的一部分的组件200——执行的操作。逻辑流600可表示对可重配置LDPC 解码器310进行重新配置以便例如在单个接收机(图3)中对各种码进行解码的操 作。逻辑流600可形成包括包含有指令的机器可读存储介质的物品的一部分,这些 指令如果被执行则使系统能够执行逻辑流600的全部或一部分。如图所示,逻辑流 600首先通过执行框610 - 624来配置可重配置LDPC解码器310。然后,逻辑流 600在更新校验节点602与更新码元节点614之间进行迭代直至实现合需的性能(例如,比特差错率)或者达到最大迭代次数。相应地,逻辑流600将定义了由新 的校验节点值定义的新的校验节点与和该码元节点值相关联的码元节点之间的路
由的连接存储在校验节点地址生成器模块中(610)。逻辑流600通过基于码类型
对定义了该新校验节点与该码元节点之间的路由的连接进行重新编程来对多种码
进行解码(612)。逻辑流600通过基于码类型对定义了该新码元节点与该校验节 点之间的路由的连接进行重新编程来对多种码进行解码(622)。然后,逻辑流600 通过基于码类型对定义了该新码元节点与该校验节点之间的路由的连接进行重新 编程来对多种码进行解码(624)。实施例并不限于此上下文。
现在转到迭代操作之一,逻辑流600更新校验节点(602)。相应地,逻辑流 600从码元节点存储器的一行读取一码元节点值(604),根据该码元节点值计算 新的校验节点值(606),并将该新的校验节点值写在校验节点存储器的相应一行 中(608)。实施例并不限于此上下文。
然后,逻辑流600更新码元节点(614)。相应地,逻辑流600从校验节点存 储器的一列读取一校验节点值(616),根据该校验节点值计算新的码元节点值, 并将该新的码元节点值写在码元节点存储器的相应一列中(618)。逻辑流600将 定义了由该新码元节点值定义的新的码元节点与和该校验节点相关联的校验节点 之间的路由的连接存储在码元节点地址生成器模块中(620)。然后,逻辑流600 确定是否已达到合需水平的性能或者是否已到达最大迭代次数。实施例并不限于此 上下文。
应当理解,这些实施例可在各种应用中使用。如上所述,本文所公开的电路 和技术可在诸如无线电系统的发射机和接收机等的许多装置中使用。旨在被涵盖在 这些实施例的范围内的发射机和/或接收机可包括,仅作为示例,WLAN发射机和/ 或接收机、MIMO发射机-接收机系统、双向无线电发射机和/或接收机、数字系统 发射机和/或接收机、模拟系统发射机和/或接收机、蜂窝无线电电话发射机和/或接 收机等。实施例并不限于此上下文。
旨在被涵盖在这些实施例的范围内的WLAN发射机和/或接收机的类型可包 括但不限于,用于发射和/或接收扩频信号的发射机和/或接收机,比如FHSS或 DSSS OFDM发射机和/或接收机等。实施例并不限于此上下文。
本文已阐述了许多具体细节来提供对这些实施例的透彻理解。然而,本领域 技术人员应当理解,不用这些具体细节也可实践这些实施例。在其他实例中,未详 细地描述众所周知的操作、组件和电路以免与实施例混淆。应当认识到,本文所公
开的具体结构和功能细节可以是代表性的,而并非一定限制实施例的范围。
还值得注意的是,对"一个实施例"或"一实施例"的引述意味着结合实施 例描述的特定特征、结构或特性被包括在至少一个实施例中。在说明书中各处出现 短语"在一个实施例中"并非一定全部指同一实施例。
可使用可根据任何数目的因素——诸如合需的计算速率、功率电平、耐热性、 处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它 性能约束——而改变的架构来实现某些实施例。例如,可使用由通用或专用处理器 执行的软件来实现一实施例。在另一示例中, 一实施例可被实现为专用硬件,诸如
电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)或数字信号处理器(DSP)
等。在又一示例中, 一实施例可由被编程的通用计算机组件和定制的硬件组件的组
合来实现。实施例并不限于此上下文。
某些实施例可能是使用措辞"耦合到"和"连接到"连同它们的衍生来描述
的。应当理解,这些术语并非旨在作为彼此的同义词。例如,某些实施例可能是使
用术语"连接到"来描述的以指示两个或多个元件彼此处于直接物理或电接触。在
另一示例中,某些实施例可能是使用术语"耦合到"来描述的以指示两个或多个元
件处于直接物理或电接触。然而,术语"耦合到"也可表示两个或多个元件并非彼
此直接接触,但仍彼此协同操作或交互。实施例并不限于此上下文。
例如,某些实施例可使用可存储指令或指令集的机器可读介质或物品来实现, 这些指令如果由机器执行则可引发机器执行根据这些实施例的方法和/或操作。这
样的机器可包括例如任何合适的处理平台、计算平台、计算设备、处理设备、计算 系统、处理系统、计算机、处理器等,并且可使用硬件和/或软件的任何合适组合 来实现。机器可读介质或物品可包括例如任何合适类型的存储器模块,诸如参照图
2给出的示例。例如,存储器模块可包括任何存储器设备、存储器物品、存储器介
质、存储设备、存储物品、存储介质和/或存储模块、存储器、可移动或不可移动 介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、
紧凑盘只读存储器(CD-ROM)、可记录紧凑盘(CD-R)、可重写紧凑盘(CD-RW)、 光盘、磁介质、各种类型的数字多功能盘(DVD)、磁带、卡带等。指令可包括 任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态 代码、动态代码等。这些指令可使用任何合适的高级、低级、面向对象、可视化、 已编译和/或已解释编程语言来实现,诸如C 、 C++、 Java、 BASIC、 Perl、 Matlab、 Pascal、 VisualBASIC、汇编语言、机器代码等。实施例并不限于此上下文。虽然本文已示出了实施例的某些特征,但是本领域技术人员现可想出许多修 改、替代、改变和等效方案。因此,应当理解,所附权利要求旨在涵盖落在这些实 施例的真实精神内的所有这些修改和改变。
权利要求
1.一种装置,包括解码器,所述解码器包括多个校验节点与多个码元节点之间的多个连接,其中所述连接是可重配置的。
2. 如权利要求1所述的装置,其特征在于,包括码元节点存储器,用于将多个码元节点值存储在定义了多行和多列的存储体 中;以及校验节点更新模块,包括耦合到所述各行以从所述码元节点存储体的相应一 行读取所述码元节点值的多个块,所述校验节点更新模块基于所述码元节点值来计 算新的校验节点值。
3. 如权利要求2所述的装置,其特征在于,包括校验节点地址生成器模块, 用于存储所述各校验节点与所述各相应码元节点之间的所述连接。
4. 如权利要求3所述的装置,其特征在于,所述校验节点地址生成器包括 校验节点写地址生成器模块,用于生成与在校验节点更新期间校验节点值要被写入哪里相对应的地址;以及校验节点读地址生成器模块,用于生成与在码元节点更新期间从哪里读取校 验节点值相对应的地址。
5. 如权利要求2所述的装置,其特征在于,包括校验节点存储器,用于将所述校验节点值存储在定义了多行和多列的多个存 储体中;码元节点更新模块,包括耦合到所述码元节点存储器的所述多列的多个加法 器模块,所述码元节点更新模块用于从所述校验节点存储器的相应一行读取所述校 验节点值并计算新的码元节点值并累积所述校验节点值;其中所述校验节点更新模块用于将所述新的校验节点值写到所述校验节点存 储体的所述多行。
6. 如权利要求5所述的装置,其特征在于,包括码元节点地址生成器模块, 用于存储所述各码元节点与相应各校验节点之间的连接。
7. 如权利要求6所述的装置,其特征在于,所述码元节点地址生成器包括 码元节点写地址生成器模块,用于生成与在码元节点更新期间码元节点值要被写入哪里相对应的地址;以及码元节点读地址生成器模块,用于生成与在校验节点更新期间从哪里读取码元节点值相对应的地址。
8. 如权利要求5所述的装置,其特征在于,所述校验节点更新模块用于将所 述新的校验节点值写到所述校验节点存储器的相应各行。
9. 如权利要求5所述的装置,其特征在于,所述码元更新模块用于将新的码 元节点值写到所述码元节点存储器的相应一列中的一存储体。
10. 如权利要求l所述的装置,其特征在于,包括耦合到所述解码器的可重配 置加法-比较-选择(ACS)模块。
11. 如权利要求10所述的装置,其特征在于,所述可重配置ACS模块包括用 以接收多种码的多个输入。
12. 如权利要求11所述的装置,其特征在于, 一个输入用于接收维特比巻积码。
13. 如权利要求11所述的装置,其特征在于,至少一个输入用以接收turbo码。
14. 如权利要求11所述的装置,其特征在于,至少一个输入用以接收低密度 奇偶校验(LDPC)码。
15. —种系统,包括 天线;以及解码器,所述解码器包括多个校验节点与多个码元节点之间的多个连接,其 中所述连接是可重配置的。
16. 如权利要求15所述的系统,其特征在于,包括码元节点存储器,用于 将多个码元节点值存储在定义了多行和多列的存储体中;以及校验节点更新模块, 包括耦合到所述各行以从所述码元节点存储体的相应一行读取所述码元节点值的 多个块,所述校验节点更新模块用于基于所述码元节点值来计算新的校验节点值。
17. 如权利要求16所述的系统,其特征在于,包括校验节点地址生成器模块, 用于存储所述各校验节点与所述各相应码元节点之间的所述连接。
18. 如权利要求16所述的系统,其特征在于,包括校验节点存储器,用于将所述校验节点值存储在定义了多行和多列的多个存 储体中;码元节点更新模块,包括耦合到所述码元节点存储器的所述多列的多个加法器模块,所述码元节点更新模块用于从所述校验节点存储器的相应一行读取所述校验节点值并计算新的码元节点值并累积所述校验值;其中所述校验节点更新模块用于将所述新的校验节点值写到所述校验节点存储体的所述多行。
19. 如权利要求15所述的系统,其特征在于,包括耦合到所述解码器的可重配置加法-比较-选择(ACS)模块。
20. —种方法,包括从码元节点存储器的一行读取码元节点值; 根据所述码元节点值来计算新的校验节点值; 将所述新的校验节点值写到校验节点存储器的相应一行中; 将定义了由所述新的校验节点值定义的新的校验节点与和所述码元节点值相关联的码元节点之间的路由的连接存储在校验节点地址生成器模块中;以及通过基于码类型对定义了所述新的校验节点与所述码元节点之间的路由的所述连接进行重新编程来对多种码进行解码。
21. 如权利要求20所述的方法,其特征在于,包括 从校验节点存储器的一列读取校验节点值; 根据所述校验节点值来计算新的码元节点值; 将所述新的码元节点值写在码元节点存储器的相应一列中; 将定义了由所述新的码元节点值定义的新的码元节点与和所述校验节点值相关联的校验节点之间的路由的连接存储在码元节点地址生成器模块中;以及通过基于码类型对定义了所述新的码元节点与所述校验节点之间的路由的所述连接进行重新编程来对多种码进行解码。
22. —种包括机器可读存储介质的物品,所述机器可读存储介质包含在被执行的情况下使得系统能够执行以下动作的指令:从码元节点存储器的一行读取码元节点值;根据所述码元节点值来计算新的校验节点值;将所述新的校验节点值写在校验节点存储器的相应一行中;将定义了由所述新的校验节点值定义的新的校验节点与和所述码元节点值相关联的码元节点之间的路由的连接存储在校验节点地址生成器模块中;以及通过基于码类型对定义了所述新的校验节点与所述码元节点之间的路由的所述连接进行重新编程来对多种码进行解码。
23. 如权利要求22所述的物品,其特征在于,包括在被执行的情况下使所述系统能执行以下动作的指令从校验节点存储器的一列读取校验节点值;根据所述校验节点值来计算新的码元节点值;将所述新的码元节点值写在码元节点存储器的 相应一列中;将定义了由所述新的码元节点值定义的新的码元节点与和所述校验节点值相关联的校验节点之间的路由的连接存储在码元节点地址生成器模块中;以及通过基于码类型对定义了所述新的码元节点与所述校验节点之间的路由的所述连 接进行重新编程来对多种码进行解码。
全文摘要
一种系统、装置、方法和物品,包括具有在多个校验节点与多个码元节点之间定义的多个连接的解码器。这多个校验节点与这多个码元节点之间的这些连接可被重新配置以使该解码器能够对多种码进行解码。描述并要求保护其它实施例。该系统还包括天线。
文档编号H04L1/00GK101208893SQ200680022820
公开日2008年6月25日 申请日期2006年6月26日 优先权日2005年6月24日
发明者A·楚恩, B·夏 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1