发送装置、接收装置、发送方法及接收方法与流程

文档序号:19489323发布日期:2019-12-21 04:12阅读:135来源:国知局
发送装置、接收装置、发送方法及接收方法与流程

本发明涉及通信装置及通信方法。



背景技术:

ieee802.11是无线lan关联标准之一,在其内,例如有ieee802.11ad标准、ieee802.11ay标准(以下,称为“11ad标准”、“11ay标准”)(例如,参照非专利文献1-3)。

在码字中包含的数据码元数少于ofdm(orthogonalfrequencydivisionmultiplexing;正交频分复用)码元中包含的数据码元数的情况下,适用将数据码元在ofdm码元内重新排列的“交织处理”。通过交织,码字中包含的数据码元被分散配置宽的频率范围中,所以频率选择性信道中的通信质量提高。

现有技术文献

非专利文献

非专利文献1:ieee802.11tm-20162436頁~2496頁2016年12月14日発行

非专利文献2:ieee802.11-17/0589r02017年4月11日発行

非专利文献3:ieee802.11-17/0597r12017年4月25日発行



技术实现要素:

发明要解决的课题

然而,并未充分研究在码字被分片配置在多个ofdm码元中的情况下,被分片的码字配置在宽频域中的交织模式(pattern),有在频率选择性信道中通信质量劣化的情况。

本发明的一方式,有助于提供可以以简单的结构进行交织,使得被分片在多个ofdm码元中的码字配置在宽的频域中,可以提高频率选择性信道中的通信质量的发送装置、接收装置、发送方法及接收方法。

用于解决课题的方案

本发明的一方式的发送装置包括:将第1码字至第n码字进行交织的交织器电路;将被交织的所述第1码字至第n码字转换为ofdm信号的ofdm调制电路;以及发送所述ofdm信号的发送电路,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,所述交织器电路升序地写入所述第1码字至所述第n码字,从所述第2码字开始读出。

本发明的一方式的接收装置包括:接收含有在发送装置中被交织的第1码字至第n码字的ofdm信号的接收电路;从所述ofdm信号中提取被交织的所述第1码字至第n码字的dft电路;以及将被交织的所述第1码字至第n码字解交织的解交织器电路,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,在所述发送装置的交织器电路中,从所述第1码字至所述第n码字升序地写入被交织的所述第1码字至所述第n码字,从所述第2码字开始读出并生成被交织的所述第1码字至第n码字。

本发明的一方式的发送方法包括以下步骤:将第1码字至第n码字进行交织,将被交织的所述第1码字至第n码字转换为ofdm信号,发送所述ofdm信号,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,升序地写入所述第1码字至所述第n码字,从所述第2码字开始读出。

本发明的一方式的接收方法包括以下步骤:接收含有在发送装置中被交织的第1码字至第n码字的ofdm信号,从所述ofdm信号中提取被交织的所述第1码字至第n码字,将被交织的所述第1码字至第n码字解交织,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,在所述发送装置的交织器电路中,从所述第1码字至所述第n码字升序地写入被交织的所述第1码字至所述第n码字,从所述第2码字开始读出并生成被交织的所述第1码字至第n码字。

再者,这些概括性的或具体的方式,可通过系统、装置、方法、集成电路、计算机程序、或存储介质来实现,也可以通过系统、装置、方法、集成电路、计算机程序和存储介质的任意组合来实现。

发明效果

根据本发明的一方式,能够以简单的结构进行交织,使得被分片在多个ofdm中的码字配置在宽的频域中,可以提高频率选择性信道中的通信质量。

从说明书和附图中将清楚本发明的一方式中的更多的优点和效果。这些优点和/或效果可以由几个实施方式及说明书和附图记载的特征来分别提供,不需要为了获得一个或一个以上的同一特征而提供全部特征。

附图说明

图1表示实施方式1的通信装置的结构例子的框图。

图2表示实施方式1的交织器的动作例子的图。

图3表示实施方式1的交织器的另一动作例子的图。

图4a表示实施方式1的交织的过程的流程图。

图4b表示实施方式1的交织的过程的流程图。

图4c表示实施方式1的交织的过程的流程图。

图5a示意地说明实施方式1的交织器的写入动作的图。

图5b示意地说明实施方式1的交织器的读出动作的图。

图5c表示实施方式1的地址表的一例子的图。

图6a表示实施方式1的ofdm码元0中的交织的二维数组和码字之间的关系的图。

图6b表示实施方式1的ofdm码元0中的各码字的数据码元的分布的图。

图7a表示实施方式1的ofdm码元1中的交织的二维数组和码字之间的关系的图。

图7b表示实施方式1的ofdm码元1中的各码字的数据码元的分布的图。

图8a表示实施方式1的ofdm码元2中的交织的二维数组和码字之间的关系的图。

图8b表示实施方式1的ofdm码元2中的各码字的数据码元的分布的图。

图9a表示实施方式1的交织的另一过程的流程图。

图9b表示实施方式1的交织的另一过程的流程图。

图9c表示实施方式1的交织的另一过程的流程图。

图10a示意地说明实施方式1的ofdm码元1中的交织器的读出动作的图。

图10b表示实施方式1的ofdm码元1中的各码字的数据码元的分布的图。

图11a示意地说明实施方式1的变更了ofdm码元1中的写入开始位置的情况下的交织器的写入动作的图。

图11b示意地说明实施方式1的变更了ofdm码元1中的写入开始位置的情况下的交织器的读出动作的图。

图12示意地说明实施方式1的设定了ofdm码元2中的读出开始位置的情况下的交织器的读出动作的图。

图13表示实施方式1的ofdm码元2中的各码字的数据码元的分布的图。

图14表示实施方式1的ofdm码元1中的idx1(n)及idx2(n,1)的值的一例子的图。

图15表示实施方式1的交织器的结构例子的框图。

图16表示实施方式1的交织器的另一结构例子的框图。

图17表示实施方式1的ofdm码元1中的idx3(n)及idx4(n,1)的值的一例子的图。

图18表示实施方式1的交织器的另一结构例子的框图。

图19表示实施方式1的数据子载波顺序和子载波号的对应例子的图。

图20示意地说明实施方式1的ofdm码元0中的交织器的另一动作例子的图。

图21示意地说明实施方式1的ofdm码元1中的交织器的另一动作例子的图。

图22表示实施方式1的ofdm码元0中的各码字的数据码元的分布的图。

图23表示实施方式1的ofdm码元1中的各码字的数据码元的分布的图。

图24示意地说明实施方式1的ofdm码元0中的交织器的另一动作例子的图。

图25示意地说明实施方式1的ofdm码元1中的交织器的另一动作例子的图。

图26表示实施方式1的ofdm码元0中的各码字的数据码元的分布的图。

图27表示实施方式1的ofdm码元1中的各码字的数据码元的分布的图。

图28示意地说明实施方式1的ofdm码元0中的交织器的另一动作例子的图。

图29示意地说明实施方式1的ofdm码元1中的交织器的另一动作例子的图。

图30表示实施方式1的变形例的交织的过程的流程图。

图31表示实施方式1的变形例的循环移位的一例子的图。

图32表示实施方式1的变形例的ofdm码元1中的各码字的数据码元的分布的图。

图33表示实施方式2的通信装置的结构例子的框图。

图34表示实施方式2的解交织器的结构例子的框图。

图35表示实施方式2的行计数器及列计数器的动作的一例子的图。

具体实施方式

以下,参照附图详细地说明本发明的实施方式。

在11ay标准中,使用ldpc(lowdensityparitycheck;低密度奇偶校验)编码,不进行速率匹配(码字大小的调整)。因此,在11ay标准中,可以将每1发送比特的编码及解码处理的计算量(计算的复杂性及电路规模)保持固定,可以减小电路规模或功耗。

另一方面,在11ay标准中,ofdm码元中包含的比特数和被ldpc编码的比特数(码字的大小)没有倍数或约数的关系。因此,有码字被分断而被包含在不同的ofdm码元中的情况,有因交织方法而性能(通信质量)劣化的情况。

此外,在11ay标准中,为了宽带(例如最大8.64ghz),1ofdm码元内的子载波数及比特数居多,另一方面,为了减小编码及解码的计算量,被ldpc编码的比特数较少(码字大小较小)。因此,在11ay标准中,大小较小的码字被分断,容易发生在频带内因码字无法分散在宽的范围内造成的性能劣化的问题。

再者,在另一标准、例如在lte中,100mhz等的带宽较小,6144比特等的码字大小较大。因此,在lte中,即使码字被分断,码字数据也可以在频带内充分宽的范围内被分散。此外,在lte中,可以使用特播码,进行速率匹配(删截),使得码字大小适合于ofdm码元大小、或分散码字,所以不发生与上述的11ay标准同样的问题。但是,删截(在发送机侧丢弃)中,即使对于没有发送的比特也进行编码及解码,所以电路规模及功耗增大。

此外,在另一标准、例如11ad标准中,码字大小是可以包含在ofdm中的比特数的约数,所以不发生码字的分断。

因此,在本发明中,说明即使在如11ay标准那样,码字被分断在多个ofdm码元中的情况下,也可以在宽的频域中分散地配置码字,提高通信质量的交织方法。

(实施方式1)

[通信装置的结构]

图1是表示通信装置的结构的一例子的图。通信装置100是包括mac(mediumaccesscontrol)控制电路101、fec(forwarderrorcorrection)编码电路102、调制电路103、交织器104,ofdm调制电路105、rf发送电路106、发送天线阵列107、接收天线阵列111、rf接收电路112、同步电路113、dft(discretefouriertransform,离散傅立叶变换)电路114,均衡电路115、解交织器116、解调电路117、fec解码电路118、信道估计电路119的结构。

再者,在通信装置100中,mac控制电路101、fec编码电路102、调制电路103、交织器104,ofdm调制电路105、rf发送电路106、发送天线阵列107例如构成发送装置,接收天线阵列111、rf接收电路112、同步电路113、dft电路114,均衡电路115、解交织器116、解调电路117、fec解码电路118、信道估计电路119例如构成接收装置。

mac控制电路101基于从应用处理器(未图示)输入的数据,生成发送数据,输入到fec编码电路102。此外,mac控制电路101确定发送参数(例如,使用的无线信道、发送数据大小、信道绑定数、ldpc编码方式、天线指向性等),基于确定出的发送参数,进行fec编码电路102、调制电路103、交织器104,ofdm调制电路105、rf发送电路106、发送天线阵列107的控制(省略图示)。

此外,mac控制电路101确定接收参数(例如,使用的无线信道、信道绑定数、接收功率阈值、天线指向性等),基于确定的接收参数,进行接收天线阵列111、rf接收电路112、同步电路113、dft电路114,均衡电路115、解交织器116、解调电路117、fec解码电路118、信道估计电路119的控制(未图示)。mac控制电路101将接收数据从fec解码电路118接收,输出到应用处理器(未图示)。

