CN112152641B - 数据交织方法、装置及数据发送设备 - Google Patents
数据交织方法、装置及数据发送设备 Download PDFInfo
- Publication number
- CN112152641B CN112152641B CN202011040048.7A CN202011040048A CN112152641B CN 112152641 B CN112152641 B CN 112152641B CN 202011040048 A CN202011040048 A CN 202011040048A CN 112152641 B CN112152641 B CN 112152641B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- memory
- address
- target memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000015654 memory Effects 0.000 claims abstract description 162
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 abstract description 12
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 12
- 101150046378 RAM1 gene Proteins 0.000 description 12
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2767—Interleaver wherein the permutation pattern or a portion thereof is stored
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例申请了一种数据交织方法、装置及数据发送设备,属于通信技术领域。方法包括:接收待处理的数据流;将所述数据流中的每N个数据作为一组数据,得到至少一组数据,所述N为2的整数倍,且N小于预设数值,所述预设数值为多个调制方式所需存储器数量的最大值;将所述至少一组数据存储到目标存储器中,所述目标存储器的位宽不小于所述N个数据的位宽之和;以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据,对所述多个数据进行交织处理。本申请能够减少所需存储器的数量,节省存储资源。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种数据交织方法、装置及数据发送设备。
背景技术
在第五代移动通信(5th-Generation,5G)新空口(New Radio,NR)通信系统中,用户设备(User Equipment,UE)和网络设备之间进行数据传输之前,需要对待传输的目标数据进行编码处理。为了提高数据传输的可靠性,对待传输的目标数据进行编码处理后,再通过目标调制方式对目标数据进行交织处理,UE和网络设备之间传输交织后的目标数据。
发明内容
本申请实施例提供了一种数据交织方法、装置及数据发送设备,可以减少所需RAM的数量。所述技术方案如下:
一方面,提供了一种数据交织方法,所述方法包括:
接收待处理的数据流;
将所述数据流中的每N个数据作为一组数据,得到至少一组数据,所述N为2的整数倍;
将所述至少一组数据存储到目标存储器中,所述目标存储器的位宽不小于所述N个数据的位宽之和;
以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据,对所述多个数据进行交织处理。
另一方面,提供了一种数据交织装置,所述装置包括:
接收模块,用于接收待处理的数据流;
分组模块,用于将所述数据流中的每N个数据作为一组数据,得到至少一组数据,所述N为2的整数倍;
存储模块,用于将所述至少一组数据存储到目标存储器中,所述目标存储器的位宽不小于所述N个数据的位宽之和;
读取模块,用于以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据,对所述多个数据进行交织处理;
交织模块,用于对所述多个数据进行交织处理。
另一方面,提供了一种数据发送设备,所述数据发送设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的数据交织方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上述方面所述的数据交织方法。
另一方面,提供了一种计算机程序产品,所述计算机程序产品存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上述方面所述的数据交织方法。
另一方面,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现上述方面所述的数据交织方法。
在本申请实施例中,由于目标存储器的位宽不小于N个数据的位宽之和;因此,能够将一组数据包括的N个数据存储到目标存储器中。并且,在进行数据读取时,直接以基于目标调制方式确定的移位间隔进行地址选取以及移位,从而实现数据的选取,这样就避免了根据不同的调制方式设置不同数量的存储器的情况,减少了存储器的数量,节省了存储资源。
附图说明
图1示出了本申请一个示例性实施例所提供的实施环境的示意图;
图2示出了本申请一个示例性实施例示出的用户设备的示意图;
图3示出了本申请一个示例性实施例示出的网络设备的示意图;
图4示出了本申请一个示例性实施例示出的数据交织方法的流程图;
图5示出了本申请一个示例性实施例示出的数据交织方法的示意图;
图6示出了本申请一个示例性实施例示出的数据交织方法的流程图;
图7示出了本申请一个示例性实施例示出的数据交织方法的流程图;
图8示出了本申请一个示例性实施例示出的数据交织装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参考图1,其示出了本申请一个示例性实施例提供的数据交织方法的实施环境,该实施环境中包括数据发送设备10和接收设备20;其中,数据发送设备10和接收设备20之间进行无线通信。数据发送设备10可以为UE或者网络设备,接收设备20为网络设备或者UE。例如,数据发送设备10为UE,接收设备20为网络设备;再如,数据发送设备10为网络设备,接收设备20为UE。在图1中以数据发送设备10为UE,接收设备20为网络设备为例进行说明。
在一些实施例中,UE又可以称为终端或者电子设备等。网络设备可以为基站;例如,第四代移动通信技术(the 4th Generation mobile communication technology,4G)基站;或者5G基站(5th-generation Node B,gNB);或者未来通信网络中的网络设备,本申请实施例对此不做限定。
在本申请实施例中,数据发送设备10向接收设备20传输数据之前,数据发送设备10对待传输的数据进行交织处理,将交织后的数据传输至接收设备20。其中,该数据为通信数据或者网络数据等;并且,数据的格式可以为视频、文本、图像、语音等;在本申请实施例中,对数据不作具体限定。
针对数据发送设备为UE,参考图2,其示出了本申请一个示例性实施例提供的UE的结构方框图。该UE可以是智能手机、平板电脑、笔记本电脑等。本申请中的UE可以包括一个或多个如下部件:处理器110和存储器120。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个UE内的各个部分,通过运行或执行存储在存储器120内的至少一条指令,以及调用存储在存储器120内的数据,执行UE的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等。
可选地,UE还包括显示屏130,GPU用于负责触摸显示屏130所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块芯片进行实现。与神经网络相关的步骤可以由NPU执行,与人脸三维模型显示相关的步骤可以由GPU执行,与应用程序内操作相关的步骤可以由CPU执行。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储至少一条指令。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据UE的使用所创建的数据(比如音频数据、电话本)等。
显示屏130是用于显示用户界面的显示组件。可选的,该显示屏130还具有触控功能,通过触控功能,用户可以使用手指、触摸笔等任何适合的物体在显示屏130上进行触控操作。
显示屏130通常设置在UE的前面板。显示屏130可被设计成为全面屏、曲面屏、异型屏、双面屏或折叠屏。显示屏130还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本实施例对此不加以限定。
在一种可能的实现方式中,UE还包括接收器140和发射器150。接收器140和发射器150可以实现为一个通信组件,该通信组件可以是一块通信芯片。
在一种可能的实现方式中,UE还包括总线160;存储器120、显示屏130、接收器140和发射器150均通过总线160与处理器110连接。
在一种可能的实施方式中,UE还包括摄像头组件,该摄像头组件用于采集RGB图像(比如RGB摄像头),其可以是UE的前置摄像头或者后置摄像头。
除此之外,本领域技术人员可以理解,上述附图所示出的UE的结构并不构成对UE的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,UE中还包括麦克风、扬声器、射频电路、输入单元、传感器、音频电路、无线保真(Wireless Fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
针对数据发送设备10为网络设备,参考图3,其示出了本申请一个示例性实施例提供的网络设备的结构方框图。该网络设备可以是基站。本申请中的网络设备包括处理器210和存储器220;
存储器220可以包括RAM,也可以包括ROM。存储器220可用于存储有至少一条指令,至少一条指令用于被处理器210执行以实现如上述的数据交织方法。其中,处理器210包括一个或者一个以上处理核心,处理器210通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。存储器220可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现下述各个方法实施例的指令等;存储数据区可存储根据网络设备的使用所创建的数据等。
处理器210利用各种接口和线路连接整个网络设备内的各个部分,通过运行或执行存储在存储器220内的至少一条指令,以及调用存储在存储器220内的数据,执行网络设备的各种功能和处理数据。
可选地,处理器210可以采用DSP、FPGA、PLA中的至少一种硬件形式来实现。处理器210可集成CPU、GPU、NPU和调制解调器等中的一种或几种的组合。
可选地,网络设备还包括接收器230、发射器240和总线250。接收器230和发射器240可以实现为一个通信组件,该通信组件可以是一块通信芯片。存储器220、接收器230和发射器240均通过总线250与处理器210相连。
此外,存储器220可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),静态随时存取存储器(SRAM),只读存储器,磁存储器,快闪存储器,可编程只读存储器(PROM)。
在相关技术中,不同的编码方式需要不同数量的RAM来存储待交织的数据;例如,QPSK需要2个RAM,16QAM需要4个RAM,64QAM需要6个RAM,256QAM需要8个RAM。为了支持多个编码方式,往往需要多个编码方式中所需的最大数量的RAM,也即一般需要8个RAM。由于RAM需要部署到芯片上,如果RAM数量较多时,则芯片的面积会较大。
在本申请实施例中,待处理的数据是以数据流的形式传输至数据发送设备,该数据流中包括多个数据;数据发送设备接收待处理的数据流,将数据流存储到目标存储器中。目标存储器是位宽不小于N个数据的位宽之和的RAM。N为2的整数倍,且N小于预设数值,预设数值为多个调制方式所需存储器数量的最大值。例如,目前的调制方式包括QPSK、16QAM、64QAM和256QAM,而QPSK、16QAM、64QAM和256QAM中所需存储器的最大值为8;则N为2的整数倍,且N小于8。例如,N为2、4或者6等。
在一种可能的实现方式中,目标存储器是一个存储器;则目标存储器是位宽不小于N的存RAM。在另一种可能的实现方式中,目标存储器是由N个RAM组成;则目标存储器包括N个RAM。例如,N为2,则目标存储器包括2个RAM。
本申请实施例提供了一种数据交织方法;在本申请实施例中,以使用位宽不小于N个数据的位宽之和的目标存储器来存储数据为例进行说明。参见图4,该方法包括:
步骤401:数据发送设备接收待处理的数据流。
该数据流中包括多个数据,多个数据为待传输的原始数据或者对待传输的原始数据进行编码得到的数据。对于多个数据为对待传输的数据进行编码得到的数据,则本步骤包括:
数据发送设备获取待传输的多个原始数据,将多个原始数据传输至编码器。编码器接收该多个原始数据,对该多个原始数据进行编码处理,得到多个数据,将多个数据以数据流的形式发送至数据发送设备。数据发送设备接收该数据流。
需要说明的一点是,数据流中包括的数据可以为一个数据;或者由多个数据组成的数据序列。如果数据流中包括的数据为一个数据,则数据流包括的数据分别为Data0、Data1、Data3……;如果数据流中包括的数据为由多个数据组成的数据序列,则数据流包括的每个数据的位宽可以相等,也可以不相同;在本申请实施例中,以每个数据的位宽相等为例进行说明。例如,每个数据的位宽均为W。其中,W为大于1的整数;例如,W为7、8或者9等。
例如,参见图5,数据发送设备接收到的数据流包括的数据分别为Data0~(W-1)、DataW~2*W-1、Data2*W~3*W-1……。
步骤402:数据发送设备将数据流中每N个数据作为一组数据,得到至少一组数据。
每组数据包括N个数据。由于后续需要将每组数据存储到目标存储器中;因此,每组数据包括的数据的数量可以根据目标存储器的位宽进行设置并更改;且目标存储器的位宽不小于N数据的位宽之和。
其中,N为2的整数倍,且N小于预设数值,预设数值为多个调制方式所需存储器数量的最大值。例如,目前的调制方式包括QPSK、16QAM、64QAM和256QAM,而QPSK、16QAM、64QAM和256QAM中所需存储器的最大值为8;则N为2的整数倍,且N小于8。例如,N为2、4或者6等。
第一种方式,数据发送设备从数据流中选择连续的N个数据,将选择的N个数据组成一组数据。例如,N为2,则每组数据包括数据的数量为2,则数据发送设备从数据流中选择相邻的第奇数个数据和第偶数个数据,将选择的两个数据组成一组数据。例如,数据流包括6个数据;则数据发送设备将第1个数据和第2个数据组成一组数据,将第3个数据和第4个数据组成一组数据,将第5个数据和第6个数据组成一组数据。
第二种方式,数据发送设备从数据流中随机选择N个数据,将随机选择的N个数据组成一组数据;然后从数据流中未选择的数据中再次选择N个数据,将再次选择的N个数据组成一组数据,直到将数据流中的数据选择完毕为止。
第三种方式,数据发送设备从数据流中选择位于间隔位置的N个数据,将选择的N个数据组成一组数据。例如,每组数据包括数据的数量为2,数据流包括6个数据;则数据发送设备将第1个数据和第4个数据组成一组数据,将第2个数据和第5个数据组成一组数据,将第3个数据和第6个数据组成一组数据。
步骤403:对于每组数据,数据发送设备将该组包括N个数据进行拼接,得到一个数据。
第一种方式,数据发送设备直接将N个数据首位连接。
第二种方式,数据发送设备根据N个数据在数据流中的位置,确定N个数据的连接顺序,根据N个数据的连接顺序,将N个数据进行拼接。其中,N个数据的连接顺序与N个数据在数据流中的位置是一致的;例如,一组数据包括两个数据,分别为数据流中的第1个数据和第2个数据,则数据发送设备将第1个数据的尾部与第2个数据的首部进行连接。
步骤404:数据发送设备将拼接后的一个数据存储到目标存储器中,目标存储器的位宽不小于N个数据的位宽之和。
在本申请实施例中,以每个数据的位宽相等,均为W;且每组数据包括2个数据,目标存储器的位宽等于2倍的数据的位宽为例进行说明;则目标存储器的位宽为2W。
对于至少一组数据,数据发送设备可以按照每组数据的接收时间,确定存储顺序,根据该存储顺序,将每组数据拼接后的一个数据存储到目标存储器中。
其中,目标存储器为RAM或者ROM;在本申请实施例中,对目标存储器不作具体限定。
步骤405:数据发送设备确定用于从目标存储器中读取数据的目标地址。
第一种实现方式,数据发送设备确定目标存储器的首位地址,将该首位地址作为目标地址。其中,目标存储器的首位地址可以为data0。
在本申请实施例中,数据发送设备直接将目标存储器的首位地址作为目标地址,从而能够实现从目标存储器中存储的第一个数据开始读取,从而保证读取的数据的离散性,提高了后续的交织处理的效果。
第二种实现方式,数据发送设备获取目标速率匹配阶段指示的读取地址,将该读取地址作为目标地址,目标速率阶段为数据流进行速率匹配所处的阶段。
在本申请实施例中,数据发送设备将目标速率匹配阶段指示的读取地址作为目标地址,这样能够实现与速率匹配中的Rate matching相结合,进一步降低系统时延和存储需求。
步骤406:数据发送设备以目标调制方式确定的移位间隔,对目标地址进行移位操作。
数据发送设备确定目标数量,目标数量为需要得到的地址的数量。数据发送设备将目标地址移位该目标数量个移位间隔,得到至少一个地址。例如,目标数量为1;则数据发送设备将目标地址移位一个移位间隔,得到地址。再如,目标数量为2,则数据发送设备将目标地址移位1个移位间隔,得到一个地址,再将得到的地址移位1个移位间隔,再次得到一个地址。
其中,不同的目标调制方式对应不同的目标数量;相应的,数据发送设备确定目标数量的步骤包括:数据发送设备根据该目标调制方式,从调制方式和数量的对应关系中确定该目标调制方式对应的目标数量。
在本步骤之前,数据发送设备需要确定目标调制方式指示的移位间隔。
在一种可能的实现方式中,一种调制方式对应一个移位间隔;并且数据发送设备存储调制方式和移位间隔的对应关系。相应的,数据发送设备确定目标调制方式指示的移位间隔的步骤包括:数据发送设备根据目标调制方式,从调制方式和移位间隔的对应关系中确定该目标调制方式对应的移位间隔。
在本申请实施例中,数据发送设备存储调制方式与移位间隔的对应关系,直接从该对应关系中确定移位间隔,操作便捷,效率较高。
在另一种可能的实现方式,数据发送设备结合数据比特总数,确定移位间隔。相应的,数据发送设备确定目标调制方式指示的移位间隔的步骤包括:数据发送设备基于数据流包括的数据个数以及每个数据的位宽,确定数据流包括的数据的比特总数,以及基于目标调制方式,从调制方式和取值的对应关系中确定目标调制方式对应的取值,将该取值和该比特总数的比值,确定为该移位间隔。
其中,目标调制方式和目标调制方式对应的取值如下表1所示:
表1
目标调制方式 | 取值 |
BPSK | 1 |
QPSK | 2 |
16QAM | 4 |
64QAM | 6 |
256QAM | 8 |
其中,数据发送设备确定该比特总数与该取值的比值,根据该比值确定该移位间隔。其中,对于该比值为整数,数据发送设备直接将该比值作为移位间隔。对于该比值为非整数,数据发送设备将该比值进行取整,得到该移位间隔。例如,该取值为Qm,比特总数为E,则该移位间隔为E/Qm。
在本申请实施例中,数据发送设备结合数据比特总数,确定移位间隔,这样确定出的移位间隔更加合理,进而提高了后续交织效果。并且,数据发送设备能够根据该移位间隔直接选取地址并移位实现数据的选取,避免了Qm的不同需要的RAM块数量不同的情况。
步骤407:数据发送设备从目标存储器中读取目标地址对应的数据和移位后的目标地址对应的数据。
其中,每个数据的位宽相等或者不相等;在本申请实施例中,以每个数据的位宽相等为例进行说明。
例如,继续参见图5,目标调制方式为16QAM,数据发送设备从目标存储器中读取4个数据,每个数据的移位间隔为E/Qm;则读取的4个数据分别为:Data0~(W-1),DataE/Qm~(E/Qm+W-1),Data2*E/Qm~(2*E/Qm+W-1),Data(Qm-1)*E~Qm*E-1。
步骤408:数据发送设备对读取的多个数据进行交织处理。
数据发送设备将多个数据中的每个比特的数据进行重新排列,得到交织后的数据。例如,数据发送设备读取的4个数据分别为Data 0~(W-1),Data E/Qm~(E/Qm+W-1),Data 2*E/Qm~(2*E/Qm+W-1),Data(Qm-1)*E~Qm*E-1,则数据发送设备将这4个数据进行交织后,得到的数据为Data0,DataE/Qm,Data2*E/Qm,……,Data1,DataE/Qm+1,Data2*E/Qm+1,……,Data(Qm-1)*E/Qm+W-1。
步骤409:数据发送设备向接收设备发送交织后的数据。
接收设备接收该交织后的数据,对该第三数据进行解码,得到多个数据。
在本申请实施例中,由于目标存储器的位宽不小于N个数据的位宽之和;因此,能够将一组数据包括的N个数据存储到目标存储器中。并且,在进行数据读取时,直接以基于目标调制方式确定的移位间隔进行地址选取以及移位,从而实现数据的选取,这样就避免了根据不同的调制方式设置不同数量的存储器的情况,减少了存储器的数量,节省了存储资源。
本申请实施例提供了一种数据交织方法;在本申请实施例中,目标存储器包括N个存储器;对于每组数据,将该组包括的N个数据分别存储在N个存储器中。例如,N为2,则以使用两个位宽均等于数据的位宽的第一存储器和第二存储器来存储数据为例进行说明。参见图6,该方法包括:
步骤601:数据发送设备接收待处理的数据流。
本步骤和步骤401相同,在此不再赘述。
步骤602:数据发送设备将数据流中每两个数据作为一组数据,得到至少一组数据。
本步骤和步骤402相同,在此不再赘述。并且,在步骤602中是以将两个数据为一组为例进行说明。数据发送设备也可以选择三个或者四个数据为一组,在本申请实施例中对此不作具体限定。
步骤603:对于每组数据,数据发送设备将该组数据中包括的第奇数个数据存储在第一存储器中,第偶数个数据存储在第二存储器中。
例如,参见图7,第一存储器和第二存储器分别为RAM0和RAM1,则数据发送设备将数据流中的第一个数据、第三个数据……第n个数据存储到RAM0中,将第二个数据、第四个数据……第2n个数据存储到RAM1中。其中n为奇数。
例如,数据发送设备通过以下程序进行数据的存储:
RAM Write:
Even input write to RAM0
Odd input write to RAM1
Address Order:
0,1,2,……
在步骤603中是以每组数据包括两个数据为例进行说明。如果每组数据包括三个数据,则数据发送设备将三个数据分别存储在第一存储器、第二存储器和第三存储器中。
步骤604:数据发送设备确定用于从第一存储器中读取数据的第一地址和用于从第二存储器中读取数据的第二地址。
如果第一存储器中存储的数据以及第二存储器中存储的数据的位宽没有超过2W的位宽边界,数据发送设备确定第一地址为RAM0 addr(n),第二地址为RAM1 addr(n);如果第一存储器中存储的数据以及第二存储器中存储的数据的位宽超过2W的位宽边界,数据发送设备确定第一地址为RAM1 addr(n),第二地址为RAM0 addr(n+1)。
在本申请实施例中,利用了2个RAM分别存储待交织数据的奇数个和偶数个并行数据,不仅解决了超出RAM边界而导致的错误,而且避免了传统实现方式中RAM过于离散和冗余而导致的RAM面积过大问题(与经过优化的传统方案相比,大约节省20%的面积),从而有效降低了交织器的RAM空间需求。
步骤605:数据发送设备以基于目标调制方式确定的移位间隔,对第一地址和第二地址进行移位操作。
本步骤和步骤406相似,在此不再赘述。
步骤606:数据发送设备从目标存储器中读取第一地址对应的数据和移位后的第一地址对应的数据。
步骤607:数据发送设备从目标存储器中读取第二地址对应的数据和移位后的第二地址对应的数据。
例如,数据发送设备通过以下程序进行数据的读取:
RAM Read:
Address Order:
RAM0 addr0&RAM1 addr0
RAM0 addr(0+k)&RAM1 addr(0+k)
……
RAM0 addr(0+7k)&RAM1 addr(0+7k)
……
RAM0 addr(k-1)&RAM1 addr(k-1)
RAM0 addr(k-1+k)&RAM1 addr(k-1+k)
RAM0 addr(k-1+7k)&RAM1 addr(k-1+7k)
步骤606-607分别和步骤407相似,在此不再赘述。
步骤608:数据发送设备对读取的多个数据进行交织处理,得到交织后的数据。
例如,数据发送设备通过以下程序对读取的多个数据进行交织处理:
Shift&Inter Logic:
1.shift
da0={RAM0 addr0,RAM1 addr0} <<s0
da1={RAM0 addr(0+k),RAM0 addr(0+k)} <<s1
……
da7={RAM0 addr(0+7k)&RAM1 addr(0+7k)}<<s7
2.Interleave
out0={da0[0],da1[0],…,da7[0],…,da0[n],…,da7[n]};
out1={da0[n+1],da1[n+1],…,da7[n+1],…,da0[2n],…,da7[2n]};
……
步骤609:数据发送设备向接收设备发送交织后的数据。
步骤608-609分别和步骤408-409相似,在此不再赘述。
在本申请实施例中,由于目标存储器包括两个存储器,分别为第一存储器和第二存储器;数据发送设备将第奇数个数据存储在第一存储器中,将第偶数个数据存储在第二存储器中。并且,在进行数据读取时,直接以基于目标调制方式确定的移位间隔进行地址选取以及移位,从而实现数据的选取,这样就避免了根据不同的调制方式设置不同数量的存储器的情况,减少了存储器的数量,节省了存储资源。
本申请实施例提供了一种数据交织装置,参见图8,该装置包括:
接收模块801,用于接收待处理的数据流;
分组模块802,用于将所述数据流中的每N个数据作为一组数据,得到至少一组数据,所述N为2的整数倍,且N小于预设数值,所述预设数值为多个调制方式所需存储器数量的最大值;
存储模块803,用于将所述至少一组数据存储到目标存储器中,所述目标存储器的位宽不小于所述N个数据的位宽之和;
读取模块804,用于以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据;
交织模块805,用于对所述多个数据进行交织处理。
可选地,读取模块804,包括:
确定单元,用于确定用于从所述目标存储器中读取数据的目标地址;
移位单元,用于以基于所述目标调制方式确定的移位间隔,对所述目标地址进行移位操作;
读取单元,用于从所述目标存储器中读取所述目标地址和所述移位后的目标地址分别对应的数据,得到多个数据。
可选地,确定单元,用于确定目标存储器的首位地址,将首位地址作为目标地址;或者,
确定单元,用于获取目标速率匹配阶段指示的读取地址,将读取地址作为目标地址,目标速率阶段为对数据流进行速率匹配的阶段。
可选地,装置还包括:
第一确定模块,用于基于所述数据流包括的数据个数以及每个数据的位宽,确定所述数据流包括的数据的比特总数,以及,基于所述目标调制方式,从调制方式和取值的对应关系中确定所述目标调制方式对应的取值;
第二确定模块,用于将所述取值与所述比特总数的比值,确定为所述移位间隔。
可选地,存储模块803,用于对于每组数据,将所述组包括的N个数据进行拼接,得到一个数据,将拼接得到的一个数据存储到所述目标存储器中。
可选地,所述目标存储器包括N个存储器;存储模块803,用于对于每组数据,将所述组包括的N个数据分别存储在所述N个存储器中。
可选地,所述N的数量为2;所述目标存储器包括第一存储器和第二存储器;所述第一存储器的位宽和所述第二存储器的位宽之和不小于2个数据的位宽之和;
存储模块803,用于将所述组包括的第奇数个数据存储在所述第一存储器中,第偶数个数据存储在所述第二存储器中。
可选地,分组模块802,用于从所述数据流中选择连续的N个数据,将选择的N个数据组成一组数据,不同组数据包括的数据不同。
在本申请实施例中,由于目标存储器的位宽不小于N个数据的位宽之和;因此,能够将一组数据包括的N个数据存储到目标存储器中。并且,在进行数据读取时,直接以基于目标调制方式确定的移位间隔进行地址选取以及移位,从而实现数据的选取,这样就避免了根据不同的调制方式设置不同数量的存储器的情况,减少了存储器的数量,节省了存储资源。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上各个实施例示出的数据交织方法。
由于目标存储器的位宽不小于N个数据的位宽之和;因此,能够将一组数据包括的N个数据存储到目标存储器中。并且,在进行数据读取时,直接以基于目标调制方式确定的移位间隔进行地址选取以及移位,从而实现数据的选取,这样就避免了根据不同的调制方式设置不同数量的存储器的情况,减少了存储器的数量,节省了存储资源。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,该至少一条指令由该处理器加载并执行以实现如上各个实施例示出的数据交织方法。
本申请实施例还提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现上述各个实施例示出的数据交织方法。
由于目标存储器的位宽不小于N个数据的位宽之和;因此,能够将一组数据包括的N个数据存储到目标存储器中。并且,在进行数据读取时,直接以基于目标调制方式确定的移位间隔进行地址选取以及移位,从而实现数据的选取,这样就避免了根据不同的调制方式设置不同数量的存储器的情况,减少了存储器的数量,节省了存储资源。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据交织方法,其特征在于,所述方法包括:
接收待处理的数据流;
将所述数据流中的每N个数据作为一组数据,得到至少一组数据,所述N为2的整数倍,且N小于预设数值,所述预设数值为多个调制方式所需存储器数量的最大值;
将所述至少一组数据存储到目标存储器中,所述目标存储器的位宽不小于所述N个数据的位宽之和;
以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据,对所述多个数据进行交织处理。
2.根据权利要求1所述的方法,其特征在于,所述以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据,包括:
确定用于从所述目标存储器中读取数据的目标地址;
以基于所述目标调制方式确定的移位间隔,对所述目标地址进行移位操作;
从所述目标存储器中读取所述目标地址和所述移位后的目标地址分别对应的数据,得到多个数据。
3.根据权利要求2所述的方法,其特征在于,所述确定用于从所述目标存储器中读取数据的目标地址,包括:
确定所述目标存储器的首位地址,将所述首位地址作为所述目标地址;或者,
获取目标速率匹配阶段指示的读取地址,将所述读取地址作为所述目标地址,所述目标速率阶段为对所述数据流进行速率匹配的阶段。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于所述数据流包括的数据个数以及每个数据的位宽,确定所述数据流包括的数据的比特总数,以及,基于所述目标调制方式,从调制方式和取值的对应关系中确定所述目标调制方式对应的取值;
将所述取值与所述比特总数的比值,确定为所述移位间隔。
5.根据权利要求1所述的方法,其特征在于,所述将所述至少一组数据存储到目标存储器中,包括:
对于每组数据,将所述组包括的N个数据进行拼接,得到一个数据,将拼接得到的一个数据存储到所述目标存储器中。
6.根据权利要求1所述的方法,其特征在于,所述目标存储器包括N个存储器;所述将所述至少一组数据存储到目标存储器中,包括:
对于每组数据,将所述组包括的N个数据分别存储在所述N个存储器中。
7.根据权利要求6所述的方法,其特征在于,所述N的数量为2;所述目标存储器包括第一存储器和第二存储器;所述第一存储器的位宽和所述第二存储器的位宽之和不小于2个数据的位宽之和;
所述将所述组包括的N个数据分别存储在所述N个存储器中,包括:
将所述组包括的第奇数个数据存储在所述第一存储器中,第偶数个数据存储在所述第二存储器中。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述将所述数据流中的每N个数据作为一组数据,得到至少一组数据,包括:
从所述数据流中选择连续的N个数据,将选择的N个数据组成一组数据,不同组数据包括的数据不同。
9.一种数据交织装置,其特征在于,所述装置包括:
接收模块,用于接收待处理的数据流;
分组模块,用于将所述数据流中的每N个数据作为一组数据,得到至少一组数据,所述N为2的整数倍;
存储模块,用于将所述至少一组数据存储到目标存储器中,所述目标存储器的位宽不小于所述N个数据的位宽之和;
读取模块,用于以基于目标调制方式确定的移位间隔,从所述目标存储器中读取待交织的多个数据;
交织模块,用于,对所述多个数据进行交织处理。
10.一种数据发送设备,其特征在于,所述数据发送设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至8任一所述的数据交织方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011040048.7A CN112152641B (zh) | 2020-09-28 | 2020-09-28 | 数据交织方法、装置及数据发送设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011040048.7A CN112152641B (zh) | 2020-09-28 | 2020-09-28 | 数据交织方法、装置及数据发送设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152641A CN112152641A (zh) | 2020-12-29 |
CN112152641B true CN112152641B (zh) | 2023-12-05 |
Family
ID=73894829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011040048.7A Active CN112152641B (zh) | 2020-09-28 | 2020-09-28 | 数据交织方法、装置及数据发送设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112152641B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598419B (zh) * | 2021-11-12 | 2023-08-01 | 北京智芯微电子科技有限公司 | 交织器、解交织器、及其执行的方法 |
CN115441991B (zh) * | 2022-08-26 | 2023-08-04 | 武汉市聚芯微电子有限责任公司 | 数据传输方法、装置、电子设备和计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11168763A (ja) * | 1997-09-30 | 1999-06-22 | Casio Comput Co Ltd | データ処理装置 |
KR20060066592A (ko) * | 2004-12-13 | 2006-06-16 | 한국전자통신연구원 | 차세대 무선 랜 시스템의 블록 인터리버 장치 및 그 방법 |
CN101594153A (zh) * | 2009-06-29 | 2009-12-02 | 中兴通讯股份有限公司 | 基于数字逻辑实现解交织的方法和系统 |
CN102064910A (zh) * | 2009-11-13 | 2011-05-18 | 傲世通科技(苏州)有限公司 | 混合自动重传请求比特收集和交织的方法和装置 |
-
2020
- 2020-09-28 CN CN202011040048.7A patent/CN112152641B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11168763A (ja) * | 1997-09-30 | 1999-06-22 | Casio Comput Co Ltd | データ処理装置 |
KR20060066592A (ko) * | 2004-12-13 | 2006-06-16 | 한국전자통신연구원 | 차세대 무선 랜 시스템의 블록 인터리버 장치 및 그 방법 |
CN101594153A (zh) * | 2009-06-29 | 2009-12-02 | 中兴通讯股份有限公司 | 基于数字逻辑实现解交织的方法和系统 |
CN102064910A (zh) * | 2009-11-13 | 2011-05-18 | 傲世通科技(苏州)有限公司 | 混合自动重传请求比特收集和交织的方法和装置 |
Non-Patent Citations (1)
Title |
---|
Bit interleaved coded modulation to enable fractional bits-per-cell storage at NAND flash memory;Mustafa N. Kaynak;Elsevier;第70卷(第5期);707-717 * |
Also Published As
Publication number | Publication date |
---|---|
CN112152641A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11695968B2 (en) | Picture data encoding method and apparatus and picture data decoding method and apparatus | |
CN112152641B (zh) | 数据交织方法、装置及数据发送设备 | |
EP4013083A1 (en) | Sidelink resource mapping method, transmission method, network apparatus, and terminal apparatus | |
CN102405599A (zh) | 用于并行turbo解码的扩展turbo交织器 | |
CN111818060B (zh) | 一种支持混合及离散数据传输的通讯协议、方法及系统 | |
CN105279006A (zh) | 基于Android系统的屏幕截图方法及终端 | |
CN108965333A (zh) | 一种数据压缩、解压缩方法、系统及电子设备 | |
CN104572994B (zh) | 用于搜索数据的方法和装置 | |
CN111026697A (zh) | 核间通信方法、系统、电子器件以及电子设备 | |
US11582173B2 (en) | Message processing method and electronic device supporting the same | |
CN113169811B (zh) | 数据处理方法及矩阵存储器 | |
CN114760529B (zh) | 多通道视频数据的传输方法、装置、计算机设备 | |
US20220263626A1 (en) | Method and apparatus for determining position occupied by resource, user equipment, and storage medium | |
CN111836307A (zh) | 映射类型的确定方法及终端 | |
JP2021510020A (ja) | 無線通信方法及び装置 | |
CN109800869B (zh) | 数据压缩方法及相关装置 | |
CN114070901A (zh) | 基于多数据对齐的数据发送和接收方法、装置和设备 | |
CN112073505A (zh) | 在云服务器上进行卸载的方法、控制装置、存储介质 | |
CN114065123A (zh) | 稀疏矩阵计算方法及加速装置 | |
CN111796788B (zh) | 弧形显示屏边缘信息压缩存取方法和系统 | |
CN113365015B (zh) | 一种视频数据处理装置及方法 | |
CN114844607B (zh) | 信标帧的发送方法、装置、存储介质及ap | |
CN105824595A (zh) | 一种空间管理方法、装置及移动终端 | |
CN115048347A (zh) | 一种文件动态压缩方法、系统、终端设备和存储介质 | |
CN107302371B (zh) | 一种turbo码译码系统及译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |