CN1117252A - 交错处理 - Google Patents

交错处理 Download PDF

Info

Publication number
CN1117252A
CN1117252A CN94120707A CN94120707A CN1117252A CN 1117252 A CN1117252 A CN 1117252A CN 94120707 A CN94120707 A CN 94120707A CN 94120707 A CN94120707 A CN 94120707A CN 1117252 A CN1117252 A CN 1117252A
Authority
CN
China
Prior art keywords
data
equipment
deinterleave
memory cell
staggered
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
Application number
CN94120707A
Other languages
English (en)
Other versions
CN1157073C (zh
Inventor
A·科埃耶
A·威尔逊
J·兰塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Nokia Solutions and Networks Oy
Original Assignee
Nokia Mobile Phones Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from GB939326234A external-priority patent/GB9326234D0/en
Priority claimed from GB9421579A external-priority patent/GB2294616B/en
Application filed by Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Publication of CN1117252A publication Critical patent/CN1117252A/zh
Application granted granted Critical
Publication of CN1157073C publication Critical patent/CN1157073C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Abstract

对数据进行交错或去交错的交错处理。输入数据单元在数据单元的多个输出组中分配。在GSM通话中,输入位在19个传输脉冲串内分配。输入数据单元写入邻接的RAM(228)并从所述RAM中读出输出组。寻址电路(211)控制对RAM的写入和读出,使数据单元被存储到为输出组所需为止。在数据读出后,这些读出的存储单元为新的输入数据复用,使某一存储单元存储数据单元的持续时间依赖于该数据单元的交错处理延迟。

Description

交错处理
本发明涉及一种包括数据交错或将以前交错的数据进行去交错的交错处理。
当发射和接收天线不在相互的直达区域内时,无线电传输易发生短期幅值变化。在这种情况下,接收信号是一些发射信号的反射信号的和,每一个反射信号具有不同的相位。由于反射物体的移动或发射和/或接收天线的移动,这种随机相移信号的和会随时间变化。导致的幅值变化称为"雷利衰落(Rayleiqh facling)"。
特别在是蜂窝或无线电电话网络中,由于大量的用户在被称之为单元区的不同地理区域中重复使用数量很少的频率进行操作而导致了另一类干扰源。当这种网络的大量用户在同时操作时,干扰由根据在另一单元区的同一频率作出的呼叫产生是可能的。对无线电传输的干扰还可以由大气状况和某种电气设备产生的随机电-磁干扰造成。
当利用无线电通信链路传送数据时,必须提供对这种干扰的抗扰度,这样一来,对于预期的干扰电平,不需要不适当地中断数据通信就能够在接收机校正数据传输中的错误。
数据编码是以这样方式将冗余信息附加给源数据的,即在接收的编码数据流中的错误可被识别和校正。增加的冗余度决定了在数据干扰的不可校正级别出现之前在接收信号中的可被校正错误的个数。一般的编码技术识别和校正数据流中的单个位错误,但是,这些技术不能抵制成串出现的错误。为了克服这一困难,可以对编码数据进行交错,使得顺序的数据位在时间上伸展开来并且与其它数据位交错,这些其它数据位已根据同一数据信号的以前部分被延迟。
因此作用在这种交错的数据信号上的连续猝发错误不影响原来数据流的邻接位,在去交错之后,接收的编码信号将具有沿时间伸展开来的位错误,利用在数据编码阶段增加的冗余数据可校正这些位错误。
可以将交错进行到符合被发送的数据信号的需要的深度。因此能够容忍偶然位错误的数据信号可以在比具有较低的容错性的数据信号短的时间期间内被交错。一般来说,在数字无线电电话网络中,作为数据发送的语音信号能够容忍偶然丢失,而由计算机通过同样的无线电链路发送的数据,这些数据可用来携带诸如金融信息等的重要信息,则应当以最少数目的可能差错来传送。
在数据被计算机通过无线电电话网络传送的情形中,可以使用较大深度的交错。较大深度的交错意味着原始数据信号的某一部分,在其实际被发送之前的较长时延。延时的数据必须被存储在存储器或缓冲器中,用于数据交错处理的存储器的数量可以足够大,以便显著地影响在其中发生了交错处理的设备的价格和功率消耗。这一约束特别适用于移动的电池供电系统,例如手持GSM电话。
在已知的系统中,通过提供足够的数据存储器来存储在交错处理的利用的最长时间期间内的任何数据位实现了交错和去交错。但是,由于提供给交错处理的数据按照其在实际被发送的交错位流输出中的实际位置被延迟不同的时间,所以这是很浪费的。因此,已知的用于交错和去交错的系统并没有提供交错或去交错处理的可变时序特性在理论上指出的全部效率程度。
根据本发明的第一个方面,提供了进行交错处理的方法,在该方法中,输入数据单元在多个数据单元的输出组上进行分配,该方法包括以下步骤:在寻址装置的控制下将输入数据单元写入到存储装置;在所述寻址装置的控制下从所述存储装置读出所述数据单元的输出组;所述寻址装置这样控制所述写入和读出,使数据单元被一直存储到为输出组所需要为止,此后,读出的存储单元被用于新的输入数据的存储,使得某一存储单元存储数据单元的持续时间依赖于该特定数据单元的交错处理延迟。
最好是在第一预定延迟之后读出第一组存储单元,在第二预定延迟之后读出第二组存储单元。在最佳实施例中,为了根GSM建议发送机器可读的数据,在第三预定延迟之后读出第三组存储单元,在第四预定延迟之后读出第四组存储单元,在第五预定延迟之后读出第五组存储单元以及在第六预定延迟之后读出第六组存储单元。
根据本发明的第二个方面,提供了进行交错处理的方法,在该方法中,数据被交错以便于无线电传输,或者被交错的数据在无线电传输之后被去交错,该方法包括以下步骤:在将数据写入到存储装置期间部分地进行所述交错处理;在从存储装置读出所述部分地交错的数据期间完成所述交错处理。
在最佳实施例中,数据被写入到由交错处理确定的某一组存储单元中。此后,可以从所述该组存储单元之一读出多个数据单元,以便产生输出数据串。
在最佳实施例中,数据作为多位字被存储,每一连续位被写入到不同的字和在所述字内的不同位置,以便进行第一阶段的位交错。此后,可以在所述字被读出时进行第二阶段的位交错。最好是所述字的每一个包括与对接收自某一输入猝发脉冲串的每一输出猝发脉冲串提供的位的数目相等的一些位。
现在参看附图举例说明本发明,在附图中:
图1表示用来通过包括GSM蜂窝式电话的移动无线电电话链路发送数据的膝上型个人计算机;
图2详述发送数据时在图1所示的GSM蜂窝式电话内进行的包括误差编码处理和交错处理的过程;
图3详述实施图2所示的误差编码处理的过程,包括第一卷积处理和第二卷积处理;
图4详述实施图3所示的第一卷积处理的电路;
图5详述实施图3所示的第二卷积处理的电路;
图6详述确定图2所示类型的数据交错方案的步骤;
图7、图8和图9表示在图2所示类型的去交错处理期间数据的存储;图10详述根据图7、图8和图9所示的步骤改变交错的去交错步骤;
图11表示进行相应于图6所示步骤的存储器最优化交错处理的缓冲器结构;
图12表示进行将数据位写入到图11所示缓冲器结构中的那一部分最优化数据交错处理的流程图;
图13表示进行从图11所示缓冲器结构中读出位的那一部分最优化数据交错处理的流程图;
图14表示用来实现图12和图13规定的最优化交错处理的第一查寻表;
图15表示用来实现图12和图13规定的最优化交错处理的第二查寻表;
图16表示在图12所示过程中使用的读出一修改一写入处理;
图17表示自动地计算图8和图13所示的数学式的硬件计数器;
图18表示在电子电路中进行图12所示处理的流程图;
图19表示在电子电路中进行图13所示处理的流程图;
图20详述用于图18和图19规定的操作的包括控制逻辑部件的电子电路;
图21详述当进行图18和图19所示的交错操作时由图20所示的控制逻辑部件执行的数学运算;
图22详述当进行去交错操作时由图20所示的控制逻辑部执行的数学运算。
数据通信系统如图1所示,膝上型个人计算机15通过接口17与GSM蜂窝式移动电话16连接。与膝上型个人计算机15的连接通过通常的串行端口来进行。接口17以适合于与蜂窝式电话16的数据端口19直接连接的方式提供连接。利用这一装置就能够在膝上型个人计算机15和另一计算机之间提供双向的数据通信,该另一计算机可能是利用调制解调器或类似的装置与公共交换电话网连接的基于办公室的计算机。
图1所示蜂窝式电话16执行的、用于实现双向数据通信的操作详细示于图2。提供给蜂窝式电话16的数据端口19的数据传送给误差编码处理21。误差编码处理给数据流引入附加的冗余数据位,这些附加的冗余数据位可以在接收机中被用来检测和校正由无线电干扰造成的错误。
误差编码处理21的输出提供给交错处理22,交错处理22在一段时间内交错数据,使得在无线电通信中通常遇到的猝发错误在接收机中被去交错之后转换为分散的单个位错误,然后就可以利用合适的错误检测软件和电路来校正这些分散的单个位错误。交错处理22的输出提供给加密处理23。加密处理23利用伪随机密码位流进行逐位的异或操作,使得非授权收听者不知道密码时不可能收听和解密利用蜂窝式电话作出的电话呼叫。
加密处理22的输出提供给猝发脉冲串产生处理24,这一处理将提供给其输入端的位流转换为具有高的位速率和短的持续时间的猝发脉冲串。猝发脉冲产生处理24的目的是缩短传送蜂窝式电话的时间。没有进行传输的时间段为接收电路的接收和动态时分结构的其它蜂窝式电话的通信提供了时间。在GSM规程的TSGSM05.02中描述了使用的时分和跳频特性。
猝发脉冲串产生处理24的输出提供给射频调制器25,射频调制器25以适合于蜂窝式电话通信的频率调制射频载波。RF调制处理25的输出提供给天线转换开关26的输入端,该开关实现在传输和接收电路之间共享天线27的作用。
蜂窝式电话利用相应于刚刚对于传输描述的处理的相反处理来接收数据。这些处理是射频解调31,将高位速率数据的短猝发脉冲串降低为较低位速率数据流的猝发脉冲串降低32。利用接收的位流再对与在发射机中用于加密数据的密码相同的密码流进行异或操作的解密33;使数据经受两次同样的异或处理得到的结果就将重新产生原来未加密的数据。
解密处理33的输出提供给去交错处理34,去交错处理34将接收的位重新排列为它们原来被提供给交错处理22的次序。去交错处理34的输出提供给错误检测和校正处理35。只要错误个数不大于数学上确定的阈值,所有的错误就可以被校正。错误检测和校正处理可以包括对由射频解调处理31产生的每一位的"置信度"量度的引用,该"置信度"量度被用来帮助从一些在错误检测和校正处理期间被标识的候选错误位中选择错误位。逻辑的错误检测和置信度量度的结合再加上错误校正就提供了强的抗错误性。
错误检测和校正处理35的输出提供给蜂窝式电话16的数据端口19,该端口将接收数据传送给计算机15。
现在详细地考虑对每秒9.6千位速率的数据传输所进行的操作。图2所示的误差编码处理21详细地示于图3。提供给误差编码处理21的计算机数据被分为各具有240位的各个帧。二百四十位的数据帧37提供给装尾处理38,装尾处理38给该二百四十位的帧的末端增加四位。这样就产生了二百四十四位的加大帧39。
可以以数学方式描述装尾处理:标为d(0)至d(239)的240个输入数据位作为标为u(0)于u(239)的240个输出位来提供。由于输出序列中的最后4个位u(240)至u(243)是末尾的位,所以它们被设置为0。包括位u(0)至u(243)的244位的数据帧39提供给收缩卷积编码器40。
收缩卷积编码器可被认为具有两种处理:卷积和收缩。实际上,这些处理通常将被同时进行。卷积编码处理从装尾处理38接收位u(0)至u(243)。两个类似的卷积处理41和42并行地进行以便产生具有两倍于输入位流的位的位流。对于提供给卷积编码器的每一位,交替地选择两个卷积处理41和42的输出,使得偶数输出位c(0),c(2),…c(486)由第一卷积编码处理41来提供,而奇数输出位c(1),c(3),…c(487)由第二卷积编码处理42来提供。通过这样地增大用来表示数据的位的数目,在错误检测和校正处理中的相应的卷积译码器就可以识别和校正一些分散的位错误。由卷积处理造成的位速率的加倍产生了具有488位的数据帧。由于卷积编码,分散很大的偶然位错误是可校正的。因此可以从488个位中除去一些位,不会明显地影响错误检测和校正机制的性能。从488个编码位中除去三十二位,根据统计规则选择这三十二个位,使得被除去的位对错误检测和校正机制的性能影响最小。这样地从卷积编码的数据流中除去位被称为"收缩"。收缩处理在图3中以数学方式被表示为43。这样一来,收缩卷积编码器40接收244位u(0)至u(243)的数据输入帧39并将其转换为具有456位c(0)至c(455)的输出数据帧44。
图3所示的第一卷积编码处理41详细地示于图4。图3所示的卷积公式41还可以表示为形式45,这一形式在描述这一类的处理时被经常使用。用来实施这一操作的电路由四个单独的位延迟电路(触发器)46、47、48和49以及两个异或门50和51组成。异或操作可被看作为在两个位之间的不执行进位操作的二进制的加法运算。
图4的电路表示被位延迟电路46至49延迟了达四个输入位周期的输入位,因此当前输入位与在三个位周期之前已提供给该电路的输入端的位相加,这一结果还与在四个位周期之前提供的位相加。最后的异或门51的输出提供了这一卷积处理的输出。
在当前的应用中使用了244位的离散数据帧,这些离散数据帧不应相互干扰。因此,附加到原来240位的帧37的四个末尾位被用来在提供给收缩卷积编码器40的每一个244位的帧的末端逐渐地清除各个位延迟电路46至49的内容。
第二卷积编码处理42详细地示于图15。卷积公式42还可以表示为形式54。图5所示的电路以类似于图4所示电路的方式运行,用附加的异或门来增加单个延迟位。实际上,图4所示的四个位延迟电路46至49和异或门除增加了异或门52以外也可以用于图5所示的电路,图4所示的卷积编码处理的输出被标为G0,这一输出与图5所示的被标为G1的卷积处理的输出相交替。因此,通过对输入到收缩卷积编码器40的每一输入数据位交替数据输出G0和G1就产生了488个位。
图2所示的交错处理22详细地示于图6。GSM规程的TS GSM05.03.03将这一算法规定为用于在9.6千位的满数据速率下的数据通道的交错类型。图6所示的步骤从误差编码处理21接收包括456位的输入数据帧。每个456位的输入数据帧可被看作是由四个114位的子帧组成。每个114位的子帧在紧接的19个发送的猝发脉冲串内被交错,每一个发送的猝发脉冲串包括114位。交错处理也可被看作是在紧接的22个输出猝发脉冲串内每一个完整456位的交错。
图6的G1定义对数据帧进行计数的循环,每一个输入数据帧包括根据由膝上型个人计算机15提供的数据产生的456个数据位c(0)至c(455)。行62定义在范围0至455内选择当前数据帧中的位位置的循环。行63计算目标猝发脉冲串序数B。每一目标猝发脉冲串包括是每一输入数据帧长度四分之一的114个位。因此表达式"4n"被用来提供在输出猝发脉冲串序数B中的偏移量,等于4乘以当前输入数据帧的指数n。
表达式"k div 114"将偏移量加给猝发脉冲串序数,使得在输入数据帧中的第二组114位c(114)至c(227)将在以猝发脉冲串序数"B+1"开始的19个猝发脉冲串内被交错。类似地,表达式"kdiv 114"保证输入数据帧中的位c(228)至c(341)将在以猝发脉冲串序数"B+2"开始的19个猝发脉冲串内被交错。剩下的位c(342)至c(455)在以猝发脉冲串序数"B+3"开始的19个猝发脉冲串内被交错。因此,可以看出114位的输入子帧在19个输出猝发脉冲串内的交错如何还可被看作是每一个456位的输入数据帧在22个输出猝发脉冲串内的交错。
行63中的表达式"k mod 19"选择每一连续输入位的连续目标输出猝发脉冲串。这就导致了连续的位在19个猝发脉冲串内的拓宽伸展,因此确定了在猝发脉冲串内的位的交错处理的主要部分。
在行64,确定在行63中确定的输出猝发脉冲串中的位的位置。值示可以取0至113中任一值。两个表达式"k mod 19"和"19*(kmod G)"保证了输入数据帧中的连续位在输出猝发脉冲串中的不同的位位置之间很远地延伸。行63和64中表达式的组合导致了被称为对角线交错的复合类型的交错。因此,交错在数据的子帧块和在这些块的位位置内出现。
行65定义开始于行62的循环的结束,行66定义开始于61行的循环的结束。循环保证了行63和64的操作对每一输入数据帧执行了456次。从行63可以看出,输入数据帧随后的位提供给了不同的输出猝发脉冲串,因此被延迟了不同的时间。
在已有的交错方案中,提供了足够的存储器来存储相应于22个输出猝发脉冲串周期的最长时间间隔的输入位。由于所有以前22个猝发脉冲串的数据必需被存储,所以以这样的方式来使用存储器是效率低的。
尽管为了实现交错和去交错可以提供存储单元来存储全部22个114位的猝发脉冲串,但是,如果能够将存储器的冗余区域用于其它的目的,就可以改善该存储器的有效使用。在通常的交错和去交错中,假定在位的层次和猝发脉冲串的层次上进行交错,如果在将数据写入到存储单元的时候进行全部的交错或去交错处理,则就以非常分散的方式将位写入到存储单元。但是,可以在将数据写入到存储装置期间部分地进行交错处理,然后在从存储装置读出部分地被交错的数据期间完成去交错处理。尤其可以在将数据写入到存储单元时在数据块的层次上进行交错处理,然后在从存储单元读出数据期间进行位位置的交错或去交错。
参照去交错处理来描述在将数据写入到存储单元时进行部分处理,然后在从存储单元读出数据时完成处理的交错过程。参看图7,每一垂直块代表一个完整的去交错数据串所需的存储容量。数据串89、90、91和92是一完整的去交错数据串,它们的结合提供了一完整的256位的数据帧。当位被接收时,它们必须被或多或少地延迟,因此提供了22个114位的存储区域71至92。通常这些区域将被写入,以便获得完全的去交错作用,结果使位分散在全部存储单元中,冗余区域被严格地分割。但是,根据第一实施例,在位被写入存储区域时只进行一部分的去交错,使得位以顺序交错的次序而不是以可随机存取的去交错次序被写入到合适的区域。因此,每一数据区域71至92被邻接地写入,由此在包含有效数据的存储单元和目前不被用于去交错目的的其它存储区域之间提供了清楚可识别的划分。
在图7中,能够存储114的存储区域71只接收了6个有效位。同样地,区域72只接收了12个有效位,区域73接收了18个有效位,等等,只有区域89、90、91和92是全满的。在这些区域内存储的由用户产生的数据用阴影区93来表示,余下的空白区表示实际上空的存储单元。
由于去交错处理需要使用已有技术,所以它们仍然需要相同数量的存储空间。但是,在某一周期不需要的存储单元被用作其它目的的缓冲。尤其在最佳实施例中,利用在某一周期不需要被用于去交错数据的一些存储单元来缓冲快速相关的控制通道。在所示的实施例中,使用了8个控制通道块,每一个控制通道块包括总数为57的位。在图7中,这8个控制通道块用阴影区域95来表示。
在下一个周期中,当下一个交错数据块被接收时,块存储区域71至88中的每一个都将接收另外6位数据,由此块88将被填满。类似地,区域92将已经被后续的电路处理,由此块92实际上成为空的,可被用来缓冲其它数据。这样一来,在下一个周期中,如图8所示,除了57位的控制数据97外,还可以将从下一数据串接收的6位96写入到区域92。
图9表示在另外3个数据串已被接收之后的存储器分配。区域85、86、87和88中的存储单元现在装满了部分地被去交错的数据,而区域71、72、73、89、90、91和92包含有效的控制数据。
对产生的数据进行去交错的步骤详示于图10。逐位地考虑输入的交错数据,因此在步骤101计算输入位的猝发脉冲串位置,使得该位在步骤102被写入到在合适的存储区域中的下一个存储单元。但是,当该位被写入到存储区域时,它不是被写入到由它的去交错位位置规定的位置,而是被写入到该区域内的下一个存储单元,即最低的数值位置。
在步骤103,判断被考虑的某一猝发脉冲串是否已接收了另一位,如果答案是肯定的,控制就返回步骤101,使得第一个位置在步骤101被计算,并且该位在步骤102被写入到合适的区域。最后,某一输入猝发脉冲串的全部位都已被写入到合适的存储区域,步骤103进行判断的答案将是否定的。
当步骤103的答案是否定的时候,接收的猝发脉冲串的全部位将已被写入到合适区域的存储单元,现在停止位的写入直到下一个猝发脉冲串被接收为止。猝发脉冲被时分多路复用,因此当与其它通道相关的猝发脉冲串在被传送时,处理功能将有时间来进行下一阶段的去交错处理。因此,在步骤104启动涉及到根据存储区域读出位的第二阶段的去交错处理。
在步骤10读出装满交错位的存储区域,由此通过计算在存储区域中的下一个位的位置而有效地彻底进行去交错。在步骤105,读出在步骤104中计算的位位置,这要求在读出一侧有随机存取的能力,并将该位作为去交错帧的一部分提供给后续的电路。
在步骤107判断是否从存储单元读出更多的数据,以便完成去交错处理。如果答案是肯定的,控制就返回步骤104,计算下一个存储位的位置。最后,从存储单元就读出了一完整帧的数据,步骤107判断的答案是否定的。在此之后,控制返回到步骤101,以便对下一个猝发脉冲串的接收数据进行部分的去交错(在脉冲串的层次上)。
在另一实施例中,数据被顺序地写入到在图6中确定的每一个存储单元。但是,为了顺序地给帧缓冲器提供部分去交错的位,这些存储单元只对接收的数据进行缓冲,在读出一侧可顺序地实现这一缓冲。给帧缓冲器提供了可随机存取的存储单元,这些存储单元在设备的整修操作期间被用于多种功用。部分时分周期涉及到在帧缓冲器内被确定的满帧存储单元(总数为456个存储单元)。因此,4串部分去交错的数据被顺序地写入到帧缓冲器。此后,通过随机地存取所述帧缓冲器来完成去交错处理,以便以完全去交错的格式来提供一帧数据。但是,最好是所有描述的实施例都利用在将数据写入到存储单元时进行部分去交错、然后在从存储单元读出数据时完成去交错处理的技术。在特定的实施例中,在写入一侧,在猝发脉冲串的层次上进行部分去交错,然后在读出一侧在位的层次上完成这一处理。
在理论上,只要对当前的输出数据串读出了存储单元的内容,就可以再使用该存储单元。但是,为了得到最佳的存储器使用,必须提供远比将对于缓冲器的写入和读出分别划分为猝发脉冲串和位的层次更复杂的存储器存取机制。
在另一最佳实施例中,这样进行实现交错处理所需的数据的写入和读出,即数据单元被一直存储到为输出组所需为止。当数据单元已被读出以便作为输出组的一部分时,这些读出的存储单元被再用于新的输入数据的存储。结果是某一存储单元存储数据单元的时间依赖于该特定数据单元的交错处理延迟。因此,最好是数据被保持缓冲器中的时间实际上是可变的,由此不同的存储单元在整个交错或去交错周期内以不同的速率被重复使用。
反映在输入数据帧中的位所需时延的存储器或缓冲器结构如图11所示。图6所示的交错步骤导致了456位的每一输入数据帧可以向输出数据串提供6位、12位、18位或24位的交错方案。这是由于不是在输入数据帧中的全部114位的子帧(块)都将在下一个猝发脉冲串内被交错的缘故。按照图6行603的公式,输入数据帧c(0)至c(455)的前114位c(0)至c(113)将向紧接的猝发脉冲串"B"提供6位、向猝发脉冲串"B+1"提供6位、向猝发脉冲串"B+2"提供6位以及向猝发脉冲串"B+3"提供6位。其次的114位c(114)至c(227)将向紧接的猝发脉冲串"B"不提供位、向猝发脉冲串"B+1"提供6位、向猝发脉冲串"B+2"提供6位以及向猝发脉冲串"B+3"提供6位。因此,从456位的当前数据帧,向紧接的猝发脉冲"B"提供了6位、向猝发脉冲串"B+1"提供了12位、向"B+2"提供了18位、向猝发脉冲串"B+3"提供了24位、向猝发脉冲串"B+4"提供了30位,等等。因此,由于作为整个数据帧的一部分提供给交错处理,所以每一输出数据串包括已被延迟了整数个猝发脉冲串周期的6、12、18或24位。图11所示的结构被划分为6位单元的块,每一块用方形111表示。缓冲器112包括将被用于下一个输出猝发脉冲串"B"的数据。缓冲器113、114和115分别包括将被用来构成紧接的二个猝发脉冲串"B+1"、"B+2"和"B+3"的数据。在缓冲器112中,编号为0至18的19个行中的每一行包括介于1和6个的方形。每个方形表示当前或以前的输入数据帧作出的6位贡献。
来自当前输入数据帧c(0)至c(455)的第一个114位c(0)至c(113)的6位数据将在紧接的猝发脉冲串"B"内被交错,因此不需要延迟。这6个位将被导入到缓冲器112的位于行0和列0的区域中。前114位c(0)至c(113)的另外6位将在猝发脉冲串"b+1"内被交错,来自第二个114位c(114)至c(227)的6位也将在猝发脉冲串"B+1"内被交错,因此提供给缓冲器113的12个位不需要延迟,它们被存储在缓冲器113顶部的位于行0、列0和行1、列0的两个区域中。
来自第一个114位c(0)至c(113)的6位数据将在猝发脉冲串"B+2"内被交错,不需要延迟。来自第二个114位c(114)至c(227)的6位以及来自第三个114位c(228)至c(341)的6位也将在猝发脉冲串"B+2"内被交错。因此提供给缓冲器114的18个位不需要延迟,这些位用在缓冲器114顶部位于行0、列0,行1、列0和行2、列0的三个区域来表示。
来自第一个114位c(0)至c(113)的6位、来自第二个114位c(114)至c(227)的6位、来自第三个114位c(228)至c(341)的6位和来自最后的114位c(342)至c(455)的6位都将在猝发脉冲串"B+3"内被交错。因此提供给缓冲器115的24个位不需要延迟,这些位用在缓冲115顶部的位于行0、列0,这些位用在缓冲器115顶部的位于行0、列0,行1、列0,行2、列0和行3、列0的四个区域内表示。
因此,将要被提供给紧接的四个猝发脉冲串的当前输入数据帧的一部分被写入到缓冲器112至115中的具有一个区域宽度的部分中。当前输入数据帧的将要被提供给猝发脉冲串"B+4"、"B+5"、"B+6"或"B+7"的位被导入到缓冲器112至115中的具有两个区域宽度的部分中。当前输入帧的为猝发脉冲串"B+8"、"B+9"、"Bt10"和"B+11"指定的数据被写入到缓冲器112至115中的具有三个区域宽度的部分中,等等。因此,图11所示的缓冲器结构提供了在22个后续的输出猝发脉冲串的输入数据帧的复合交错所需的延迟。
缓冲器112和缓冲器113具有6个区域的基本宽度,相应于5×4(4个猝发脉冲串,因为有4个猝发脉冲串器112至115)个猝发脉冲串的延迟。缓冲器114和缓冲器115具有5个区域的基本宽度,相应于4×4个猝发脉冲串的延迟。因此缓冲器112向猝发脉冲串"B"至"B+20"提供数据。缓冲器113向猝发脉冲串"B+1"至"B+21"提供数据,产生了22个输出数据串的交错深度。缓冲器114向猝发脉冲串"B+2"至"B+18"提供数据,缓冲器115向猝发脉冲串"B+3"至"B+19"提供数据。
任一缓冲器112至115中的包括多于一个区域的行被作为延迟线来操作。考虑缓冲器112中的行5,当从缓冲器112读出下一个输出数据串时,一旦数据位已被写入到列1的区域,该区域是三个区域的中间一个,则行5中被读出的区域将位于列2。下一次行5被写入时,将再次使用在列2中的以前被读出的区域。这样一来,一旦延迟数据已被传送,存储器就被再用于新的数据。
用循环计数器来指出列,因此,在每一输入数据帧已被写入缓冲器结构后,就递增循环计数器来指出要被读出的下一列。因此,行5的计数器可以指出列0、列1或列2,自动地复位为0而不是计数超过2。这种计数器称为模3计数器。
用同样的模3计数器来指出缓冲器112的行6、7和8中的列。此外,同样的模3计数器还可用于缓冲器113的行6至9、缓冲器114中的行7至10以及缓冲器115中的行8至11。同样的模3计数器可被用于所有这些不同的行和缓冲器的原因在于:对于被交错的每一输入数据帧只进行一次读一增量一写周期。
用模2计数器业指出缓冲器112中的行1至4、缓冲器113中的行2至5、缓冲器114中的行3至6以及缓冲器115中的行4至7。用模4计数器来指出缓冲器112中的行9至12、缓冲器113中的行10至13、缓冲器114中的行11至14以及缓冲器115中的行12至15。用模5计数器来指出缓冲器112中的行13至16、缓冲器113中行14至17、缓冲器114中的行15至18、以及缓冲器115中的行16至18。用模6计数器来指出缓冲器112中的行17和18以及缓冲器113中的行18。
将输入数据帧c(0)至c(455)写入到缓冲器112至115的操作详示于图12。在步骤121将位计数器k置为零。在步骤122利用本图6中的行63的数学表达式密切相关的数学表述式来选择目标缓冲器。将由变量"缓冲器"表示的值确定为0和3之间的值,相应于缓冲器112至115。
步骤123计算被选中缓冲器的目标行。输入数据帧c(0)至c(455)中的连续的位传送到缓冲器中的由表达式"k mod 19"确定的连续的行中。步骤124计算在被选中缓冲器中的目标列。目标列由用来确定在步骤123中计算的被选中行的模计数器的值来确定。有6个模计数器,它们是模1、模2、模3、模4、模5和模6计数器(在它们中,因为模1计数器的输出总是零,所以它不是真正的计数器)。
使用的实际模计数器取决于在步骤122和123中已经计算出了哪一个缓冲器和哪一行。使用查寻表,以便例如缓冲器113的行2将使用模2计数器
步骤124的表达式确定哪一个模计数器包含当前行的列索引。步骤125确定在行和列确定的区域中的6个位中的哪一个将利用函数"k mod 6"来被写入。这具有将每一连续输入位c(k)传送给各个6位字的不同部分的作用。这给位交错处理增加了少量的对角线偏移。当从缓冲器读出时,就进行将每一个6位字均匀地穿插在114位的输出数据串内的另一位交错。因此,这一过程也在写入时进行了部分交错处理,而在读出时进行剩下的交错处理。
这样一来,在步骤126将输入数据帧c(0)至c(455)中的下一个位c(k)写入到在步骤122中确定的缓冲器中的、在步骤123和124中确定的行和列处的、在步骤125中确定的位位置。
在步骤127中递增位计数器k。在步骤128检测k的值是否大于455。如果k小于455,就重复步骤122至127。如果k大于455,控制就转向步骤129。在步骤129递增模计数器:即模2、模3、模4、模5和模6计数器。因为模1计数器总是具有零值,所以它不需要被递增。
在结束了步骤129以及当前输入数据帧c(0)至c(455)中的所有位都已被写入到图11所示缓冲器结构的合适部分之后,就可以以不同的顺序从缓冲器结构中读出位,由此就能够产生紧接的四个猝发脉冲串"B"、"B+1"、"B+2"和"B+3"。
从缓冲器结构读出四个新的猝发脉冲串的步骤详示于图13中。在步骤131将变量"缓冲器"设定为零,由此相应于缓冲器112。在步骤132将位计数值k设定为零,在步骤133计算在当前选择的缓冲器中的行。在步骤134中计算下一个输出位的列。这一计算的方法类似于对图12的步骤124所描述的方法,即用查寻表来确定用于特定缓冲器中的特定行的特定的模计数器。
被选的模计数器的值确定列。步骤135确定在由步骤133和134中的行列计算确定的区域中的6个位中的哪一个将要被读出。这是由表达式"(k div 19)mod 6"来确定的。这一表达式分别对第零个位、第一个位、第二个位、第三个位、第四个位和第五个位进行19次选择,从位于当前缓冲器112至115不同行中的区域选择每一位位置的19个位中的每一个。
对于每个缓冲器112至115,有19个区域可被用作输出数据串。缓冲器112中的19个区域用于猝发脉冲串"B"、缓冲器113中的19个区域用于猝发脉冲串"B+1",等等。因此,当产生猝发脉冲串"B"时,缓冲器112的每一行的区域中的一个就包括要在猝发脉冲串"B"中的6个位。但是,这6个位都来自同一数据输入帧的同一四分之一,因此必须以规则的方式在猝发脉冲串"B"内伸展开来。6除114得19,这说明了由行135的表达式"(k div 19)mod 6"定义的位交错。因此在写入缓冲器时进行了一部分位交错,从缓冲器读出时又进行了另一部分位交错。
在步骤136,从由以前已被计算的变量"位"、"列"、"行"和"缓冲器"确定的存储单元读出下一个猝发脉冲串的位。在步骤137递增位计数器k,在步骤138判断k的值是否大于113。如果k小于或等于113,控制就返回步骤133,以便进行当前输出数据串的下一个位的计算。如果k大于113,控制就转到步骤139,递增缓冲器的值。因此,由于初始缓冲器值为零,所以"缓冲器"将递增为1、2和3,分别相应于缓冲器113、缓冲器114和缓冲器115。在步骤140中判断"缓冲器"的值是否大于3。如果"缓冲器"的值小于或等于3,控制就返回步骤132,开始用来产生下一个输出数据串的下一个114位的计算。如果缓冲器的值大于3,就表示缓冲器112至115的每一个都已被用来产生紧接的四个猝发脉冲串,紧接的四个猝发脉冲串的交错被结束。
在图13的步骤134和图12的步骤124中使用的查寻表详示于图14。查寻表是两维的数据,第一维用缓冲器号来索引,第二维用行号来索引。通过将图14与图11所示的缓冲器结构比较,就能够看出是如何获得查寻表的。图14所示查寻表的每一位置的值确定了用6个模计数器即模1、模2、模3、模4、模5和模6计数器中的哪一个来用于产生选择列的值。在该查寻表中,值0表示模1计数器,值1表示模2计数器,值2表示模3计数器,值3表示模4计数器,值4表示模5计数器,值5表示模6计数器。
图11所示的缓冲器结构通过确定缓冲器、行和列来寻址。真实的存储器用一个数而不是到此为止已使用的三个数来寻址。用第二个查寻表来将缓冲器和行的组合转移为在标准的一维存储器中的地址偏移,该地址偏移可以与合适的模计数器的输出值相加。将缓冲器和行的组合转换为地址偏移的查寻表如图15所示。通过连同图11所示的缓冲器结构一起来考察图15就可以理解偏移值。缓冲器112中的第一个偏移为零。相应于位于缓冲器112中的行1、列0的区域的存储单元的第二个偏移的值为1。缓冲器112中的第三个偏移、相应于位于缓冲112中的行2、列0的区域的存储单元地址,具有值3。这一结构的出现是由于一个存储单元(包含6位)被用于缓冲器112中的顶部区域的缘故,缓冲器112的下一行包括两个区域,所以为1的缓冲器112中的第一个区域的偏移必须将2与其相加,以便给出第二行中的第一个区域的偏移。用于某一缓冲器中的行的模计数器的值决不会递增超过这样的值,该值与被选的偏移值的相加将大于或等于在该缓冲器中的下一行开始的偏移地址的值。因此,图15所示的查寻表就将图11所示的多维缓冲器结构转换为单一值,该单一值被用来寻址具有一维地址的标准存储器设备。通过使用用于存储器偏移的查寻表,就可以将存储器的区域用于交错而没有任何无用的或浪费的6个位的存储单元。在产生了每一组新的四个输出数据串之后,在其中已读出了四个猝发脉冲串的存储单元就被立即再用于下一个456位的输入数据帧。
图12所示的步骤126要求改变在被选的6位字中的位。虽然可以使用具有1位数据总线宽度的存储器,每一位具有唯一的存储器地址,但最好是使用6位的数据总线宽度,由此可以简化寻址电路。为了改变在多位的存储单元中的一个位,必须进行读一修改一写操作。
进行在图12的步骤126中确定的读一修改一写操作的步骤详示于图16。该操作有三个阶段。首先,根据由以前对缓冲器、行和模计数器值已计算的值确定的地址来从存储器读出6位字161。然后将要被写入的被选位162改变为新的值。最后将修改的6位字按一开始将其读出的地址写回到存储器。读一修改一写操作具有在操作期间不改变到存储器地址线的优点,因此,在能够进行最后的写操作之前,不需要等待地址线的稳定时间。
利用图17所示的计数器电路可以简化在图12和图13所示步骤中表示的几个数学表达式。模19计数器171可被用来代替用在步骤中出现了几次的表达式"k mod 19"计算的值。模19计数器的输出称为"模19计数"
每当模19计数器的值从18改变为零,模19计数器171就出现溢出。这一溢出被用来作为模6计数器172的时钟,模6计数器172的输出可代替在图13的步骤135使用的表达式"(k div 19)mod 6"。模6计数器172的输出称为"除19计数"表示对于模19计数器171每19的递增,计数器172递增一次其值。
每当模6计数器具有从5改变为0的值,模6计数器就出现溢出,这一溢出被用作另一计数器173的时钟。计数器173的输出称为"除114计数",表示对于模19计数器171每114的递增,计数器173递增一次。它被用来代替在图12所示的步骤122中出现的表达式"kdiv 114",和被用来指出缓冲器112至115(分别由0至3来索引)中的哪一个要被使用。计数器173的输出还可被用来指出何时写或读处理已结束,此时它将已被递增到比3大的值,该值不相应于任一缓冲器112至115。
另一模6计数器174(与用来指出缓冲器结构中的列的模6计数器或用来产生"除19计数"值的模6计数器不相同)代替在图12的步骤125中出现的表达式"K mod 6"。模6计数器174与模19计数器171同时地被递增,不是计数器171、172和173的级联链的一部分。这一模6计数器174的输出称为"模6计数"。
可以以图18所示的另一种方式改写图12所示的写入到图11所示缓冲器的步骤,在这里使用在一维RAM地址空间中的存储单元。此外,数学表达式已被图17所示的计数器171至174的输出代替。
步骤181将图17所示的所有计数器复位为零(用来指出列的模计数器在任何时候都不被复位)。即变量"模19计数"、"除19计数"、"除114计数"和"模6计数"都被复位为零。在最佳实施例中,所有计数器171至174都将在交错周期中的这一时刻自动地复位为零;用步骤181来简化说明。位计数器k也在步骤181被复位为零。
在步骤182计算缓冲器指示。缓冲器值可以取值0至3中的任一值,相应于缓冲器112至115。缓冲器值由"模19计数"和"除114计数"的组合来确定。在步骤184,通过"模19计数"来确定行。在步骤185,以类似于图12的方式利用查寻表来确定列,以便确定哪一个模计数器要被用来指出当前缓冲器中的列。在步骤185,通过将列号与用图15所示的查寻表"偏移("缓冲器","行")"给出的偏移值相加来计算随机存取存储器中的地址。
步骤186、187和188被用来进行图16所示类型的读一修改一写操作。在步骤186,从随机存取存储器读出位于由在步骤185中计算的地址确定的存储单元的6位字。在步骤187,用表达式"模6计数"来确定位数,该位数表示将要在从存储器读出的6位字中被修改的位的位置。然后将当前输入帧的位c(k)写入到在已被读出的字中的6个位中的一个被选的位。
在步骤188,将包括被修改的位的该6位字写回到存储器中与在步骤186中将其读出的存储单元相同的存储单元。在步骤189递增模19计数器171、模6计数器174和"k",产生"模19计数"、"模6计数"和"k"的递增值以及"除19计数"和"除114计数"的可能递增值。当溢出条件满足时,模19计数器171将自动地递增输出值"除19计数"和值"除114计数"的模6计数器。
在步骤191进行比较以便确定"k"是否大于455。如果不大于,就表示还有在当前输入数据帧c(0)至c(455)中的位要写入到随机存取存储器。如果"k"大于455,就表示当前输入帧中的所有位已被写入到随机存取存储器。在步骤192递增所有模计数器,即模2、模3、模4和模6计数器。一旦递增完所有的模计数器,就结束了写入随机存取存储器的处理。
图13所示的从缓冲器读出和产生紧接的四个输出数据串的步骤可如图19所示被改写。在步骤194将模计数器171至174复位为零,在最佳实施例中同样应自动进行。因此,一开始,"模19计数"、"除19计数"、"除114计数"以及"模6计数"都为0值。位计数器"k"也被置为0值。
在步骤195,用值"除114计数"来确定缓冲器指示(0至3)。在步骤196,用"模19计数"来确定行。在步骤197,利用查寻表来确定列,以便利用图18的步骤185的类似步骤来确定使用哪一个模计数器。在步骤198,通过将在步骤197中计算的列与图15所示的查寻表确定的、用缓冲器号和行来指示的偏移值相加来计算随机存储器中的地址。
在步骤199中读出在随机存储器的地址处的6位字。在步骤202,用"除19计数"来确定在步骤199中读出的6位字中的位的位置,然后将该位用于当前猝发脉冲串中的下一个输出位。在步骤201递增模19计数器171和模6计数器174,产生"模19计数"和"模6计数"的递增值,以及"除19计数"和"除114计数"的可能递增值。在步骤202进行比较以便确定k是否大于455。如果不大于,四个输出数据串的当前序列就没有结束,必须从随机存取存储器读出更多的位。如果"k"大于455,紧接的四个猝发脉冲串就已经结束。
实施图14和15所示步骤的专用硬件电路如图20所示。四个模计数器171、172、173和174给控制逻辑部件211提供值,控制逻辑部件211产生两位的缓冲器值212,确定缓冲器112至115中的哪一个被选择,分别相应于值0至3。两位的缓冲器值212提供给模计数器查寻表"模计数"213和随机存取存储器偏移查寻表"偏移"214。查寻表213和214还接收确定被选的缓冲器的行的5位值215。
"模计数"查寻表213的输出提供给多路复用器216,使得提供给多路复用器216的3位控制值217被用来确定6个模计数器218和228中的哪一个的输出提供给多路复用器的输出。
多路复用器216的输出224提供给加法器225的第一输入端。加法器225的第二输入端接随机存取存储器查寻表"偏移"214的输出。加法器225的输出确定在0至246范围内的8位值227,该值用来寻址随机存取存储器228。控制逻辑部件211控制随机存取存储器228的操作,以便恰当地进行对随机存取存储228的写或读操作。
在随机存取存储器228中寻址的每个6位数据字提供给位操作部件229或由位操作部件229提供给随存取存储器228。位操作部件229可以根据由控制逻辑部件211提供给其的控制数据来选择和修改在6位数据字中的位。根据内插电路是从误差编码处理21接收位流还是提供位给加密处理23,可以将各个位230提供给位操作部件229的输入和输出端230或从位操作部件229的输入和输出端230接收各个位230。
图20所示的控制逻辑部件211在交错处理期间为了计算变量"缓冲器"、"行"和"位"的值所进行的操作详细示于图21。可以看出,在已知模计数器171、172、173和174的输入的条件下,为了产生所需的各个值,只需要进行非常少量的算术和多路复用操作。"除114计数"和"模19计数"之间的相加分别是2位和5位二进制值之间的相加,通过利用和的仅仅四个最低有效位就实现了"模4"功能。仅仅通过将输入值经多路复用器到达输出线就实现了全部的其它操作。
图20所示电路还可被用来进行以已描述的方式已被交错的数据的去交错。当去交错数据时,对于去交错处理的每次迭代,必须从与图7所示的缓冲器结构相同的缓冲器结构中产生完整的456位的数据帧。因此,对接收的每四个猝发脉冲串,必须产生完整的数据帧。完整的数据帧将包括当前的四个猝发脉冲的某些数据,但主要由以前的猝发脉冲串的数据组成。
当考虑最初的交错处理时,已说明输入数据帧的6位传送给猝发脉冲串"B",12位传送给猝发脉冲串"B+1"、18位传送给猝发脉冲串"B+2"、24位传送给猝发脉冲串"B+3"、30位传送给余下猝发脉冲串"B+4"和"B+5"的大部分,等等。因此,当接收和去交错数据时,延迟需求就是交错操作的精确的逆操作:需要相反形式的图7所示缓冲器结构,在顶部的延迟最长,在底部的延迟最短。通过修改用来确定行号的表达式,可以利用已有的硬件来实现这样的结构。
当在交错期间里写和读存储器时,图17所示表达式利用"模19计数"来确定行号。如果将这改变为"18-模19计数",所需的逆操作就是这一结果。
除此之外,惟一的差别就是"模6计数"是在从存储器读出而不是写入时确定位位置,"除19计数"是在写入存储器而不是读出时确定位位置。
在GSM数据传输中,位交错和去交错将显然同时地进行,在进行一种处理或其它处理时的间隔之间只有非常短时间的延迟。这就需要两个图7所示缓冲器结构来存储数据:一个存储交错数据,而另一个存储去交错数据。其它硬件部件,例如计数器被交错和去交错处理公用,可用一个计数器来向这两种处理提供同一值。
在另一实施例中,被描述为定制电路的某些或全部功能可以用硬件在半定制的或现用的数字信号处理器中的软件来实现,由于大量相同的制造部件,这就可以获得价廉的优点。

Claims (64)

1.一种执行交错处理的方法,在该方法中,输入数据单元在数据单元的多个输出组中分配,该方法包括以下步骤:
在寻址装置(211,225)的控制下,将输入数据单元写入存储装置(228);以及
在所述寻址装置的控制下,从所述存储装置读出所述数据单元的输出组;
所述寻址装置这样控制所述写入和读出,使得数据单元被一直存储到为输出组所需为止,此后,读出的存储单元被再用于新的输入数据的存储,使得某一存储单元存储数据单元的持续时间依赖于该特定数据单元交错处理延迟。
2.根据权利要求1的方法,在该方法中,第一组存储单元在第一预定延迟之后被读出;第二组存储单元在第二预定延迟之后被读出。
3.根据权利要求2的方法,在该方法中,第三组存储单元在第三预定延迟之后被读出。
4.根据权利要求3的方法,在该方法中,第四组存储单元在第四预定延迟之后被读出。
5.根据权利要求4的方法,在该方法中,第五组存储单元在第五预定延迟之后被读出。
6.根据权利要求5的方法,在该方法中,第六组存储单元在第六预定延迟之后被读出。
7.根据权利要求1至6中的任一权利要求的方法,在该方法中,其中所述存储装置是随可存取存储单元的邻接阵列,所述存储单元的每一个由地址识别。
8.根据权利要求7的方法,其中所述地址根据模计数装置的输出来产生。
9.根据权利要求8的方法,当依赖于权利要求2至7中的任一权利要求时,其中模计数装置为每一组存储单元产生各个地址。
10.根据权利要求8的方法,其中的某一模计数装置根据地址信号来选择。
11.一种进行交错处理的方法,在该方法中,数据被交错以便于无线电传输,或者交错的数据在无线电传输之后被去交错,该方法包括以下步骤:
在将数据写入存储装置期间部分地进行所述交错处理;以及
在从存储器装置读出所述部分地被交错地数据期间完成所述交错处理。
12.根据权利要求11的方法,在该方法中,数据被写入由交错处理确定的某一组存储单元内。
13.根据权利要求12的方法,在该方法中,从所述该组存储单元之一读出多个数据单元,以便产生输出数据串。
14.根据权利要求1的方法,在该方法中,数据作为多位字被存储,每一连续位被写入到不同的字和在所述字内的不同位置,以便进行第一阶段的交错。
15.根据权利要求14的方法,在该方法中,在所述字被读出时进行第二阶段的交错。
16.根据权利要求14的方法,在该方法中,每一个所述字包括与对每一输出猝发脉冲串提供的位的数目相等的一些位,每一输出猝发脉冲串接收自具有与所述输出猝发脉冲串相等的位数的输入数据帧的一部分。
17.根据权利要求16的方法,在该方法中,每一个所述字包括6位。
18.一种对交错的数据进行去交错的方法,在该方法中,来自原来数据块的部分数据已在多个数据块内被交错和在位于所述交错数据块内的位置内被交错,以便产生交错的数据,该方法包括以下步骤:
在将所述数据写入存储单元时,将所述交错数据去交错为其原来的数据块,以及
在从存储单元读出所述数据时,将所述部分地被去交错的数据完全去交错为其在每一数据块内的原来位置。
19.根据权利要求18的方法,在该方法中,通过顺序地将所述数据写入存储单元而部分地去交错所述数据。
20.根据权利要求18的方法,在该方法中,在从所述部分去交错期间写入的存储单元读出所述数据时,完全去交错部分去交错的数据。
21.根据权利要求18的方法,在该方法中,从在所述部分地被去交错期间写入的存储单元顺序地读出数据,
所述读出数据被顺序地写入缓冲存储器,以及
在从所述缓冲存储器读出所述数据时,对所述被缓冲的部分地被去交错的数据进行完全去交错。
22.根据权利要求18的方法,在该方法中,所述部分数据包括单个位。
23.根据权利要求18的方法,在该方法中,所述部分数据包括多个位。
24.根据权利要求23的方法,在该方法中,每一个所述多个位表示一个传输的位。
25.根据权利要求18的方法,在该方法中,数据在每一数据块内被对角线地交错。
26.根据权利要求18至25中的任一权利要求的方法,在该方法中,所述去交错数据为第一种类型;每一组存储单元包括存储完整的数据块所需的存储容量,数据被顺序地写入它们各自的数据块中;一组存储单元内未被使用的存储空间被用来接收第二种类型的数据。
27.根据权利要求18的方法,在该方法中,所述去交错在通信系统中进行,第一种类型数据为用户产生的数据,而第二种类型数据为通信系统产生的并为通信系统所使用的控制信号。
28.根据权利要求27的方法,其中的通信系统为无线电通信系统。
29.根据权利要求28的方法,其中的无线电通信系统为双向蜂窝式无线电通信系统。
30.根据权利要求29的方法,其中的通信系统是GSM蜂窝式无线电系统,第一种类型数据由调制解调器产生。
31. 根据权利要求30的方法,其中的第二种类型数据接收自快速相关的控制通道。
32.根据权利要求18的方法,其中的每一数据块包括114位。
33.根据权利要求32的方法,在该方法中,四个完整的数据块被去交错,以便给通道译码器提供一帧去交错数据。
34.一种进行交错处理的交错设备,交错处理包括数据的交错或以前被交错数据的去交错,在该交错设备中,输入数据单元在数据单元的多个输出组中分配,该交错设备包括:
具有多个存储单元的存储装置(228);
将输入数据单元写入所述存储装置的装置(211,225);
以所述存储装置读出数据输出组的装置(211,225);以及
控制所述数据的写入和读出的寻址装置(211),使得所述数据单元被一直存储到为输出组所需为止,此后,读出的存储单元被再用于新的输入数据的存储,某一存储单元存储数据单元的持续时间依赖于该特定数据单元的交错处理延迟。
35.根据权利要求34的设备,包括在第一预定延迟之后读出第一组存储单元的装置以及在第二预定延迟之后读出第二组存储单元的装置。
36.根据权利要求35的设备,包括在第三预定延迟之后读出第三组存储单元、在第四预定延迟之后读出第四组存储单元,在第五预定延迟之后读出第五组存储单元和在第六预定延迟之后读出第六组存储单元的装置。
37.根据权利要求34至36中任一权利要求的设备,包括随机可存取存储单元的邻接阵列,所述存储单元的每一个由地址识别。
38.根据权利要求37的设备,包括模式计数装置,所述模计数装置用来产生寻址信号。
39.根据权利要求38的设备,其中的每一个模计数装置为各组存储单元产生相应的地址。
40.根据权利要求38或权利要求39的设备,包括产生用来从某一模计数装置选择输出的寻址信号的装置。
41.根据权利要求38的设备,其中的寻址信号提供给查寻表,该查寻表再从所述模计数装置中的一个选择输出。
42.根据权利要求41的设备,其中的寻址信号提供给第二查寻表,所述第二查寻表的输出与所述模计数装置的输出相结合,所述结合的输出给所述存储装置提供地址。
43.一种进行交错处理的设备,在该设备中,数据被交错以便于无线电传输,或者交错的数据在无线电传输之后被去交错,该设备包括:
在将数据写入存储装置期间部分地进行所述交错处理的装置,以及
在从存储器装置读出所述部分地被交错的数据期间完成所述交错处理的装置。
44.根据权利要求43的设备,包括将数据写入由交错处理确定的某一组存储单元内的装置。
45.根据权利要求44的设备,包括从所述该组存储单元之一读出多个数据单元以便产生输出数据串的装置。
46.根据权利要求34至35中的任一权利要求的设备,包括将数据作为多位字存储的装置;以及
将每一连续位写入到不同的字和在所述字内的不同位置的装置,以便进行第一阶段的交错。
47.根据权利要求46的设备,在该设备中,在所述字被读出时进行第二阶段的交错。
48.根据权利要求46的设备,在该设备中,每一个所述字包括与对每一输出猝发脉冲提供的位的数目相等的一些位,每一输出猝发脉冲串接收自其具有与所述输出猝发脉冲串相等的位数的输入数据帧的一部分。
49.根据权利要求48的设备,所述存储装置用来存储6位字。
50.一种对交错的数据进行去交错的设备,在该设备中,来自原来数据块的部分数据已在多个数据块内被交错和在位于所述数据块内的位置内被交错,该设备包括:
在将所述数据写入存储装置时,将所述交错数据去交错为其原来的数据块的装置;以及
在从存储装置读出所述数据时,将所述部分地被去交错的数据完全去交错为其在每一数据块内的原来位置的装置。
51.根据权利要求50的设备,其中所述对交错数据部分地进行去交错的装置包括顺序地将所述数据写入存储单元的装置。
52.根据权利要求50或权利要求51的设备,其中所述对部分地被去交错的数据进行去交错的装置包括从由部分地去交错所述数据的所述装置写入的所述存储装置读出所述数据的装置。
53.根据权利要求50至52中的任一权利要求的设备,包括缓冲存储器和顺序地读出由部分地去交错所述数据的所述装置写入到所述缓冲存储的数据的装置,去交错所述部分地被去交错数据的所述装置包括从所述缓冲储器读出数据的装置。
54.根据权利要求50至53中的任一权利要求的设备,其中的部分数据包括单个位。
55.根据权利要求50至53中的任一权利要求的设备,其中的部分数据包括多个位。
56.根据权利要求55的设备,每一个所述多个位表示一个传输位。
57.根据权利要求50至56中的任一权利要求的设备,在该设备中,数据在每一数据块内被对角线地交错。
58.根据权利要求50至57中的任一权利要求的设备,在该设备中所述去交错数据为第一种类型;每一组存储单元包括存储完整的数据块所需的存储容量;数据被顺序地写入它们各自的数据块中;一组存储单元内未被使用的存储空间被用来接收第二种类型的数据。
59.根据权利要求58的设备,在该设备中,所述去交错在通信系统中进行,第一种类型数据为用户产生的数据,而第二种类型数据为通信系统产生的并为通信系统所使用的控制信号。
60.根据权利要求59的设备,其中的通信系统为无线电通信系统。
61.根据权利要求60的设备,其中的无线电通信系统为双向蜂窝式无线电通信系统。
62.根据权利要求61的设备,其中的通信系统GSM蜂窝式无线电系统。
63.根据权利要求62的设备,其中的第二种类型数据接收自快速相关的控制通道。
64.根据权利要求50的设备,其中的每一数据块包括114位。
65.根据权利要求64的设备,在该设备中,四个完整的数据块被去交错,以便给通道译码器提供一帧去交错数据。
CNB941207072A 1993-12-23 1994-12-22 交错处理 Expired - Fee Related CN1157073C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB939326234A GB9326234D0 (en) 1993-12-23 1993-12-23 De-interleaving data
GB9326234.3 1993-12-23
GB9421579A GB2294616B (en) 1994-10-26 1994-10-26 Interleaving process
GB9421579.5 1994-10-26

Publications (2)

Publication Number Publication Date
CN1117252A true CN1117252A (zh) 1996-02-21
CN1157073C CN1157073C (zh) 2004-07-07

Family

ID=26304074

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB941207072A Expired - Fee Related CN1157073C (zh) 1993-12-23 1994-12-22 交错处理

Country Status (4)

Country Link
US (1) US5991857A (zh)
EP (1) EP0660558A3 (zh)
JP (1) JP3415693B2 (zh)
CN (1) CN1157073C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1114996C (zh) * 1996-10-02 2003-07-16 三星电子株式会社 交错读出地址产生器

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
EP0746909B1 (en) * 1994-12-23 2001-12-05 Koninklijke Philips Electronics N.V. De-interleaving and buffering in one memory
FI955206A (fi) * 1995-10-31 1997-05-01 Nokia Telecommunications Oy Tiedonsiirtomenetelmä
FI113320B (fi) * 1996-02-19 2004-03-31 Nokia Corp Menetelmä tiedonsiirron tehostamiseksi
US5828671A (en) * 1996-04-10 1998-10-27 Motorola, Inc. Method and apparatus for deinterleaving an interleaved data stream
KR100192797B1 (ko) * 1996-07-01 1999-06-15 전주범 정적 램을 이용한 길쌈인터리버의 구조
GB2317788B (en) 1996-09-26 2001-08-01 Nokia Mobile Phones Ltd Communication device
KR100255304B1 (ko) * 1997-04-08 2000-05-01 김영환 디지탈 통신기기의 컨벌루셔널 디인터리버
FI112894B (fi) * 1997-04-10 2004-01-30 Nokia Corp Menetelmä kehysvirhetodennäköisyyden pienentämiseksi tietokehysmuotoisessa tiedonsiirrossa
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
JP2958308B1 (ja) * 1998-07-10 1999-10-06 松下電器産業株式会社 インターリーブ解除装置
US6278715B1 (en) * 1998-11-05 2001-08-21 Qualcom Incorporated System and method for reducing deinterleaver memory requirements through chunk allocation
US7133441B1 (en) 1999-02-23 2006-11-07 Actelis Networks Inc. High speed access system over copper cable plant
US6536001B1 (en) * 1999-03-11 2003-03-18 Globespanvirata, Inc. Circuit and method for convolutional interleaving using a single modulo operation
EP1170871A4 (en) * 1999-03-15 2004-04-28 Matsushita Electric Ind Co Ltd METHOD AND DEVICE FOR BLOCK NESTLING AND UNLEASTERING
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
CN1154238C (zh) * 1999-10-07 2004-06-16 松下电器产业株式会社 交织地址生成装置及交织地址生成方法
US6971057B1 (en) * 2000-02-25 2005-11-29 Globespanvirata, Inc. System and method for efficient convolutional interleaving/de-interleaving
JP3869618B2 (ja) * 2000-03-31 2007-01-17 三洋電機株式会社 インターリーブ装置及びインターリーブ復元装置
KR100651500B1 (ko) * 2000-08-30 2006-11-28 삼성전자주식회사 디지털 오디오 방송용 타임 디인터리버 메모리의 제어 장치
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
US6665768B1 (en) * 2000-10-12 2003-12-16 Chipwrights Design, Inc. Table look-up operation for SIMD processors with interleaved memory systems
KR100846017B1 (ko) * 2000-10-30 2008-07-11 가부시키가이샤 히타치세이사쿠쇼 데이터 인터리브/디인터리브 효율을 향상시키기 위한 반도체 장치, 무선 통신 장치, 컴퓨터 프로그램 제품 및 방법
EP1346398A2 (en) * 2000-11-01 2003-09-24 Actelis Networks Ltd. High speed access system over copper cable plant
US6732253B1 (en) * 2000-11-13 2004-05-04 Chipwrights Design, Inc. Loop handling for single instruction multiple datapath processor architectures
US6931518B1 (en) 2000-11-28 2005-08-16 Chipwrights Design, Inc. Branching around conditional processing if states of all single instruction multiple datapaths are disabled and the computer program is non-deterministic
JP4029630B2 (ja) * 2002-02-27 2008-01-09 ソニー株式会社 インタリーブ処理装置とインタリーブ処理方法及びインタリーブ処理プログラム
US20040088380A1 (en) * 2002-03-12 2004-05-06 Chung Randall M. Splitting and redundant storage on multiple servers
GB2388755B (en) * 2002-05-17 2005-04-20 Phyworks Ltd Switching circuit for decoder
US6954832B2 (en) * 2002-05-31 2005-10-11 Broadcom Corporation Interleaver for iterative decoder
FI20021222A (fi) * 2002-06-20 2003-12-21 Nokia Corp Informaatiobittien limitys
US6970985B2 (en) 2002-07-09 2005-11-29 Bluerisc Inc. Statically speculative memory accessing
US7433429B2 (en) * 2002-07-19 2008-10-07 Intel Corporation De-interleaver method and system
EP1388947A1 (en) * 2002-08-05 2004-02-11 Alcatel System with interleaver and deinterleaver
DE10306302A1 (de) * 2003-02-14 2004-08-26 Infineon Technologies Ag Verfahren und Schaltung zur Adressgenerierung von Pseudo-Zufalls-Interleavern oder -Deinterleavern
US20050114850A1 (en) 2003-10-29 2005-05-26 Saurabh Chheda Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7996671B2 (en) 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
US6987470B2 (en) 2003-11-21 2006-01-17 Qualcomm Incorporated Method to efficiently generate the row and column index for half rate interleaver in GSM
DE60322550D1 (de) * 2003-12-09 2008-09-11 St Microelectronics Nv Methode und Apparat zur Entschachtelung aufeinanderfolgender Sequenzen von verschachtelten Abtastdaten
US8607209B2 (en) 2004-02-04 2013-12-10 Bluerisc Inc. Energy-focused compiler-assisted branch prediction
EP1633052A1 (en) * 2004-09-07 2006-03-08 STMicroelectronics N.V. Block de-interleaving system
AU2005296086A1 (en) 2004-10-12 2006-04-27 Aware, Inc. Resource sharing in a telecommunications environment
US7600164B2 (en) 2004-12-17 2009-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Interleaving/de-interleaving using compressed bit-mapping sequences
US7434138B2 (en) * 2005-06-27 2008-10-07 Agere Systems Inc. Structured interleaving/de-interleaving scheme for product code encoders/decorders
US7793169B2 (en) * 2005-10-19 2010-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Intelligent table-driven interleaving
CA2647589C (en) 2006-04-12 2018-08-21 Aware, Inc. Packet retransmission and memory sharing
US20080126766A1 (en) 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
US4559625A (en) * 1983-07-28 1985-12-17 Cyclotomics, Inc. Interleavers for digital communications
JPS6190543A (ja) * 1984-10-11 1986-05-08 Nec Corp 誤り訂正方式
JPS62289971A (ja) * 1986-06-10 1987-12-16 Matsushita Electric Ind Co Ltd デインタ−リ−ブ実行のためのメモリ使用方法
US4763332A (en) * 1987-03-02 1988-08-09 Data Systems Technology Corp. Shared circuitry for the encoding and syndrome generation functions of a Reed-Solomon code
JPS6437125A (en) * 1987-07-31 1989-02-07 Csk Corp Cross coding method and device therefor
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
KR0138749B1 (ko) * 1992-01-23 1998-05-15 강진구 디인터리브방법 및 그 장치
JP3257051B2 (ja) * 1992-08-14 2002-02-18 ソニー株式会社 インターリーブ回路及びデ・インターリーブ回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1114996C (zh) * 1996-10-02 2003-07-16 三星电子株式会社 交错读出地址产生器

Also Published As

Publication number Publication date
JP3415693B2 (ja) 2003-06-09
EP0660558A3 (en) 1997-06-04
EP0660558A2 (en) 1995-06-28
JPH07212251A (ja) 1995-08-11
US5991857A (en) 1999-11-23
CN1157073C (zh) 2004-07-07

Similar Documents

Publication Publication Date Title
CN1157073C (zh) 交错处理
CA3036916C (en) Method and apparatus for encoding data using a polar code
CN1199359C (zh) 数据的防差错传输和接收方法以及传输数据的传输系统
RU2604992C2 (ru) Устройство, содержащее кольцевой буфер и способ для присвоения вариантов избыточности кольцевому буферу
CN201230316Y (zh) 用于发送和接收控制信道的无线发射/接收单元和基站
KR101026444B1 (ko) 병렬 콘볼루션 부호화기
CN1133660A (zh) 一种应用于码分多址系统的多速率串行维特比译码器
EP0981218A2 (en) Error-correcting encoding apparatus
CN102122966A (zh) 基于信道极化的交错结构重复码的编码器及其编译码方法
JP2006295975A (ja) エラー訂正回路、インターリーバ及びパンクチャリング又は反復装置を有する伝送システム
CN110326221A (zh) 一种用于为极化码生成有序序列的方法
US7170432B2 (en) Addresses generation for interleavers in turbo encoders and decoders
CN1417967A (zh) 数据发送和接收设备中的交织器去相关
CN101151806B (zh) 利用映射函数周期性的存储器有效的交织/去交织
US7230995B2 (en) Interleaver pattern modification
CN101043284A (zh) 一种宽带码分多址系统中turbo编码器内的交织器
JPH0918450A (ja) 符号分割多重化送信装置
CN101346884A (zh) 卷积编码器、通信装置以及卷积编码方法
CN114079530A (zh) 编码方法及装置
CN114221740A (zh) 基于bats码的传输方法、装置、设备及可读存储介质
KR100334909B1 (ko) 혼돈 신호를 이용한 랜덤 인터리버 장치
Rege et al. Irreducible FER for convolutional codes with random bit puncturing: Application to CDMA forward channel
CN103888224A (zh) 一种用于LTE系统Turbo码内交织的并行实现方法及装置
Venkatachalam et al. Low complexity and area efficient reconfigurable multimode interleaver address generator for multistandard radios
KR100186324B1 (ko) 대역 확산 통신 장치

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
ASS Succession or assignment of patent right

Owner name: NOKIA SIEMENS COMMUNICATIONS INC.

Free format text: FORMER OWNER: NOKIA OY

Effective date: 20080418

Owner name: NOKIA OY

Free format text: FORMER OWNER: NOKIA MOBILE PHONES LTD.

Effective date: 20080418

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20080418

Address after: Espoo, Finland

Patentee after: NOKIA SIEMENS NETWORKS OY

Address before: Espoo, Finland

Patentee before: NOKIA Corp.

Effective date of registration: 20080418

Address after: Espoo, Finland

Patentee after: NOKIA Corp.

Address before: Finland Thessaloniki

Patentee before: Nokia Mobile Phones Ltd.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040707

Termination date: 20101222