Computer implemented method of generating a pseudo random sequence (PRS)
By partitioning and parallel processing PRS generation operations, the method addresses the inefficiencies of existing PRS generation methods, enhancing latency and memory efficiency in 5G mobile networks.
Patent Information
- Application Number
- PCT/CN2024/077865
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-08
- Filing Date
- 2024-02-21
- Publication Date
- 2025-08-14
AI Technical Summary
The computationally intensive and slow step-by-step process of generating pseudo random sequences (PRSs) in 5G communications networks, particularly in mobile environments, and the memory requirements for storing pre-computed PRSs, are inefficient for real-time processing.
Sub-divide PRS generation operations into partitions, determine PRS generation register values based on initial and pre-computed advancement values, and generate PRSs in parallel across multiple processes, using pre-computed register advancement values stored in a lookup table.
Improves processing latency and reduces memory usage, optimizing PRS generation for real-time environments by leveraging parallel processing and efficient resource utilization.
Smart Images

Figure CN2024077865_14082025_PF_FP_ABST
Abstract
Description
Computer Implemented Method of Generating a Pseudo Random Sequence (PRS)Field of the Invention.
[0001] The invention relates to a computer implemented method of generating a pseudo random sequence (PRS) . The invention relates particularly, but not exclusively, to a method of generating a PRS in a communications network such as, but not limited to, a fifth generation (5G) New Radio (NR) communications network.Background of the Invention.
[0002] In a 5G communications network, pseudo random sequences (PRSs) are typically generated within the base station (also known as the gNodeB or gNB) . The PRSs are used for various purposes, including synchronization, channel estimation, data scrambling, and spreading of user data. The gNodeB generates PRSs using mathematical algorithms, typically based on Linear Feedback Shift Registers (LFSRs) or other similar techniques. These algorithms are designed to produce sequences that exhibit pseudo random properties, meaning they appear random but are actually deterministic and can be reproduced.
[0003] Once generated, the PRSs are used in different parts of the 5G communications network. For example, in the initial synchronization phase, the gNodeB transmits known sequences called primary synchronization signals (PSS) and secondary synchronization signals (SSS) that help the user equipment (UE) synchronize with the communications network. These synchronization signals are based on specific PRSs. Furthermore, PRSs are used in the physical layer for spreading, scrambling, and interference mitigation. Spreading codes are applied to the user data to increase the bandwidth and provide multiple access in the uplink and downlink. Scrambling codes are used to differentiate between different users in the system and to minimize or mitigate interference. Overall, PRSs play an important role in various aspects of a 5G communications network.
[0004] One issue which arises in the generation of PRSs is that a typical step-by-step process for generating PRSs is computationally intensive and often too slow for real-time processing environments such as, for example, mobile communications networks. In a case where PRS generation uses look-up-tables (LUTs) with pre-computed PRSs, this requires considerable memory resources for storing long PRSs for different applications having different application specific initial PRS values.
[0005] What is desired is a method to optimize or at least improve PRS generation, especially for real-time environments as found in mobile communications networks.
[0006] Objects of the Invention.
[0007] An object of the invention is to mitigate or obviate to some degree one or more problems associated with known methods of generating PRSs, especially for generating PRSs in a communications network.
[0008] The above object is met by the combination of features of the main claims; the sub-claims disclose further advantageous embodiments of the invention.
[0009] Another object of the invention is to provide a novel computing device configured with an improved method for generating PRSs.
[0010] Another object of the invention is to provide a novel communications network device for a mobile communications network with an improved method for generating PRSs.
[0011] One skilled in the art will derive from the following description other objects of the invention. Therefore, the foregoing statements of object are not exhaustive and serve merely to illustrate some of the many objects of the present invention.Summary of the Invention.
[0012] In a first main aspect, the invention provides a computer implemented method of generating a PRS. The method comprises sub-dividing PRS generation operations into a plurality of PRS partitions. For each PRS partition, determining a PRS generation register value based on an initial PRS value and a pre-computed PRS generation register advancement value. Also, for each partition, using the determined PRS generation register value to generate a PRS of an arbitrary or a predetermined length. Then, transmitting said generated PRS to a computing module, device, or system to perform a data processing function. The data processing function may comprise a specific application. This may include, prior to transmitting said generated PRS to the computing module, device, or system, splitting a PRS generated for a PRS partition and / or concatenating two or more PRSs generated for two or more PRS partitions to form the generated (final) PRS to be transmitted to the computing module, device or system.
[0013] In a second main aspect, the invention provides a computing module, device, or system comprising: a memory storing machine-readable instructions; and a processor for executing the machine-readable instructions such that, when the processor executes the machine-readable instructions, it configures the computing module, device, or system to implement the method of the first aspect of the invention.
[0014] Preferably, the computing module, device, or system comprises a communication network device.
[0015] Preferably, the communications network device comprises a gNodeB.
[0016] In a third main aspect, the invention provides a non-transitory computer readable medium comprising machine-readable instructions which, when executed by a processor of a computing module, device, or system, causes the computing module, device, or system to implement the method of the first aspect of the invention.
[0017] The summary of the invention does not necessarily disclose all the features essential for defining the invention; the invention may reside in a sub-combination of the disclosed features.
[0018] The forgoing has outlined fairly broadly the features of the present invention in order that the detailed description of the invention which follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It will be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the invention.Brief Description of the Drawings.
[0019] The foregoing and further features of the present invention will be apparent from the following description of preferred embodiments which are provided by way of example only in connection with the accompanying figures, of which:
[0020] Fig. 1 is a schematic diagram illustrating a method of scrambling data in a mobile communications network to differentiate between different UEs;
[0021] Fig. 2 is a schematic diagram illustrating a method of mitigating interference between transmissions from gNodeBs to a UE in a mobile communications network;
[0022] Fig. 3 illustrates a known method of scrambling data in a mobile communications network;
[0023] Fig. 4 illustrates a known method of data protection and interference mitigation in a mobile communications network;
[0024] Fig. 5 illustrates PRS generation using bitwise operations for an M sequence PRS;
[0025] Fig. 6 is a flow diagram of a known step-by-step method of generating PRSs in a mobile communications network;
[0026] Fig. 7 is a block schematic diagram of an improved communication network device or network node in accordance with the invention;
[0027] Fig. 8 is a schematic diagram of logic modules for implementing a flexible PRS generation method in accordance with the invention;
[0028] Fig. 9 illustrates a LUT comprising PRS generation advancement values in accordance with the invention; and
[0029] Fig. 10 is a flow diagram of a progressive PRS generation register value calculation method in accordance with the invention.Description of Preferred Embodiments.
[0030] The following description is of preferred embodiments by way of example only and without limitation to the combination of features necessary for carrying the invention into effect.
[0031] Reference in this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments, but not other embodiments.
[0032] It should be understood that the elements shown in the drawings may be implemented in various forms of hardware, software or combinations thereof. These elements may be implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, memory and input / output interfaces.
[0033] The present description illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope.
[0034] Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
[0035] Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of systems and devices embodying the principles of the invention.
[0036] The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor ( "DSP" ) hardware, read-only memory ( "ROM" ) for storing software, random access memory ( "RAM" ) , and non-volatile storage.
[0037] In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
[0038] In computer architecture, a PRS generation register value refers to the current state or content of the register used to generate a PRS. A PRS is a deterministic sequence of numbers that appears to be random. It is generated using an algorithmic process that starts with an initial value (seed) and applies a series of mathematical operations to produce subsequent values. The PRS generation register value represents the current state of the algorithm and is used as the starting point for generating the next pseudo random number in the sequence. Each time a new number is generated, the PRS generation register value is updated. The specific details of the PRS generation register value, including its size, format, and update mechanism, depend on the particular algorithm or generator being used. Different algorithms, such as LFSRs or cryptographic algorithms like the Advanced Encryption Standard (AES) , may have different register structures and update rules for generating PRSs. The PRS generation register value alone does not define the complete PRS. The seed value and the algorithm used are important components in determining the entire sequence.
[0039] As indicated above, not all PRSs are generated using LFSRs. LFSRs are a specific type of shift register that can be used to generate PRSs. LFSRs are commonly used in applications where a simple, efficient, and deterministic pseudo random number generator is required. They are often used in hardware implementations due to their simplicity and low resource requirements. LFSRs are based on a shift register and a feedback function that determines the next bit in the sequence based on the current state of the register. The output sequence appears random but is actually deterministic and repeats after a certain number of iterations, known as the period. However, there are other algorithms and methods used for generating PRSs, such as, for example, linear congruential generators (LCGs) , cryptographic algorithms like AES, and Mersenne Twister. These algorithms are designed to have good statistical properties and longer periods than LFSRs, making them suitable for a wide range of applications, including simulations, cryptography, and statistical analysis.
[0040] It will be understood that the present invention as hereinafter described can be applied to the generation of PRSs using different algorithms, different update rules, and / or different register structures.
[0041] Referring to the drawings, Fig. 1 illustrates a method of scrambling data in a mobile communications network to differentiate between different UEs. Only the UE with the correct PRS will be able to descramble the scrambled data.
[0042] Fig. 2 illustrates a method of mitigating interference between transmissions received at a UE from different gNodeBs. The UE mitigates interference by using the correct PRS for an intended transmission thereby mitigating any interference from an unintended transmission.
[0043] In Fig. 3, scrambling of data at, for example, a gNodeB, is achieved by bitwise XOR of the PRS with data whilst descrambling of data at, for example, a UE, is achieved by bitwise XOR of the scrambled data with the PRS.
[0044] The 5G communications network supports high data rates and the computational load for generating PRSs scales with the amount of data. Data scrambling / descrambling is computationally intensive. It would be beneficial to execute scrambling / descrambling of data by means of parallel processing. It would also therefore be beneficial to implement generation of PRSs by means of parallel processing.
[0045] In Fig. 4, reference symbols are obtained by modulating PRS partitions, but it is computationally inefficient to generate PRS bits that are unused.
[0046] Fig. 5 illustrates PRS generation using bitwise operations for an M sequence PRS and Fig. 6 provides a flow diagram of a known step-by-step method of generating PRSs in a mobile communications network.
[0047] In a 5G communications network, the M sequence PRS is generated using the Galois LFSR method. The M sequence PRS is used, for example, for scrambling and spreading signals in the uplink and downlink transmissions. The polynomial used for generating the M sequence is typically a primitive polynomial over a Galois field. The M sequence has a balanced number of 1s and 0s. M sequences of length 31 are commonly used in 5G for synchronization and channel estimation purposes. These sequences have good autocorrelation and cross-correlation properties, which make them suitable for synchronization and channel estimation in the presence of multipath fading.
[0048] The specific steps involved in generating a 5G M series PRS normally comprise:
[0049] Initialization:
[0050] - setting the initial state of the LFSR. The initial state is typically a non-zero value; and
[0051] - determining the feedback taps of the LFSR. These taps are specific bits in the LFSR sequence that are used to generate the next bit.
[0052] Bit Generation:
[0053] - generate each bit of the PRS sequence using the LFSR. The LFSR operates by shifting the current state and calculating the next bit based on the feedback taps;
[0054] - the feedback taps are used to determine the XOR combination of specific bits in the current state. The result of the XOR operation becomes the next bit in the PRS sequence; and
[0055] - Repeat this process for the desired length of the PRS sequence.
[0056] Truncation:
[0057] - the generated PRS sequence might be longer than the desired length. In this case, truncate the sequence to the desired length.
[0058] Mapping:
[0059] - map the generated PRS sequence onto the available resources based on the specific 5G configuration; and
[0060] - the mapping process determines how the PRS sequence is distributed across different symbols, subcarriers, and resource blocks in the frequency and time domains.
[0061] Transmission:
[0062] - the PRS sequence is then transmitted over the air interface; and
[0063] - the receiving end, such as a UE, can use the known PRS sequence to perform tasks like synchronization, channel estimation, and signal demodulation.
[0064] The exact details of the LFSR initialization and feedback taps are specified in the 5G standard, defined by the 3rd Generation Partnership Project (3GPP) . The specific parameters used for generating the M series PRS may vary depending on the 5G release and the configuration of the system. The latest release is 3GPP TS 38.211 V18.1.0 (2023-12) entitled “3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR;Physical channels and modulation (Release 18) ” .
[0065] The generic PRSs are defined by a length-31 Gold sequence. The output sequence c (n) of length MPN, where n = 0, 1, …. MPN-1, is defined by:
[0066] c (n) = (x1 (n + Nc) + x2 (n + Nc) ) mod2;
[0067] a first long-term sequence: x1 (n + 31) = (x1 (n + 3) + x1 (n) ) mod2; and
[0068] a second long-term sequence: x2 (n + 31) = (x2 (n + 3) + x2 (n + 2) + x2 (n + 1) + x2 (n) ) mod2;
[0069] where NC=1600;
[0070] the first long-term m-sequence x1 (n) is initialized with x1 (0) =1, x1 (n) = 0) , n = 1, 2, ……, 30; and the second long-term m-sequence x2 (n) is initialized with where the value of cinit depends on the application of the sequence.
[0071] For example, for scrambling of data in the physical downlink data channel (PDSCH) , the initialization value of the second long-term m-sequence, x2 (n) , is cinit=nRNTI·215+q·214+nID. For the physical uplink control channel (PUCCH) reference symbols, the initialization value of the second long-term m-sequence, x2 (n) , is where NID is the physical cell number. For data scrambling in the physical downlink control channel (PDCCH) , the initialization value of the second long-term m-sequence, x2 (n) , is
[0072] It will be recognized that the equations given above for the 5G communications network differs little from the corresponding equations for a Long-Term Evolution (LTE) communications network. Consequently, it will be understood that the method of the present invention as hereinafter described with respect to its implementation in a 5G communications network can be also implemented in an LTE communications network.
[0073] The step-by-step PRS generation process as described above is too computationally intensive and slow for real-time processing. Furthermore, exhaustive LUT-based PRS generation with pre-computed PRSs requires too much memory for storage, i.e., requiring storage of long PRSs with different PRSs for different, application-specific initial values cinit, etc.
[0074] As will now be described, the present invention, in one embodiment, provides a partition method and parallel processing architecture for flexible PRS generation in a 5G mobile communications network or system to, among other things, enhance processing latency and memory usage. PRS generation in 5G mobile communications networks is computationally intensive and needs to support various application-specific initial values and lengths. As 5G needs to support high data rate and low latency communications, it is beneficial to optimize or at least improve processing latency of every function to fulfill total transmitter / receiver processing time limits. Furthermore, it is beneficial to optimize or at least improve memory usage of every function to reduce hardware cost and power consumption. This can be achieved in part by sub-dividing computationally intensive tasks and executing them in parallel. The novel PRS generation implementation of the invention can use low-level programming language (e.g., assembly language) , application specific integrated circuits (ASICs) and field programmable gate arrays (FPGAs) , etc.
[0075] Fig. 7 shows an exemplary embodiment of an improved communications network device 100 in accordance with concepts of the present invention. In the illustrated embodiment, the communications network device 100 may comprise a communication equipment such as a gNodeB (denoted by the dashed line box in Fig. 7) communicatively connected to a UE 103 operating in a 5G NR communications system environment 115, although the improved communications network device 100 of the invention is not limited to operating in a NR 5G communications system but could comprise a radio equipment device for a 4G cellular network or any suitable cellular network. In another embodiment, the communications network device 100 may comprise a network node communicatively connected to the gNodeB (BS) 100.
[0076] The communications network device 100 may comprise a plurality of functional blocks for performing various functions thereof. For example, the communications network device 100 includes receiver module 110 providing received signal processing and configured to provide received signals and / or information extracted therefrom to functional block module (s) 120 such as may comprise various data sink, control element (s) , user interface (s) , etc. Although receiver module 110 is described as providing received signal processing, it will be appreciated that this functional block may be implemented as a transceiver providing both transmitted and received signal processing. Irrespective of the particular configuration of receiver 110, embodiments include signal detection module 130 disposed in association with the receiver module 110 for facilitating accurate processing and / or decoding of received information and channel signals in accordance with the invention. Information and channel signals may be transmitted / received via an antenna module 105.
[0077] Although the signal detection module 130 is shown as being deployed as part of the receiver module 110 (e.g., comprising a portion of the radio equipment module control and logic circuits) , there is no limitation to such a deployment configuration according to the concepts of the invention. For example, the signal detection module 130 may be deployed as a functional block of communications network device 100 that is distinct from, but connected to, receiver module 110. The signal detection module 130 may, for example, be implemented using logic circuits and / or executable code / machine readable instructions stored in a memory 140 of the radio equipment device 100 for execution by a processor 150 to thereby perform functions as described herein. For example, the executable code / machine readable instructions may be stored in one or more memories 140 (e.g., random access memory (RAM) , read only memory (ROM) , flash memory, magnetic memory, optical memory or the like) suitable for storing one or more instruction sets (e.g., application software, firmware, operating system, applets, and / or the like) , data (e.g., configuration parameters, operating parameters and / or thresholds, collected data, processed data, and / or the like) , etc. The one or more memories 140 may comprise processor-readable memories for use with respect to one or more processors 150 operable to execute code segments of signal detection module 130 and / or utilize data provided thereby to perform functions of the signal detection module 130 as described herein. Additionally, or alternatively, the signal detection module 130 may comprise one or more special purpose processors, e.g., ASIC, FPGA, graphics processing unit (GPU) , and / or the like configured to perform functions of the signal detection module 130 as described herein.
[0078] In one embodiment of the invention, the signal detection module 130 of the communications network device 100 performs the improved method of PRS generation.
[0079] Whilst the communications network device 100 of Fig. 7 is described with respect to a gNodeB 100, it could comprise any node in a mobile wireless communications system configured to implement the improved method of the invention.
[0080] The communications network device 100 is configured to generate a PRS by sub-dividing the PRS generation operations into a plurality of PRS partitions. Then, for each PRS partition, determining a PRS generation register value based on an initial PRS value and a pre-computed PRS generation register advancement value. This is followed by, for each partition, using the determined PRS generation register value to generate a PRS of an arbitrary or a predetermined length. The generated PRS is then transmitted to another communications network device such as the UE 103 to implement a specific application.
[0081] Sub-dividing PRS generation operations into partitions and running them sequentially or simultaneously across multiple parallel processes can be beneficial in terms of performance and resource utilization.
[0082] Partitioning can be achieved by dividing the desired PRS sequence length into smaller partitions. The size of each partition depends on factors such as system requirements, available computational resources, and the desired parallelization level. For example, to generate a PRS of an arbitrary or defined length, it can be divided into P partitions of length Mp. To run the PRS generation in parallel across multiple processes, each partition is then assigned to a separate process. Each process will generate its assigned partition independently. Then, configure each PRS generator instance in the processes to generate its assigned partition. This involves setting up the shift register size, register advancement values (tap positions) , and initial state for each partition. For sequential processing, each partition is processed one after the other. This involves, generating the first partition, and once completed, moving on to the next one until all partitions are generated. Once all the partitions are generated, they may be combined to form the complete PRS by concatenating the partitions in the correct order to obtain the final PRS. Additionally or alternatively, a PRS generated for a partition may be further partitioned to provide a final PRS. In some embodiments, one or more of the processed partitions are further partitioned and then two or more of the further partitions are concatenated to provide the final PRS.
[0083] To determine the PRS generation register value for each partition, it is necessary to consider the initial value and register advancement values. To determine a register value for each PRS partition, initialize the register by starting with an initial register value for each partition. The initial value may be any binary sequence of the same length as the partition size. This value determines the starting state of the shift register. Then, apply the register advancement value from an LUT of pre-computed register advancement values to generate the subsequent register values. For a K-bit register and a specific step to advance, each bit has a corresponding K-bit advancement value in the LUT. When advancing, the register values are calculated by XORing the K-bit register advancement values. Whether the register advancement value is applied for XOR depends on the corresponding bit of the current register. This procedure is repeated and the register values iteratively updated.
[0084] The final register value obtained after iterating through the partition size is the PRS generation register value for that specific partition. This is repeated for each partition, using the initial value and advancement value specific to that partition. This process determines the PRS generation register value for each partition based on the given initial value and respective LUT advancement value. The final PRS can be generated from one or more of the stored PRSs for the various partitions through further partitioning of one of the stored PRSs for the various partitions and / or through concatenation of two or more of the stored PRSs for the various partitions. The final PRS can be generated in a partitioned manner while maintaining the desired properties across the entire sequence. The final PRS can then be transmitted over the air interface between, for example, the gNodeB 100 and the UE 103.
[0085] Referring to Fig. 8 which provides a schematic diagram of logic modules for implementing the flexible PRS generation method in accordance with the invention. These logic modules may be implemented in the signal detection module 130 of the communications network device 100 of Fig. 7.
[0086] The logic modules comprise a PRS generation and partitioning logic module 200, a respective partition processing module 202 for each of the 0-th to (P-1) -th partitions, and a PRS splitting and concatenation logic module 204. Each of the respective partition processing modules 202 comprises a PRS generation register initialization logic module 206, first and second register modules 208, 210 and PRS generation logic module 212. Each PRS generation register initialization logic module 206 comprises a progressive register value calculation module 214 and first and second register value modules 216, 218.
[0087] Inputs to the PRS generation and partitioning logic module 200 comprise PRS initial values D1, D2 respectively for the first long-term M sequence x1 (n) and the second long term sequence x2 (n) . The PRS initial values D1, D2 may comprise application specific seed values. Other inputs include the number of partitions P and the PRS length of each partition These inputs are used by the PRS generation and partitioning logic module 200 to partition the PRS generation operations into the 0-th to (P-1) -th partitions. The PRS generation and partitioning logic module 200 allocates each of the 0-th to (P-1) -th partitions to a separate, respective partition processing module 202. The PRS generation and partitioning logic module 200 outputs to the PRS generation register initialization logic module 206 of each partition processing module 202: the initial value D1 for PRS generation register the initial value D2 for PRS generation register the PRS step from which to start generating this PRS partition, Q; and, if available, the PRS generation register values at the r-th PRS generation step and where 0<r<Q. More specifically, these inputs are provided to the progressive register value calculation module 214 of the PRS generation register initialization logic module 206.
[0088] The PRS generation and partitioning logic module 200 also outputs the partition size Mp for each respective partition to its PRS generation logic module 212.
[0089] Generally speaking, each PRS bit is generated by taking XOR of selected previous bits. However, since XOR is an associative operation (i.e., (aXOR (b XOR c) ) = ( (aXOR b) XOR c) = ( (c XOR a) XOR b) ) , the final result does not depend on the order in which the XOR of the previous bits are taken. The method of the present invention makes use of the associative character of XOR operations.
[0090] Let:
[0091] and
[0092] denote 31-bit registers for PRS generation.
[0093] An arbitrary value of at the n-th PRS generation step can be expressed as:
[0094] where and qk is a vector with the k-th element equal to 1 and all other elements equal to 0.
[0095] Similarly, an arbitrary value of at the n-th PRS generation step can be expressed as:
[0096] where and
[0097] Let f (L) (·) represent taking L PRS generation steps on and g (L) (·) represent taking L PRS generation steps on Since the XOR operation in PRS generation is associative, the values of and at the (n+L) -th PRS generation step can be expressed, respectively, as:
[0098] and
[0099] Consequently, the values of and at the (n+L) -th PRS generation step can be determined from:
[0100] and
[0101] and
[0102] where and are the values of and at the n-th PRS generation step.
[0103] In accordance with the foregoing, Fig. 9 provides the LUT containing the pre-computed PRS generation register advancement values. These values can be pre-computed offline in a once only processing operation with the PRS generation register advancement values being stored in the LUT for easy retrieval in a real-time processing environment.
[0104] Fig. 10 provides a flow diagram of the progressive PRS generation register value calculation method performed by the progressive register value calculation module 214 of the PRS generation register initialization logic module 206. Advancing PRS generation to the Q-th step requires at most ceil (log2 (Q) ) iterations, where each iteration requires 1 LUT search and XOR of 2*K K-bit registers. In this context:
[0105] log2 (X) : Log base 2 value of X;
[0106] ceil (X) : the smallest integer less than or equal to X; and
[0107] floor (X) : The greatest integer less than or equal to X.
[0108] It can be seen from the foregoing that the improved method of the invention for a communications network such as a 5G communication network generates PRSs as M-sequence PRSs having a length M bits and given by c (n) = x1 (n + S) XOR x2 (n + S) , where: n = 0, …. M-1; S is an arbitrary offset value. The first long-term sequence x1 (n) follows a first generator function h1 (x1 (n-1) , x1 (n-s) , …. x1 (n-K) , x1 (n- (K-1) ) , D1) to generate a newest bit by taking XOR of selected previous bits; the second long-term sequence x2 (n) follows a second generator function h2 (x2 (n-1) , x2 (n-s) , …. x2 (n-K) , x2 (n- (K-1) ) , D2) to generate a newest bit by taking XOR of selected previous bits; is the initial value of x1; and is the initial value of x2.
[0109] The first generator function may be implemented by means of an XOR process and a bit shift of a first K-bit register comprising and the second generator function may be implemented by an XOR process and a bit shift of a second K-bit register comprising wherein calculating the first long-term sequence x1 (n) is analogous to taking an n-th PRS generation step on the first K-bit register whose value is expressed as and calculating the second long-term sequence x2 (n) is analogous to taking an n-th PRS generation step on second K-bit register whose value is expressed as
[0110] The values of the first K-bit register and the second K -bit register at the m-th PRS generation step starting from initial values D1 and D2, respectively, may be determined as:
[0111] and
[0112] where and and
[0113] bk (D2) ∈ {0, 1} and represents the value of given and g (m) (qk) represents the value of given
[0114] The values of the first K-bit register and the second K -bit register at the (n+m) -th PRS generation step may be determined as:
[0115] and
[0116] where and and are the values of the first K-bit register and the second K-bit register at the n-th PRS generation step; qk is a vector with the k-th element equal to 1 and all other elements equal to 0; f (m) (qk) represents the value of given and g (m) (qk) represents the value of given
[0117] The PRS generation register advancement values may comprise wheref (m) (qk) represents the value of given and g (m) (qk) represents the value of given and wherein the PRS generation register advancement values are pre-computed and stored in an LUT in readiness for real-time generation of the PRS.
[0118] The PRS generation register advancement values are preferably pre-computed off-line and stored in the LUT for real-time retrieval.
[0119] Advancing the PRS generation from the n-th step to the m-th step is preferably performed progressively with intermediate steps using PRS generation register advancement values for 1, 2, …, L / 4, L / 2, L steps. The PRS generation may be advanced by any number of steps between 1 and 2*L-1.
[0120] Preferably, the M-sequence PRS having length M bits with initial values D1 and D2 is sub-divided into P partitions with lengths M0, M1, …, MP-1 bits and The p-th PRS partition is preferably generated by starting with the initial values D1 and D2 and advancing by steps.
[0121] The p-th PRS partition with length Mp , cp= [cp (n+Mp-1) , …, cp (n+ 1) , cp (n) ] can be split into an arbitrary number of W partitions as
[0122] Alternatively, the M-sequence PRS having length M bits generated as P partitions is concatenated from PRS partitions as c= [cP-1 cP-2 …cp+1 cp cp-1… c1 c0] .
[0123] The invention also provides a communications network device having a processor a memory storing machine-readable instructions, wherein, when the machine-readable instructions are executed by the processor, they configure the communications network device to implement the method of any one of the appended method claims.
[0124] The radio equipment may comprise a gNodeB.
[0125] The invention also provides a non-transitory computer-readable medium storing machine-readable instructions, wherein, when the machine-readable instructions are executed by a processor, they configure the communications network device to implement the method of any one of the appended method claims.
[0126] The apparatus described above may be implemented at least in part in software. Those skilled in the art will appreciate that the apparatus described above may be implemented at least in part using general purpose computer equipment or using bespoke equipment.
[0127] Here, aspects of the methods and apparatuses described herein can be executed on any apparatus comprising the communication system. Program aspects of the technology can be thought of as "products" or "articles of manufacture" typically in the form of executable code and / or associated data that is carried on or embodied in a type of machine-readable medium. "Storage" type media include any or all of the memory of the mobile stations, computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives, and the like, which may provide storage at any time for the software programming. All or portions of the software may at times be communicated through the Internet or various other telecommunications networks. Such communications, for example, may enable loading of the software from one computer or processor into another computer or processor. Thus, another type of media that may bear the software elements includes optical, electrical, and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software. As used herein, unless restricted to tangible non-transitory "storage" media, terms such as computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.
[0128] While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only exemplary embodiments have been shown and described and do not limit the scope of the invention in any manner. It can be appreciated that any of the features described herein may be used with any embodiment. The illustrative embodiments are not exclusive of each other or of other embodiments not recited herein. Accordingly, the invention also provides embodiments that comprise combinations of one or more of the illustrative embodiments described above. Modifications and variations of the invention as herein set forth can be made without departing from the spirit and scope thereof, and, therefore, only such limitations should be imposed as are indicated by the appended claims.
[0129] In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e., to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
[0130] It is to be understood that, if any prior art publication is referred to herein, such reference does not constitute an admission that the publication forms a part of the common general knowledge in the art.
Claims
1.A computer implemented method of generating a pseudo random sequence (PRS) , the method comprising:sub-dividing PRS generation operations into a plurality of PRS partitions;for each PRS partition, determining a PRS generation register value based on an initial PRS value and a pre-computed PRS generation register advancement value;for each partition, using the determined PRS generation register value to generate a PRS of an arbitrary or a predetermined length; andtransmitting said generated PRS to a computing module, device or system to perform a data processing function.2.The method of claim 1, wherein, prior to transmitting said generated PRS to a computing module, device or system, the method includes splitting a PRS partition and / or concatenating two or more PRS partitions to form the generated PRS to be transmitted to the computing module, device or system.3.The method of claim 1, wherein the method uses a Linear Feedback Shift Register (LFSR) to generate a PRS of an arbitrary or a predetermined length.4.The method of claim 1, wherein the PRS partitions are run across multiple parallel computing processes simultaneously or sequentially.5.The method of claim 1, wherein the PRS generation operations to be partitioned into the plurality of partitions are based on a single long-term sequence or by XORing two or more long-term sequences.6.The method of claim 1, wherein the PRS generation operations to be partitioned into the plurality of partitions are based on a first long-term sequence x1 (n) and a second long-term sequence x2 (n) , the first long-term sequence x1 (n) having a first predefined initialization value and the second long-term sequence x2 (n) having a second predefined initialization value.7.The method of claim 6, wherein the first predefined initialization value comprises an application specific initialization value and / or the second predefined initialization value comprises an application specific initialization value.8.The method of claim 6, wherein the generated PRS is an M-sequence PRS having length M bits and is given by c (n) = x1 (n + S) XOR x2 (n + S) , where: n = 0, …. M-1; S is an arbitrary offset value; the first long-term sequence x1 (n) follows a first generator function h1 (x1 (n-1) , x1 (n-s) , …. x1 (n-K) , x1 (n- (K-1) ) , D1) to generate a newest bit by taking XOR of selected previous bits; the second long-term sequence x2 (n) follows a second generator function h2 (x2 (n-1) , x2 (n-s) , …. x2 (n-K) , x2 (n- (K-1) ) , D2) to generate a newest bit by taking XOR of selected previous bits; is the initial value of x1; and is the initial value of x2.9.The method of claim 8, wherein the first generator function is implemented by means of an XOR process and a bit shift of a first K-bit register comprising and the second generator function is implemented by an XOR process and a bit shift of a second K-bit register comprising wherein calculating the first long-term sequence x1 (n) is analogous to taking an n-th PRS generation step on the first K-bit register whose value is expressed as and calculating the second long-term sequence x2 (n) is analogous to taking an n-th PRS generation step on second K-bit register whose value is expressed as 10.The method of claim 9, wherein the values of the first K-bit register and the second K -bit register at the m-th PRS generation step starting from initial values D1 and D2, respectively, are determined as: andwhereandak (D1) ∈ {0, 1} andbk (D2) ∈ {0, 1} andf (m) (qk) represents the value ofgivenand g (m) (qk) represents the value of given11.The method of claim 9, wherein the values of the first K-bit register and the second K -bit register at the (n+m) -th PRS generation step are determined as: andwhereandandare the values of the first K-bit registerand the second K-bit registerat the n-th PRS generation step; qk is a vector with the k-th element equal to 1 and all other elements equal to 0; f (m) (qk) represents the value ofgivenand g (m) (qk) represents the value ofgiven12.The method of claim 9, wherein the PRS generation register advancement values comprise where f (m) (qk) represents the value of given and g (m) (qk) represents the value of given with the PRS generation register advancement values being pre-computed and stored in a lookup table in readiness for real-time generation of the PRS.13.The method of claim 12, wherein advancing PRS generation from the n-th step to the m-th step is performed progressively with intermediate steps using PRS generation register advancement values for 1, 2, …, L / 4, L / 2, L steps.14.The method of claim 13, wherein PRS generation is advanced by any number of steps between 1 and 2*L-1.15.The method of claim 7, wherein the M-sequence PRS having length M bits with initial values D1 and D2 is sub-divided into P partitions with lengths M0, M1, …, MP-1 bits and 16.The method of claim 15, wherein the p-th PRS partition is generated by starting with initial values D1 and D2 and advancing by steps.17.The method of claim 7, wherein the p-th PRS partition with length Mp , cp= [cp (n+Mp-1) , …, cp (n+1) , cp (n) ] is split into an arbitrary number of W partitions as 18.The method of claim 7, wherein the M-sequence PRS having length M bits generated as P partitions is concatenated from PRS partitions as c = [cP-1 cP-2 …cp+1 cp cp-1… c1 c0] .19.A device in a communications network, the device comprising:a memory storing machine-readable instructions; anda processor for executing the machine-readable instructions such that, when the processor executes the machine-readable instructions, it configures the communications device to:generate a pseudo random sequence (PRS) by:sub-dividing PRS generation operations into a plurality of PRS partitions;for each PRS partition, determining a PRS generation register value based on an initial PRS value and a pre-computed PRS generation register advancement value;for each partition, using the determined PRS generation register value to generate a PRS of an arbitrary or a predetermined length; andtransmitting said generated PRS to a computing module, device or system to perform a data processing function.20.A non-transitory computer readable medium comprising machine-readable instructions which, when executed by a processor of a communications network device, causes the communications network device to implement the steps of:sub-divide PRS generation operations into a plurality of PRS partitions;for each PRS partition, determine a PRS generation register value based on an initial PRS value and a pre-computed PRS generation register advancement value;for each partition, use the determined PRS generation register value to generate a PRS of an arbitrary or a predetermined length; andtransmit said generated PRS to a computing module, device or system to perform a data processing function.21.The method of claim 10, wherein the PRS generation register advancement values comprise where f (m) (qk) represents the value of given and g (m) (qk) represents the value of given with the PRS generation register advancement values being pre-computed and stored in a lookup table in readiness for real-time generation of the PRS.
Citation Information
Patent Citations
Pseudo random sequence generation method and apparatus
CN103812596A
Pseudorandom sequence generation method and apparatus, and integrated circuit
CN108287682A
Pseudo random number generation device and pseudo random number generation program
CN1914590A
Method and Apparatus for Generating Pseudo Random Numbers
US20080281892A1