fec编码电路102对发送数据,进行错误检测码的附加、比特加扰及纠错编码。在错误检测码中,作为一例子,使用crc(cyclicredundancycheck;循环冗余校验)码。在比特加扰中,作为一例子,fec编码电路102生成伪随机序列、m序列、或黄金(gold)序列,对发送数据进行“异或”(异或逻辑)。在纠错码中,作为一例子,使用ldpc码、特播码、或里德索罗门码。

调制电路103将fec编码电路102输出的数据(比特序列)进行数据调制,转换为数据码元。作为调制方式,例如,使用bpsk(binaryphaseshiftkeying;二进制相移键控)、qpsk(quadraturephaseshiftkeying;正交相移键控)、sqpsk(spreadqpsk;扩展qpsk)、16qam(16值quadratureamplitudemodulation;16值正交调幅)、64qam(64值qam)、64nuc(64值non-uniformconstellation;64值非均匀星座)。

在包含多个数据码元的数据码元的块(码字等)中,交织器104按照一定的规则来重新排列数据码元的顺序。交织器104的细节,将后述。

ofdm调制电路105将交织器104中交织的码字转换为ofdm信号。具体地说,ofdm调制电路105对交织器104输出的重新排列过的数据码元的块,插入导频码元,确定发送各数据码元及导频码元的频率(称为子载波),将各数据码元及导频码元配置在子载波中(称为子载波映射),进行idft(inversediscretefouriertransform;离散傅立叶逆变换),生成时域信号序列(称为ofdm码元)。

此外,ofdm调制电路105复制ofdm码元的后半部分的数据并附加在ofdm码元之前(称为cp(cyclicprefix;循环前缀)附加)。此外,ofdm调制电路105在进行了cp附加的ofdm码元的开头及末端附近进行振幅调整及滤波的应用(称为窗函数)。再者,cp有时称为gi(guardinterval;保护间隔)。

再者,通信装置100也可以包括除了ofdm调制电路105生成的时域信号序列以外,还生成与前置码、信头、以及波束成形训练序列有关的时域信号序列的前置码生成电路(未图示)、信头信号生成电路(未图示)、波束成形训练序列信号生成电路(未图示)。再者,前置码、信头、以及波束成形训练序列也可以与数据码元的块同样地被输入到ofdm调制电路105,进行子载波映射、idft,生成ofdm码元。

此外,通信装置100也可以在ofdm调制电路105的后级包括将ofdm调制电路105生成的时域信号序列、以及与前置码、信头、波束成形训练序列有关的时域信号序列进行结合,生成phy帧的phy帧生成电路(未图示)。

rf发送电路106将ofdm调制电路105及phy帧生成电路(未图示)输出的时域信号序列使用d/a转换器转换为模拟信号,调制为无线域信号(例如60ghz频段信号)(称为上变频),进行功率的放大。

发送天线阵列107包括1以上的天线元件,将rf发送电路106输出的信号作为无线信号发送。作为一例子,发送天线阵列107为相控阵天线。

接收天线阵列111包括1以上的天线元件,接收无线信号。作为一例子,接收天线阵列111为相控阵天线。

rf接收电路112进行接收天线阵列111接收到的无线信号的放大(agc、automaticgaincontrol,进行增益的自动调整),从无线域信号解调为基带信号(称为下变频),使用a/d转换器转换为数字信号,输入到同步电路113。

同步电路113对rf接收电路112输出的信号,进行前置码信号检测、码元定时检测、载波频率偏移校正。

dft电路114从ofdm码元(ofdm信号)中提取被交织的多个码字。具体地说,dft电路114对同步电路113输出的信号,进行cp的除去,提取接收的ofdm码元数据。此外,dft电路114对接收ofdm码元数据进行dft,转换为频域接收信号。

均衡电路115使用频域接收信号中包含的接收导频码元信号、以及信道估计电路119(后述)输出的信道信息(称为信道估计矩阵),进行频域接收信号中包含的接收数据子载波信号的频率特性的校正。

再者,均衡电路115也可以进行接收分集合成、最大比合成、mimo(multi-inputmulti-output;多输入多输出)信号分离处理。

作为一例子,均衡电路115也可以使用zf(zero-forcing;迫零)方式、mmse(minimummeansquareerror;最小均方误差)方式、mld(maximumlikelihooddetection;最大似然检测)方式、mrc(maximumratiocombining;最大比率组合)方式、mmse-irc(mmseinterferencerejectioncombining;mmse干扰抑制组合)方式。

解交织器116进行均衡电路115输出的频率校正后的接收数据子载波信号的重新排列(解交织)。作为解交织器116使用的重新排列的规则,也可以采用与交织器104使用的重新排列的规则相反的规则。解交织器116也可以进行将交织器104重新排列的数据码元重新配列为原来的顺序的处理。解交织器116的细节将后述。

解调电路117将例如bpsk、qpsk、sqpsk、16qam、64qam、64nuc的调制信号解调,转换为比特数据序列。

fec解码电路118对比特数据序列,进行纠错解码(作为一例子,使用ldpc解码器、特播解码器)、解扰(反向加扰)处理。fec解码电路118将进行纠错解码、以及解扰所得的数据输出到mac控制电路101。

信道估计电路119使用接收到的前置码信号及导频子载波信号,计算信道估计矩阵。

再者,通信装置100也可以包括接收信头信号、进行均衡、解调及fec解码的信头接收电路(未图示)。

[交织器的动作]

<动作例子1>

使用图2,说明交织器104的动作。作为一例子,说明ldpc码字大小(表示为“lcw”)为672比特、调制方式为16qam、每1码元的比特数(表示为“ncbps”)为4、数据子载波数(表示为“nsd”)为336子载波的情况。

由lcw/ncbps计算每1码字的数据码元数,在图2的例子中,为168码元。也就是说,在图2中,数据子载波数(nsd=336)是每码字的数据码元数(lcw/ncbps=168)的倍数(2倍)。因此,交织器104每次被输入与2个码字对应的数据码元时(合计336码元),进行数据的重新排列,输出336子载波的数据(相当于一个ofdm码元)。

在图2中,交织器104如下进行数据码元的重新排列。首先,交织器104将第1码字(称为码字1。以下同样)的开头的数据码元配置在第1子载波(例如,频率最低的数据子载波)中。接着,交织器104将第2码字(称为码字2。以下同样)的开头的数据码元配置在第2子载波(例如,第1子载波的下一个频率较低的数据子载波)中。

若将码字1的数据码元表示为d(0)~d(167),将码字2的数据码元表示为d(168)~d(335),则交织器104将数据码元d(idx(k))配置在子载波号k中。由式1计算idx(k)。

在式1中,第1项的“mod”表示余数运算,第2项表示地板函数(式1的第2项也可以写为地板函数:floor(x),表示求不超过x的最大整数)。

再者,在图2中,说明了数据子载波数(nsd)为每1码字的数据码元数(lcw/ncbps)的2倍的情况,但与图2同样,在数据子载波数(nsd)为每1码字的数据码元数(lcw/ncbps)的倍数的情况下,交织器104将数据码元d(idx(k))配置在子载波号k中。由式2计算idx(k)。

式2使用变量nx、ny表示为式3。再者,根据式4、式5而确定变量nx、ny。

nx=nsd/(lcw/ncbps)=nsd×ncbps/lcw式4

ny=lcw/ncbps=nsd/nx式5

此外,在图2及式1、式2、式3中,说明了交织器104对每个码字一次取出1数据码元并从子载波的开头(idx(k)=0)配置的情况。但是,交织器104也可以对每个码字一次取出ns数据码元(称为数据码元组)并从子载波的开头(idx(k)=0)配置(称为一次处理ns码元)。ns可以例如为8,也可以是其他值。

再者,交织器104也可以在交织处理前后保持数据码元组内的数据码元的顺序。此外,交织器104也可以在交织处理前后根据一定的规则重新排列数据码元组内的数据码元的顺序。

在交织器104一次处理ns码元的情况下,交织器104将数据码元d(idx(k))配置在子载波号k中。由式6、式7、式8、式9计算idx(k)。

nx=nsd/(lcw/ncbps)=nsd×ncbps/lcw式8

ny=lcw/ncbps/ns=nsd/ns/nx式9

式7和式3的不同点是,相比式3中使用的ny,式7中使用的ny的值为ns分之一(参照式9)。在使用式6的情况下,交织器104集中转发ns个数据码元(例如,对存储器的写入)即可。此外,在使用式6的情况下,交织器104对每ns个数据码元计算1个交织地址即可。此外,在使用式6的情况下,nx及ny的值较小,式6的计算变得容易,所以可以削减电路规模,提高电路的处理速度(吞吐量)。

再者,使用变量i及j,式6也可以如式10那样表示。式11表示i、j及k之间的关系。

idx(ns×i+j)=idx0(i)×ns+j式10

i=0,1,...,nx,j=0,1,...,ny,k=ns×i+j式11

<动作例子2>

图3示出了表示交织器104的动作的另一例子。在图3中,ldpc码字大小(表示为lcw)为672比特,调制方式为16qam,每1码元的比特数(表示为ncbps)是4,数据子载波数(表示为nsd)是728子载波,处理单位(ns)是8码元。此外,cw表示码字(codeword)。

再者,将ns个数据码元称为“数据码元组”,将ns个子载波称为“子载波组”。在图3中,1码字包含168(=lcw/ncbps)个数据码元。因此,1码字包含21(=lcw/ncbps/ns)个数据码元组。此外,在图3中,1ofdm码元包含728(=nsd)个数据子载波。因此,1ofdm码元包含91(=nsd/ns)个子载波组。

与图2不同,在图3中,数据子载波数不是每码字的码元数的倍数。这种情况下,交织器104使用式12取代式8来计算nx。

式12的右边表示天花板函数(式12的右边,天花板函数:也可以写为ceiling(x),求x以上的最小整数)。

相比式8,式12被追加了天花板函数,所以在nsd没有被lcw/ncbps除尽的情况下,nx也为整数。

图4a、图4b、图4c是表示交织器104进行本实施方式的交织的过程的流程图的例子。使用二维数组示意性地说明交织的过程(后述)。

图4a是直接实现使用了二维数组的过程的方法。此外,图4b是将图4a的过程变形,取代二维数组,适合使用1维的存储器(例如,ram)实现的方法。图4c是事先计算图4b中的交织地址,削减电路规模的方法。

图4a是表示交织器104使用式12、式9算出的nx及ny进行交织的动作的过程的流程图。此外,图5a、图5b是示意地说明图4a的交织器104的动作的图。

再者,图5a及图5b中,d(k)表示第k数据码元组(k为0以上lsd/ns-1以下的整数)。在将第h数据码元表示为c(h)的情况下(h为0以上nsd-1以下的整数),以d(k)表示的数据码元的序列包含{c(k×ns),c(k×ns+1),c(k×ns+2),...,c(k×ns+ns-2),c(k×ns+ns-1)}。

在图4a的步骤s1001中,交织器104使用式12及式9,计算(确定)nx及ny的值。图5a及图5b使用nx行ny列的二维数组说明图4a的交织器104的动作。因此,将nx称为二维数组的“行数”,将ny称为二维数组的“列数”。交织器104也可以使用存储器或寄存器排列来安装二维数组。也就是说,交织器104具有nx×ny的存储器大小。

在步骤s1002中,交织器104在二维数组的行方向上写入数据码元组d(k)(参照图5a)。交织器104将ny个数据码元组d(0)至d(ny-1)写入二维数组的行号0中,将ny个数据码元组d(ny)至d(2ny-1)写入二维数组的行号1中。交织器104同样地进行对各行的写入,在行号nx-1(最后行。图5a中为行号4)中,写入ny个以下的数据码元组d((nx-1)×ny)至d(nsd/ns-1)。

在步骤s1003中,交织器104在最后行的剩余的元素中,写入虚拟数据。例如,在数据码元为8比特的二进制数的情况下,如1000_0000(10进制数为-128)那样,也可以将负的最小值作为虚拟数据。再者,交织器104也可以将最后行的剩余的元素作为空白,取代进行虚拟数据的写入。

在步骤s1004中,交织器104进行虚拟数据的丢弃、以及对二维数组的列方向的数据码元组d(k)的读出。在图5b中,作为一例子,交织器104读出的数据码元组的列为{d(0),d(21),d(42),d(63),d(84),d(1),d(22),d(43),d(64),d(85),d(2),...,d(81),d(19),d(40),d(61),d(82),d(20),d(41),d(62),d(83)}。

图4b是表示交织器104在图3中进行交织的另一过程的流程图。图4b使用与图4a不同的过程,但输出同样的数据码元序列。再者,在图4b中,对与图4a相同的动作,附加相同的标号。

在图4b的步骤s1001中,与图4a的步骤s1001同样,交织器104使用式12及式9,计算(确定)行数nx及列数ny。

在步骤s1101中,交织器104使用式13a计算块交织地址idx0(i)(i为0以上nx×ny-1以下的整数)。

式13a是与式7同样的计算式,但索引i的值的范围不同,为0以上nx×ny-1以下,取代0以上nsd/ns-1以下。

在步骤s1102中,交织器104从在步骤s1101中算出的块交织地址的序列{idx0(0),idx0(1),...,idx0(nx×ny-2),idx0(nx×ny-1)}中除去数据码元组数(nsd/ns)以上的值(也就是说,索引i=nsd/ns以上的块交织地址idx0(i)),生成交织地址的序列{idx1(0),idx1(1),...,idx1(nsd/ns-2),idx1(nsd/ns-1)}。

在步骤s1103中,交织器104将数据码元组d(k)使用升序地址写入到存储器(未图示)中。交织器104将数据码元组d(k)写入到存储器内的地址k中。

在步骤s1104中,交织器104使用在步骤s1102中生成的交织地址idx1(k),从存储器读出数据码元组。例如,交织器104将读出地址设定为idx1(0)的值并从存储器读出数据码元组,设为子载波组的开头数据。即,在子载波组号k的位置,被配置存储器内的地址idx1(k)中存储的数据码元组(d(idx1(k))。

在图4b中,作为一例子,交织器104读出的数据码元组的列为{d(idx1(0)),d(idx1(1)),d(idx1(2)),...,d(idx1(k)),...,d(idx1(nsd/ns-2)),d(idx1(nsd/ns-1))}。

图4c是表示交织器104在图3中进行交织的另一过程的流程图。图4c使用与图4a及图4b不同的过程,但输出同样的数据码元序列。再者,在图4c中,对与图4b相同的动作,附加相同的标号。

在步骤s1202中,交织器104根据数据子载波数nsd及码字大小lcw,计算交织地址idx1(k)。交织器104也可以使用与图4b的步骤s1001至步骤s1102同样的过程,计算交织地址idx1(k)。

此外,对数据子载波数nsd及码字大小lcw的每个组合,交织器104也可以预先计算交织地址idx1(k),作为表存储(称为“地址表”)。地址表也可以存储在rom(readonlymemory;只读存储器)、ram(randomaccessmemory;随机存取存储器)、寄存器等中。

图5c是表示地址表的一例子的表。图5c的地址表被用于数据码元组数nsd/ns为91、码字大小lcw为672的情况。

根据图5c的地址表,作为一例子,k的值为0的情况下idx1(k)的值为0,k的值为1的情况下idx1(k)的值为21。

在图4c中,步骤s1103及步骤s1104与图4b是同样的。

作为一例子,在图4c中,交织器104读出的数据码元组的列为{d(idx1(0)),d(idx1(1)),d(idx1(2)),...,d(idx1(nsd/ns-2)),d(idx1(nsd/ns-1))}。这里,根据图5c的地址表确定了idx1(0)至idx1(nsd/ns-1)的值,所以作为一例子,交织器104读出的数据码元组的列为{d(0),d(21),d(42),...,d(62),d(83))}。即,与在图4a的过程中得到的数据码元组的序列是同样的。

图6a是表示将与图3的ofdm码元号0(ofdm码元0)对应的数据码元组进行交织的情况中的、图5a及图5b的二维数组(写入和读出)和码字(cw)之间的关系的图。

在图6a中,码字1(cw1)的数据码元组被配置在二维数组的0行中。同样,码字j+1(j为0以上nx-1以下的整数)的数据码元组被配置在二维数组的行号j中。有在最后行(行号nx-1)中,整个行内都没有被配置数据码元组的情况。也可以码字nx(图6a中的码字5(cw5))的一部分的数据码元组包含在ofdm码元0的最后行中,码字5(cw5)的剩余的数据码元组包含在下一个ofdm码元1的开头行中。ofdm码元1中的数据的配置方法将后述(参照图7a)。

在图6a中,对每行配置不同的码字的数据码元组,所以交织器104在列方向上读出数据的情况下(参照图5b、图4a的步骤s1004、图4b、图4c的步骤s1104),连续的2个数据码元组是不同的码字中包含的数据码元组。

因此,例如在因通信路径中的多路径造成的连续的频带(比发送频带窄的固定的频率范围)中发生了信号质量的劣化的情况下,质量劣化的数据码元组被分散在多个码字中。因此,可以使码字间的质量均匀,可以防止分组错误率的劣化。即,交织器104可以防止质量劣化集中在特定的码字中包含的数据码元组中,所以可以改善纠错后的错误率。

此外,根据图6a的配置及图5c的地址表,码字1的数据码元组的读出后的顺序(k)为0,5,10,15,20,25,30,35,39,43,47,51,55,59,63,67,71,75,79,83,87。再者,k=0对应于频率低的数据子载波,k=90对应于频率高的数据子载波。

图6b是表示ofdm码元号0(ofdm码元0)中的各码字的数据码元的频域中的分布的图。在图6a的配置的情况下,交织器104可以将码字1、码字2、码字3、码字4的数据码元广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。

如以上,交织器104可以将包含各码字的数据码元组广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。由此,例如在因通信路径的多路径而对每个频率有接收质量的波动的情况下,可以防止质量劣化集中在特定的码字中包含的数据码元组中,所以可以改善纠错后的错误率。

接着,图7a是表示在将与图3的ofdm码元号1(ofdm码元1)对应的数据码元组进行交织的情况中的、图5a及图5b的二维数组(写入和读出)和码字(cw)之间的关系的图。

在图7a中,交织器104将码字5(cw5)之中、未包含在ofdm码元0中的剩余的数据码元组配置在行号0中。在行号0中配置的cw5的数据码元组小于行号0的大小(列数ny)的情况下,交织器104将在行号0的剩余的元素(图7a的d(14)至d(20))中,从cw的开头起顺序地配置cw6的数据码元组。交织器104将cw6之中、未写入在行号0中的剩余的数据码元组从行号1的开头起写入。

同样,交织器104对每个码字,将数据码元组从行的中途(例如列号14,即有d(14)的列)起开始写入,转移到下一行,写入至开始写入的列的前一个列(例如列号13)为止。在图7a中,交织器104在最后行的前一行及最后行中写入码字(例如cw9)前半部分的14数据码元组,在下一个ofdm码元(例如ofdm码元2)中写入剩余的后半部分7数据码元组。

图7b是表示ofdm码元1中的各码字的数据码元的频域中的分布的图。从图7a的d(0)开始读出,所以交织器104可以将码字6、码字7、码字8的数据码元广泛地分散配置整个从较低的频率的数据子载波至较高的频率的数据子载波中。

如以上,交织器104可以将各码字包含的数据码元组广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。由此,例如在因通信路径的多路径而对每个频率有接收质量的波动的情况下,可以防止质量劣化集中在特定的码字中包含的数据码元组中,所以可以改善纠错后的错误率。

接着,图8a是表示在将与图3的ofdm码元号2(ofdm码元2)对应的数据码元组进行交织的情况中的、图5a及图5b的二维数组(写入和读出)和码字(cw)之间的关系的图。

与图7a同样,在图8a中,交织器104从先前的ofdm码元(ofdm码元1)中包含的最后码字(cw9)的剩余的后半部分7数据码元组起开始写入,进行将码字顺序写入。因此,交织器104可以将各码字包含的数据码元组广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。

再者,在图7a(ofdm码元1)中,各码字的开头的数据码元组被配置在列号14中。这是因为先前的ofdm码元(ofdm码元0)中的最后码字(cw5)的剩余的数据码元组数为14。此外,在图8a(ofdm码元2)中,各码字的开头的数据码元组被配置在列号7中。这是因为先前的ofdm码元(ofdm码元1)中的最后码字(cw9)的剩余的数据码元组数为7。此外,在图6a(ofdm码元0)中,各码字的开头的数据码元组被配置在列号0中。这是因为先前的ofdm码元(未图示)中的最后码字的剩余的数据码元组数为0。

图8b是表示ofdm码元2中的各码字的数据码元的频域中的分布的图。交织器104从图8a的d(0)起开始读出,所以可以将码字10、码字11、码字12、码字13的数据码元广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。

