CODING AND DECODING OF COUPLED CHAINS
20210058094 ยท 2021-02-25
Inventors
Cpc classification
H03M13/1102
ELECTRICITY
H03M13/1154
ELECTRICITY
International classification
Abstract
Redundancy information is added to information to be sent over a medium and sent as spatially coupled chain with the redundancy information as local decision verification codes. In the receiving end, when the local decision verification code has been satisfied a preset number of times, a sliding window is shifted.
Claims
1-28. (canceled)
29. A method comprising: receiving, in a device, information to be sent over a medium; determining, by the device, redundancy information from a set of information symbols at the specific position; causing, by the device, encoding information symbols at the specific position and the redundancy information, to a spatially coupled chain; and causing, by the device, sending the information as the spatially coupled chain with the redundancy information as local decision verification codes.
30. A method as claimed in claim 29, further comprising: determining, by the device, the redundancy information by computing one or more local cyclic redundancy check codes at the specific position; performing, by the device, cyclic redundancy check encoding to information comprising both the received information and the redundancy information by associating bits in the specific position with corresponding one or more local cyclic redundancy check codes; and forming the spatially coupled chain by performing to the result of the cyclic redundancy check encoding spatially coupled low density parity check code encoding.
31. A method as claimed in claim 30, wherein the cyclic redundancy check encoding is formed by a round of successive cyclic redundancy check encodings and/or by overlapping cyclic redundancy checks.
32. A method as claimed in claim 29, further comprising: determining, by the device, one or more design parameters of cyclic redundancy check codes according to at least one of characteristics of a waveform carrying the spatially coupled chain, a shape of the waveform, and expected characteristics of the medium channel; calculating, by the device, the redundancy information as one or more local cyclic redundancy check codes at the specific position according to the one or more design parameters; performing, by the device, cyclic redundancy check encoding to information comprising both the received information and the redundancy information by inserting bits in the one or more local cyclic redundancy check codes so that the bits are inserted regularly in the received information; and causing obtaining, by the device, the spatially coupled chain by spatially coupling the result of the cyclic redundancy check encoding.
33. A method as claimed in claim 32, wherein the spatially coupled chain is obtained by performing spatially coupled low density parity check code encoding, or by spatially coupled turbo code encoding or spatially coupled equalization.
34. An apparatus comprising at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to perform: determining redundancy information from a set of information symbols at a specific position of received information that is to be sent over a medium; encoding or causing encoding information symbols at the specific position and the redundancy information, to a spatially coupled chain; and causing sending the information as the spatially coupled chain with the redundancy information as local decision verification codes.
35. An apparatus as claimed in claim 34, wherein the at least one memory and the computer program code are configured to, with the at least one processor, further cause the apparatus at least to perform: determining the redundancy information by computing one or more local cyclic redundancy check codes at the specific position; performing cyclic redundancy check encoding to information comprising both the received information and the redundancy information by associating bits in the specific position with corresponding one or more local cyclic redundancy check codes; and forming the spatially coupled chain by performing to the result of the cyclic redundancy check encoding spatially coupled low density parity check code encoding.
36. A device as claimed in claim 35, wherein the cyclic redundancy check encoding is formed by a round of successive cyclic redundancy check encodings and/or by overlapping cyclic redundancy checks.
37. An apparatus as claimed in claim 34, wherein the at least one memory and the computer program code are configured to, with the at least one processor, further cause the apparatus at least to perform: determining one or more design parameters of cyclic redundancy check codes according to at least one of characteristics of a waveform carrying the spatially coupled chain, a shape of the waveform, and expected characteristics of the medium channel; calculating the redundancy information as one or more local cyclic redundancy check codes at the specific position according to the one or more design parameters; performing cyclic redundancy check encoding to information comprising both the received information and the redundancy information by inserting bits in the one or more local cyclic redundancy check codes so that the bits are inserted regularly in the received information; and causing obtaining, by the device, the spatially coupled chain by spatially coupling the result of the cyclic redundancy check encoding.
38. A device as claimed in claim 37, wherein the spatially coupled chain is obtained by performing spatially coupled low density parity check code encoding, or by spatially coupled turbo code encoding or spatially coupled equalization.
39. A non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the following: determining redundancy information from a set of information symbols at a specific position of received information that is to be sent over a medium; encoding or causing encoding information symbols at the specific position and the redundancy information, to a spatially coupled chain; and causing sending the information as the spatially coupled chain with the redundancy information as local decision verification codes.
40. A non-transitory computer readable medium as claimed in claim 39, further comprising: determining, by the device, the redundancy information by computing one or more local cyclic redundancy check codes at the specific position; performing, by the device, cyclic redundancy check encoding to information comprising both the received information and the redundancy information by associating bits in the specific position with corresponding one or more local cyclic redundancy check codes; and forming the spatially coupled chain by performing to the result of the cyclic redundancy check encoding spatially coupled low density parity check code encoding.
41. A non-transitory computer readable medium as claimed in claim 40, wherein the cyclic redundancy check encoding is formed by a round of successive cyclic redundancy check encodings and/or by overlapping cyclic redundancy checks.
42. A non-transitory computer readable medium as claimed in claim 39, further comprising: determining, by the device, one or more design parameters of cyclic redundancy check codes according to at least one of characteristics of a waveform carrying the spatially coupled chain, a shape of the waveform, and expected characteristics of the medium channel; calculating, by the device, the redundancy information as one or more local cyclic redundancy check codes at the specific position according to the one or more design parameters; performing, by the device, cyclic redundancy check encoding to information comprising both the received information and the redundancy information by inserting bits in the one or more local cyclic redundancy check codes so that the bits are inserted regularly in the received information; and causing obtaining, by the device, the spatially coupled chain by spatially coupling the result of the cyclic redundancy check encoding.
43. A non-transitory computer readable medium as claimed in claim 42, wherein the spatially coupled chain is obtained by performing spatially coupled low density parity check code encoding, or by spatially coupled turbo code encoding or spatially coupled equalization.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0035] In the following example embodiments will be described in greater detail with reference to the attached drawings, in which
[0036]
[0037]
[0038]
[0039]
DETAILED DESCRIPTION OF SOME EMBODIMENTS
[0040] The following embodiments are only presented as examples. Although the specification may refer to an, one, or some embodiment(s) and/or example(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s) or example(s), or that a particular feature only applies to a single embodiment and/or example. Single features of different embodiments and/or examples may also be combined to provide other embodiments and/or examples.
[0041] Embodiments and examples described herein may be implemented in any communications system, wired, wireless and/or optical, that are configurable to support spatially coupled codes. In the following, different exemplifying embodiments will be described using, as an example of an access architecture to which the embodiments may be applied, a radio access architecture based on long term evolution advanced (LTE Advanced, LTE-A) or new radio (NR, 5G), without restricting the embodiments to such an architecture, however. It is obvious for a person skilled in the art that the embodiments may also be applied to other kinds of communications networks having suitable means by adjusting parameters and procedures appropriately. Some examples of other options for suitable systems are the universal mobile telecommunications system (UMTS) radio access network (UTRAN or E-UTRAN), long term evolution (LTE, the same as E-UTRA), beyond 5G, wireless local area network (WLAN or WiFi), worldwide interoperability for microwave access (WiMAX), Bluetooth, personal communications services (PCS), ZigBee, wideband code division multiple access (WCDMA), systems using ultra-wideband (UWB) technology, sensor networks, mobile ad-hoc networks (MANETs) and Internet Protocol multimedia subsystems (IMS) or any combination thereof.
[0042]
[0043] The embodiments are not, however, restricted to the system given as an example but a person skilled in the art may apply the solution to other communication systems provided with necessary properties.
[0044] The example of
[0045]
[0046] A communications system typically comprises more than one (e/g)NodeB in which case the (e/g)NodeBs may also be configured to communicate with one another over links, wired or wireless, designed for the purpose. These links may be used for signalling purposes. The (e/g)NodeB is a computing device configured to control the radio resources of communication system it is coupled to. The NodeB may also be referred to as a base station, an access point or any other type of interfacing device including a relay station capable of operating in a wireless environment. The (e/g)NodeB includes or is coupled to transceivers. From the transceivers of the (e/g)NodeB, a connection is provided to an antenna unit that establishes bi-directional radio links to user devices. The antenna unit may comprise a plurality of antennas or antenna elements. The (e/g)NodeB is further connected to core network 105 (CN or next generation core NGC). Depending on the system, the counterpart on the CN side can be a serving gateway (S-GW, routing and forwarding user data packets), packet data network gateway (P-GW), for providing connectivity of user devices (UEs) to external packet data networks, or mobile management entity (MME), etc.
[0047] The user device (also called UE, user equipment, user terminal, terminal device, etc.) illustrates one type of an apparatus to which resources on the air interface are allocated and assigned, and thus any feature described herein with a user device may be implemented with a corresponding apparatus, such as a relay node. An example of such a relay node is a layer 3 relay (self-backhauling relay) towards the base station.
[0048] The user device typically refers to a portable computing device that includes wireless mobile communication devices operating with or without a subscriber identification module (SIM), including, but not limited to, the following types of devices: a mobile station (mobile phone), smartphone, personal digital assistant (PDA), handset, device using a wireless modem (alarm or measurement device, etc.), laptop and/or touch screen computer, tablet, game console, notebook, and multimedia device. It should be appreciated that a user device may also be a nearly exclusive uplink only device, of which an example is a camera or video camera loading images or video clips to a network. A user device may also be a device having capability to operate in Internet of Things (IoT) network which is a scenario in which objects are provided with the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. The user device may also utilise cloud. In some applications, a user device may comprise a small portable device with radio parts (such as a watch, earphones or eyeglasses) and the computation is carried out in the cloud. The user device (or in some embodiments a layer 3 relay node) is configured to perform one or more of user equipment functionalities. The user device may also be called a subscriber unit, mobile station, remote terminal, access terminal, user terminal or user equipment (UE) just to mention but a few names or apparatuses.
[0049] Various techniques described herein may also be applied to a cyber-physical system (CPS) (a system of collaborating computational elements controlling physical entities). CPS may enable the implementation and exploitation of massive amounts of interconnected ICT devices (sensors, actuators, processors microcontrollers, etc.) embedded in physical objects at different locations. Mobile cyber physical systems, in which the physical system in question has inherent mobility, are a subcategory of cyber-physical systems. Examples of mobile physical systems include mobile robotics and electronics transported by humans or animals.
[0050] Additionally, although the apparatuses have been depicted as single entities, different units, processors and/or memory units (not all shown in
[0051] 5G enables using multiple input-multiple output (MIMO) antennas, many more base stations or nodes or corresponding network devices than the LTE (a so-called small cell concept), including macro sites operating in co-operation with smaller stations and employing a variety of radio technologies depending on service needs, use cases and/or spectrum available. 5G mobile communications supports a wide range of use cases and related applications including video streaming, augmented reality, different ways of data sharing and various forms of machine type applications (such as (massive) machine-type communications (mMTC), including vehicular safety, different sensors and real-time control. 5G is expected to have multiple radio interfaces, namely below 6 GHz, cmWave and mmWave, and also being integradable with existing legacy radio access technologies, such as the LTE. Integration with the LTE may be implemented, at least in the early phase, as a system, where macro coverage is provided by the LTE and 5G radio interface access comes from small cells by aggregation to the LTE. In other words, 5G is planned to support both inter-RAT operability (such as LTE-5G) and inter-RI operability (inter-radio interface operability, such as below 6 GHz-cmWave, below 6 GHz-cmWave-mmWave). One of the concepts considered to be used in 5G networks is network slicing in which multiple independent and dedicated virtual sub-networks (network instances) may be created within the same infrastructure to run services that have different requirements on latency, reliability, throughput and mobility.
[0052] The current architecture in LTE networks is fully distributed in the radio and fully centralized in the core network. The low latency applications and services in 5G require to bring the content close to the radio which leads to local break out and multi-access edge computing (MEC). 5G enables analytics and knowledge generation to occur at the source of the data. This approach requires leveraging resources that may not be continuously connected to a network such as laptops, smartphones, tablets and sensors. MEC provides a distributed computing environment for application and service hosting. It also has the ability to store and process content in close proximity to cellular subscribers for faster response time. Edge computing covers a wide range of technologies such as wireless sensor networks, mobile data acquisition, mobile signature analysis, cooperative distributed peer-to-peer ad hoc networking and processing also classifiable as local cloud/fog computing and grid/mesh computing, dew computing, mobile edge computing, cloudlet, distributed data storage and retrieval, autonomic self-healing networks, remote cloud services, augmented and virtual reality, data caching, Internet of Things (massive connectivity and/or latency critical), critical communications (autonomous vehicles, traffic safety, real-time analytics, time-critical control, healthcare applications).
[0053] The communication system is also able to communicate with other networks, such as a public switched telephone network or the Internet 106, or utilise services provided by them. The communication network may also be able to support the usage of cloud services, for example at least part of core network operations may be carried out as a cloud service (this is depicted in
[0054] Edge cloud may be brought into radio access network (RAN) by utilizing network function virtualization (NVF) and software defined networking (SDN). Using edge cloud may mean access node operations to be carried out, at least partly, in a server, host or node operationally coupled to a remote radio head or base station comprising radio parts. It is also possible that node operations will be distributed among a plurality of servers, nodes or hosts. Application of cloudRAN architecture enables RAN real time functions being carried out at the RAN side (in a distributed unit, DU 102) and non-real time functions being carried out in a centralized manner (in a centralized unit, CU 104).
[0055] It should also be understood that the distribution of labour between core network operations and base station operations may differ from that of the LTE or even be non-existent. Some other technology advancements probably to be used are Big Data and all-IP, which may change the way networks are being constructed and managed. 5G (or new radio, NR) networks are being designed to support multiple hierarchies, where MEC servers can be placed between the core and the base station or nodeB (gNB). It should be appreciated that MEC can be applied in 4G networks as well.
[0056] 5G may also utilize satellite communication to enhance or complement the coverage of 5G service, for example by providing backhauling. Possible use cases are providing service continuity for machine-to-machine (M2M) or Internet of Things (IoT) devices or for passengers on board of vehicles, or ensuring service availability for critical communications, and future railway/maritime/aeronautical communications. Satellite communication may utilise geostationary earth orbit (GEO) satellite systems, but also low earth orbit (LEO) satellite systems, in particular mega-constellations (systems in which hundreds of (nano) satellites are deployed). Each satellite 103 in the mega-constellation may cover several satellite-enabled network entities that create on-ground cells. The on-ground cells may be created through an on-ground relay node 102 or by a gNB located on-ground or in a satellite.
[0057] It is obvious for a person skilled in the art that the depicted system is only an example of a part of a radio access system and in practice, the system may comprise a plurality of (e/g)NodeBs, the user device may have an access to a plurality of radio cells and the system may comprise also other apparatuses, such as physical layer relay nodes or other network elements, etc. At least one of the (e/g)NodeBs or may be a Home (e/g)nodeB. Additionally, in a geographical area of a radio communication system a plurality of different kinds of radio cells as well as a plurality of radio cells may be provided. Radio cells may be macro cells (or umbrella cells) which are large cells, usually having a diameter of up to tens of kilometers, or smaller cells such as micro-, femto- or picocells. The (e/g)NodeBs of
[0058] For fulfilling the need for improving the deployment and performance of communication systems, the concept of plug-and-play (e/g)NodeBs has been introduced. Typically, a network which is able to use plug-and-play (e/g)Node Bs, includes, in addition to Home (e/g)NodeBs (H(e/g)nodeBs), a home node B gateway, or HNB-GW (not shown in
[0059] Another way to depict an exemplary system is illustrated in
[0060] Referring to
[0061] One 110 of the devices illustrated in
[0062] The devices 110, 110 are configured to support local decision-aided control for encoding and decoding. For that purpose each of the devices 110, 110 comprises, for a decoder 111, 111 a local decoder controlling unit (l-d-c) 113, 113, and for an encoder 112, 112 a local encoder controlling unit (l-e-c) 114, 114, as separate units or integrated together, and in a memory 115 there are one or more cyclic redundancy check (CRC) designs, and one or more values for m. The CRC designs may comprise one or more design parameters for the CRC. The one or more values for m are for locally adjusting the amount of iterations during decoding, as will be explained in detail below. The one or more values for m may be set during network planning, delivered via an operation and maintenance subsystem, or be adjusted locally. The value of m may depend on a sliding window size and/or a coupling window size, and/or a lifting depth of spatially coupled codes.
[0063] Although in the example of
[0064] In the below examples a spatially coupled chain is used, or more precisely a spatially coupled chain coded by Low Density Parity Check (LDPC) coding without restricting the examples to such a solution. It should be appreciated that the spatially coupled chain may be obtained using any suitable coding, such as spatially coupled turbo codes or spatially coupled equalization.
[0065]
N=L P n.sub.proto-position+L n.sub.0 (1)
[0066] wherein
[0067] N=total number of bits of the spatially coupled chain coded by LDPC
[0068] L=lifting depth
[0069] P=total number of proto-positions=chain length
[0070] n.sub.proto-position=number of bits at a given position (2 in the example)
[0071] n.sub.0=termination bits associated with a rate loss
[0072] In
[0073] Referring to
[0074] Then the redundancy information, is added in block 304 to the sequence of the information symbols determined in block 302 as local decision verification code(s), and then the information symbols with the added redundancy information is encoded in block 305 to a spatially encoded chain that has the redundancy information as the local decision verification code(s). Then, although not shown in
[0075] In another implementation, in which the coupling parameter(s) according to which the length is determined, may vary at different proto-positions, the process proceeds from block 306 to block 301 to determine the local decision verification code(s) for the proto-position in question. In still another example, a preset fixed local decision verification code(s) may be used, in which case in block 301 the local decision verification code(s) may be obtained from the memory, or block 301 is omitted.
[0076] Referring to
R=L n.sub.proto-position (2)
[0077] wherein
[0078] R=the number of bits associated
[0079] L=lifting depth
[0080] n.sub.proto-position=number of bits at the proto-position
[0081] By associating the bits with the local CRC code, CRC encoding is performed at block 404. The CRC encoding scheme may be a round of successive CRC encodings, producing R bits according to the formula (2) above at each round. Variations of the CRC encoding scheme, such as overlapping CRC, may be performed, as long as the variations also rely on a matching with a corresponding spatially coupled LDPC proto-positions. The thus formed new sequence of bits, is encoded in block 405 by spatially coupled LDPC to a corresponding chain, and the encoding process moves, as long as there are information to be sent, in block 406 to a next proto-position, and the process continues from block 402.
[0082] In another implementation, in which the coupling parameter(s) according to which the length is determined, may vary at different proto-positions, the process proceeds from block 406 to block 401 to determine the CRC code(s) for the proto-position in question.
[0083] The example of
[0084] Referring to
[0085] Then the sequence of information bits to be encoded is determined in block 503 at the current proto-position, and a CRC code is calculated in block 504 using the design parameters defined in block 502. The calculated CRC code is then applied in block 505 to the sequence of the information bits determined in block 503 in such a way that the bits in the calculated CRC code are regularly inserted in the sequence of the information bits. In other words, CRC encoding is performed at block 505. Then spatially coupling of the encoded sequence is obtained in block 506, for example by LDPC coupling, or by spatially coupled turbo codes, or by spatially coupled equalization. The encoding process moves, as long as there are information to be sent, in block 507 to a next proto-position, and the process continues from block 503.
[0086] The encoding is not necessarily performed by one entity, but two separate entities, or devices may perform the process.
[0087] Referring to
[0088] In
[0089] Referring to
[0090] If the verification code, i.e. CRC, is satisfied (block 702: yes), a value of variable a is incremented in block 703 by one and then the value of the variable a is compared with the value of m, i.e. with the value given locally to a number m of satisfied CRCs (decision verification codes) to end iterations of decoding. If the variable a is equal to m (block 704: no), the decoding of the chain is ended, the sliding window is shifted in block 705 by one or more positions, and the value of a is reset to zero. The number of positions the sliding window is shifted may a constant number, or depend on the sliding window size, and/or from the number m, for example. Then the process returns to block 701 to decode the chain, as long as there is chain to decode.
[0091] If the variable a is less than m (block 704: yes), or if the CRC is not satisfied (block 702: no), the process returns to block 701 to decode the chain, as long as there is chain to decode.
[0092] By maintaining information how many times CRC is satisfied, and stopping the decoding of the chain when the CRC is satisfied required times, it is possible to locally react to changes in the network during propagation: when the transmission channel quality is good, the decoding will take less iteration rounds thereby accelerating the sliding window decoding, whereas a bad transmission channel quality causes more iteration rounds. Since in prior art solutions the number of iteration rounds is set based on the worst case scenario, the disclosed decoding scheme with adaptive number of iterations results in lower average decoding latency, and better energy efficiency, especially with multi-edge coupled chains, without sacrificing the quality. When the disclosed decoding scheme is combined with a disclosed encoding scheme, the latency will be even smaller, and hence the energy efficiency even better.
[0093] The above described local encoding/decoding may be implemented in any layer, for example in a physical layer, or medium access control (MAC) layer, or application layer. As is evident from the above, the local control of encoding/decoding can be used for layers employing rather large block lengths (up to hundreds of kilobits), such as those utilizing very large scale integration, and for layers employing smaller block lengths.
[0094] The blocks, related functions, and information exchanges described above by means of
[0095] The techniques and methods described herein may be implemented by various means so that an apparatus/device configured to support encoding and/or decoding mechanism based on at least partly on what is disclosed above with any of
[0096]
[0097] Referring to
[0098] Referring to
[0099] Referring to
[0100] As used in this application, the term circuitry may refer to one or more or all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of hardware circuits and software (and/or firmware), such as (as applicable): (i) a combination of analog and/or digital hardware circuit(s) with software/firmware and (ii) any portions of hardware processor(s) with software, including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus, such as a mobile device or a network device or a server, to perform various functions, and (c) hardware circuit(s) and processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g. firmware) for operation, but the software may not be present when it is not needed for operation. This definition of circuitry applies to all uses of this term in this application, including any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or a portion of a hardware circuit or processor and its (or their) accompanying software and/or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit for a mobile device or a similar integrated circuit in a server, a cellular network device, or other computing or network device.
[0101] In embodiments, the at least one processor, the memory, and the computer program code form processing means or comprises one or more computer program code portions for carrying out one or more operations according to any one of the embodiments of
[0102] Embodiments as described may also be carried out in the form of a computer process defined by a computer program or portions thereof. Embodiments of the methods described in connection with
[0103] Even though the invention has been described above with reference to examples according to the accompanying drawings, it is clear that the invention is not restricted thereto but can be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.