Encoding method, communication apparatus, and storage medium
By employing a sequence index rotation mechanism or a random generation algorithm in the terminal device to determine the OCC sequence index, and avoiding the use of all-1 OCC sequences, the problems of power back-off and uplink coverage performance degradation in the terminal device are solved, thus improving work efficiency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2025-07-16
- Publication Date
- 2026-06-11
Smart Images

Figure CN2025108795_11062026_PF_FP_ABST
Abstract
Description
An encoding method, a communication device, and a storage medium
[0001] This application claims priority to Chinese Patent Application No. 202411784945.7, filed with the State Intellectual Property Office of China on December 5, 2024, entitled "An Encoding Method, Communication Device and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of communication technology, and in particular to an encoding method, a communication device, and a storage medium. Background Technology
[0003] In uplink transmission, orthogonal convolutional codes (OCC) can be used for encoding in multi-user scenarios. OCC encodes data into orthogonal convolutional codes. Due to its good autocorrelation and cross-correlation properties, it is often used in spread spectrum communication to help distinguish different users and improve the reliability and efficiency of data transmission.
[0004] OCC uses a sequence of all 1s in its design. However, during demodulation, OCC needs to accumulate each symbol to obtain spread spectrum gain. Therefore, when the terminal device uses an all-1s OCC sequence for encoding, all symbols accumulate in the same phase direction, widening the gap between peaks and troughs, and consequently widening the gap between the peak and average values. This results in a higher Cubic Metric (CM) and Peak-to-Average Power Ratio (PAPR) for the terminal device, leading to power backoff and reduced uplink coverage performance, thus affecting the terminal device's operating efficiency. Summary of the Invention
[0005] This application provides an encoding method, communication device, and storage medium to avoid terminal devices maintaining an OCC sequence of all 1s for encoding, thereby avoiding power back-off and uplink coverage performance degradation, and ensuring the working efficiency of terminal devices.
[0006] To achieve the above objectives, this application provides the following technical solution:
[0007] A first aspect of this application provides an encoding method applied to a terminal device. The method includes: determining a target orthogonal convolutional code (OCC) sequence index based on a sequence index rotation mechanism, or determining the target OCC sequence index based on a sequence index random generation algorithm; determining a target OCC sequence corresponding to the target OCC sequence index from a first OCC sequence set; wherein the target OCC sequence is used for encoding uplink data, and the first OCC sequence set includes a correspondence between OCC sequence indices and OCC sequences.
[0008] In this embodiment, the terminal device determines the OCC sequence index through a sequence index rotation mechanism or a sequence index random generation algorithm, and then determines the OCC sequence used for encoding. Since the OCC sequence index is rotated or randomly generated, the OCC sequence corresponding to the OCC sequence index also changes. This avoids the terminal device maintaining an all-1 OCC sequence for encoding, thereby preventing power back-off and uplink coverage performance degradation, and ensuring the terminal device's working efficiency.
[0009] Unless otherwise specified, the term "terminal device" in this application may refer to the terminal device itself, a component within the terminal device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the transmitting end's functions. This application does not limit the entity executing the encoding method.
[0010] The terminal device may be pre-configured with a first OCC sequence set, or the terminal device may be configured with a first OCC sequence set under the instruction of the network device. The first OCC sequence set includes the correspondence between OCC sequence indexes and OCC sequences, so that the corresponding OCC sequence can be determined based on the first OCC sequence set after obtaining the OCC sequence index.
[0011] In some possible implementations, determining the target OCC sequence index based on the sequence index rotation mechanism includes: determining the rotation period according to the OCC sequence length, wherein the OCC sequence length is equal to the spreading factor SF; determining the target orthogonal convolutional code OCC sequence index according to the initial OCC sequence index, the first OCC sequence set, and the rotation period, wherein the target OCC sequence is used for time-domain coding of uplink data.
[0012] In this embodiment, the terminal device can determine the rotation period based on the OCC sequence length, where the OCC sequence length is equal to the spreading factor (SF). For example, if the spreading factor SF is 4, then the OCC sequence length is 4, and the rotation period can be determined as 4 Orthogonal Frequency Division Multiplexing (OFDM) symbols, meaning that a sequence index rotation is performed every 4 symbols in the time domain. The OCC sequence determined in this way can be used for time-domain coding of the terminal device's uplink data.
[0013] It should be understood that in this embodiment of the application, the OCC sequence length corresponding to the spreading factor SF is used as the rotation period of the OCC sequence index. This ensures that the OCC sequence index changes according to the rotation period, thereby ensuring that the OCC sequence used by the terminal device changes according to the rotation period. This avoids the terminal device maintaining the use of an all-1 OCC sequence for encoding, thus avoiding the problems of power back-off and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0014] In some possible implementations, determining the target OCC sequence index based on the sequence index rotation mechanism includes: at least one time slot, or at least one orthogonal frequency division multiplexing (OFDM) symbol, determining the target OCC sequence index based on the initial OCC sequence index and the first OCC sequence set, wherein the target OCC sequence is used for frequency domain coding of uplink data.
[0015] In this embodiment of the application, for the frequency domain coding of uplink data, the terminal device can rotate the OCC sequence index used by the frequency domain resource element (RE) according to a time slot or an OFDM rotation cycle in the time domain. This ensures that the OCC sequence used by the terminal device changes according to the rotation cycle, avoids the terminal device from maintaining the use of an all-1 OCC sequence for coding, and thus avoids the problems of power back-off and uplink coverage performance degradation, ensuring the working efficiency of the terminal device.
[0016] In 5G NR, with a Cyclic Prefix (CP), a time slot can contain 14 OFDM symbols, while with an Extended Cyclic Prefix (CP), a time slot can contain 12 OFDM symbols.
[0017] In some possible implementations, the sequence index random generation algorithm determines the target OCC sequence index OCC_index based on the following formula: OCC_index=((index_init+n cs(n, l+l′) mod OCC_length)
[0018] Where n represents the slot number of the current radio frame, l represents the index number of the current OFDM symbol, l = 0 indicates the first OFDM symbol, l′ represents the index number of the first OFDM symbol in the slot, index_init represents the initial OCC sequence index corresponding to the current terminal device, and OCC_length represents the OCC sequence length. The number of OFDM symbols in a time slot is represented by c(n), which represents the pseudo-random sequence generation function, and m is a natural number from 0 to 7; the target OCC sequence is used for time-domain coding of uplink data.
[0019] This application provides a sequence index random generation algorithm that can generate random OCC sequence indices, thereby determining the OCC sequence used for time-domain coding. Since the OCC sequence index changes over time, the OCC sequence used by the terminal device also changes continuously. This avoids the terminal device maintaining an all-1 OCC sequence for encoding, thus preventing power back-off and uplink coverage performance degradation, and ensuring the terminal device's operating efficiency.
[0020] OCC_index is calculated once per iteration, and the l of the current iteration step is equal to the l of the previous iteration step plus OCC_length.
[0021] The pseudo-random sequence generation function c(n) can be the pseudo-random sequence generation function provided in the 3GPP technical specification TS38.211 protocol.
[0022] in, This indicates the number of OFDM symbols in a time slot. A time slot can typically contain 14 OFDM symbols.
[0023] It should be understood that the initial OCC sequence index corresponding to the terminal device can be pre-configured, and different initial OCC sequence indices should be configured between different terminal devices / users within the same cell.
[0024] In some possible implementations, the sequence index random generation algorithm determines the target OCC sequence index OCC_index based on the following formula: OCC_index=((index_init+n cs (n PRB ,l+l′))mod OCC_length)
[0025] Where, n PRBThis represents the index number of the current Physical Resource Block (PRB), l represents the index number of the subcarrier in which the current Resource Element (RE) resides, l = 0 indicates the first subcarrier, l′ represents the index number of the subcarrier of the first Resource Element (RE) in the PRB, index_init represents the initial OCC sequence index corresponding to the current terminal device, and OCC_length represents the length of the OCC sequence. The number of resource elements (REs) within a physical resource block (PRB) is represented by c(n), which is a pseudo-random sequence generation function, and m is a natural number from 0 to 7; the target OCC sequence is used for frequency domain coding of uplink data.
[0026] This application provides a sequence index random generation algorithm that can generate random OCC sequence indices, thereby determining the OCC sequence used for frequency domain coding. Since the OCC sequence index changes with frequency domain resources, the OCC sequence used by the terminal device also changes continuously. This avoids the terminal device maintaining an all-1 OCC sequence for coding, thus preventing power back-off and uplink coverage performance degradation, and ensuring the terminal device's operating efficiency.
[0027] Wherein, the index number n of the current physical resource block (PRB) PRB The maximum value is 273.
[0028] OCC_index is calculated once per iteration, and the l of the current iteration step is equal to the l of the previous iteration step plus OCC_length.
[0029] The pseudo-random sequence generation function c(n) can be the pseudo-random sequence generation function provided in the 3GPP technical specification TS38.211 protocol.
[0030] in, This indicates the number of resource elements (REs) within a Physical Resource Block (PRB). The number of resource elements (REs) within a Physical Resource Block (PRB) has been selected as 12.
[0031] It should be understood that the initial OCC sequence index corresponding to the terminal device can be pre-configured, and different initial OCC sequence indices should be configured between different terminal devices / users within the same cell.
[0032] In some possible implementations, the method further includes: receiving OCC sequence configuration information sent by a network device based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling; wherein the OCC sequence configuration information is used to configure the first OCC sequence set, and the first OCC sequence set further includes an initial OCC sequence index and the OCC sequence length.
[0033] In this embodiment, the network device can send sequence configuration information via Radio Resource Control (RRC) information and / or Downlink Control Information (DCI) signaling. The terminal device configures a first OCC sequence set based on the received sequence configuration information. In addition to the correspondence between OCC sequence indices and OCC sequences, the first OCC sequence set also includes an initial OCC sequence index and the OCC sequence length, which facilitates the terminal device to determine the initial OCC sequence based on the initial OCC index information, and to determine the rotation period based on the OCC sequence length or to calculate the target OCC sequence index based on the sequence index rotation mechanism.
[0034] It should be understood that the specific content of the sequence configuration information is not limited in the embodiments of this application. Technicians can configure the sequence configuration information according to actual business needs. For example, the spare bits in the DCI1_0 field or DCI1_1 field of the downlink control information of the Physical Downlink Control Channel (PDCCH) can indicate the initial OCC index information; or, for example, a specific field in the RRC signaling can indicate the OCC sequence length and the correspondence between the OCC sequence index and the OCC sequence.
[0035] In some possible implementations, the method further includes: determining the target OCC sequence from a second OCC sequence set; wherein the second OCC sequence set includes OCC sequences that are not all 1s.
[0036] In this embodiment of the application, the terminal device can also determine the target OCC sequence through a second OCC sequence set. The OCC sequences included in the second OCC sequence set do not include OCC sequences that are all 1s. This can avoid the terminal device selecting and using OCC sequences that are all 1s for encoding, thereby avoiding the problems of power back-off and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0037] It should be noted that the second set of OCC sequences does not include OCC sequences consisting entirely of 1s. In this case, the spreading factor SF should be at least 4 or greater than 4 to avoid the situation where the spreading factor SF is equal to 2 and the OCC sequences consisting entirely of 1s are disabled, which would cause the encoding to be unable to distinguish between different users and result in unavailability.
[0038] A second aspect of this application provides an encoding method applied to a network device. The method includes: sending orthogonal convolutional code (OCC) sequence configuration information; wherein the OCC sequence configuration information is used by a terminal device to configure a first OCC sequence set, the first OCC sequence set is used by the terminal device to determine a target OCC sequence based on a target OCC sequence index, the target OCC sequence index is determined by the terminal device based on a sequence index rotation mechanism or a sequence index random generation algorithm, the target OCC sequence is used for encoding uplink data, and the OCC sequence set includes a correspondence between OCC sequence indices and OCC sequences.
[0039] In this embodiment, the network device can send OCC sequence configuration information to the terminal device, enabling the terminal device to configure the first OCC sequence set based on the OCC sequence configuration information. After configuring the first OCC sequence set, the terminal device can determine the OCC sequence index through a sequence index rotation mechanism or a sequence index random generation algorithm, thereby determining the OCC sequence used for encoding. Since the OCC sequence index is rotated or randomly generated, the OCC sequence corresponding to the OCC sequence index also changes, which can prevent the terminal device from maintaining an all-1 OCC sequence for encoding, thereby avoiding power backoff and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0040] Unless otherwise specified, the term "network device" in this application may refer to the network device itself, a component within the network device (e.g., a processor, chip, or chip system), or a logic module or software capable of implementing all or part of the transmitting end's functions. This application does not limit the entity executing the encoding method.
[0041] The terminal device may be pre-configured with a first OCC sequence set, or the terminal device may be configured with a first OCC sequence set under the instruction of the network device. The first OCC sequence set includes the correspondence between OCC sequence indexes and OCC sequences, so that the corresponding OCC sequence can be determined based on the first OCC sequence set after obtaining the OCC sequence index.
[0042] In some possible implementations, the transmission of orthogonal convolutional code (OCC) sequence configuration information includes: transmitting the OCC sequence configuration information based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling.
[0043] In this embodiment, the network device can send sequence configuration information via Radio Resource Control (RRC) information and / or Downlink Control Information (DCI) signaling. The terminal device configures a first OCC sequence set based on the received sequence configuration information. In addition to the correspondence between OCC sequence indices and OCC sequences, the first OCC sequence set also includes an initial OCC sequence index and the OCC sequence length, which facilitates the terminal device to determine the initial OCC sequence based on the initial OCC index information, and to determine the rotation period based on the OCC sequence length or to calculate the target OCC sequence index based on the sequence index rotation mechanism.
[0044] It should be understood that the specific content of the sequence configuration information is not limited in the embodiments of this application. Technicians can configure the sequence configuration information according to actual business needs. For example, the spare bits in the DCI1_0 field or DCI1_1 field of the downlink control information of the Physical Downlink Control Channel (PDCCH) can indicate the initial OCC index information; or, for example, a specific field in the RRC signaling can indicate the OCC sequence length and the correspondence between the OCC sequence index and the OCC sequence.
[0045] In some possible implementations, the OCC sequence configuration information is further used by the terminal device to configure a second OCC sequence set, which is used by the terminal device to determine the target OCC sequence. The second OCC sequence set includes OCC sequences that are not all 1s.
[0046] In this embodiment of the application, the terminal device can also determine the target OCC sequence through a second OCC sequence set. The OCC sequences included in the second OCC sequence set do not include OCC sequences that are all 1s. This can avoid the terminal device from selecting and using OCC sequences that are all 1s for encoding, thereby avoiding the problems of power back-off and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0047] It should be noted that the second set of OCC sequences does not include OCC sequences consisting entirely of 1s. In this case, the spreading factor SF should be at least 4 or greater than 4 to avoid the situation where the spreading factor SF is equal to 2 and the OCC sequences consisting entirely of 1s are disabled, which would cause the encoding to be unable to distinguish between different users and result in unavailability.
[0048] A third aspect of this application provides a communication device, specifically a terminal device, the terminal device comprising:
[0049] The index determination module is used to determine the target OCC sequence index based on the orthogonal convolutional code OCC sequence index rotation mechanism, or to determine the target OCC sequence index based on the sequence index random generation algorithm;
[0050] A sequence determination module is used to determine a target OCC sequence corresponding to the target OCC sequence index from a first OCC sequence set; wherein the target OCC sequence is used for encoding uplink data, and the first OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences.
[0051] A fourth aspect of this application provides a communication device, specifically a network device, comprising:
[0052] A configuration information sending module is used to send orthogonal convolutional code (OCC) sequence configuration information; wherein, the OCC sequence configuration information is used by the terminal device to configure a first OCC sequence set, the first OCC sequence set is used by the terminal device to determine a target OCC sequence based on a target OCC sequence index, the target OCC sequence index is determined by the terminal device based on an orthogonal convolutional code OCC sequence index rotation mechanism or a sequence index random generation algorithm, the target OCC sequence is used for encoding uplink data, and the OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences.
[0053] A fifth aspect of this application provides a communication device, comprising: a memory and at least one processor. The memory is used to store a program, and the at least one processor is used to execute the computer program or computer instructions stored in the memory, such that the communication device implements any of the encoding methods provided in the first or second aspect of this application.
[0054] The sixth aspect of this application is a computer storage medium for storing a computer program, which, when executed, implements any one of the encoding methods provided in the first or second aspect of this application.
[0055] The seventh aspect of this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the encoding methods described in the first or second aspect above.
[0056] An eighth aspect of this application provides a chip system including a processor for supporting a terminal device or network device in implementing the functions involved in the foregoing aspects, such as transmitting or processing data and / or information involved in the foregoing methods. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the terminal device or network device. The chip system may be composed of chips or may include chips and other discrete devices.
[0057] It is understood that the beneficial effects of the third to eighth aspects mentioned above can be found in the relevant descriptions of the first or second aspects and any implementation of the first or second aspects, and will not be repeated here. Attached Figure Description
[0058] Figure 1 is a schematic diagram of the system architecture of a communication system provided in an embodiment of this application;
[0059] Figure 2 is a flowchart illustrating an encoding method provided in an embodiment of this application;
[0060] Figure 3a is a schematic diagram of an index rotation cycle based on a sequence index rotation mechanism provided in an embodiment of this application;
[0061] Figure 3b is a schematic diagram of an index rotation cycle based on a sequence index rotation mechanism provided in an embodiment of this application;
[0062] Figure 3c is a schematic diagram of an index rotation cycle based on a sequence index rotation mechanism provided in an embodiment of this application;
[0063] Figure 3d is a schematic diagram of an index rotation cycle based on a sequence index rotation mechanism provided in an embodiment of this application;
[0064] Figure 4a is a schematic diagram of another index rotation cycle based on a sequence index rotation mechanism provided in an embodiment of this application;
[0065] Figure 4b is a schematic diagram of another index rotation cycle based on a sequence index rotation mechanism provided in the embodiments of this application;
[0066] Figure 4c is a schematic diagram of another index rotation cycle based on a sequence index rotation mechanism provided in the embodiments of this application.
[0067] Figure 4d is a schematic diagram of another index rotation cycle based on a sequence index rotation mechanism provided in the embodiments of this application;
[0068] Figure 5 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0069] Figure 6 is a schematic diagram of another communication device provided in an embodiment of this application;
[0070] Figure 7 is a schematic diagram of another communication device provided in an embodiment of this application;
[0071] Figure 8 is a schematic diagram of the structure of a computer program product provided in an embodiment of this application. Detailed Implementation
[0072] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. The terminology used in the following embodiments is for the purpose of describing specific embodiments only and is not intended to be a limitation of this application. As used in the specification and appended claims of this application, the singular expressions "a," "an," "the," "the," "the," and "this" are intended to also include expressions such as "one or more," unless the context clearly indicates otherwise. It should also be understood that in the embodiments of this application, "one or more" refers to one, two, or more; "and / or" describes the relationship between related objects, indicating that three relationships may exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship.
[0073] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0074] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0075] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0076] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0077] It is understood that in this application, "...when" and "if" both refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require a judgment action to be performed during implementation, nor do they imply any other limitations.
[0078] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.
[0079] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or there is a logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.
[0080] The embodiments of this application are applicable to various communication systems, including second-generation (2G) communication systems, third-generation (3G) communication systems, LTE systems, fifth-generation (5G) communication systems, LTE and 5G hybrid architectures, 5G New Radio (5G NR) systems, and new communication systems that will emerge in the future development of communication.
[0081] The communication system includes a first device and a second device. The first device can be a network-side device used to provide network communication functions; in some cases, it is also called a network device or network element. The network device can typically be a base station (including functional units of a base station, or a combination of functional units of base stations) or a core network unit. The core network unit can be a functional unit within the core network, including but not limited to Access and Mobility Management Function (AMF) units or Session Management Function (SMF) units. The second device can be a device accessing the network, typically a terminal. An example of a communication system is shown in Figure 1, which includes base station 1 and terminal 2.
[0082] In the embodiments provided in this application, the base station can be any device with wireless transceiver capabilities, including but not limited to: evolved base stations (NodeB, eNB, or e-NodeB) in Long Term Evolution (LTE), base stations (gNodeB or gNB) or transmission receiving points / transmission reception points (TRPs) in New Radio (NR), base stations in subsequent 3GPP evolutions, access nodes in Wi-Fi systems, wireless relay nodes, wireless backhaul nodes, etc. The base station can be: macro base station, micro base station, pico base station, small cell, relay station, or balloon station, etc. The base station can include one or more co-located or non-co-located Transmission Reception Points (TRPs). The base station can also be a radio controller, centralized unit (CU), and / or distributed unit (DU) in a cloud radio access network (CRAN) scenario. The base station can communicate with the terminal, or it can communicate with the terminal through a relay station. The terminal can communicate with multiple base stations using different technologies. For example, the terminal can communicate with base stations supporting LTE networks, base stations supporting 5G networks, and even establish dual connections with both LTE and 5G base stations. As another example, the network equipment specifically refers to network equipment in a satellite communication system, i.e., a Non-Terrestrial Network (NTN) network device. For instance, NTN network equipment includes any one of the following: NTN base station (gNB), UAV network equipment, high-altitude platform network equipment, aircraft network equipment, and communication balloon network equipment. This application does not limit the specific implementation of the NTN network device; these are merely examples of possible scenarios.
[0083] In the embodiments provided in this application, the terminal can take various forms, such as a mobile phone, tablet computer, computer with wireless transceiver capabilities, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, vehicle-mounted terminal device, wireless terminal in self-driving, wireless terminal in remote medical care, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, wearable terminal device, etc. The terminal may also be referred to as terminal equipment, user equipment (UE), access terminal equipment, vehicle-mounted terminal, industrial control terminal, UE unit, UE station, mobile station, mobile station, remote station, remote terminal equipment, mobile device, UE terminal equipment, terminal equipment, wireless communication equipment, UE agent, or UE device, etc. The terminal can also be a fixed terminal or a mobile terminal.
[0084] It should be noted that the communication system described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0085] To make the technical solution of this application clearer and easier to understand, the encoding method provided in the embodiments of this application will be described below with reference to the accompanying drawings.
[0086] As described in the background section, in uplink transmission, orthogonal convolutional codes (OCC) can be used for encoding in multi-user scenarios. OCC encodes data into orthogonal convolutional codes. Due to its good autocorrelation and cross-correlation properties, it is often used in spread spectrum communication to help distinguish different users and improve the reliability and efficiency of data transmission.
[0087] Below are illustrations of two OCC codes. W2 is an existing OCC code in the protocol for a spreading factor SF of 2, and W4... Walsh It is an existing OCC code in the protocol for a spreading factor SF of 4:
[0088] It can be seen that OCC contains sequences of all 1s during the design process, such as the [1, 1] sequence in W2. 4,Walsh In the [1, 1, 1, 1,] sequence, each symbol needs to be accumulated during demodulation to obtain the spreading gain. Therefore, when the terminal device uses an OCC sequence of all 1s for encoding, all symbols are accumulated in the same phase direction, which amplifies the difference between peaks and troughs, and further amplifies the difference between peaks and average values. This results in the terminal device having a high Cubic Metric (CM) value and a Peak to Average Power Ratio (PAPR), leading to power back-off and a decrease in uplink coverage performance, thus affecting the operating efficiency of the terminal device.
[0089] To avoid terminal devices maintaining an all-1 OCC sequence for encoding, and to prevent power back-off and uplink coverage performance degradation, thus ensuring terminal device efficiency, this application provides an encoding method. Figure 2 shows a flowchart of this method. This method is applied to a communication system, which includes terminal devices and network devices. The following description focuses on the encoding method performed by the terminal devices and network devices, and mainly includes the following steps:
[0090] Step S200: The terminal device receives OCC sequence configuration information sent by the network device based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling.
[0091] Specifically, network devices can send OCC sequence configuration information to terminal devices via RRC signaling and / or DCI signaling. This OCC sequence configuration information is used to configure a first OCC sequence set. The first OCC sequence set also includes an initial OCC sequence index and an OCC sequence length. The initial OCC sequence index indicates the initial OCC sequence used by the terminal device. The first OCC sequence set includes pre-designed OCC sequences and the correspondence between OCC sequences and their OCC sequence indices. The terminal device can determine the corresponding OCC sequence based on the OCC sequence index.
[0092] See Table 1 for a schematic diagram of the correspondence between the OCC sequence and the OCC sequence index provided with a spreading factor SF of 4, where the OCC sequence index of 0 is the initial OCC sequence index.
[0093] Table 1
[0094] It is understandable that after configuring the first OCC sequence set, the terminal device can determine the initial OCC sequence based on the OCC sequence index, and determine the corresponding OCC sequence based on the OCC sequence index.
[0095] It should be noted that, in the embodiments of this application, the network device can indicate the initial OCC index information through the spare bits in the DCI1_0 field or DCI1_1 field of the downlink control information of the Physical Downlink Control Channel (PDCCH); or, for example, through a specific field in the RRC signaling, it can indicate the OCC sequence length and the correspondence between the OCC sequence index and the OCC sequence.
[0096] In practical applications, network devices can add sequence configuration information to the Physical Downlink Shared Channel (PDSCH-Config) section of the 3GPP technical specification TS38.331, for example, by adding the following fields: OCC_Length ENUMERATED{n4}, OCC_Index cycling ENUMERATED{n0, n1, n2, n3}.
[0097] Added after dmrs-FD-OCC-DisabledForRank1-PDSCH-r17.
[0098] Where {n4} indicates the length of the OCC sequence, and {n0, n1, n2, n3} indicates the first OCC sequence set.
[0099] In practical applications, network devices can indicate the initial OCC index in the spare bits of the DCI1_0 field or DCI1_1 field of the downlink control information in the Physical Downlink Control Channel (PDCCH) in the 3GPP technical specification TS38.212.
[0100] It should be noted that the specific content of the sequence configuration information is not limited in the embodiments of this application. Technical personnel can configure the sequence configuration information according to actual business needs.
[0101] Step S201: The terminal device determines the target orthogonal convolutional code OCC sequence index based on the sequence index rotation mechanism, or determines the target OCC sequence index based on the sequence index random generation algorithm.
[0102] Specifically, the terminal device can determine the target OCC sequence index based on a sequence index rotation mechanism or a sequence index random generation algorithm. Thus, in this embodiment, the OCC sequence index is rotated or randomly generated, which makes the OCC sequence determined based on the OCC sequence index change. This avoids the terminal device from maintaining an all-1 OCC sequence for encoding.
[0103] In some possible implementations, the determination of the target OCC sequence index based on the sequence index rotation mechanism in step S201 above specifically includes: determining the rotation period according to the OCC sequence length, wherein the OCC sequence length is equal to the spreading factor SF; determining the target OCC sequence index according to the initial OCC sequence index, the first OCC sequence set and the rotation period, wherein the target OCC sequence is used for time-domain coding of uplink data.
[0104] In this embodiment, the terminal device can determine the rotation period based on the OCC sequence length, where the OCC sequence length is equal to the spreading factor (SF). For example, if the spreading factor SF is 4, then the OCC sequence length is 4, and the rotation period can be determined as 4 Orthogonal Frequency Division Multiplexing (OFDM) symbols, meaning that a sequence index rotation is performed every 4 symbols in the time domain. The OCC sequence determined in this way can be used for time-domain coding of the terminal device's uplink data.
[0105] Figures 3a and 3d illustrate a sequence index rotation cycle diagram based on a sequence index rotation mechanism. This example diagram uses an OCC group consisting of four terminal devices (UE1, UE2, UE3, and UE4) and the correspondence between the OCC sequence and OCC sequence index provided in Table 1 as an example. The spreading factor SF is 4, the OCC sequence length is 4, and the rotation cycle is 4 OFDM symbols. Additionally, this diagram illustrates the time-domain coding of uplink data from the terminal devices. The horizontal axis of this diagram represents time / symbol, and the vertical axis represents frequency / resource element (RE).
[0106] In the first index rotation cycle (corresponding to 4 symbols) provided in Figure 3a, UE1 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0, UE2 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1, UE3 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2, and UE4 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3.
[0107] In the second index rotation cycle (corresponding to 4 symbols) provided in Figure 3b, the OCC index used by each UE is rotated. UE1 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3, UE2 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0, UE3 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1, and UE4 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2.
[0108] In the third index rotation cycle (corresponding to 4 symbols) provided in Figure 3c, the OCC index used by each UE is rotated. UE1 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2, UE2 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3, UE3 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0, and UE4 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1.
[0109] In the fourth index rotation cycle (corresponding to 4 symbols) provided in Figure 3d, the OCC index used by each UE is rotated. UE1 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1, UE2 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2, UE3 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3, and UE4 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0.
[0110] It should be understood that the initial OCC sequence index corresponding to the terminal device can be pre-configured, and different initial OCC sequence indices should be configured for different terminal devices / users within the same OCC group.
[0111] Through four index rotation cycles, the terminal device rotates the corresponding OCC sequence index in each index rotation cycle, so that the OCC sequence used by the terminal device is also rotated in each index rotation cycle. This avoids the terminal device continuing to use the OCC sequence with all 1s corresponding to OCC sequence index 0 for encoding, thereby avoiding the problems of power back-off and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0112] In some possible implementations, the determination of the target OCC sequence index based on the sequence index rotation mechanism in step S201 above specifically includes: at least one time slot, or at least one orthogonal frequency division multiplexing (OFDM) symbol, determining the target OCC sequence index according to the initial OCC sequence index and the first OCC sequence set, wherein the target OCC sequence is used for frequency domain coding of uplink data.
[0113] In this embodiment of the application, for the frequency domain coding of uplink data, the terminal device can rotate the OCC sequence index used by the frequency domain resource element (RE) according to a time slot or an OFDM rotation cycle in the time domain. This ensures that the OCC sequence used by the terminal device changes according to the rotation cycle, avoids the terminal device from maintaining the use of an all-1 OCC sequence for coding, and thus avoids the problems of power back-off and uplink coverage performance degradation, ensuring the working efficiency of the terminal device.
[0114] In 5G NR, with a Cyclic Prefix (CP), a time slot can contain 14 OFDM symbols, while with an Extended Cyclic Prefix (CP), a time slot can contain 12 OFDM symbols.
[0115] Figures 4a and 4d illustrate another index rotation cycle based on a sequence index rotation mechanism. This example uses an OCC group consisting of four terminal devices (UE1, UE2, UE3, and UE4) and the correspondence between the OCC sequence and OCC sequence index provided in Table 1 as an example. The spreading factor SF is 4, the OCC sequence length is 4, and the rotation cycle is one OFDM symbol. Additionally, this diagram uses the frequency domain encoding of uplink data from the terminal devices as an example. The horizontal axis of this diagram represents time / symbol, and the vertical axis represents frequency / resource element (RE).
[0116] In the first index rotation cycle provided in Figure 4a (corresponding to 1 time slot / 12 OFDM symbols), UE1 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0, UE2 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1, UE3 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2, and UE4 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3.
[0117] In the second index rotation cycle provided in Figure 4b (corresponding to 1 time slot / 12 OFDM symbols), the OCC index used by each UE is rotated. UE1 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3, UE2 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0, UE3 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1, and UE4 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2.
[0118] In the third index rotation cycle provided in Figure 4c (corresponding to 1 time slot / 12 OFDM symbols), the OCC index used by each UE is rotated. UE1 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2, UE2 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3, UE3 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0, and UE4 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1.
[0119] In the fourth index rotation cycle provided in Figure 4d (corresponding to 1 time slot / 12 OFDM symbols), the OCC index used by each UE is rotated. UE1 uses the OCC sequence [1, 1, -1, -1] corresponding to OCC index 1, UE2 uses the OCC sequence [1, -1, 1, -1] corresponding to OCC index 2, UE3 uses the OCC sequence [1, -1, -1, 1] corresponding to OCC index 3, and UE4 uses the OCC sequence [1, 1, 1, 1] corresponding to OCC index 0.
[0120] It should be understood that the initial OCC sequence index corresponding to the terminal device can be pre-configured, and different initial OCC sequence indices should be configured for different terminal devices / users within the same OCC group.
[0121] Through four index rotation cycles, the terminal device rotates the corresponding OCC sequence index in each index rotation cycle, so that the OCC sequence used by the terminal device is also rotated in each index rotation cycle. This avoids the terminal device continuing to use the OCC sequence with all 1s corresponding to OCC sequence index 0 for encoding, thereby avoiding the problems of power back-off and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0122] In some possible implementations, the sequence index random generation algorithm used in step S201 above specifically includes: OCC_index = ((index_init + n cs (n, l+l′) mod OCC_length)
[0123] Where OCC_index represents the target OCC sequence index, n represents the slot number of the current radio frame, l represents the index number of the current OFDM symbol, l=0 represents the first OFDM symbol, l′ represents the index number of the first OFDM symbol in the slot, index_init represents the initial OCC sequence index corresponding to the current terminal device, and OCC_length represents the OCC sequence length. c(n) represents the number of OFDM symbols in a time slot, c(n) represents the pseudo-random sequence generation function, and m is a natural number from 0 to 7; the target OCC sequence is used for time-domain coding of uplink data.
[0124] This application provides a sequence index random generation algorithm that can generate random OCC sequence indices, thereby determining the OCC sequence used for time-domain coding. Since the OCC sequence index changes over time, the OCC sequence used by the terminal device also changes continuously. This avoids the terminal device maintaining an all-1 OCC sequence for encoding, thus preventing power back-off and uplink coverage performance degradation, and ensuring the terminal device's operating efficiency.
[0125] OCC_index is calculated once per iteration, and the l of the current iteration step is equal to the l of the previous iteration step plus OCC_length.
[0126] The pseudo-random sequence generation function c(n) can be the pseudo-random sequence generation function provided in the 3GPP technical specification TS38.211 protocol.
[0127] in, This indicates the number of OFDM symbols in a time slot. A time slot can typically contain 14 OFDM symbols.
[0128] It should be understood that the initial OCC sequence index corresponding to the terminal device can be pre-configured, and different initial OCC sequence indices should be configured between different terminal devices / users within the same cell.
[0129] In some possible implementations, the sequence index random generation algorithm used in step S201 above specifically includes: OCC_index = ((index_init + n cs (n PRB ,l+l′))mod OCC_length)
[0130] Where OCC_index represents the index of the target OCC sequence, n PRB This represents the index number of the current Physical Resource Block (PRB), l represents the index number of the subcarrier in which the current Resource Element (RE) resides, l = 0 indicates the first subcarrier, l′ represents the index number of the subcarrier of the first Resource Element (RE) in the PRB, index_init represents the initial OCC sequence index corresponding to the current terminal device, and OCC_length represents the length of the OCC sequence. c(n) represents the number of resource elements (REs) within a physical resource block (PRB), c(n) is the pseudo-random sequence generation function, and m is a natural number from 0 to 7; the target OCC sequence is used for frequency domain coding of uplink data.
[0131] This application provides a sequence index random generation algorithm that can generate random OCC sequence indices, thereby determining the OCC sequence used for frequency domain coding. Since the OCC sequence index changes with frequency domain resources, the OCC sequence used by the terminal device also changes continuously. This avoids the terminal device maintaining an all-1 OCC sequence for coding, thus preventing power back-off and uplink coverage performance degradation, and ensuring the terminal device's operating efficiency.
[0132] Wherein, the index number n of the current physical resource block (PRB) PRB The maximum value is 273.
[0133] OCC_index is calculated once per iteration, and the l of the current iteration step is equal to the l of the previous iteration step plus OCC_length.
[0134] The pseudo-random sequence generation function c(n) can be the pseudo-random sequence generation function provided in the 3GPP technical specification TS38.211 protocol.
[0135] in, This indicates the number of resource elements (REs) within a Physical Resource Block (PRB). The number of resource elements (REs) within a Physical Resource Block (PRB) has been selected as 12.
[0136] It should be understood that the initial OCC sequence index corresponding to the terminal device can be pre-configured, and different initial OCC sequence indices should be configured between different terminal devices / users within the same cell.
[0137] Step S202: The terminal device determines the target OCC sequence corresponding to the target OCC sequence index from the first OCC sequence set.
[0138] It is understandable that the target OCC sequence index determined by the terminal device using a sequence index rotation mechanism or a sequence index random generation algorithm is rotated or randomized. Correspondingly, the target OCC sequence determined based on the target OCC sequence index is also rotated or randomized. That is, the OCC sequence used by the terminal device for encoding uplink data is rotated or randomized. This avoids the terminal device maintaining the use of an all-1 OCC sequence for encoding uplink data, thereby avoiding the problems of power back-up and degradation of uplink coverage performance, and ensuring the working efficiency of the terminal device.
[0139] In some possible implementations, the encoding method provided in this application embodiment further includes: determining a target OCC sequence from a second OCC sequence set; wherein the second OCC sequence set includes OCC sequences that are not all 1s.
[0140] In this embodiment of the application, the terminal device can also determine the target OCC sequence through a second OCC sequence set. The OCC sequences included in the second OCC sequence set do not include OCC sequences that are all 1s. This can avoid the terminal device selecting and using OCC sequences that are all 1s for encoding, thereby avoiding the problems of power back-off and uplink coverage performance degradation, and ensuring the working efficiency of the terminal device.
[0141] It should be noted that the second OCC sequence set can also be configured by the network device through sequence configuration information sent by the Radio Resource Control (RRC) information and / or Downlink Control Information (DCI) signaling. The specific configuration method is the same as that of the first OCC sequence set, and will not be repeated here.
[0142] Additionally, the second set of OCC sequences does not include OCC sequences consisting entirely of 1s. In this case, the spreading factor SF should be at least 4 or greater than 4 to avoid situations where the spreading factor SF is equal to 2 and all OCC sequences consisting entirely of 1s are disabled, which would cause the encoding to be unable to distinguish between different users and result in unavailability.
[0143] Referring to Figure 5, a schematic diagram of a communication device is shown. This communication device is specifically a terminal device, including: an index determination module 501 and a sequence determination module 502; wherein,
[0144] The index determination module is used to determine the target OCC sequence index based on the orthogonal convolutional code OCC sequence index rotation mechanism, or to determine the target OCC sequence index based on the sequence index random generation algorithm;
[0145] A sequence determination module is used to determine a target OCC sequence corresponding to the target OCC sequence index from a first OCC sequence set; wherein the target OCC sequence is used for encoding uplink data, and the first OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences.
[0146] In some possible implementations, the index determination module is specifically used to: determine the rotation period based on the OCC sequence length, wherein the OCC sequence length is equal to the spreading factor SF; and determine the target orthogonal convolutional code OCC sequence index based on the initial OCC sequence index, the first OCC sequence set, and the rotation period, wherein the target OCC sequence is used for time-domain coding of uplink data.
[0147] In some possible implementations, the index determination module is specifically used to: determine the target OCC sequence index based on the initial OCC sequence index and the first OCC sequence set at least one time slot or at least one orthogonal frequency division multiplexing (OFDM) symbol, wherein the target OCC sequence is used for frequency domain coding of uplink data.
[0148] In some possible implementations, the terminal device further includes a configuration receiving module for receiving OCC sequence configuration information sent by the network device based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling; wherein the OCC sequence configuration information is used to configure the first OCC sequence set, and the first OCC sequence set further includes an initial OCC sequence index and the OCC sequence length.
[0149] In some possible implementations, the sequence determination module is further configured to determine the target OCC sequence from a second OCC sequence set; wherein the second OCC sequence set includes OCC sequences that are not all 1s.
[0150] It should be noted that the steps and related technical features executed by each module in the terminal device provided in this application correspond to the encoding method applied to the terminal device provided in the foregoing embodiments of the application. The description of the device part can be found in the embodiments of the foregoing method part, and will not be repeated here.
[0151] Referring to Figure 6, a schematic diagram of a communication device is shown. This communication device is specifically a network device, including: a configuration information sending module 601; wherein,
[0152] A configuration information sending module is used to send orthogonal convolutional code (OCC) sequence configuration information. The OCC sequence configuration information is used by the terminal device to configure a first OCC sequence set. This first OCC sequence set is used by the terminal device to determine a target OCC sequence based on a target OCC sequence index. The target OCC sequence index is determined by the terminal device based on an orthogonal convolutional code OCC sequence index rotation mechanism or a sequence index random generation algorithm. The target OCC sequence is used for encoding uplink data. The OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences. In some possible implementations…
[0153] In some possible implementations, the configuration information sending module is specifically used to send the OCC sequence configuration information based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling.
[0154] In some possible implementations, the OCC sequence configuration information is further used by the terminal device to configure a second OCC sequence set, which is used by the terminal device to determine the target OCC sequence. The second OCC sequence set includes OCC sequences that are not all 1s.
[0155] It should be noted that the steps and related technical features executed by each module in the network device provided in this application correspond to the coding method applied to the network device provided in the foregoing embodiments of the application. The description of the device part can be found in the embodiments of the foregoing method part, and will not be repeated here.
[0156] Figure 7 is a schematic diagram of a communication device provided in an embodiment of this application. This communication device can be a terminal device, including but not limited to mobile phones, smart wearable devices (such as smartwatches), and other electronic devices. Taking a mobile phone as an example, the communication device may include a processor 1010, an external memory interface 1020, an internal memory 1021, a display screen 1030, a camera 1040, antenna 1, antenna 2, a mobile communication module 1050, and a wireless communication module 1060, etc.
[0157] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the communication device. In other embodiments, the communication device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0158] The processor 1010 may include one or more processing units, such as an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). These different processing units may be independent devices or integrated into one or more processors.
[0159] It is understood that the interface connection relationships between the modules illustrated in this embodiment are merely illustrative and do not constitute a structural limitation on the communication device. In other embodiments of this application, the communication device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0160] The external storage interface 1020 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the communication device. The external storage card communicates with the processor 1010 through the external storage interface 1020 to perform data storage functions. For example, music, video, and other files can be saved on the external storage card.
[0161] Internal memory 1021 can be used to store executable program code, including instructions. Processor 1010 executes various functional applications and data processing of the communication device by running the instructions stored in internal memory 1021. Internal memory 1021 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of the communication device (such as audio data, phonebook, etc.). Furthermore, internal memory 1021 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 1010 executes various functional applications and data processing of the communication device by running instructions stored in internal memory 1021 and / or instructions stored in memory located within the processor.
[0162] The wireless communication function of the communication device can be implemented through antenna 1, antenna 2, mobile communication module 1050, wireless communication module 1060, modem processor, and baseband processor.
[0163] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the communication device can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0164] The mobile communication module 1050 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G in communication devices. The mobile communication module 1050 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 1050 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 1050 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 1050 may be housed in the processor 1010. In some embodiments, at least some functional modules of the mobile communication module 1050 and at least some modules of the processor 1010 may be housed in the same device.
[0165] In some embodiments of this application, the communication device initiates or receives call requests through the mobile communication module 1050 and the antenna 1.
[0166] Furthermore, an operating system runs on the aforementioned components. Examples include iOS, Android, and Windows operating systems. Applications can be installed and run on this operating system. Those skilled in the art will understand that, for the sake of convenience and brevity, explanations and beneficial effects of the relevant content in any of the communication devices provided above can be found in the corresponding method embodiments provided above, and will not be repeated here.
[0167] Referring to Figure 8, this application also provides a schematic diagram of a computer program product. In some embodiments, the method disclosed in Figure 2 above can be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or articles of art.
[0168] Figure 8 schematically illustrates a conceptual partial view of an example computer program product arranged according to at least some of the embodiments shown herein, the example computer program product including a computer program for executing computer processes on a computing device.
[0169] In one embodiment, computer program product 1100 is provided using signal bearer medium 1101. Signal bearer medium 1101 may include one or more program instructions 1102 that, when executed by one or more processors, can provide the functions or portions thereof described above with reference to FIG. 2. Therefore, for example, referring to the embodiment shown in FIG. 2, one or more features of step 201 may be performed by one or more instructions associated with signal bearer medium 1101. Furthermore, example instructions are also described for the program instructions 1102 in FIG. 8.
[0170] In some examples, the signal carrying medium 1101 may include a computer-readable medium 1103, such as, but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital magnetic tape, a memory, ROM, or RAM, etc.
[0171] In some embodiments, the signal-bearing medium 1101 may comprise a computer-recordable medium 1104, such as, but not limited to, a memory, a read / write (R / W) CD, a R / W DVD, etc. In some embodiments, the signal-bearing medium 1101 may comprise a communication medium 1105, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.). Therefore, for example, the signal-bearing medium 1101 may be transmitted by a wireless communication medium 1105 (e.g., a wireless communication medium conforming to the IEEE 802.15 standard or other transmission protocols).
[0172] One or more program instructions 1102 may be, for example, computer-executable instructions or logical implementation instructions. In some examples, the computing device may be configured to provide various operations, functions, or actions in response to one or more program instructions 1102 conveyed to the computing device via a computer-readable medium 1103, a computer-recordable medium 1104, and / or a communication medium 1105.
[0173] It should be understood that the arrangements described herein are for illustrative purposes only. Therefore, those skilled in the art will understand that other arrangements and other elements (e.g., machines, interfaces, functions, sequences, and functional groups, etc.) can be used instead, and some elements may be omitted depending on the desired outcome. Furthermore, many of the described elements are functional entities that can be implemented as discrete or distributed components, or in any suitable combination and location with other components.
[0174] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0175] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between devices or modules, and may be electrical, mechanical, or other forms.
[0176] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0177] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0178] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the essential contribution of the technical solution of this application, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the processes of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.
[0179] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. An encoding method characterized by, The method includes: The target orthogonal convolutional code OCC sequence index is determined based on a sequence index rotation mechanism, or the target OCC sequence index is determined based on a sequence index random generation algorithm. A target OCC sequence corresponding to the target OCC sequence index is determined from the first OCC sequence set; wherein the target OCC sequence is used for encoding uplink data, and the first OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences.
2. The method according to claim 1, characterized in that, The determination of the target OCC sequence index based on the sequence index rotation mechanism includes: The rotation period is determined based on the length of the OCC sequence, wherein the length of the OCC sequence is equal to the spreading factor SF; The target orthogonal convolutional code OCC sequence index is determined based on the initial OCC sequence index, the first OCC sequence set, and the rotation period. The target OCC sequence is used for temporal coding of uplink data.
3. The method of claim 1, wherein, The determination of the target orthogonal convolutional code OCC sequence index based on the sequence index rotation mechanism includes: The target OCC sequence index is determined based on the initial OCC sequence index and the first OCC sequence set, with an interval of at least one time slot or at least one orthogonal frequency division multiplexing (OFDM) symbol. The target OCC sequence is used for frequency domain coding of uplink data.
4. The method of claim 1, wherein, The sequence index random generation algorithm determines the target OCC sequence index OCC_index based on the following formula: OCC_index=((index_init+n cs (n,l+l′))mod OCC_length) Where n represents the slot number of the current radio frame, l represents the index number of the current OFDM symbol, l = 0 indicates the first OFDM symbol, l′ represents the index number of the first OFDM symbol in the slot, index_init represents the initial OCC sequence index corresponding to the current terminal device, and OCC_length represents the OCC sequence length. c(n) represents the number of OFDM symbols in a time slot, c(n) represents the pseudo-random sequence generation function, and m is a natural number from 0 to 7; The target OCC sequence is used for time-domain encoding of uplink data.
5. The method of claim 1, wherein, The sequence index random generation algorithm determines the target OCC sequence index OCC_index based on the following formula: OCC_index=((index_init+n cs (n PRB ,l+l′))mod OCC_length) Where, n PRB This represents the index number of the current Physical Resource Block (PRB), l represents the index number of the subcarrier in which the current Resource Element (RE) resides, l = 0 indicates the first subcarrier, l′ represents the index number of the subcarrier of the first Resource Element (RE) in the PRB, index_init represents the initial OCC sequence index corresponding to the current terminal device, and OCC_length represents the length of the OCC sequence. c(n) represents the number of resource elements RE within a physical resource block (PRB), where c(n) is the pseudo-random sequence generation function and m is a natural number from 0 to 7. The target OCC sequence is used for frequency domain coding of uplink data.
6. The method according to any one of claims 2-5, characterized in that, The method further includes: The network device receives OCC sequence configuration information based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling; wherein the OCC sequence configuration information is used to configure the first OCC sequence set, and the first OCC sequence set further includes an initial OCC sequence index and the OCC sequence length.
7. The method according to claim 1, characterized in that, The method includes: The target OCC sequence is determined from the second OCC sequence set; wherein the second OCC sequence set includes OCC sequences that are not all 1s.
8. An encoding method, characterized in that, The method includes: Sending Orthogonal Convolutional Code (OCC) Sequence Configuration Information; wherein, the OCC sequence configuration information is used by the terminal device to configure a first OCC sequence set, the first OCC sequence set is used by the terminal device to determine a target OCC sequence based on a target OCC sequence index, the target OCC sequence index is determined by the terminal device based on a sequence index rotation mechanism or a sequence index random generation algorithm, the target OCC sequence is used for encoding uplink data, and the OCC sequence set includes the correspondence between OCC sequence indexes and OCC sequences.
9. The method according to claim 8, characterized in that, The configuration information for sending the orthogonal convolutional code (OCC) sequence includes: The OCC sequence configuration information is transmitted based on Radio Resource Control (RRC) signaling and / or Downlink Control Information (DCI) signaling.
10. The method according to claim 8, characterized in that, The OCC sequence configuration information is also used by the terminal device to configure a second OCC sequence set. The second OCC sequence set is used by the terminal device to determine the target OCC sequence. The second OCC sequence set includes OCC sequences that are not all 1s.
11. A communication device, characterized in that, The communication device is specifically a terminal device, which includes: The index determination module is used to determine the target OCC sequence index based on the orthogonal convolutional code OCC sequence index rotation mechanism, or to determine the target OCC sequence index based on the sequence index random generation algorithm; A sequence determination module is used to determine a target OCC sequence corresponding to the target OCC sequence index from a first OCC sequence set; wherein the target OCC sequence is used for encoding uplink data, and the first OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences.
12. A communication device, characterized in that, The communication device is specifically a network device, and the communication device includes: A configuration information sending module is used to send orthogonal convolutional code (OCC) sequence configuration information; wherein, the OCC sequence configuration information is used by the terminal device to configure a first OCC sequence set, the first OCC sequence set is used by the terminal device to determine a target OCC sequence based on a target OCC sequence index, the target OCC sequence index is determined by the terminal device based on an orthogonal convolutional code OCC sequence index rotation mechanism or a sequence index random generation algorithm, the target OCC sequence is used for encoding uplink data, and the OCC sequence set includes the correspondence between OCC sequence indices and OCC sequences.
13. A communications device, characterized by The communication device includes: Memory is used to store computer programs or computer instructions; A processor for executing a computer program or computer instructions stored in the memory, causing the communication device to perform the method as claimed in any one of claims 1-7 or 8-10.
14. The communication device according to claim 13, characterized in that, The communication device is a chip or chip system.
15. A computer storage medium for storing a computer program, which, when executed, performs the method of any one of claims 1-7 or 8-10.
16. A computer program product comprising instructions that, when run on a computer, cause the computer to perform the method as described in any one of claims 1-7 or 8-10.