如以上,对每个ofdm码元配置各码字的开头的数据码元组的列号不同,但交织器104相对于列号循环写入各码字的数据码元组(即写入位置达到了最后位置的情况下,返回到开头列继续写入),所以可以将各码字包含的数据码元组广泛地分散配置整个从较低的频率的数据子载波至较高的频率的数据子载波中。由此,例如在因通信路径的多路径而对每个频率有接收质量的波动的情况下,可以防止质量劣化集中在特定的码字中包含的数据码元组中,可以改善纠错后的错误率。

<动作例子3>

图9a、图9b、图9c是表示交织器104进行交织的另一过程的流程图。在图9a、图9b、图9c中,对与图4a、图4b、图4c相同的处理步骤附加相同的标号,省略其说明。图9a、图9b、图9c和图4a、图4b、图4c的差异是,对每个ofdm码元变更读出开始位置。

在图9a的步骤s2003中,交织器104计算码字的开头码元的位置,设定作为读出开始位置。

例如,在进行ofdm码元0的交织的情况下,码字1的开头码元的位置是行号0、列号0(图6a的d(0)的位置),所以交织器104将行号0、列号0设定为读出开始位置。即,交织器104在ofdm码元0中设定与图5b相同的读出开始位置。

此外,例如,在进行ofdm码元1的交织的情况下,码字6的开头码元的位置是行号0、列号14(图7a的d(14)的位置),所以交织器104将行号0、列号14设定为读出开始位置。即,交织器104在ofdm码元1中设定与图5b不同的读出开始位置。

这里,码字5的开头码元被包含在ofdm码元0(图6a)中,没有被包含在ofdm码元1(图7a)中。因此,在进行ofdm码元1的交织的情况下,交织器104计算码字6的开头码元位置(图7a的d(14)的位置)而不是码字5(例如,图7a的d(0)的位置),设定为读出开始位置。

也就是说,如图10a所示,在ofdm码元1中包含的第1码字至第n码字(图10a的码字5~码字9)中,在码字5中包含的数据码元数少于码字6中包含的数据码元数的情况下,交织器104从码字5升序地开始写入,从码字6开始读出。再者,如图10a所示,在ofdm码元1中,至少在包含读出开始位置的码字6中包含的数据码元数(21码元)与交织器104的nx×ny的存储器大小的ny(即,列数)相等。

此外,在进行ofdm码元1的交织的情况下,交织器104也可以计算码字6的开头码元位置,设定为读出开始位置,各码字的开头的数据(例如d(14)、d(35)、d(56)、d(77))被首先读出。

换句话说,交织器104也可以选择在各ofdm码元中包含开头的数据码元的、最先被输入的码字,设定读出开始位置。

由此,ofdm码元中包含的各码字内的数据码元以与写入的顺序相同顺序被读出。也就是说,在交织前后,各码字内的数据码元的顺序被保持。因此,交织器104及解交织器116的前级及后级的处理变得容易,可以削减电路规模。

例如,解交织器116的前级的均衡电路115也可以根据子载波的顺序进行均衡处理。这种情况下,解交织器116的输出中包含的各码字,码字开头的数据码元被先输出,按照码字内的数据码元的顺序而被输出。由此,解交织器116的后级的解调电路117及fec解码电路118可以容易地分割码字。例如,对每个码字号进行分割并在另一存储器中保持数据码元及解调数据,对每个码字进行ldpc解码变得容易,可以削减电路规模及处理延迟。

此外,例如,在进行ofdm码元2的交织的情况下,码字10的开头码元的位置为行号0、列号7(图8a的d(7)的位置),所以交织器104将行号0、列号7设定为读出开始位置。即,交织器104在ofdm码元2中设定与图5b不同的读出开始位置。

在图9a的步骤s2004中,交织器104将步骤s2003中设定的读出开始位置设为始点,进行虚拟数据的丢弃、向列方向的数据的读出。

作为s2004的处理的一例子,图10a是示意地表示交织器104进行ofdm码元1的交织的情况下的读出处理的图。

在图10a中,交织器104从在步骤s2003中设定的读出开始位置(d(14)的位置)开始在列方向上进行读出。在读出位置达到了最后列的最后行(d(83)的位置。除去虚拟数据)的情况下,交织器104将读出位置移动到行号0、列号0,继续列方向的读出。

交织器104将返回到读出开始位置的前一个位置(d(76)的位置)确定为读出最后位置,在读出位置达到了读出最后位置时,完成步骤s2004的读出处理。

图10b是表示交织器104使用图9a的过程进行了交织的情况下的、ofdm码元1中包含的各码字的数据码元的频域中的分布的图。

在图10b中,与图7b同样,交织器104可以将码字6、码字7、码字8的数据码元广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。

此外,在图10b中,与图7b不同,码字5的数据码元(后半部分14数据码元组)分布在高频率的子载波中,码字9的数据码元(前半部分14数据码元组)分布在低频率的子载波中。

也就是说,在使用图9a、图9b、图9c的过程的情况下,交织器104将码字5的前半部分7数据码元组包含在ofdm码元0中,如图6b那样,配置在低频率的子载波中,将码字5的后半部分14数据码元组包含在ofdm码元1中,如图10b那样,配置在高频率的子载波中。

因此,码字5的数据码元组在ofdm码元0中被配置在较低的频率的子载波中,在ofdm码元1中被配置在较高的频率的子载波中。即,与其他的码字不同,码字5的数据码元组被跨越配置在多个ofdm码元中,但与其他的码字同样,被广泛地分散配置在频域中整个从较低的频率的数据子载波至较高的频率的数据子载波中。

再者,如图10a所示,取代在步骤s2003中根据ofdm码元号变更读出开始位置,交织器104也可以在步骤s1002中根据ofdm码元号变更数据写入开始位置。

图11a是说明交织器104根据ofdm码元号变更数据写入开始位置并写入的过程的图。

在图11a中,交织器104与图5a同样在行方向上进行数据码元组的写入,但将开始写入的列号确定为7。由此,在图11a中,cw6、cw7、cw8、cw9的开头数据码元组被配置在列号0中。

再者,在图11a中,交织器104确定了写入开始列号,使得cw6的开头码元被配置在列号0中。但是,取而代之,交织器104也可以在行号0中的cw5之前(列号0至列号6为止),写入虚拟数据,使得cw6的开头码元被配置在列号0中。

图11b是表示在交织器104按图11a所示的方法进行了写入后,读出数据码元组的方法的图。交织器104跳过读取在图11a中没有进行数据的写入的元素(或者,写入了虚拟数据的元素),在列方向上进行数据码元组的读出。也就是说,在图11b中,交织器104将行号1、列号0(d(14)的位置)作为读出开始位置,在列方向上读出数据码元组。

交织器104按图11a及图11b的方法输出的数据码元组的序列与按图10a的方法输出的序列相同。因此,由图11a及图11b的方法得到的效果与图10a的方法是同样的。在本实施方式中,以下说明的方法同样也可以如图11a及图11b那样变形,但由于效果相同,所以省略说明。

作为s2004的处理的一例子,图12是表示交织器104进行ofdm码元2的交织的情况下的读出处理的图。

在图12中,交织器104从在步骤s2003中设定的读出开始位置(d(7)的位置)开始,与图10a同样,在列方向上进行读出。

如图12所示,在ofdm码元2中包含的第1码字至第n码字(图12的码字9~码字13)中,码字9中包含的数据码元数少于码字10中包含的数据码元数。这种情况下,交织器104从码字9起升序地开始写入,从码字10起开始读出。

图13是表示交织器104使用图9a的过程进行了交织的情况下的、ofdm码元2中包含的各码字的数据码元的频域中的分布的图。

与图8b同样,在图13中,交织器104可以将码字10、码字11、码字12、码字13的数据码元广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。

此外,与图7b不同,在图13中,码字9的数据码元分布在高频率的子载波中。

在使用图9a、图9b、图9c的过程的情况下,交织器104将码字9的前半部分14数据码元组包含在ofdm码元2中,如图10b所示那样,配置在低频率的子载波中,将码字9的后半部分7数据码元组包含在ofdm码元3中,如图13所示那样,配置在高频率的子载波中。

因此,码字9的数据码元组在ofdm码元0中被配置在低频率的子载波中,在ofdm码元1中被配置在高频率的子载波中。即,码字9的数据码元组与其他的码字不同被跨越配置在多个ofdm码元中,但与其他的码字同样,在频域中被广泛地分散配置在整个从较低的频率的数据子载波至较高的频率的数据子载波中。

再者,交织器104使用步骤s2004的处理进行ofdm码元0的交织的情况下的读出处理与图4a的步骤s1004的处理是同样的(参照图5b)。

图9b是表示交织器104在图3中进行交织的另一过程的流程图。图9b使用与图9a不同的过程,但输出同样的数据码元序列。在图9b中,与图4b同样的处理附加相同的号,省略说明。

在步骤s1001中,取代式12及式9,交织器104也可以使用式13b及式13c计算nx及ny。

在根据式12及式9算出的nx、ny不是整数的情况下(后述),交织器104也可以使用式13b及式13c计算nx、ny。

在图9b的步骤s2103中,与步骤s2003(图9a)同样,交织器104计算ofdm码元内的开头码元的位置,设定为读出开始位置(n_offset)。

详细地说明n_offset的值的计算方法。交织器104使用式14,计算k(q)offset的值。

k(q)offset表示在ofdm码元号(q)(q为0以上的整数,例如ofdm码元0相当于q=0)中,在先前的ofdm码元(ofdm码元q-1)中包含的最后码字之中不包含在先前的ofdm码元而在当前的ofdm码元(ofdm码元q)中包含的码元数。

例如,在图6a的ofdm码元0(q=0)中,k(0)offset可以表示为式15。

此外,在图7a的ofdm码元1(q=1)中,k(1)offset可以表示为式16。

此外,在图8a的ofdm码元2(q=2)中,k(2)offset可以表示为式17。

再者,取代式14,交织器104也可以使用式18计算k(q)offset的值。

式18是递归式,乘法除法的数比式14少,所以交织器104可以削减计算量并削减电路规模及功耗。

接着,交织器104使用式19,计算nl的值。

式19的nl表示二维数组的最后行中包含的数据码元组数。例如,在图6a中,在最后行内包含d(84)至d(90)的7数据码元组,所以nl的值为7。在式19中,利用图6a的ofdm码元0的最后行的长度(相当于nl)为从行的长度(ny)中减去图7a的ofdm码元1(q=1)的行号0中包含的码字5的码元组数(相当于floor(k(1)offset/ns))所得的值,计算nl的值。

交织器104使用式20a,计算读出开始位置(n_offset)的值。再者,n_offset的值依赖于ofdm码元号(q),所以有写为n(q)offset或n_offset(q)的情况。

n_offset(q)的值表示在二维数组中比包含读出开始位置的列之前的列中包含的数据码元组数。例如,在图10a中,在包含读出开始位置的行(包含d(14)的行)之前的行(包含d(0)至d(13)的行)中包含的数据码元组数是63个,所以n_offset(1)的值为63。

此外,在式20a中,根据floor(k(q)offset/ns)的值为nl以下、或超过nl,选择第1式和第2式。如图10b及图12,第1式(floor(k(q)offset/ns)的值为nl以下的情况)用于包含读出开始位置的列为在最后行中不包含数据码元组的行(在图10b及图12中,不包含d(84)至d(90)的任何一个的列)的情况。

此外,第2式(floor(k(q)offset/ns)的值超过nl的情况)用于包含读出开始位置的列为在最后行中包含数据码元组的列(在图10b及图12中,包含d(84)至d(90)的任何一个的列)的情况(未图示)。

以上,在步骤s2103中,表示了交织器104使用式14至式20a,计算读出开始位置的方法。

再者,在图9a中,说明了交织器104计算读出开始位置的方法,但也可以将在步骤s2003中算出的读出开始位置即行号0定为j(q)offset列,使用式20b计算j(q)offset的值。

若用使用式15、式16、式17算出的k(0)offset、k(1)offset、k(2)offset的值,则j(0)offset、j(1)offset、j(2)offset的值分别被计算为0、14、7。这种值意味着图6a(ofdm码元0)、图10a(ofdm码元1)、图12(ofdm码元2)中的读出开始位置为列号0、14、7。

在图9b的步骤s2104中,交织器104用使用n_offset(q)循环移位了交织地址idx1所得的地址idx2,进行从存储器中读出。根据式21计算idx2。

也就是说,交织器104使用根据在先前的ofdm码元中也包含的码字(例如,图10a中为码字5)中包含的数据码元数,将根据交织大小而生成的交织地址移位了的地址,读出包含读出开始位置的码字6。

图9c是表示交织器104在图3中进行交织的另一过程的流程图。图9c使用与图9a及图9b不同的过程,但输出同样的数据码元序列。在图9c中,与图9b及图4c同样的处理附加相同的号,省略说明。

与在图4c中将图4b的地址计算置换为查地址表的情况同样,在图9c中,也可以将图4b的地址计算(步骤s1001、s1101、s1102)置换为查地址表(参照图4c的步骤s1202的说明)。

在图9c中,数据码元组的读出过程与图9b是同样的(步骤s2103、s2104)。

再者,在图9c的步骤s2104中,取代idx2的值使用式21进行计,交织器104也可以使用idx1的地址表(作为一例子,为图5c)计算。例如,在图10a中,在n为87、n_offset(1)为63的情况下,根据式22,idx2(87,1)的值被计算为13。

这表示在图10a中,码元块组d(13)被第87读出。这样,交织器104将ofdm码元号q中第n读出的数据确定为d(idx2(n,q))。

图14是表示ofdm码元1(q=1)中的、idx2(n,1)的值的例子的表。

如以上,在使用图4a、图4b及图4c的过程的情况下,交织器104将码字5的前半部分的数据码元组包含在ofdm码元0中,图6b所示那样,被配置在低频率的子载波中,将码字5的后半部分的数据码元组包含在ofdm码元1中,图6b所示那样,被配置在低频率的子载波中。

因此,码字5的数据码元组在ofdm码元0中和ofdm码元1中都被配置在低频率的子载波中,所以在分布中产生偏差。由此,例如,在低频率的子载波的信号质量的劣化比高频的子载波大的情况下,码字5的错误率比其他码字增加。

另一方面,在使用图9a、图9b、图9c的过程的情况下,交织器104可以将码字5的前半部分的数据码元组包含在ofdm码元0中,图6b所示那样,被配置在低频率的子载波中,将码字5的后半部分的数据码元组包含在ofdm码元1中,图10b所示那样,被配置在高频率的子载波中。

因此,码字5的数据码元组,在ofdm码元0中被配置在低频率的子载波中,在ofdm码元1中被配置在高频率的子载波中。与其他的码字不同,被跨越配置在多个ofdm码元中,但与其他的码字同样,在频域中被广泛地分散配置。

由此,即使在数据子载波数不是每码字的码元数的倍数的情况下,通信装置100也可以使每码字的错误率均等,降低分组错误率,提高数据吞吐量。

例如,这在因为ofdm码元长度较短(例如291纳秒),在ofdm码元间的信道变动较小的毫米波高速通信(包含11ad标准、11ay标准)中是有效的。

例如,在低频率的子载波的信号质量的劣化比高频的子载波大的情况下,在ofdm码元0的低频率侧分布的码字5的数据码元组中质量劣化的影响较大,而在ofdm码元1的高频率的子载波中分布的码字5的数据码元组中质量劣化的影响较小。在接收装置的fec解码电路118中,通过组合ofdm码元0的码字5的数据码元组和ofdm码元1的码字5的数据码元组进行纠错解码,可以降低低频率的子载波的信号质量劣化的影响,降低错误率。

图15是表示交织器104的结构的一例子(交织器104a)的图。交织器104a基于图9b的过程进行交织。

交织器104a包括存储器1040、地址计数器1041、nx,ny计算电路1042、ofdm码元数计数器1043、移位量计算电路1044,块交织地址idx0生成电路1045、交织地址idx1生成电路1046、地址移位电路1047。

mac控制电路101例如将信道绑定数(ncb)、数据子载波数(nsd)、ldpc码字大小(lcw)、每码元比特数(ncbps)的参数输入到交织器104a。

调制电路103将进行了数据调制(例如16qam)的数据码元每数据码元组(每ns码元)地输入到交织器104a。

交织器104a的存储器1040例如由ram、或者寄存器阵列构成。

交织器104a的地址计数器1041使用例如升序地址,生成用于向存储器1040写入数据码元组的数据的地址。例如,地址计数器1041生成地址,使得将数据码元组d(n,q)写入到地址n中(相当于图9b的步骤s1103)。

交织器104a的nx,ny计算电路1042使用式13b及式13c,计算二维数组的行数nx和列数ny,输入到移位量计算电路1044及块交织地址idx0生成电路1045(相当于图9b的步骤s1001)。

交织器104a的ofdm码元数计数器1043根据从调制电路103输入的码元数(未图示),确定ofdm码元号(q)的值,输入到移位量计算电路1044。

交织器104a的移位量计算电路1044使用式14,式19、式20a,计算n_offset(q)的值(相当于图9b的步骤s2103)。

交织器104a的块交织地址idx0生成电路1045使用式13a,计算idx0(i)(相当于图9b的步骤s1101)。

交织器104a的交织地址idx1生成电路1046使用图9b的步骤1102的过程,计算idx1(n)。

交织器104a的地址移位电路1047使用式21,计算idx2(n,q)(相当于图9b的步骤s2104)。交织器104a将地址移位电路1047生成的idx2(n,q)作为读出地址,从存储器1040中读出数据码元组,输出到ofdm调制电路105。

再者,也可以通过在交织器104a中,将地址移位电路1047的输出(idx2(n,q))设为写入地址,将地址计数器1041的输出设为读出地址而构成解交织器116。

图16是表示交织器104的结构的另一例子(交织器104b)的图。在图16中,对与图15相同的结构要素附加相同的标号,省略说明。图15的交织器104a通过在写入地址中使用数据码元组号(n),在读出地址中使用与交织方式对应的地址而进行交织处理。相对于此,图16的交织器104b通过在写入地址中使用与交织方式对应的地址,在读出地址中使用数据码元组号(n)而进行交织处理。

图16的交织器104b与图15交织器104a结构不同,但可以得到相同的交织结果。如后述,解交织地址表存储器1048可以根据来自调制电路103的数据码元组的输入,逐次生成对应的交织地址即可,地址移位电路1047a通过加法和模处理进行,所以电路结构简单,可以削减功耗。

地址计数器1041a根据调制电路103的输出,生成数据码元组号(n)。

解交织地址存储器1048计算解交织地址idx3(n),使得idx3(n)满足式23。

n=idx1(idx3(n))式23

再者,满足式23的idx3(n)满足式24。

n=idx3(idx1(n))式24

由式23及式24,idx3(n,q)是idx1(n,q)的反向查找地址。

解交织地址存储器1048将计算idx3(n)的地址表存储在例如rom、或者ram中,也可以计算idx3(n)。

地址移位电路1047a使用式25,计算读出初始值调整完毕的交织地址idx4(n,q)。

交织器104对应于在图10a中将读出位置超前n_offset(q),式25意味着使写入位置延迟n_offset(q),两者可得到相同的效果。

地址移位电路1047a生成的idx4(n,q)满足式26及式27。idx4(n,q)是idx2(n,q)的反向查找地址。

n=idx2(idx4(n,q),q)式26

n=idx4(idx2(n,q),q)式27

图17表示与图14所示的idx1(n)的值的例子对应的idx3(n)及idx4(n,1)的值的例子。在图14中,例如,idx1(4)的值为84。与其相对应,idx3(84)的值为4。此外,在图14中,例如,idx2(6,1)的值为57。与其相对应,idx4(57,1)的值为6。

地址计数器1041a生成数据码元组号(n)。作为一例子,地址计数器1041a生成升序地址(n=0,1,...,floor(nsd/ns)-1)。

交织器104b通过使用地址移位电路1047a生成的地址(idx4(n,q)),将数据码元组写入存储器,使用地址计数器1041a生成的地址,从存储器读出数据码元组,进行交织。

说明图16的交织器104b和图10a的对应。交织器104b通过考虑读出顺序,根据交织过程(图9a、图9b、图9c)控制写入数据码元组的位置,使得最先读出数据为地址0,下一个读出数据为地址1,实现交织。

例如,在图10a中,最先读出数据码元组d(14),所以将d(14)写入地址0。即,交织器104b进行写入地址的计算,使得idx4(14,1)=0。

图18是表示交织器104的结构的另一例子(交织器104c)的图。图18含有ofdm调制电路105的结构的一例子(ofdm调制电路105a)。在图18中,对与图15及图16相同的结构要素附加相同的标号,省略说明。

与交织器104b不同,交织器104c将地址移位电路1047a算出的地址idx4(n,q)输入到ofdm调制电路105a。此外,交织器104c也可以没有存储器1040及地址计数器1041a。

此外,调制电路103也可以将数据码元组输入到ofdm调制电路105a而取代交织器104c。通信装置100通过使用交织器104c算出的写入地址,ofdm调制电路105a实质上进行交织处理。

ofdm调制电路105a包含数据子载波地址计算电路1051、存储器1052、导频及保护子载波插入电路1053、地址生成电路1054,idft电路1055、cp附加及窗函数电路1056。

ofdm调制电路105a的数据子载波地址计算电路1051计算与交织后的数据子载波顺序(r)对应的子载波号(k)。交织后的数据子载波顺序(r),意味着例如图5b、图10a、图12中的数据的读出顺序。

例如,在图10a中,数据码元组d(14)中包含的数据码元的数据子载波顺序为0至ns-1,数据码元组d(35)中包含的数据码元的数据子载波顺序为ns至2ns-1。交织器104c将数据码元组d(n)的数据子载波顺序确定为idx4(n,q)×ns至idx4(n,q)×ns+ns-1。

图19表示数据子载波顺序(r)和子载波号(k)的对应(称为子载波映射)的一例子。子载波映射也可以根据信道绑定数(ncb)、dft点数(ndft)、数据子载波数(nsd)、信道号(ch)而取不同的值。图19是ncb=2、ndft=1024,nsd=728、信道号为9的情况的例子。

子载波号k的值的范围是-ndft/2以上ndft/2-1以下(图19的例子中,为-512以上511以下)。在图19中,k为低于-383及超过383的子载波称为保护带或保护子载波。保护子载波的码元的值被确定为0。在图19中,k的值为-1、0、1的子载波称为dc子载波。dc子载波的码元的值被确定为0。

此外,除保护子载波及dc子载波以外、并且未记载在图19中的k的值称为导频子载波。作为一例子,导频子载波的子载波号k为{-372,-350,-328,-306,-284,-262,-240,-218,-196,-174,-152,-130,-108,-86,-64,-42,-20,-3,7,24,46,68,90,112,134,156,178,200,222,244,266,288,310,332,354,376}。

数据子载波地址计算电路1051根据从数据子载波顺序(r)算出的子载波号(k),将数据码元c(h,q)写入存储器1052。这里,c(h,q)表示ofdm码元号q中的第h(h为0以上低于nsd的整数)数据码元。根据式28计算包含数据码元c(h,q)的数据码元组d(n,q)的号k。

数据子载波地址计算电路1051将例如子载波k的数据写入到存储器1052的地址k+ndft/2中。

在通信装置100中,交织器104c计算与包含数据码元c(h,q)的数据码元组d(k,q)有关的交织地址idx4(n,q)。ofdm调制电路105a基于数据码元组d(k,q)中包含的数据码元的数据顺序(idx4(n,q)×ns至idx4(n,q)×ns+ns-1)计算子载波号k,在存储器1052的、与子载波号对应的地址中写入数据码元。

导频及保护子载波插入电路1053计算保护子载波、dc子载波的位置,将码元的值作为0写入存储器1052。此外,导频及保护子载波插入电路1053计算导频子载波的子载波号,将预先确定的导频码元的值写入存储器1052。

为了idft电路1055进行idft,地址生成电路1054生成从存储器1052读出子载波数据(也可以包含数据子载波、dc子载波、导频子载波、保护子载波)的地址。地址生成电路1054可以根据idft电路1055的电路结构,生成升序地址,也可以生成反转比特顺序的地址。

idft电路1055对从地址生成电路1054生成的地址中读出的子载波数据进行离散傅立叶逆变换,将子载波数据转换成时域信号。cp附加及窗函数电路1056对时域信号附加cp,适用窗函数。

如以上,与图16的交织器104b相比,图18的交织器104c不需要存储器1040,所以可以削减电路规模及功耗,可以减少处理延迟。

<动作例子4>

图20、图21是表示交织器104进行交织的另一例子的图。在图20、图21中,说明每码字的码元数(lcw/ncbps)不是每数据码元组的码元数(ns)的倍数,在数据码元组中混合了多个码字的数据码元的情况。这里,说明交织器104使用图9a的过程的情况,但使用图9b及图9c的情况也可得到同样的效果。

作为一例子,图20表示在nsd为728、lcw为624、ncbps为4的情况下,交织器104进行ofdm码元0(q=0)的交织的例子。交织器104与图5a同样地进行每行的写入,但在图20中,省略表示写入顺序的箭头。此外,交织器104与图5b、图10a、图12同样地进行每行的写入。在图20中,表示读出顺序的箭头为了清楚表示读出位置而记载相当于开始的2列,但省略有关剩余的列号。

在步骤s1001中,交织器104使用式13b及式13c计算nx及ny的值。作为一例子,ny为20,nx为5。

在图20中,每码字的数据码元组数(lcw/ncbps/ns)是19.5,与交织器104算出的ny的值(=20)不同。根据式13b,ny的值是将每码字的数据码元组数(lcw/ncbps/ns)进位(ceiling)的值。因此,在行号0的最后列的码元(d(19))中,混合了码字1的最后4码元和码字2的开头4码元。即,在二维数组的行和码字的对应关系上产生偏差。在行号0中,与码字1不同的码元包含4码元,所以偏差量为4码元。

此外,对每行累积偏差量,行号1的偏差量为8码元,也就是说相当于1数据码元组。因此,除了行号1的最后列(d(39))之外的列(d(20)至d(38))包含码字2的数据码元组,但行号1的最后列(d(39))包含码字3的数据码元组。

此外,行号2的偏差量为12码元,也就是说相当于1.5数据码元组。因此,除了行号1的最后2列(d(58)、d(59))之外的列(d(40)至d(57))包含码字3的数据码元组,在d(58)中,混合了码字3和码字4的数据码元,最后列(d(59)包含码字4的数据码元组。

图21表示在使用与图20相同的参数(例如,nsd=728、lcw=624,ncbps=4)的情况下,交织器104进行ofdm码元1(q=1)的交织的例子。在图21中,与图20同样,记载了表示包含读出开始位置的2列的读出顺序的箭头,省略与写入及剩余的列的读出有关的箭头的记载。

在图21的各行号中,在包含读出开始位置(d(7))的列的码字的数据码元组被包含在包含读出开始位置的列之前的列中的情况下,将该数据码元数视为偏差量。

例如,在图21中,在行号0中,读出开始位置为d(7),所以码字6从开头的数据码元组中被读出,但码字7从第2数据码元组即d(27)中被读出。

因此,在码字6中,在包含读出开始位置的列(d(7))之前的列(包含d(6)的列)中包含cw6的4码元(开头4码元),所以偏差量为4码元。在码字7中,在包含读出开始位置的列(d(27))之前的列(包含d(26)的列)中cw7的码元包含8码元,所以偏差量为8码元。在码字8中,在包含读出开始位置的列(包含d(47)的列)之前的列(d(45)、d(46))中cw8的码元包含4码元和8码元,所以偏差量为12码元。在码字9中,在包含读出开始位置的列(包含d(67)的列)之前的列(d(65)、d(66))中cw9的码元包含8码元和8码元,所以偏差量为16码元。在码字10中,在包含读出开始位置的列(包含d(87)的列)之前的列(d(84)、d(85)、d(86))中cw10的码元包含4码元、8码元、8码元,所以偏差量为20码元。

图22、图23是表示交织器104进行图20、21的ofdm码元0、1的交织的情况下的码字的数据码元的频域中的分布的图。

在图9a、图9b的步骤s1001中,交织器104基于每码字的码元数确定列数ny。因此,码字1、2、3、4、6、7、8、9被广泛地分散配置在从ofdm码元的较低的频率的子载波至较高的频率的子载波中。

此外,在图9a的步骤s2003及图9b的步骤s2103中,交织器104根据ofdm码元的数据子载波数(nsd)及每码字的码元数(lcw/ncbps)确定读出开始位置。因此,在将码字分开配置在多个ofdm码元中的情况下,可以减少码字内的频率的重复,被广泛地分散配置在从ofdm码元的较低的频率的子载波至较高的频率的子载波中。

再者,在图22及图23中,在较高的频率的子载波中,码字5根据偏差量而发生数据码元的分布的重复。然而,交织器104确定读出初始值,使得对每个ofdm码元不累积偏差量(例如参照式14,式19、式20a)。因此,偏差量可以设为比ofdm码元的子载波数小的值,可以降低因数据码元的分布的重复造成的性能劣化。

此外,在图22及图23中,除去与偏差量对应的开头部分之外,交织器104将各码字的数据码元保持码字内的数据码元的顺序并配置在ofdm码元的子载波中。

由此,在通信装置100接收图22及图23的情况下,解交织器116容易保持各码字的数据码元的顺序并输出数据,所以可以简化后级的解调电路117及fec解码电路118的电路结构。此外,通信装置100容易对每个码字进行排列处理,所以可以提高数据吞吐量。

<动作例子5>

图24,图25是表示交织器104进行交织的另一例子的图。在图24,图25中,与图20、图21同样,说明每码字的码元数(lcw/ncbps)不是每数据码元组的码元数(ns)的倍数,所以在数据码元组中混合多个码字的数据码元的情况。说明交织器104使用图9a的过程的情况,但使用图9b及图9c的情况也可得到同样的效果。

作为一例子,图24表示在nsd=728、lcw=624,ncbps=4的情况下,交织器104进行ofdm码元0(q=0)的交织的例子。交织器104与图5a同样地进行每行的写入,但在图20中省略表示写入顺序的箭头。此外,交织器104与图5b、图10a、图12同样地进行每行的写入。在图20中,表示读出顺序的箭头为了清楚表示读出位置而记载相当于开始的2列,但省略有关剩余的列。

在步骤s1001中,交织器104根据式29、式30计算nx及ny的值。

与式13b不同,式29使用地板(floor)函数取代天花板(ceiling)函数。式30与式13c是同样的,但使用按式29算出的ny的值。作为一例子,ny为19,nx为5。

在图24中,每码字的数据码元组数(lcw/ncbps/ns)为19.5,与交织器104算出的ny(=19)的值不同。根据式29,ny的值是将每码字的数据码元组数(lcw/ncbps/ns)舍去(floor)的值。因此,在行号1、列号0的码元(d(19))中,混合了码字1的最后4码元和码字2的开头4码元。即,在读出开始位置的列中发生行和码字的对应关系的偏差。

图25表示在使用与图24相同的参数(例如,nsd=728、lcw=624,ncbps=4)的情况下,交织器104进行ofdm码元1(q=1)的交织的例子。与图24同样,记载了表示包含读出开始位置的2列的读出顺序的箭头,省略与写入及剩余的列的读出有关的箭头的记载。

在图25中,与图21不同,交织器104将包含一个以上cw6的数据码元的数据码元组的位置确定为读出开始位置(例如d(10)的位置)。也就是说,在图21中,在包含另一cw(例如cw5)的数据码元的情况下(例如图21的d(6)),交织器104没有选择作为读出开始位置,但在图25中,即使在包含另一cw(例如cw5)的数据码元的情况下,在包含cw6的数据码元的情况下,也选择作为读出开始位置。

在进行图25所示的读出的情况下,在图9b的步骤s2103中,交织器104使用式31取代式14。

相比在式14中使用天花板函数,交织器104在式31中使用地板函数。

图26、图27是表示交织器104进行图24、图25的ofdm码元0、1的交织的情况下的、码字的数据码元的频域中的分布的图。

在图9a、图9b的步骤s1001中,交织器104基于每码字的码元数确定列数ny。因此,码字1、2、3、4、6、7、8被广泛地分散配置在从ofdm码元的较低的频率的子载波至较高的频率的子载波中。

此外,在图9a的步骤s2003及图9b的步骤s2103中,交织器104根据ofdm码元的数据子载波数(nsd)及每码字的码元数(lcw/ncbps)确定读出开始位置。因此,在将码字分开配置在多个ofdm码元中的情况下,可以减少码字内的频率的重复,广泛地分散配置在从ofdm码元的较低的频率的子载波至较高的频率的子载波中。

再者,在图26及图27中,在一部分频率的子载波中,码字5根据偏差量而发生数据码元的分布的重复。然而,交织器104确定读出初始值,使得对每个ofdm码元不累积偏差量(例如参照式31、式19、式20a)。因此,偏差量可以设为比ofdm码元的子载波数小的值,可以降低因数据码元的分布的重复造成的性能劣化。

此外,在图26及图27中,除了码字的最后部分之外,交织器104将各码字的数据码元组保持码字内的数据码元组的顺序并配置在ofdm码元的子载波中。

例如,在图25中,在码字6中,码字6的最后部分(d(29))比d(11)至d(28)先被读取,在码字7中,码字7的最后部分d(48)比d(30)至d(47)先被读取。因此,在图27中,码字6保持与d(11)至d(28)相应的数据码元组的顺序,码字7保持与d(30)至d(47)相应的数据码元组的顺序。

由此,在通信装置100接收图26及图27的情况下,解交织器116容易保持各码字的数据码元的顺序并输出数据,所以可以简化后级的解调电路117及fec解码电路118的电路结构。此外,通信装置100容易对每个码字进行排列处理,所以可以提高数据吞吐量。

<动作例子6>

图28、图29是表示交织器104进行交织的另一例子的图。在图28、图29中,与图20、图21同样,说明每码字的码元数(lcw/ncbps)不是每数据码元组的码元数(ns)的倍数的情况。说明交织器104使用图9a的过程的情况,但使用图9b及图9c的情况也可得到同样的效果。

作为一例子,图28表示在nsd=728、lcwが=624,ncbps=4的情况下,交织器104进行ofdm码元0(q=0)的交织的例子。在图28中,与图21同样,省略表示写入顺序的箭头,表示读出顺序的箭头为了清楚表示读出位置而记载相当于开始的2列,但省略有关剩余的列。

在步骤s1001中,交织器104使用式13b,计算列数ny。此外,使用式32,计算填充码元数nyd。

nyd=nyns-lcw/ncbps式32

在步骤s1002中,交织器104在行方向上进行数据码元组的写入。再者,在最后列中,交织器104进行填充码元的追加、行方向的写入。例如,在ns为8、nyd为4的情况下,交织器104也可以在最后列的数据码元组(例如d(19)、d(39)、d(59)、d(79))中包含ns-nyd数据码元(例如4数据码元),在剩余的4码元中包含例如空白、虚拟码元、填充码元。

由此,各码字的开头数据码元组被配置在列号0中。

图29表示在使用与图24相同的参数(例如,nsd=728、lcw=624,ncbps=4)的情况下,交织器104进行ofdm码元1(q=1)的交织的例子。与图28同样,记载了表示包含读出开始位置的2列的读出顺序的箭头,省略与写入及剩余的列的读出有关的箭头的记载。

在步骤s1002中,交织器104在行方向上进行数据码元组的写入。交织器104在包含读出开始位置的列之前的列(如果读出开始位置为开头列,则为最后列)的数据码元组(例如,d(6)、d(26)、d(46)、d(66)、d(86))中,进行填充码元的追加、行方向的写入。由此,各码字的开头数据码元组被配置在包含读出开始位置的列中。

在图28、图29中,交织器104使用式33计算读出开始位置,取代式14。

再者,在图28、图29中,交织器104也可以使用将式18变形后的式34,取代式33。

式34是将式18中的lcw/ncbps(相当于每码字的码元数)置换为lcw/ncbps+nyd(相当于包含了虚拟码元的每码字的码元数)的算式。

ofdm码元中包含的虚拟码元的总数是(nx-1)×nyd,所以式33是将式14中的nsd置换为nsd+(nx-1)×nyd的算式。

在图28、图29的方法中,与图10a、图11a的方法同样,交织器104可以将各码字的数据码元广泛地分散配置在从ofdm码元的较低的频率的子载波至较高的频率的子载波中,可以提高通信质量。

此外,在图28、图29的方法中,与图10a、图11a的方法同样,交织器104将各码字的数据码元保持码字内的顺序并配置在子载波中。因此,在通信装置100进行分组的接收的情况下,简化解交织器116的后级的处理(例如解调电路117、fec解码电路118)的结构,使排列处理容易,所以可以削减电路规模,提高数据吞吐量。

(实施方式1的变形例)

图30是表示通信装置100的交织器104进行交织处理的、与图9a、图9b、图9c不同的方法的流程图。与图9b的过程中对交织地址(idx1(n))相加偏移量(noffset(q))来计算读出地址相比,在图30的过程中,交织器104与图4b同样地进行不相加偏移量的交织,根据偏移量(noffset(q))的值,进行交织后的数据的循环移位。

如图9b所示,在地址计算时相加偏移量相当于使数据根据偏移量的值进行循环移位。因此,即使使用图9a、图9b、图9c、图30的任一方法,通信装置100的交织器104输出的数据码元的顺序也是同样的。

在图30的步骤s1001中,与图9b的步骤s1001同样,交织器104使用式9及式12,计算交织器的列数(ny)及行数(nx)。再者,在数据码元组的大小(ns)为1的情况下,交织器104也可以使用式35及式36取代式9及式12。

ny=lcw·/ncbps式35

在图30的步骤s1101中,与图4b的步骤s1101同样,交织器104使用式13a,计算块交织地址idx0。

交织器104也可以使用式37取代式13a。

idx0(j×nx+i)=ny×i+j,i=0,1,...,nx-1,j=0,1,...,ny-1式37

在图30的步骤s1102中,与图4b的步骤s1102同样,交织器104从块交织地址idx0中除去输入数据码元数(nsd)以上的值,计算交织地址idx1(0),idx1(1),...,idx1(nsd-1)。

在图30的步骤s1103中,与图4b的步骤s1103同样,交织器104将输入数据d(k)使用升序地址写入到存储器中。

在图30的步骤s1104中,与图4b的步骤s1104同样,交织器104使用idx1(n)从存储器读出输入数据d(k)。

在图30的步骤s3101中,与图9b的步骤s2103同样,交织器104使用式14计算koffset(q)的值,使用式19计算nl的值,使用式20a将noffset(q)的值作为移位量(n_shift)计算。

再者,在数据码元组的大小(ns)为1的情况下,交织器104也可以使用式38取代式19来计算nl的值。

nl=nsdmodny式38

此外,在数据码元组的大小(ns)为1的情况下,交织器104也可以使用式39取代式20a来计算noffset(q)的值。

此外,交织器104也可以使用式40取代式20a来计算noffset(q)的值。

在式40中,idx-1(k)表示idx(k)的反函数,满足式41。

k=idx(idx-1(k))=idx-1(idx(k))式41

此外,在数据码元组的大小(ns)为1的情况下,交织器104也可以使用式42取代式40来计算noffset(q)的值。

参照图10a说明式40及式42的意义。floor(koffset(q)/ns)表示读出开始位置的列号(例如14)。行号0(floor(koffset(q)/ns))列的数据码元组是在步骤s1103中第floor(koffset(q)/ns)写入的数据码元组d(floor(koffset(q)/ns))。交织器104将数据码元d(k)第idx-1(k)地读出,所以数据码元组d(floor(koffset(q)/ns))被第idx-1(floor(koffset(q)/ns))读出。即,得到式40及式42。

在图30的步骤s3102中,交织器104将在步骤s1104中读出的数据码元组的数组向左方向(索引为0的方向)循环移位相当于n_shift(=noffset(q))数据码元组。

图31是表示步骤s3102中的循环移位的一例子的图。例如与图5b中的读出结果同样,循环移位前的数据码元序列是d(0)(即d(idx(0)))为开头码元。若交织器104进行循环移位,则相当于读出开始位置的码元(例如d(14)、即d(idx(noffset(q))))移动到数据码元序列的开头。

noffset(q)的值相当于图10a、图11a中的读出开始位置。在图30的步骤s1001至步骤s1104中,与图4b的过程同样,不进行读出开始位置的调整(相当于图9b的步骤2104)。这种情况下,相当于图10a、图11a中的读出开始位置的数据码元组在步骤s1104中被第noffset(q)+1读出。

交织器104通过在步骤s3102中进行noffset(q)码元的循环移位,相当于读出开始位置的数据码元组可以位于交织器的输出的开头,可以得到与图9b的过程同样的交织结果。

以下,通过算式说明图30的过程。由式43表示ofdm码元号q(q为非负的整数)中的对交织器104的输入数据码元序列(din(q))。

由式44求步骤s1104中的输出数据码元序列(dinterleave(q))。

在式43中,由式45求idx(n)。

idx(i×ns+j)=idx1(i)×ns+j式45

由式46求步骤s3102中的输出数据码元序列(dout(q))。

式46中,mod(x)表示xmodnsd。

在式46中,第1行如图30的步骤s3102中说明的,相当于将步骤s1104中的输出数据码元序列(dinterleave(q))移位了noffset(q)码元的情况。在式46中,第2行通过在第1行中代入式42及式44而得到。此外,在式46中,第3行相当于在使用了图9b的过程的情况下,即在地址(idx)计算时相加偏移量的情况。

交织器104也可以使用式46的第1行、第2行、第3行的任何一个生成输出数据序列。

再者,交织器104也可以在图30的步骤s3102中反转数据码元序列的顺序,取代将数据码元序列循环移位。在式47中,表示输出数据码元序列(dout(q))的计算式的一例子。

图32是表示交织器104使用式47进行交织的情况下的每码字的数据码元的频域中的分布的图。通过使用式47,相比图7b,数据码元的分布被左右反转,码字5的数据码元的分布被配置在高频率侧。因此,与先前的ofdm码元(ofdm码元0)中的码字5的数据码元的分布(图6b)的重复变少,可以提高多路径环境中的通信质量。

如以上,在实施方式1的变形例中,交织器104对从存储器读出的数据进行循环移位,将码字的开头的数据码元组配置在开头的子载波中。因此,整个多个ofdm码元中配置的码字的数据码元的频率分布的重复变少,可以提高多路径环境中的通信质量。

(实施方式2)

图33是表示实施方式2的通信装置100a的结构的框图。与实施方式1的通信装置100相比,解调电路117a和解交织器116a的顺序不同。也就是说,在通信装置100a中,均衡电路115的输出连接到解调电路117a,解调电路117a的输出连接到解交织器116a,解交织器116a的输出被输出到fec解码电路118。

图33的解交织器116a例如是将通过图4a、图4b、图4c、图9a、图9b、图9c、图30的过程而交织的数据解交织的电路。

解调电路117a对每个输入的数据码元输出ncbps个似然信息(例如llr,loglikelihoodratio;对数似然比)。例如,解调电路117a从数据码元d(n)生成ncbps个llr的序列e(n×ncbps),e(n×ncbps+1),...,e(n×ncbps+ncbps-1)。

解交织器116a将ncbps个llr视为1个数据码元,进行解交织。例如,将nsd×ncbps个llr的序列e(idx(0+noffset(q))),e(idx(0+noffset(q))+1),...,e(idx(0+noffset(q))+ncbps-1),e(idx(1+noffset(q))),e(idx(1+noffset(q))+1),...,e(idx(1+noffset(q))+ncbps-1),...,e(idx(nsd-1+noffset(q))),e(idx(nsd-1+noffset(q))+1),...,e(idx(nsd-1+noffset(q))+ncbps-1)重新排列,输出e(0),e(1),...,e(nsd×ncbps-1)。再者,这里,省略mod的记载,将idx((x+k)modnsd)仅记载为“idx(x+k)”。

此外,若使用idx(k)的反函数idx-1(k)记载,解交织器116a将llr的序列e(0),e(1),...,e(i×ncbps+j),...,e(nsd×ncbps-1)重新排列,将第i×ncbps+j的llr(e(i×ncbps+j))移动到第idx-1(mod(i+koffset(q),nsd))×ncbps+j的位置并输出。

图34是表示解交织器116a的电路结构的一例子的图。解交织器116a包括nx、ny计算电路1161、ofdm码元数计数器1162、移位量计算电路1163、行计数器1164,列计数器1165、多路分用器1166。

nx、ny计算电路1161使用式9及式12、式13b及式13c、式35及式36,计算二维数组的行数nx和列数ny,输入到移位量计算电路1163(相当于图30的步骤s1001)。

ofdm码元数计数器1162根据从解调电路117a输入的llr数,确定ofdm码元号(q)的值,输出到移位量计算电路1163。

移位量计算电路1163使用式19及式38计算nl的值,使用式20a、式40、式42计算移位量(n_shift=noffset(q))的值(相当于图30的步骤s3101)。

行计数器1164及列计数器1165计算与从解调电路117a输入的llr对应的交织器矩阵上的行号及列号。例如,图10a表示交织器的输出顺序,表示解交织器的输入顺序。例如,在时刻0中d(14)被输入到解交织器116a的情况下,时刻0的行号为0、列号为14。此外,例如,在时刻1中d(35)被输入到解交织器116a的情况下,时刻1的行号为1、列号为14。

图35是表示行计数器1164及列计数器1165的动作的一例子的图。作为一例子,说明ofdm码元计数器的值(q)为1的情况。

在时刻0、1、2、3中,在从解调电路117a输入的数据码元组分别为d(14)、d(35)、d(56)、d(77)的情况下,参照图10a,列号为14。此外,在时刻0、1、2、3中,行号分别为0、1、2、3。

行计数器1164输出与从解调电路117a输入的数据码元组对应的码字号(cw号)。例如,q为1的情况的ofdm码元包含码字5、6、7、8、9,所以也可以分别关联cw号0、1、2、3、4。例如,如图7a中说明的,数据码元组d(14)是码字6的数据,所以在时刻0中,行计数器1164输出cw号1。

在列计数器的值超过floor(koffset(q)/ns)的情况下,cw号是对行计数器的值相加了1的值。此外,在列计数器的值为floor(koffset(q)/ns)以下的情况、cw号与行计数器的值相等。

这样,解交织器116a的行计数器1164可以从行计数器的值、列计数器的值、及koffset(q)的值中,容易地确定cw号。这是通过通信装置100的交织器104基于码字大小(lcw)确定列数(ny),对交织地址相加偏移量(noffset(q))进行交织,使得码字6的开头数据码元组被配置在子载波的开头而得到的效果。

此外,列计数器1165计算与从解调电路117aから输入的数据码元组对应的码字内顺序(cw内顺序)。例如,数据码元组d(14)是码字6内的开头的数据,所以cw内顺序为0。此外,例如,数据码元组d(15)是在码字6内d(14)的下一个数据组,所以cw内顺序为1。

列计数器1165也可以根据式48计算cw内顺序(ncw)。

这样,解交织器116a的列计数器1165可以从列计数器的值及koffset(q)的值中,容易地确定cw内顺序。这是通信装置100的交织器104通过基于码字大小(lcw)确定列数(ny),对交织地址相加偏移量(noffset(q))进行交织,使得码字6的开头数据码元组被配置在子载波的开头而得到的效果。

多路分用器1166基于行计数器1164算出的cw号,选择输出端口0至输出端口5中的其中一个,将从解调电路117a输入的llr输出到选择出的输出端口。例如,数据码元组d(14)的cw号是1(相当于码字6),所以输出到输出端口1。

fec解码电路118基于从输出端口0至输出端口5的任一端口输出的数据、以及列计数器1165输出的cw内顺序,将从解交织器116a输出的llr存储在ldpc解码用缓冲存储器(未图示)中。

这样,解交织器116a可以进行解交织而不包括解交织用存储器。

再者,解交织器116a也可以将cw号输出到fec解码电路118,取代包括多路分用器1166。fec解码电路118使用cw号及cw内顺序的信息,也可以将从解交织器116a或解调电路117a输入的llr存储在ldpc解码用缓冲存储器(未图示)中。

如以上,解交织器116a计算与通过例如图4a、图4b、图4c、图9a、图9b、图9c、图30的过程而被交织的数据对应的cw号及cw内顺序并输出到fec解码电路。因此,通信装置100a能够以简单的结构进行解交织,可以削减处理延迟,削减电路规模及功耗。

<实施方式的总结>

本发明的一方式的发送装置包括:将第1码字至第n码字进行交织的交织器电路;将被交织的所述第1码字至第n码字转换为ofdm信号的ofdm调制电路;以及发送所述ofdm信号的发送电路,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,所述交织器电路升序地写入所述第1码字至所述第n码字,从所述第2码字开始读出。

在本发明的一方式的发送装置中,所述交织器电路具有nx×ny的存储器大小,ny与所述第2码字中包含的数据码元数相等。

在本发明的一方式的发送装置中,所述交织器电路使用根据所述第1码字中包含的数据码元数移位了根据交织大小生成的交织地址的地址,读出所述第2码字。

本发明的一方式的接收装置包括:接收含有在发送装置中被交织的第1码字至第n码字的ofdm信号的接收电路;从所述ofdm信号中提取被交织的所述第1码字至第n码字的dft电路;以及将被交织的所述第1码字至第n码字解交织的解交织器电路,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,所述被交织的所述第1码字至第n码字,在所述发送装置的交织器电路中从所述第1码字至所述第n码字被升序地写入,从所述第2码字开始读出并生成被交织的所述第1码字至第n码字。

在本发明的一方式的接收装置中,所述解交织器具有nx×ny的存储器大小,ny与所述第2码字中包含的数据码元数相等。

在本发明的一方式的接收装置中,所述交织器电路使用根据所述第1码字中包含的数据码元数移位了根据交织大小生成的交织地址的地址,读出所述第2码字。

本发明的一方式的发送方法包括以下步骤:将第1码字至第n码字进行交织,将被交织的所述第1码字至第n码字转换为ofdm信号,发送所述ofdm信号,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,升序地写入所述第1码字至所述第n码字,从所述第2码字开始读出。

本发明的一方式的接收方法包括以下步骤:接收含有在发送装置中被交织的第1码字至第n码字的ofdm信号,从所述ofdm信号中提取被交织的所述第1码字至第n码字,将被交织的所述第1码字至第n码字解交织,所述第1码字中包含的数据码元数少于所述第2码字中包含的数据码元数,在所述发送装置的交织器电路中,从所述第1码字至所述第n码字升序地写入被交织的所述第1码字至所述第n码字,从所述第2码字开始读出并生成被交织的所述第1码字至第n码字。

再者,本发明可通过软件、硬件、或与硬件协同的软件实现。用于上述实施方式的说明的各功能块可部分地或全体地作为集成电路即lsi实现,上述实施方式中说明的各处理也可以部分地或全体地由一个lsi或lsi的组合来控制。lsi可以由各个芯片构成,也可以由一个芯片构成,使得包含功能块的一部分或全部。lsi也可以包括数据的输入和输出。因集成度的不同,lsi有时也被称为id、系统lsi、超大lsi(superlsi)、特大lsi(ultralsi)。集成电路的方法不限于lsi,也可以用专用电路、通用处理器或专用处理器来实现。此外,也可以使用可在lsi制造后可编程的fpga(fieldprogrammablegatearray:现场可编程门阵列),或者使用可重构lsi内部的电路单元的连接和设定的可重构处理器(reconfigurableprocessor)。本发明也可以作为数字处理或模拟处理实现。而且,随着半导体的技术进步或随之派生的其它技术,如果出现能够替代lsi的集成电路化的技术,当然可利用该技术进行功能块的集成化。还存在着适用生物技术等的可能性。

工业实用性

本发明的一方案,对通信系统是有用的。

标号说明

100,100a通信装置

101mac控制电路

102fec编码电路

103调制电路

104,104a,104b,104c交织器

105,105aofdm调制电路

106rf发送电路

107发送天线阵列

111接收天线阵列

112rf接收电路

113同步电路

114dft电路

115均衡电路

116,116a解交织器

117,117a解调电路

118fec解码电路

119信道估计电路

1040,1052存储器

1041,1041a地址计数器

1042,1161nx,ny计算电路

1043,1162ofdm码元数计数器

1044,1044a,1163移位量计算电路

1045块交织地址idx0生成电路

1046交织地址idx1生成电路

1047,1047a地址移位电路

1048解交织地址表存储器

1051数据子载波地址计算电路

1053导频及保护子载波插入电路

1054地址生成电路

1055idft电路

1056cp附加及窗函数电路

1064行计数器

1065列计数器

1166多路分用器

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1