WO2018176325A1 - Encoding and decoding using non-systematic block codes - Google Patents
Encoding and decoding using non-systematic block codes Download PDFInfo
- Publication number
- WO2018176325A1 WO2018176325A1 PCT/CN2017/078797 CN2017078797W WO2018176325A1 WO 2018176325 A1 WO2018176325 A1 WO 2018176325A1 CN 2017078797 W CN2017078797 W CN 2017078797W WO 2018176325 A1 WO2018176325 A1 WO 2018176325A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- generator matrix
- subset
- based generator
- systematic golay
- systematic
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/1505—Golay Codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Definitions
- the following relates generally to wireless communication, and more specifically to encoding and decoding using non-systematic block codes.
- Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power) .
- multiple-access systems include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, and orthogonal frequency division multiple access (OFDMA) systems, (e.g., a Long Term Evolution (LTE) system, or a New Radio (NR) system) .
- CDMA code division multiple access
- TDMA time division multiple access
- FDMA frequency division multiple access
- OFDMA orthogonal frequency division multiple access
- LTE Long Term Evolution
- NR New Radio
- a wireless multiple-access communications system may include a number of base stations or access network nodes, each simultaneously supporting communication for multiple communication devices, which may be otherwise known as user equipment (UE) .
- UE user equipment
- errors may be introduced into data during transmission and/or processing.
- Some wireless communications systems may use error correction coding to detect and/or correct errors.
- An example of error correction coding may be linear block codes.
- the described techniques relate to improved methods, systems, devices, or apparatuses that support encoding and decoding using non-systematic block codes.
- the described techniques provide for encoding/decoding information using a non-systematic Golay-based block code which is based on a systematic Golay-based block code.
- the non-systematic Golay-based block code may be generated based on information of the systematic Golay-based block code and a transform function.
- a subset of information of the non-systematic Golay-based block code may be based on a function of subsets of information from the systematic Golay-based block code.
- a given subset of information of the non-systematic Golay-based block code may be based on a recursive function of a prior subset of information of the non-systematic Golay-based block code and a subset of information from the systematic Golay-based block code.
- the non-systematic Golay-based block code may be configured to support a plurality of lengths of output vectors or input vectors.
- a method of wireless communication may include identifying an information vector to be transmitted via a wireless communication link, determining a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the apparatus may include means for identifying an information vector to be transmitted via a wireless communication link, means for determining a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, means for obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and means for obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the apparatus may include a processor, memory in electronic communication with the processor, and instructions stored in the memory.
- the instructions may be operable to cause the processor to identify an information vector to be transmitted via a wireless communication link, determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- a non-transitory computer readable medium for wireless communication may include instructions operable to cause a processor to identify an information vector to be transmitted via a wireless communication link, determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- one or more bits of the information vector may be known to a decoder of the codeword.
- the obtaining the second subset of the non-systematic Golay-based generator matrix comprises adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- a method of wireless communication may include receiving a codeword communicated via a wireless communication link, determining an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the apparatus may include means for receiving a codeword communicated via a wireless communication link, means for determining an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, means for obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and means for obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the apparatus may include a processor, memory in electronic communication with the processor, and instructions stored in the memory.
- the instructions may be operable to cause the processor to receive a codeword communicated via a wireless communication link, determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- a non-transitory computer readable medium for wireless communication may include instructions operable to cause a processor to receive a codeword communicated via a wireless communication link, determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- one or more bits of the information vector may be known for the decoding of the codeword.
- the obtaining the second subset of the non-systematic Golay-based generator matrix comprises adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- FIG. 1 illustrates an example of a system for wireless communication that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIG. 2 illustrates an example of a wireless communications system that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIG. 3 illustrates an examples of block code structures that support encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIG. 4 illustrates an example of generator matrices that support encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIG. 5 illustrates an example of a table that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIGs. 6 through 7 show block diagrams of a device that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIG. 8 illustrates a block diagram of a system including a transmitting entity that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIGs. 9 through 10 show block diagrams of a device that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIG. 11 illustrates a block diagram of a system including a receiving entity that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- FIGs. 12 through 15 illustrate methods for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Error correcting code may be used by a wireless communications system to detect and or correct for errors that may inadvertently be introduced to into data being communicated between entities.
- a receiving entity may already know at least some of the bits or symbols being received from a transmitting entity. Because some of the information is known to the receiving entity, the effective codeword length may be reduced, which may reduce coding gain of the unknown information.
- the non-systematic Golay-based block code may be generated using subsets of information (e.g., vectors) of the systematic Golay-based block code.
- a subset of information of the non-systematic Golay-based block code may be based on a subset of information from the systematic Golay-based block code and a subset of information form the non-systematic Golay-based block code.
- the non-systematic Golay-based block code may be configured to support a plurality of lengths of output vectors or input vectors.
- aspects of the disclosure are initially described in the context of a wireless communications system. Aspects of the disclosure are illustrated by and described with reference to matrices, tables, and block code structures that relate to encoding and decoding using non-systematic block codes. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to encoding and decoding using non-systematic block codes.
- FIG. 1 illustrates an example of a wireless communications system 100 in accordance with various aspects of the present disclosure.
- the wireless communications system 100 includes base stations 105, UEs 115, and a core network 130.
- the wireless communications system 100 may be a Long Term Evolution (LTE) , LTE-Advanced (LTE-A) network, or a New Radio (NR) network.
- LTE Long Term Evolution
- LTE-A LTE-Advanced
- NR New Radio
- wireless communications system 100 may support enhanced broadband communications, ultra-reliable (i.e., mission critical) communications, low latency communications, and communications with low-cost and low-complexity devices.
- the wireless communications system 100 may support error-correcting code using linear block codes.
- Golay-based block codes may deteriorate when some of the bits or symbols of the transmitted message are already known to the receiving entity.
- techniques are described herein to communicate information using a non-systematic Golay-based block code that is based on a systematic Golay-based block code.
- Base stations 105 may wirelessly communicate with UEs 115 via one or more base station antennas. Each base station 105 may provide communication coverage for a respective geographic coverage area 110.
- Communication links 125 shown in wireless communications system 100 may include uplink transmissions from a UE 115 to a base station 105, or downlink transmissions, from a base station 105 to a UE 115.
- Control information and data may be multiplexed on an uplink channel or downlink according to various techniques. Control information and data may be multiplexed on a downlink channel, for example, using time division multiplexing (TDM) techniques, frequency division multiplexing (FDM) techniques, or hybrid TDM-FDM techniques.
- TDM time division multiplexing
- FDM frequency division multiplexing
- hybrid TDM-FDM techniques hybrid TDM-FDM techniques.
- the control information transmitted during a transmission time interval (TTI) of a downlink channel may be distributed between different control regions in a cascaded manner (e.g., between a common control
- UEs 115 may be dispersed throughout the wireless communications system 100, and each UE 115 may be stationary or mobile.
- a UE 115 may also be referred to as a mobile station, a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology.
- a UE 115 may also be a cellular phone, a personal digital assistant (PDA) , a wireless modem, a wireless communication device, a handheld device, a tablet computer, a laptop computer, a cordless phone, a personal electronic device, a handheld device, a personal computer, a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, a machine type communication (MTC) device, an appliance, an automobile, or the like.
- PDA personal digital assistant
- WLL wireless local loop
- IoT Internet of Things
- IoE Internet of Everything
- MTC machine type communication
- a UE 115 may also be able to communicate directly with other UEs (e.g., using a peer-to-peer (P2P) or device-to-device (D2D) protocol) .
- P2P peer-to-peer
- D2D device-to-device
- One or more of a group of UEs 115 utilizing D2D communications may be within the coverage area 110 of a cell. Other UEs 115 in such a group may be outside the coverage area 110 of a cell, or otherwise unable to receive transmissions from a base station 105.
- groups of UEs 115 communicating via D2D communications may utilize a one-to-many (1: M) system in which each UE 115 transmits to every other UE 115 in the group.
- a base station 105 facilitates the scheduling of resources for D2D communications.
- D2D communications are carried out independent of a base station 105.
- Some UEs 115 may be low cost or low complexity devices, and may provide for automated communication between machines, i.e., Machine-to-Machine (M2M) communication.
- M2M or MTC may refer to data communication technologies that allow devices to communicate with one another or a base station without human intervention.
- M2M or MTC may refer to communications from devices that integrate sensors or meters to measure or capture information and relay that information to a central server or application program that can make use of the information or present the information to humans interacting with the program or application.
- Some UEs 115 may be designed to collect information or enable automated behavior of machines. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business charging.
- an MTC device may operate using half-duplex (one-way) communications at a reduced peak rate. MTC devices may also be configured to enter a power saving “deep sleep” mode when not engaging in active communications. In some cases, MTC or IoT devices may be designed to support mission critical functions and wireless communications system may be configured to provide ultra-reliable communications for these functions.
- Base stations 105 may communicate with the core network 130 and with one another. For example, base stations 105 may interface with the core network 130 through backhaul links 132 (e.g., S1, etc. ) . Base stations 105 may communicate with one another over backhaul links 134 (e.g., X2, etc. ) either directly or indirectly (e.g., through core network 130) . Base stations 105 may perform radio configuration and scheduling for communication with UEs 115, or may operate under the control of a base station controller (not shown) . In some examples, base stations 105 may be macro cells, small cells, hot spots, or the like. Base stations 105 may also be referred to as evolved NodeBs (eNBs) 105.
- eNBs evolved NodeBs
- a base station 105 may be connected by an S1 interface to the core network 130.
- the core network may be an evolved packet core (EPC) , which may include at least one mobility management entity (MME) , at least one serving gateway (S-GW) , and at least one Packet Data Network (PDN) gateway (P-GW) .
- the MME may be the control node that processes the signaling between the UE 115 and the EPC. All user Internet Protocol (IP) packets may be transferred through the S-GW, which itself may be connected to the P-GW.
- the P-GW may provide IP address allocation as well as other functions.
- the P-GW may be connected to the network operators IP services.
- the operators IP services may include the Internet, the Intranet, an IP Multimedia Subsystem (IMS) , and a Packet-Switched (PS) Streaming Service.
- IMS IP Multimedia Subsystem
- PS Packet-Switched
- the core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions.
- IP Internet Protocol
- At least some of the network devices, such as base station 105-a may include subcomponents such as an access network entity 105-b, which may be an example of an access node controller (ANC) .
- Each access network entity 105-b may communicate with a number of UEs 115 through a number of other access network transmission entities 105-c, each of which may be an example of a smart radio head, or a transmission/reception point (TRP) .
- TRP transmission/reception point
- various functions of each access network entity or base station 105 may be distributed across various network devices (e.g., radio heads and access network controllers) or consolidated into a single network device (e.g., a base station 105) .
- Wireless communications system 100 may operate in an ultra-high frequency (UHF) region using frequency bands from 300 MHz to 3 GHz. This region may also be known as the decimeter band, since the wavelengths range from approximately one decimeter to one meter in length.
- UHF waves may propagate mainly by line of sight, and may be blocked by buildings and environmental features. However, the waves may penetrate walls sufficiently to provide service to UEs 115 located indoors. Transmission of UHF waves is characterized by smaller antennas and shorter range (e.g., less than 100 km) compared to transmission using the smaller frequencies (and longer waves) of the high frequency (HF) or very high frequency (VHF) portion of the spectrum.
- HF high frequency
- VHF very high frequency
- Wireless communications system 100 may also operate in a super high frequency (SHF) region using frequency bands from 3 GHz to 30 GHz, otherwise known as the centimeter band.
- wireless communication system 100 may also utilize extremely high frequency (EHF) portions of the spectrum (e.g., from 30 GHz to 300 GHz) , also known as the millimeter band.
- EHF extremely high frequency
- Systems that use this region may be referred to as millimeter wave (mmW) systems.
- mmW millimeter wave
- EHF antennas may be even smaller and more closely spaced than UHF antennas. In some cases, this may facilitate use of antenna arrays within a UE 115 (e.g., for directional beamforming) .
- EHF transmissions may be subject to even greater atmospheric attenuation and shorter range than UHF transmissions. Techniques disclosed herein may be employed across transmissions that use one or more different frequency regions.
- Wireless communications system 100 may support millimeter wave (mmW) communications between UEs 115 and base stations 105.
- Devices operating in mmW, SHF, or EHF bands may have multiple antennas to allow beamforming. That is, a base station 105 may use multiple antennas or antenna arrays to conduct beamforming operations for directional communications with a UE 115.
- Beamforming (which may also be referred to as spatial filtering or directional transmission) is a signal processing technique that may be used at a transmitter (e.g., a base station 105) to shape and/or steer an overall antenna beam in the direction of a target receiver (e.g., a UE 115) .
- base station 105 may have an antenna array with a number of rows and columns of antenna ports that the base station 105 may use for beamforming in its communication with UE 115. Signals may be transmitted multiple times in different directions (e.g., each transmission may be beamformed differently) .
- a mmW receiver e.g., a UE 115
- MIMO wireless systems use a transmission scheme between a transmitter (e.g., a base station 105) and a receiver (e.g., a UE 115) , where both transmitter and receiver are equipped with multiple antennas.
- a transmitter e.g., a base station 105
- a receiver e.g., a UE 115
- the antennas of a base station 105 or UE 115 may be located within one or more antenna arrays, which may support beamforming or MIMO operation.
- One or more base station antennas or antenna arrays may be collocated at an antenna assembly, such as an antenna tower.
- antennas or antenna arrays associated with a base station 105 may be located in diverse geographic locations.
- a base station 105 may use multiple antennas or antenna arrays to conduct beamforming operations for directional communications with a UE 115.
- wireless communications system 100 may be a packet-based network that operate according to a layered protocol stack.
- communications at the bearer or Packet Data Convergence Protocol (PDCP) layer may be IP-based.
- a Radio Link Control (RLC) layer may in some cases perform packet segmentation and reassembly to communicate over logical channels.
- RLC Radio Link Control
- a Medium Access Control (MAC) layer may perform priority handling and multiplexing of logical channels into transport channels.
- the MAC layer may also use HARQ to provide retransmission at the MAC layer to improve link efficiency.
- the Radio Resource Control (RRC) protocol layer may provide establishment, configuration, and maintenance of an RRC connection between a UE 115 and a network device 105-c, network device 105-b, or core network 130 supporting radio bearers for user plane data.
- RRC Radio Resource Control
- PHY Physical
- SFN system frame number
- Each frame may include ten 1ms subframes numbered from 0 to 9.
- a subframe may be further divided into two . 5ms slots, each of which contains 6 or 7 modulation symbol periods (depending on the length of the cyclic prefix prepended to each symbol) . Excluding the cyclic prefix, each symbol contains 2048 sample periods.
- the subframe may be the smallest scheduling unit, also known as a TTI.
- a TTI may be shorter than a subframe or may be dynamically selected (e.g., in short TTI bursts or in selected component carriers using short TTIs) .
- a resource element may consist of one symbol period and one subcarrier (e.g., a 15 KHz frequency range) .
- a resource block may contain 12 consecutive subcarriers in the frequency domain and, for a normal cyclic prefix in each orthogonal frequency-division multiplexing (OFDM) symbol, 7 consecutive OFDM symbols in the time domain (1 slot) , or 84 resource elements.
- the number of bits carried by each resource element may depend on the modulation scheme (the configuration of symbols that may be selected during each symbol period) . Thus, the more resource blocks that a UE receives and the higher the modulation scheme, the higher the data rate may be.
- Wireless communications system 100 may support operation on multiple cells or carriers, a feature which may be referred to as carrier aggregation (CA) or multi-carrier operation.
- a carrier may also be referred to as a component carrier (CC) , a layer, a channel, etc.
- CC component carrier
- the terms “carrier, ” “component carrier, ” “cell, ” and “channel” may be used interchangeably herein.
- a UE 115 may be configured with multiple downlink CCs and one or more uplink CCs for carrier aggregation.
- Carrier aggregation may be used with both frequency division duplexing (FDD) and time division duplexing (TDD) component carriers.
- FDD frequency division duplexing
- TDD time division duplexing
- wireless communications system 100 may utilize enhanced component carriers (eCCs) .
- eCC may be characterized by one or more features including: wider bandwidth, shorter symbol duration, shorter TTIs, and modified control channel configuration.
- an eCC may be associated with a carrier aggregation configuration or a dual connectivity configuration (e.g., when multiple serving cells have a suboptimal or non-ideal backhaul link) .
- An eCC may also be configured for use in unlicensed spectrum or shared spectrum (where more than one operator is allowed to use the spectrum) .
- An eCC characterized by wide bandwidth may include one or more segments that may be utilized by UEs 115 that are not capable of monitoring the whole bandwidth or prefer to use a limited bandwidth (e.g., to conserve power) .
- an eCC may utilize a different symbol duration than other CCs, which may include use of a reduced symbol duration as compared with symbol durations of the other CCs.
- a shorter symbol duration is associated with increased subcarrier spacing.
- a device such as a UE 115 or base station 105, utilizing eCCs may transmit wideband signals (e.g., 20, 40, 60, 80 MHz, etc. ) at reduced symbol durations (e.g., 16.67 microseconds) .
- a TTI in eCC may consist of one or multiple symbols. In some cases, the TTI duration (that is, the number of symbols in a TTI) may be variable.
- a shared radio frequency spectrum band may be utilized in an NR shared spectrum system.
- an NR shared spectrum may utilize any combination of licensed, shared, and unlicensed spectrums, among others.
- the flexibility of eCC symbol duration and subcarrier spacing may allow for the use of eCC across multiple spectrums.
- NR shared spectrum may increase spectrum utilization and spectral efficiency, specifically through dynamic vertical (e.g., across frequency) and horizontal (e.g., across time) sharing of resources.
- wireless communications system 100 may utilize both licensed and unlicensed radio frequency spectrum bands.
- wireless communications system 100 may employ LTE License Assisted Access (LTE-LAA) or LTE Unlicensed (LTE U) radio access technology or NR technology in an unlicensed band such as the 5Ghz Industrial, Scientific, and Medical (ISM) band.
- LTE-LAA LTE License Assisted Access
- LTE U LTE Unlicensed
- NR New Radio
- unlicensed band such as the 5Ghz Industrial, Scientific, and Medical (ISM) band.
- wireless devices such as base stations 105 and UEs 115 may employ listen-before-talk (LBT) procedures to ensure the channel is clear before transmitting data.
- LBT listen-before-talk
- operations in unlicensed bands may be based on a CA configuration in conjunction with CCs operating in a licensed band.
- Operations in unlicensed spectrum may include downlink transmissions, uplink transmissions, or both.
- Duplexing in unlicensed spectrum may be based on FDD,
- FIG. 2 illustrates an example of a wireless communications system 200 that supports encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure.
- the wireless communications system 200 includes a transmitting entity 205 and a receiving entity 210.
- the entities 205, 210 may communicate codewords 220 via a communication link 215 (sometimes the communication link 215 may be wireless) , where the codewords are encoded using a form of block coding or linear block coding.
- the transmitting entity 205 may be an example of a base station 105 or a UE 115 as described with reference to FIG. 1.
- the receiving entity 210 may be an example of a base station 105 or a UE 115 as described with reference to FIG. 1.
- the communication link 215 may be an example of the communication links 125 described with reference to FIG. 1.
- the wireless communications system 200 may use block coding as an error-correcting code for information transmitted using the communication link 215.
- errors may be introduced into a codeword transmitted over communication link 215 due to noise or interference (e.g., a lossy channel) .
- Block coding may provide ways to detect when errors occur.
- block coding may be used to correct at least some errors that occur, in addition to detecting the errors.
- the transmitting entity 205 may generate a codeword 220-a based on an information vector 225.
- the transmitting entity 205 may include a data source 224 that generates the information vector 225.
- the data source 224 may include higher layers of a radio access technology or other circuitry of the transmitting entity 205.
- an information vector may refer to a collection of bits or symbols to be transmitted over a network to another entity, where the bits or symbols may include information for a particular application.
- the information vector 225 may be a 1 x Q array of bits or symbols.
- the information vector 225 may include control information.
- the transmitting entity 205 may optionally incorporate a parity vector 230 with the information vector 225.
- the parity vector 230 may be configured as a set of information used to detect or correct errors that occur in the information vector 225 during transmission.
- the parity vector 230 may be generated based on the information vector 225.
- the parity vector 230 may refer to a collection of bits or symbols to be transmitted over a network to another entity, where the bits or symbols may include information for detecting or correcting errors in a coded information vector.
- the parity vector 230 may be a 1 x R array of bits or symbols.
- the parity vector 230 may be combined with the information vector 225.
- the parity vector 230 may be appended to the end of the information vector 225.
- the parity vector 230 may be interleaved with the information vector 225.
- the parity vector 230 may be inserted into any location of the information vector 225.
- the parity vector 230 is not added to the information vector 225.
- the term information vector may refer to the vector that includes both the information vector 225 and the parity vector 230.
- the transmitting entity 205 may encode the resulting information vector using an encoder 235 to obtain the codeword 220-a.
- the encoder 235 may receive both the information vector (e.g., the information vector 225 and optionally the parity vector 230) and a generator matrix 240.
- the generator matrix 240 may be stored in a memory 239 of the transmitting entity 205, in some examples.
- the generator matrix 240 may be array of bits or symbols having a size of K x N.
- the generator matrix 240 may be configured to generate a 1 x N codeword 220-a from a 1 x K information vector.
- the information vector may be multiplied by the generator matrix 240 to obtain the codeword 220-a. Additional features of the generator matrix 240 are described with greater detail below.
- the codeword 220-a may be a vector of bits or symbols having a size of 1 x N.
- a parity check matrix 260 that corresponds to the generator matrix 240 may be used by a receiving entity 210 to decode the codeword 220-b.
- the transmitting entity 205 may include a transmitter 245 to transmit the codeword 220-a (e.g., via an antenna) .
- the transmitter 245 may be used to establish the communication link 215.
- the receiving entity 210 may include a receiver 250 to receive the codeword 220-b (e.g., via an antenna) .
- the received codeword 220-b may be an example of the transmitted codeword 220-a multiplied with the wireless channel used for transmission.
- the received codeword 220-b may include one or more errors that were not part of the transmitted codeword 220-a.
- the receiving entity 210 may decode the codeword 220-b using a decoder 255.
- the decoder 255 may generate or identify a parity check matrix 260.
- the parity check matrix 260 may be configured to decode the codeword 220-b encoded by its corresponding generator matrix 240.
- the parity check matrix 260 may be stored in a memory 259 of the receiving entity 210, in some examples.
- the parity check matrix 260 may be an array of bits or symbols having a size of N x K.
- the parity check matrix 260 may be configured to generate a 1 x K syndrome vector 265 from the 1 x N codeword 220-b.
- the syndrome vector 265 may represent the information vector 225 (e.g., when correctly decoded according to the parity check matrix 260) .
- demapped symbols of the codeword 220-b may be processed using the parity check matrix 260 to obtain the syndrome vector 265.
- log-likelihood ratios (LLRs) representing the demapped symbols may be iteratively or recursively processed to determine hard bits or symbols for the syndrome vector 265.
- LLRs log-likelihood ratios
- the receiving entity 210 After obtaining the syndrome vector 265, the receiving entity 210 perform any number of operations to obtain the information vector 225 from the syndrome vector 265 (e.g., determining if an error check function of a parity vector of the syndrome vector passes, etc. ) .
- the generator matrix 240 and the parity check matrix 260 may include a number of different features to provide error detection and/or error correction.
- the matrices 240, 260 may be one of a number of different types of block codes.
- the matrices 240, 260 may be a Golay-based codes, Reed-Solomon-based codes, Reed-Muller-based codes, Hamming-based codes, etc.
- the matrices 240, 260 may be examples of a systematic block code.
- the generator matrix 240 and the parity check matrix 260 may be related.
- Such non-systematic block codes may improve the performance of data transfer using the communication link 215.
- the receiving entity 210 may already know at least some of the systematic bits or symbols being transmitted in a codeword 220-a. For example, some bits of an information vector may be unused in certain situations, and set to a known value. In such cases, these known bits or symbols are effectively shortened (the codeword has deterministic corresponding bits which do not provide any additional coded information for the unknown bits) . As such, the effective codeword length is reduced and system performance may be degraded.
- the receiving entity 210 may be aware of known bits or symbols in a variety of applications. For example, in LTE carrier-aggregation, the receiving entity 210 may be aware of some of the information being transmitted as part of a hybrid automatic repeat request (HARQ) acknowledgement (ACK) or HARQ negative acknowledgement (NACK) . Each ACK/NACK may correspond to one transport block per subcarrier. For non-scheduled sub-carriers, the ACK/NACK may not be transmitted and may appear to a transmitting entity 205 (e.g., base station 105) like a known bit or symbol.
- HARQ hybrid automatic repeat request
- NACK HARQ negative acknowledgement
- FIG. 3 illustrates examples of block code structures 300 that support encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure.
- the block code structures 300 may include a systematic block code matrix 305 and a non-systematic block code matrix 310 obtained based on the systematic block code matrix 305.
- FIG. 3 includes an index 315 to provide common references between the two matrices 305, 310.
- the matrices 305, 310 may be examples of the generator matrix 240 or the parity check matrix 260 described with reference to FIG. 2.
- the matrices 305, 310 may be examples of Golay-based matrices.
- the block code structures 300 illustrate a process for generating the non-systematic block code matrix 310 based on the systematic block code matrix 305.
- the process illustrated by the block code structures 300 may be referred to as a transform of the systematic block code matrix 305 to the non-systematic block code matrix 310.
- the process or transform may be applied to systematic generator matrices or systematic parity check matrices.
- the systematic block code matrix 305 may be partitioned into a plurality of subsets of information 320 along a first dimension.
- the subsets of information 320 may be associated with an index value of the index 315.
- the subsets of information 320 may be used to obtain subsets of information 325 for the non-systematic block code matrix 310.
- the subsets of information 320 may be vectors of bits or symbols.
- the vector may be an array of size 1 x X, where X is one of the dimensionalities of the systematic block code matrix 305.
- the subsets of information 320 may represent rows of the systematic block code matrix 305.
- a first subset of information 325-a of the non-systematic block code matrix 310 may be obtained based on a first subset of information 320-a of the systematic block code matrix 305.
- the first subset of information 325-a is a replica of the first subset of information 320-a.
- the index value for the subset of information 325-a may be the same as the index value for the subset of information 320-a.
- the subset of information 325 may be an example of the subset of information 320, and, as such, may include similar features or characteristics.
- the second subset of information 325-b of the non-systematic block code matrix 310 may be based on the second subset of information 320-b of the systematic block code matrix 305 and the first subset of information 325-a of the non-systematic block code matrix 310.
- the first subset of information 325-a may be added to the second subset of information 320-b to obtain the second subset of information 325-b.
- a subset of information 320 of the systematic block code matrix 305 having the same particular index value may be combined with a subset of information of the non-systematic block code matrix 310 having a preceding index value.
- the operation represented by the block 330-a may be a vector addition, bit-wise OR operation, or a bit-wise XOR operation.
- Each of the subsets of information 325-J may be obtained based on a subset of information 320-J having the same index value and a subset of information 325- (J-1) having a preceding index value.
- the preceding index value is one less than the index value of the current subset of information 325 being obtained or generated.
- the process described above may be successively performed until the last subset of information 320-J of the systematic block code matrix 305 has been transformed into a subset of information 325-J of the non-systematic block code matrix 310.
- the non-systematic block code matrix 310 may perform equally well as the systematic matrix 305 when the receiving entity 210 does not know any bits or symbols of the information vector 225. However, the non-systematic block code matrix 310 may exhibit improved performance over the systematic matrix 305 when the receiving entity 210 already knows at least one of the bits or symbols of the information vector 225.
- the matrices 305, 310 may support a plurality of coded block lengths, a plurality of information vector lengths, a plurality of resultant vector lengths, or a plurality of codeword vector lengths.
- the techniques for transforming a systematic block code matrix 305 to a non-systematic block code matrix 310 may be used with matrices of any dimension (e.g., having input/output vector lengths of any size) .
- FIG. 4 illustrates an example of generator matrices 400 that support encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure.
- the generator matrices 400 may include a systematic Golay-based generator matrix 405 and a non-systematic Golay-based generator matrix 410.
- the non-systematic Golay-based generator matrix 410 may be an example of a non-systematic matrix using the process or transform described with reference to FIG. 2. As such, the non-systematic Golay-based generator matrix 410 may be based on the systematic Golay-based generator matrix 405.
- the systematic Golay-based generator matrix 405 may include an identity portion 415 and an error detection/correction portion 420.
- the systematic Golay-based generator matrix 405 is a 12 x 32 Golay-based array.
- the systematic Golay-based generator matrix 405 may be an example of the systematic matrix 305 described with reference to FIG. 3.
- the non-systematic Golay-based generator matrix 410 may include a first portion 425 and a second portion 430.
- the first portion 425 may be based on the identity portion 415 of the systematic Golay-based generator matrix 405.
- the second portion 430 may be an error detection/correction portion that is based on the error detection/correction portion 420 of the systematic Golay-based generator matrix 405.
- the non-systematic Golay-based generator matrix 410 is a 12 x 32 Golay-based array.
- the non-systematic Golay-based generator matrix 410 may be an example of the non-systematic block code matrix 310 described with reference to FIG. 3.
- the non-systematic Golay-based block codes may provide a coding gain for known bits or symbols as well as unknown bits or symbols. For example, where known bits or symbols are interspersed among unknown bits or symbols in the information vector, codeword bits will generally depend on both known and unknown bits of the information vector.
- an information vector may be interleaved before coding using the non-systematic Golay-based block code to break up blocks of known bits.
- the first portion 425 may include a line of symmetry dividing the first portion into two sections.
- a first section of the first portion 425 may include bits or symbols of a first type (e.g., logic ‘1’ ) .
- the second section of the first portion 425 may include bits or symbols of a second type (e.g., logic ‘0’ ) different from the first type.
- the first portion 425 may include a plurality of vectors of identical bits or symbols.
- a first column vector of the first portion 425 may include a first bit or symbol in every data position.
- a second column vector of the first portion 425 may include a second bit or symbol in every data position.
- the second column vector of the first portion 425 may be a different length than the first column vector of the first portion 425.
- FIG. 5 illustrates an example of a table 500 that supports encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure.
- the table 500 may be used in conjunction with Equations (1) and (2) to define an encoder employing a non-systematic Golay-based generator matrix.
- the table 500 may describe a non-systematic Golay-based generator matrix that supports a plurality of input vector lengths and a plurality of output vector lengths.
- the non-systematic Golay-based generator matrix illustrated in table 500 may be generated from a systematic Golay-based generator matrix according to the techniques described with reference to FIG. 3.
- Equations (1) and (2) represent encoder operations using a non-systematic Golay-based generator matrix based on the length of the output vectors (e.g., codeword vectors) and the input vectors (e.g., information vectors or) .
- the term A represents the length of the input vector (e.g., information vector)
- the term a_i represents the current input bit or symbol being transformed
- the term B represents the length of the output vector (e.g., codeword vector)
- the term b_i represents the current output bit or symbol being determined.
- Equation (1) represents operations performed when the length of the output vector of the encoder is 24 bits or symbols or 32 bits or symbols.
- a transmitting entity 205 may encode an information vector 225 or a resultant vector using the combination of Equation (1) and the table 500.
- the Equation (1) and the table 500 may cooperate to define a non-systematic Golay-based generator matrix for output vector lengths of 24 bits or symbols or 32 bits or symbols.
- Equation (2) represents operations performed when the length of the output vector of the encoder is 20 bits or symbols.
- a transmitting entity 205 may encode an information vector 225 or a resultant vector using the combination of Equation (2) and the table 500.
- the Equation (2) and the table 500 may cooperate to define a non-systematic Golay-based generator matrix for output vector lengths of 20 bits or symbols.
- Equations (1) and (2) cooperate with the table 500 to define non-systematic Golay-based generator matrices for output vector lengths of 20, 24, and 32 bits or symbols
- other matrices may defined in a similar fashion.
- equations and tables may be used to define non-systematic Golay-based parity check matrices.
- equations and tables may be used to define non-systematic matrices based on other types of systematic block codes (e.g., Reed-Muller, Reed-Solomon, etc. ) .
- equations and tables may be used to define non-systematic matrices based on other lengths of output vectors.
- FIG. 6 shows a block diagram 600 of a wireless device 605 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Wireless device 605 may be an example of aspects of a transmitting entity 205 as described with reference to FIG. 2.
- Wireless device 605 may include receiver 610, transmitting entity communications manager 615, and transmitter 620.
- Wireless device 605 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
- Receiver 610 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to encoding and decoding using non-systematic block codes, etc. ) . Information may be passed on to other components of the device.
- the receiver 610 may be an example of aspects of the transceiver 835 described with reference to FIG. 8.
- the receiver 610 may utilize a single antenna or a set of antennas.
- Transmitting entity communications manager 615 may be an example of aspects of the transmitting entity communications manager 815 described with reference to FIG. 8. Transmitting entity communications manager 615 and/or at least some of its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the transmitting entity communications manager 615 and/or at least some of its various sub-components may be executed by a general-purpose processor, a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , an field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure.
- DSP digital signal processor
- ASIC application-specific integrated circuit
- FPGA field-programmable gate array
- the transmitting entity communications manager 615 and/or at least some of its various sub-components may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical devices.
- transmitting entity communications manager 615 and/or at least some of its various sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure.
- transmitting entity communications manager 615 and/or at least some of its various sub-components may be combined with one or more other hardware components, including but not limited to an I/O component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
- Transmitting entity communications manager 615 may identify an information vector to be transmitted via a wireless communication link, determine a codeword based on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, where the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a set of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- Transmitter 620 may transmit signals generated by other components of the device.
- the transmitter 620 may be collocated with a receiver 610 in a transceiver module.
- the transmitter 620 may be an example of aspects of the transceiver 835 described with reference to FIG. 8.
- the transmitter 620 may utilize a single antenna or a set of antennas.
- FIG. 7 shows a block diagram 700 of a wireless device 705 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Wireless device 705 may be an example of aspects of a wireless device 605 or a transmitting entity 205 as described with reference to FIGs. 2 and 6.
- Wireless device 705 may include receiver 710, transmitting entity communications manager 715, and transmitter 720.
- Wireless device 705 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
- Receiver 710 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to encoding and decoding using non-systematic block codes, etc. ) . Information may be passed on to other components of the device.
- the receiver 710 may be an example of aspects of the transceiver 835 described with reference to FIG. 8.
- the receiver 710 may utilize a single antenna or a set of antennas.
- Transmitting entity communications manager 715 may be an example of aspects of the transmitting entity communications manager 815 described with reference to FIG. 8. Transmitting entity communications manager 715 may also include information manager 725 and encoding manager 730.
- Information manager 725 may identify an information vector to be transmitted via a wireless communication link. In some cases, one or more bits of the information vector are known to a decoder of the codeword.
- Encoding manager 730 may determine a codeword based on the information vector by encoding the information vector using a non-systematic Golay-based generator matrix.
- the non-systematic Golay-based generator matrix may be generated by: partitioning a systematic Golay-based generator matrix into a set of subsets along a first dimension, obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix, and obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- each of a set of indexed subsets of the non-systematic Golay-based generator matrix may be successively obtained based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- the obtaining the second subset of the non-systematic Golay-based generator matrix includes adding (e.g., XOR’ing) or OR’ing respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- each of the set of subsets includes a vector of the systematic Golay-based generator matrix.
- the systematic Golay-based generator matrix supports a set of coded block lengths.
- the systematic Golay-based generator matrix supports a set of information vector lengths.
- Transmitter 720 may transmit signals generated by other components of the device.
- the transmitter 720 may be collocated with a receiver 710 in a transceiver module.
- the transmitter 720 may be an example of aspects of the transceiver 835 described with reference to FIG. 8.
- the transmitter 720 may utilize a single antenna or a set of antennas.
- FIG. 8 shows a diagram of a system 800 including a device 805 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Device 805 may be an example of or include the components of wireless device 605, wireless device 705, or a transmitting entity 205 as described above, e.g., with reference to FIGs. 2, 6 and 7.
- Device 805 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including transmitting entity communications manager 815, processor 820, memory 825, software 830, transceiver 835, and I/O controller 840. These components may be in electronic communication via one or more busses (e.g., bus 810) .
- busses e.g., bus 810
- Processor 820 may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a central processing unit (CPU) , a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) .
- processor 820 may be configured to operate a memory array using a memory controller.
- a memory controller may be integrated into processor 820.
- Processor 820 may be configured to execute computer-readable instructions stored in a memory to perform various functions (e.g., functions or tasks supporting encoding and decoding using non-systematic block codes) .
- Memory 825 may include random access memory (RAM) and read only memory (ROM) .
- the memory 825 may store computer-readable, computer-executable software 830 including instructions that, when executed, cause the processor to perform various functions described herein.
- the memory 825 may contain, among other things, a basic input/output system (BIOS) which may control basic hardware and/or software operation such as the interaction with peripheral components or devices.
- BIOS basic input/output system
- Software 830 may include code to implement aspects of the present disclosure, including code to support encoding and decoding using non-systematic block codes.
- Software 830 may be stored in a non-transitory computer-readable medium such as system memory or other memory. In some cases, the software 830 may not be directly executable by the processor but may cause a computer (e.g., when compiled and executed) to perform functions described herein.
- Transceiver 835 may communicate bi-directionally, via one or more antennas, wired, or wireless links as described above.
- the transceiver 835 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver.
- the transceiver 835 may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.
- I/O controller 840 may manage input and output signals for device 805. I/O controller 840 may also manage peripherals not integrated into device 805. In some cases, I/O controller 840 may represent a physical connection or port to an external peripheral. In some cases, I/O controller 840 may utilize an operating system such as or another known operating system. In other cases, I/O controller 840 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, I/O controller 840 may be implemented as part of a processor. In some cases, a user may interact with device 805 via I/O controller 840 or via hardware components controlled by I/O controller 840.
- FIG. 9 shows a block diagram 900 of a wireless device 905 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Wireless device 905 may be an example of aspects of a receiving entity 210 as described with reference to FIG. 2.
- Wireless device 905 may include receiver 910, receiving entity communications manager 915, and transmitter 920.
- Wireless device 905 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
- Receiver 910 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to encoding and decoding using non-systematic block codes, etc. ) . Information may be passed on to other components of the device.
- the receiver 910 may be an example of aspects of the transceiver 1135 described with reference to FIG. 11.
- the receiver 910 may utilize a single antenna or a set of antennas.
- Receiving entity communications manager 915 may be an example of aspects of the receiving entity communications manager 1115 described with reference to FIG. 11.
- Receiving entity communications manager 915 and/or at least some of its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the receiving entity communications manager 915 and/or at least some of its various sub-components may be executed by a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure. The receiving entity communications manager 915 and/or at least some of its various sub-components may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical devices.
- receiving entity communications manager 915 and/or at least some of its various sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure. In other examples, receiving entity communications manager 915 and/or at least some of its various sub-components may be combined with one or more other hardware components, including but not limited to an I/O component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
- Receiving entity communications manager 915 may receive a codeword communicated via a wireless communication link, determine an information vector based on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, where the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a set of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- Transmitter 920 may transmit signals generated by other components of the device.
- the transmitter 920 may be collocated with a receiver 910 in a transceiver module.
- the transmitter 920 may be an example of aspects of the transceiver 1135 described with reference to FIG. 11.
- the transmitter 920 may utilize a single antenna or a set of antennas.
- FIG. 10 shows a block diagram 1000 of a wireless device 1005 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Wireless device 1005 may be an example of aspects of a wireless device 905 or a receiving entity 210 as described with reference to FIGs. 2 and 9.
- Wireless device 1005 may include receiver 1010, receiving entity communications manager 1015, and transmitter 1020.
- Wireless device 1005 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
- Receiver 1010 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to encoding and decoding using non-systematic block codes, etc. ) . Information may be passed on to other components of the device.
- the receiver 1010 may be an example of aspects of the transceiver 1135 described with reference to FIG. 11.
- the receiver 1010 may utilize a single antenna or a set of antennas.
- Receiving entity communications manager 1015 may be an example of aspects of the receiving entity communications manager 1115 described with reference to FIG. 11.
- Receiving entity communications manager 1015 may also include information manager 1025 and decoding manager 1030.
- Information manager 1025 may receive a codeword communicated via a wireless communication link. In some cases, one or more bits of the information vector are known for the decoding of the codeword.
- Decoding manager 1030 may determine an information vector based on the codeword by decoding the codeword using a non-systematic Golay-based generator matrix.
- the non-systematic Golay-based generator matrix may be generated by: partitioning a systematic Golay-based generator matrix into a set of subsets along a first dimension, obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix, obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- each of a set of indexed subsets of the non-systematic Golay-based generator matrix may be successively obtained based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- the obtaining the second subset of the non-systematic Golay-based generator matrix includes adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- each of the set of subsets includes a vector of the systematic Golay-based generator matrix.
- the systematic Golay-based generator matrix supports a set of coded block lengths.
- the systematic Golay-based generator matrix supports a set of information vector lengths.
- Transmitter 1020 may transmit signals generated by other components of the device.
- the transmitter 1020 may be collocated with a receiver 1010 in a transceiver module.
- the transmitter 1020 may be an example of aspects of the transceiver 1135 described with reference to FIG. 11.
- the transmitter 1020 may utilize a single antenna or a set of antennas.
- FIG. 11 shows a diagram of a system 1100 including a device 1105 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- Device 1105 may be an example of or include the components of receiving entity 210 as described above, e.g., with reference to FIG. 2.
- Device 1105 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including receiving entity communications manager 1115, processor 1120, memory 1125, software 1130, transceiver 1135, and I/O controller 1140. These components may be in electronic communication via one or more busses (e.g., bus 1110) .
- busses e.g., bus 1110
- Processor 1120 may include an intelligent hardware device, (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) .
- processor 1120 may be configured to operate a memory array using a memory controller.
- a memory controller may be integrated into processor 1120.
- Processor 1120 may be configured to execute computer-readable instructions stored in a memory to perform various functions (e.g., functions or tasks supporting encoding and decoding using non-systematic block codes) .
- Memory 1125 may include RAM and ROM.
- the memory 1125 may store computer-readable, computer-executable software 1130 including instructions that, when executed, cause the processor to perform various functions described herein.
- the memory 1125 may contain, among other things, a BIOS which may control basic hardware and/or software operation such as the interaction with peripheral components or devices.
- Software 1130 may include code to implement aspects of the present disclosure, including code to support encoding and decoding using non-systematic block codes.
- Software 1130 may be stored in a non-transitory computer-readable medium such as system memory or other memory. In some cases, the software 1130 may not be directly executable by the processor but may cause a computer (e.g., when compiled and executed) to perform functions described herein.
- Transceiver 1135 may communicate bi-directionally, via one or more antennas, wired, or wireless links as described above.
- the transceiver 1135 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver.
- the transceiver 1135 may also include a modem to modulate the packets and provide the modulated packets to the antennas for transmission, and to demodulate packets received from the antennas.
- I/O controller 1140 may manage input and output signals for device 1105. I/O controller 1140 may also manage peripherals not integrated into device 1105. In some cases, I/O controller 1140 may represent a physical connection or port to an external peripheral. In some cases, I/O controller 1140 may utilize an operating system such as or another known operating system. In other cases, I/O controller 1140 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, I/O controller 1140 may be implemented as part of a processor. In some cases, a user may interact with device 1105 via I/O controller 1140 or via hardware components controlled by I/O controller 1140.
- FIG. 12 shows a flowchart illustrating a method 1200 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- the operations of method 1200 may be implemented by a transmitting entity 205 or its components as described herein.
- the operations of method 1200 may be performed by a transmitting entity communications manager as described with reference to FIGs. 6 through 8.
- a transmitting entity 205 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the transmitting entity 205 may perform aspects of the functions described below using special-purpose hardware.
- the transmitting entity 205 may identify an information vector to be transmitted via a wireless communication link.
- the operations of block 1205 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1205 may be performed by an information manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension.
- the operations of block 1210 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1210 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix.
- the operations of block 1215 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1215 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the operations of block 1220 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1220 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- FIG. 13 shows a flowchart illustrating a method 1300 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- the operations of method 1300 may be implemented by a transmitting entity 205 or its components as described herein.
- the operations of method 1300 may be performed by a transmitting entity communications manager as described with reference to FIGs. 6 through 8.
- a transmitting entity 205 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the transmitting entity 205 may perform aspects of the functions described below using special-purpose hardware.
- the transmitting entity 205 may identify an information vector to be transmitted via a wireless communication link.
- the operations of block 1305 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1305 may be performed by an information manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension.
- the operations of block 1310 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1310 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix.
- the operations of block 1315 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1315 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the operations of block 1320 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1320 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- the transmitting entity 205 may successively obtain each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- the operations of block 1325 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1325 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
- FIG. 14 shows a flowchart illustrating a method 1400 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- the operations of method 1400 may be implemented by a receiving entity 210 or its components as described herein.
- the operations of method 1400 may be performed by a receiving entity communications manager as described with reference to FIGs. 9 through 11.
- a receiving entity 210 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the receiving entity 210 may perform aspects of the functions described below using special-purpose hardware.
- the receiving entity 210 may receive a codeword communicated via a wireless communication link.
- the operations of block 1405 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1405 may be performed by an information manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension.
- the operations of block 1410 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1410 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix.
- the operations of block 1415 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1415 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the operations of block 1420 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1420 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- FIG. 15 shows a flowchart illustrating a method 1500 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
- the operations of method 1500 may be implemented by a receiving entity 210 or its components as described herein.
- the operations of method 1500 may be performed by a receiving entity communications manager as described with reference to FIGs. 9 through 11.
- a receiving entity 210 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the receiving entity 210 may perform aspects of the functions described below using special-purpose hardware.
- the receiving entity 210 may receive a codeword communicated via a wireless communication link.
- the operations of block 1505 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1505 may be performed by an information manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension.
- the operations of block 1510 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1510 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix.
- the operations of block 1515 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1515 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- the operations of block 1520 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1520 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- the receiving entity 210 may successively obtain each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- the operations of block 1525 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1525 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
- CDMA code division multiple access
- TDMA time division multiple access
- FDMA frequency division multiple access
- OFDMA orthogonal frequency division multiple access
- SC-FDMA single carrier frequency division multiple access
- CDMA2000 covers IS-2000, IS-95, and IS-856 standards.
- IS-2000 Releases may be commonly referred to as CDMA2000 1X, 1X, etc.
- IS-856 (TIA-856) is commonly referred to as CDMA2000 1xEV-DO, High Rate Packet Data (HRPD) , etc.
- UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA.
- WCDMA Wideband CDMA
- a TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM) .
- GSM Global System for Mobile Communications
- An OFDMA system may implement a radio technology such as Ultra Mobile Broadband (UMB) , Evolved UTRA (E-UTRA) , Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20, Flash-OFDM, etc.
- UMB Ultra Mobile Broadband
- E-UTRA Evolved UTRA
- IEEE Institute of Electrical and Electronics Engineers
- Wi-Fi Institute of Electrical and Electronics Engineers
- WiMAX IEEE 802.16
- IEEE 802.20 Flash-OFDM
- UTRA and E-UTRA are part of Universal Mobile Telecommunications System (UMTS) .
- UTRA, E-UTRA, UMTS, LTE, LTE-A, NR, and GSM are described in documents from the organization named “3rd Generation Partnership Project” (3GPP) .
- 3GPP 3rd Generation Partnership
- CDMA2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2) .
- 3GPP2 3rd Generation Partnership Project 2
- the techniques described herein may be used for the systems and radio technologies mentioned above as well as other systems and radio technologies. While aspects of an LTE or an NR system may be described for purposes of example, and LTE or NR terminology may be used in much of the description, the techniques described herein are applicable beyond LTE or NR applications.
- the term evolved node B may be generally used to describe the base stations.
- the wireless communications system or systems described herein may include a heterogeneous LTE/LTE-A or NR network in which different types of eNBs provide coverage for various geographical regions.
- each eNB, next generation NodeB (gNB) , or base station may provide communication coverage for a macro cell, a small cell, or other types of cell.
- the term “cell” may be used to describe a base station, a carrier or component carrier associated with a base station, or a coverage area (e.g., sector, etc. ) of a carrier or base station, depending on context.
- Base stations may include or may be referred to by those skilled in the art as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, eNodeB (eNB) , gNB, Home NodeB, a Home eNodeB, or some other suitable terminology.
- the geographic coverage area for a base station may be divided into sectors making up only a portion of the coverage area.
- the wireless communications system or systems described herein may include base stations of different types (e.g., macro or small cell base stations) .
- the UEs described herein may be able to communicate with various types of base stations and network equipment including macro eNBs, small cell eNBs, gNBs, relay base stations, and the like. There may be overlapping geographic coverage areas for different technologies.
- a macro cell generally covers a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by UEs with service subscriptions with the network provider.
- a small cell is a lower-powered base station, as compared with a macro cell, that may operate in the same or different (e.g., licensed, unlicensed, etc. ) frequency bands as macro cells.
- Small cells may include pico cells, femto cells, and micro cells according to various examples.
- a pico cell for example, may cover a small geographic area and may allow unrestricted access by UEs with service subscriptions with the network provider.
- a femto cell may also cover a small geographic area (e.g., a home) and may provide restricted access by UEs having an association with the femto cell (e.g., UEs in a closed subscriber group (CSG) , UEs for users in the home, and the like) .
- An eNB for a macro cell may be referred to as a macro eNB.
- An eNB for a small cell may be referred to as a small cell eNB, a pico eNB, a femto eNB, or a home eNB.
- An eNB may support one or multiple (e.g., two, three, four, and the like) cells (e.g., component carriers) .
- the wireless communications system or systems described herein may support synchronous or asynchronous operation.
- the base stations may have similar frame timing, and transmissions from different base stations may be approximately aligned in time.
- the base stations may have different frame timing, and transmissions from different base stations may not be aligned in time.
- the techniques described herein may be used for either synchronous or asynchronous operations.
- Each communication link described herein including, for example, wireless communications system 100 and 200 of FIGs. 1 and 2—may include one or more carriers, where each carrier may be a signal made up of multiple sub-carriers (e.g., waveform signals of different frequencies) .
- Information and signals described herein may be represented using any of a variety of different technologies and techniques.
- data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
- a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration) .
- the functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
- Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
- a non-transitory storage medium may be any available medium that can be accessed by a general purpose or special purpose computer.
- non-transitory computer-readable media may comprise RAM, ROM, electrically erasable programmable read only memory (EEPROM) , compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor.
- RAM random access memory
- ROM read only memory
- EEPROM electrically erasable programmable read only memory
- CD compact disk
- magnetic disk storage or other magnetic storage devices or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or
- any connection is properly termed a computer-readable medium.
- the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) , or wireless technologies such as infrared, radio, and microwave
- the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium.
- Disk and disc include CD, laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Techniques are described herein to encode/decode information using a non-systematic Golay-based block code based on a systematic Golay-based block code. The non-systematic Golay-based block code may be generated based on information of the systematic Golay-based block code. In some examples, a subset of information of the non-systematic Golay-based block code may be based on a subset of information from the systematic Golay-based block code and a subset of information form the non-systematic Golay-based block code. The non-systematic Golay-based block code may be configured to support a plurality of lengths of output vectors or input vectors.
Description
The following relates generally to wireless communication, and more specifically to encoding and decoding using non-systematic block codes.
Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power) . Examples of such multiple-access systems include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, and orthogonal frequency division multiple access (OFDMA) systems, (e.g., a Long Term Evolution (LTE) system, or a New Radio (NR) system) . A wireless multiple-access communications system may include a number of base stations or access network nodes, each simultaneously supporting communication for multiple communication devices, which may be otherwise known as user equipment (UE) .
In some wireless communications systems, errors may be introduced into data during transmission and/or processing. Some wireless communications systems may use error correction coding to detect and/or correct errors. An example of error correction coding may be linear block codes.
SUMMARY
The described techniques relate to improved methods, systems, devices, or apparatuses that support encoding and decoding using non-systematic block codes. Generally, the described techniques provide for encoding/decoding information using a non-systematic Golay-based block code which is based on a systematic Golay-based block code. The non-systematic Golay-based block code may be generated based on information of the systematic Golay-based block code and a transform function. In some examples, a subset of information of the non-systematic Golay-based block code may be based on a function of subsets of information from the systematic Golay-based block code. In some examples, a given subset of information of the non-systematic Golay-based block code may be based on a recursive function of a prior subset of information of the non-systematic Golay-based block code and a
subset of information from the systematic Golay-based block code. The non-systematic Golay-based block code may be configured to support a plurality of lengths of output vectors or input vectors.
A method of wireless communication is described. The method may include identifying an information vector to be transmitted via a wireless communication link, determining a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
An apparatus for wireless communication is described. The apparatus may include means for identifying an information vector to be transmitted via a wireless communication link, means for determining a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, means for obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and means for obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
Another apparatus for wireless communication is described. The apparatus may include a processor, memory in electronic communication with the processor, and instructions stored in the memory. The instructions may be operable to cause the processor to identify an information vector to be transmitted via a wireless communication link, determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a
systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
A non-transitory computer readable medium for wireless communication is described. The non-transitory computer-readable medium may include instructions operable to cause a processor to identify an information vector to be transmitted via a wireless communication link, determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, one or more bits of the information vector may be known to a decoder of the codeword.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the obtaining the second subset of the non-systematic Golay-based generator matrix comprises adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the systematic Golay-based generator matrix supports a plurality of coded block lengths.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the systematic Golay-based generator matrix supports a plurality of information vector lengths.
A method of wireless communication is described. The method may include receiving a codeword communicated via a wireless communication link, determining an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
An apparatus for wireless communication is described. The apparatus may include means for receiving a codeword communicated via a wireless communication link, means for determining an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, means for obtaining a first subset of the non-systematic Golay-based generator
matrix based on a first subset of the systematic Golay-based generator matrix, and means for obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
Another apparatus for wireless communication is described. The apparatus may include a processor, memory in electronic communication with the processor, and instructions stored in the memory. The instructions may be operable to cause the processor to receive a codeword communicated via a wireless communication link, determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
A non-transitory computer readable medium for wireless communication is described. The non-transitory computer-readable medium may include instructions operable to cause a processor to receive a codeword communicated via a wireless communication link, determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for obtaining a third subset of the non-systematic Golay-based generator matrix based on a third
subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, one or more bits of the information vector may be known for the decoding of the codeword.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the obtaining the second subset of the non-systematic Golay-based generator matrix comprises adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the systematic Golay-based generator matrix supports a plurality of coded block lengths.
In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the systematic Golay-based generator matrix supports a plurality of information vector lengths.
FIG. 1 illustrates an example of a system for wireless communication that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIG. 2 illustrates an example of a wireless communications system that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIG. 3 illustrates an examples of block code structures that support encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIG. 4 illustrates an example of generator matrices that support encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIG. 5 illustrates an example of a table that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIGs. 6 through 7 show block diagrams of a device that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIG. 8 illustrates a block diagram of a system including a transmitting entity that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIGs. 9 through 10 show block diagrams of a device that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIG. 11 illustrates a block diagram of a system including a receiving entity that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
FIGs. 12 through 15 illustrate methods for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure.
Error correcting code may be used by a wireless communications system to detect and or correct for errors that may inadvertently be introduced to into data being communicated between entities. In some cases, a receiving entity may already know at least
some of the bits or symbols being received from a transmitting entity. Because some of the information is known to the receiving entity, the effective codeword length may be reduced, which may reduce coding gain of the unknown information.
Techniques are described herein to encode/decode information using a non-systematic Golay-based block code that is based on a systematic Golay-based block code. The non-systematic Golay-based block code may be generated using subsets of information (e.g., vectors) of the systematic Golay-based block code. In some examples, a subset of information of the non-systematic Golay-based block code may be based on a subset of information from the systematic Golay-based block code and a subset of information form the non-systematic Golay-based block code. The non-systematic Golay-based block code may be configured to support a plurality of lengths of output vectors or input vectors.
Aspects of the disclosure are initially described in the context of a wireless communications system. Aspects of the disclosure are illustrated by and described with reference to matrices, tables, and block code structures that relate to encoding and decoding using non-systematic block codes. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to encoding and decoding using non-systematic block codes.
FIG. 1 illustrates an example of a wireless communications system 100 in accordance with various aspects of the present disclosure. The wireless communications system 100 includes base stations 105, UEs 115, and a core network 130. In some examples, the wireless communications system 100 may be a Long Term Evolution (LTE) , LTE-Advanced (LTE-A) network, or a New Radio (NR) network. In some cases, wireless communications system 100 may support enhanced broadband communications, ultra-reliable (i.e., mission critical) communications, low latency communications, and communications with low-cost and low-complexity devices. In some cases, the wireless communications system 100 may support error-correcting code using linear block codes. The performance of Golay-based block codes may deteriorate when some of the bits or symbols of the transmitted message are already known to the receiving entity. As such, techniques are described herein to communicate information using a non-systematic Golay-based block code that is based on a systematic Golay-based block code.
In some cases, a UE 115 may also be able to communicate directly with other UEs (e.g., using a peer-to-peer (P2P) or device-to-device (D2D) protocol) . One or more of a group of UEs 115 utilizing D2D communications may be within the coverage area 110 of a cell. Other UEs 115 in such a group may be outside the coverage area 110 of a cell, or otherwise unable to receive transmissions from a base station 105. In some cases, groups of UEs 115 communicating via D2D communications may utilize a one-to-many (1: M) system in which each UE 115 transmits to every other UE 115 in the group. In some cases, a base station 105 facilitates the scheduling of resources for D2D communications. In other cases, D2D communications are carried out independent of a base station 105.
Some UEs 115, such as MTC or IoT devices, may be low cost or low complexity devices, and may provide for automated communication between machines, i.e., Machine-to-Machine (M2M) communication. M2M or MTC may refer to data communication technologies that allow devices to communicate with one another or a base station without human intervention. For example, M2M or MTC may refer to communications from devices that integrate sensors or meters to measure or capture information and relay that information to a central server or application program that can make use of the information or present the information to humans interacting with the program or application. Some UEs 115 may be designed to collect information or enable automated behavior of machines. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based business charging.
In some cases, an MTC device may operate using half-duplex (one-way) communications at a reduced peak rate. MTC devices may also be configured to enter a power saving “deep sleep” mode when not engaging in active communications. In some cases, MTC or IoT devices may be designed to support mission critical functions and wireless communications system may be configured to provide ultra-reliable communications for these functions.
A base station 105 may be connected by an S1 interface to the core network 130. The core network may be an evolved packet core (EPC) , which may include at least one mobility management entity (MME) , at least one serving gateway (S-GW) , and at least one Packet Data Network (PDN) gateway (P-GW) . The MME may be the control node that processes the signaling between the UE 115 and the EPC. All user Internet Protocol (IP)
packets may be transferred through the S-GW, which itself may be connected to the P-GW. The P-GW may provide IP address allocation as well as other functions. The P-GW may be connected to the network operators IP services. The operators IP services may include the Internet, the Intranet, an IP Multimedia Subsystem (IMS) , and a Packet-Switched (PS) Streaming Service.
The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. At least some of the network devices, such as base station 105-a may include subcomponents such as an access network entity 105-b, which may be an example of an access node controller (ANC) . Each access network entity 105-b may communicate with a number of UEs 115 through a number of other access network transmission entities 105-c, each of which may be an example of a smart radio head, or a transmission/reception point (TRP) . In some configurations, various functions of each access network entity or base station 105 may be distributed across various network devices (e.g., radio heads and access network controllers) or consolidated into a single network device (e.g., a base station 105) .
In some cases, the antennas of a base station 105 or UE 115 may be located within one or more antenna arrays, which may support beamforming or MIMO operation. One or more base station antennas or antenna arrays may be collocated at an antenna assembly, such as an antenna tower. In some cases, antennas or antenna arrays associated with a base station 105 may be located in diverse geographic locations. A base station 105 may use multiple antennas or antenna arrays to conduct beamforming operations for directional communications with a UE 115.
In some cases, wireless communications system 100 may be a packet-based network that operate according to a layered protocol stack. In the user plane, communications at the bearer or Packet Data Convergence Protocol (PDCP) layer may be IP-based. A Radio Link Control (RLC) layer may in some cases perform packet segmentation and reassembly to communicate over logical channels. A Medium Access Control (MAC) layer may perform
priority handling and multiplexing of logical channels into transport channels. The MAC layer may also use HARQ to provide retransmission at the MAC layer to improve link efficiency. In the control plane, the Radio Resource Control (RRC) protocol layer may provide establishment, configuration, and maintenance of an RRC connection between a UE 115 and a network device 105-c, network device 105-b, or core network 130 supporting radio bearers for user plane data. At the Physical (PHY) layer, transport channels may be mapped to physical channels.
Time intervals in LTE or NR may be expressed in multiples of a basic time unit (which may be a sampling period of Ts = 1/30, 720, 000 seconds) . Time resources may be organized according to radio frames of length of 10ms (Tf = 307200Ts) , which may be identified by a system frame number (SFN) ranging from 0 to 1023. Each frame may include ten 1ms subframes numbered from 0 to 9. A subframe may be further divided into two . 5ms slots, each of which contains 6 or 7 modulation symbol periods (depending on the length of the cyclic prefix prepended to each symbol) . Excluding the cyclic prefix, each symbol contains 2048 sample periods. In some cases the subframe may be the smallest scheduling unit, also known as a TTI. In other cases, a TTI may be shorter than a subframe or may be dynamically selected (e.g., in short TTI bursts or in selected component carriers using short TTIs) .
A resource element may consist of one symbol period and one subcarrier (e.g., a 15 KHz frequency range) . A resource block may contain 12 consecutive subcarriers in the frequency domain and, for a normal cyclic prefix in each orthogonal frequency-division multiplexing (OFDM) symbol, 7 consecutive OFDM symbols in the time domain (1 slot) , or 84 resource elements. The number of bits carried by each resource element may depend on the modulation scheme (the configuration of symbols that may be selected during each symbol period) . Thus, the more resource blocks that a UE receives and the higher the modulation scheme, the higher the data rate may be.
In some cases, wireless communications system 100 may utilize enhanced component carriers (eCCs) . An eCC may be characterized by one or more features including: wider bandwidth, shorter symbol duration, shorter TTIs, and modified control channel configuration. In some cases, an eCC may be associated with a carrier aggregation configuration or a dual connectivity configuration (e.g., when multiple serving cells have a suboptimal or non-ideal backhaul link) . An eCC may also be configured for use in unlicensed spectrum or shared spectrum (where more than one operator is allowed to use the spectrum) . An eCC characterized by wide bandwidth may include one or more segments that may be utilized by UEs 115 that are not capable of monitoring the whole bandwidth or prefer to use a limited bandwidth (e.g., to conserve power) .
In some cases, an eCC may utilize a different symbol duration than other CCs, which may include use of a reduced symbol duration as compared with symbol durations of the other CCs. A shorter symbol duration is associated with increased subcarrier spacing. A device, such as a UE 115 or base station 105, utilizing eCCs may transmit wideband signals (e.g., 20, 40, 60, 80 MHz, etc. ) at reduced symbol durations (e.g., 16.67 microseconds) . A TTI in eCC may consist of one or multiple symbols. In some cases, the TTI duration (that is, the number of symbols in a TTI) may be variable.
A shared radio frequency spectrum band may be utilized in an NR shared spectrum system. For example, an NR shared spectrum may utilize any combination of licensed, shared, and unlicensed spectrums, among others. The flexibility of eCC symbol duration and subcarrier spacing may allow for the use of eCC across multiple spectrums. In some examples, NR shared spectrum may increase spectrum utilization and spectral efficiency, specifically through dynamic vertical (e.g., across frequency) and horizontal (e.g., across time) sharing of resources.
In some cases, wireless communications system 100 may utilize both licensed and unlicensed radio frequency spectrum bands. For example, wireless communications system 100 may employ LTE License Assisted Access (LTE-LAA) or LTE Unlicensed (LTE U) radio access technology or NR technology in an unlicensed band such as the 5Ghz Industrial, Scientific, and Medical (ISM) band. When operating in unlicensed radio frequency spectrum bands, wireless devices such as base stations 105 and UEs 115 may employ listen-before-talk
(LBT) procedures to ensure the channel is clear before transmitting data. In some cases, operations in unlicensed bands may be based on a CA configuration in conjunction with CCs operating in a licensed band. Operations in unlicensed spectrum may include downlink transmissions, uplink transmissions, or both. Duplexing in unlicensed spectrum may be based on FDD, TDD, or a combination of both.
FIG. 2 illustrates an example of a wireless communications system 200 that supports encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure. The wireless communications system 200 includes a transmitting entity 205 and a receiving entity 210. In some cases, the entities 205, 210 may communicate codewords 220 via a communication link 215 (sometimes the communication link 215 may be wireless) , where the codewords are encoded using a form of block coding or linear block coding. The transmitting entity 205 may be an example of a base station 105 or a UE 115 as described with reference to FIG. 1. The receiving entity 210 may be an example of a base station 105 or a UE 115 as described with reference to FIG. 1. The communication link 215 may be an example of the communication links 125 described with reference to FIG. 1.
The wireless communications system 200 may use block coding as an error-correcting code for information transmitted using the communication link 215. In some instances, errors may be introduced into a codeword transmitted over communication link 215 due to noise or interference (e.g., a lossy channel) . Block coding may provide ways to detect when errors occur. In some examples, block coding may be used to correct at least some errors that occur, in addition to detecting the errors.
In some cases, the transmitting entity 205 may generate a codeword 220-a based on an information vector 225. The transmitting entity 205 may include a data source 224 that generates the information vector 225. In some examples, the data source 224 may include higher layers of a radio access technology or other circuitry of the transmitting entity 205. As used herein, an information vector may refer to a collection of bits or symbols to be transmitted over a network to another entity, where the bits or symbols may include information for a particular application. For example, the information vector 225 may be a 1 x Q array of bits or symbols. In some examples, the information vector 225 may include control information.
Upon identifying the information vector 225, the transmitting entity 205 may optionally incorporate a parity vector 230 with the information vector 225. The parity vector 230 may be configured as a set of information used to detect or correct errors that occur in the information vector 225 during transmission. The parity vector 230 may be generated based on the information vector 225. As used herein, the parity vector 230 may refer to a collection of bits or symbols to be transmitted over a network to another entity, where the bits or symbols may include information for detecting or correcting errors in a coded information vector. For example, the parity vector 230 may be a 1 x R array of bits or symbols.
When a parity vector 230 is used, the parity vector 230 may be combined with the information vector 225. For example, the parity vector 230 may be appended to the end of the information vector 225. Such a resulting vector may be an array having a size of 1 x K, where K=Q+R. In other examples, the parity vector 230 may be interleaved with the information vector 225. In yet other examples, the parity vector 230 may be inserted into any location of the information vector 225. In some examples, the parity vector 230 is not added to the information vector 225. In some cases, the term information vector may refer to the vector that includes both the information vector 225 and the parity vector 230.
The transmitting entity 205 may encode the resulting information vector using an encoder 235 to obtain the codeword 220-a. The encoder 235 may receive both the information vector (e.g., the information vector 225 and optionally the parity vector 230) and a generator matrix 240. The generator matrix 240 may be stored in a memory 239 of the transmitting entity 205, in some examples. The generator matrix 240 may be array of bits or symbols having a size of K x N. The generator matrix 240 may be configured to generate a 1 x N codeword 220-a from a 1 x K information vector. In some examples, the information vector may be multiplied by the generator matrix 240 to obtain the codeword 220-a. Features of the generator matrix 240 are described with greater detail below. In some examples, the codeword 220-a may be a vector of bits or symbols having a size of 1 x N. A parity check matrix 260 that corresponds to the generator matrix 240 may be used by a receiving entity 210 to decode the codeword 220-b.
The transmitting entity 205 may include a transmitter 245 to transmit the codeword 220-a (e.g., via an antenna) . The transmitter 245 may be used to establish the communication link 215. The receiving entity 210 may include a receiver 250 to receive the codeword 220-b (e.g., via an antenna) . The received codeword 220-b may be an example of
the transmitted codeword 220-a multiplied with the wireless channel used for transmission. In some examples, the received codeword 220-b may include one or more errors that were not part of the transmitted codeword 220-a.
The receiving entity 210 may decode the codeword 220-b using a decoder 255. The decoder 255 may generate or identify a parity check matrix 260. The parity check matrix 260 may be configured to decode the codeword 220-b encoded by its corresponding generator matrix 240. The parity check matrix 260 may be stored in a memory 259 of the receiving entity 210, in some examples. The parity check matrix 260 may be an array of bits or symbols having a size of N x K. The parity check matrix 260 may be configured to generate a 1 x K syndrome vector 265 from the 1 x N codeword 220-b. The syndrome vector 265 may represent the information vector 225 (e.g., when correctly decoded according to the parity check matrix 260) . In some examples, demapped symbols of the codeword 220-b may be processed using the parity check matrix 260 to obtain the syndrome vector 265. In some examples, log-likelihood ratios (LLRs) representing the demapped symbols may be iteratively or recursively processed to determine hard bits or symbols for the syndrome vector 265. Features of the parity check matrix 260 are described in greater detail below. After obtaining the syndrome vector 265, the receiving entity 210 perform any number of operations to obtain the information vector 225 from the syndrome vector 265 (e.g., determining if an error check function of a parity vector of the syndrome vector passes, etc. ) .
The generator matrix 240 and the parity check matrix 260 may include a number of different features to provide error detection and/or error correction. The matrices 240, 260 may be one of a number of different types of block codes. For example, the matrices 240, 260 may be a Golay-based codes, Reed-Solomon-based codes, Reed-Muller-based codes, Hamming-based codes, etc. In some examples, the matrices 240, 260 may be examples of a systematic block code.
In some systematic block codes, the generator matrix 240 and the parity check matrix 260 may be related. For example, the generator matrix 240 may be expressed as G= [Ik|P] , where I is an identity matrix of size K and P is an error detection and/or error correction matrix. In such examples, the parity check matrix 260 may be expressed as H= [-PT|In-k] , where P is a transposed version of P in the generator matrix 240 and I is an identity matrix of size n –k.
Techniques are described herein for obtaining a non-systematic block code from a systematic block code. Such non-systematic block codes may improve the performance of data transfer using the communication link 215.
In some cases, the receiving entity 210 may already know at least some of the systematic bits or symbols being transmitted in a codeword 220-a. For example, some bits of an information vector may be unused in certain situations, and set to a known value. In such cases, these known bits or symbols are effectively shortened (the codeword has deterministic corresponding bits which do not provide any additional coded information for the unknown bits) . As such, the effective codeword length is reduced and system performance may be degraded.
The receiving entity 210 may be aware of known bits or symbols in a variety of applications. For example, in LTE carrier-aggregation, the receiving entity 210 may be aware of some of the information being transmitted as part of a hybrid automatic repeat request (HARQ) acknowledgement (ACK) or HARQ negative acknowledgement (NACK) . Each ACK/NACK may correspond to one transport block per subcarrier. For non-scheduled sub-carriers, the ACK/NACK may not be transmitted and may appear to a transmitting entity 205 (e.g., base station 105) like a known bit or symbol.
According to described aspects, a non-systematic block code based on a systematic block code may provide the benefits of a Golay-based block code without the system performance impact of known bits in the information vector. FIG. 3 illustrates examples of block code structures 300 that support encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure. The block code structures 300 may include a systematic block code matrix 305 and a non-systematic block code matrix 310 obtained based on the systematic block code matrix 305. FIG. 3 includes an index 315 to provide common references between the two matrices 305, 310. The matrices 305, 310 may be examples of the generator matrix 240 or the parity check matrix 260 described with reference to FIG. 2. In some examples, the matrices 305, 310 may be examples of Golay-based matrices.
The block code structures 300 illustrate a process for generating the non-systematic block code matrix 310 based on the systematic block code matrix 305. In some examples, the process illustrated by the block code structures 300 may be referred to as a transform of the systematic block code matrix 305 to the non-systematic block code matrix
310. The process or transform may be applied to systematic generator matrices or systematic parity check matrices.
The systematic block code matrix 305 may be partitioned into a plurality of subsets of information 320 along a first dimension. The subsets of information 320 may be associated with an index value of the index 315. The subsets of information 320 may be used to obtain subsets of information 325 for the non-systematic block code matrix 310. In some examples, the subsets of information 320 may be vectors of bits or symbols. In some instances, the vector may be an array of size 1 x X, where X is one of the dimensionalities of the systematic block code matrix 305. In some examples, the subsets of information 320 may represent rows of the systematic block code matrix 305.
A first subset of information 325-a of the non-systematic block code matrix 310 may be obtained based on a first subset of information 320-a of the systematic block code matrix 305. In some examples, the first subset of information 325-a is a replica of the first subset of information 320-a. The index value for the subset of information 325-a may be the same as the index value for the subset of information 320-a. The subset of information 325 may be an example of the subset of information 320, and, as such, may include similar features or characteristics.
The second subset of information 325-b of the non-systematic block code matrix 310 may be based on the second subset of information 320-b of the systematic block code matrix 305 and the first subset of information 325-a of the non-systematic block code matrix 310. At block 330-a, the first subset of information 325-a may be added to the second subset of information 320-b to obtain the second subset of information 325-b. Said another way, to obtain a subset of information 325 of the non-systematic block code matrix 310 having a particular index value, a subset of information 320 of the systematic block code matrix 305 having the same particular index value may be combined with a subset of information of the non-systematic block code matrix 310 having a preceding index value. In some examples, the operation represented by the block 330-a may be a vector addition, bit-wise OR operation, or a bit-wise XOR operation.
Each of the subsets of information 325-J (besides the first subset of information 325-a) may be obtained based on a subset of information 320-J having the same index value and a subset of information 325- (J-1) having a preceding index value. In some examples, the preceding index value is one less than the index value of the current subset of information
325 being obtained or generated. To populate the entire non-systematic block code matrix 310, the process described above may be successively performed until the last subset of information 320-J of the systematic block code matrix 305 has been transformed into a subset of information 325-J of the non-systematic block code matrix 310.
In some examples, the non-systematic block code matrix 310 may perform equally well as the systematic matrix 305 when the receiving entity 210 does not know any bits or symbols of the information vector 225. However, the non-systematic block code matrix 310 may exhibit improved performance over the systematic matrix 305 when the receiving entity 210 already knows at least one of the bits or symbols of the information vector 225.
The matrices 305, 310 may support a plurality of coded block lengths, a plurality of information vector lengths, a plurality of resultant vector lengths, or a plurality of codeword vector lengths. The techniques for transforming a systematic block code matrix 305 to a non-systematic block code matrix 310 may be used with matrices of any dimension (e.g., having input/output vector lengths of any size) .
FIG. 4 illustrates an example of generator matrices 400 that support encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure. The generator matrices 400 may include a systematic Golay-based generator matrix 405 and a non-systematic Golay-based generator matrix 410. The non-systematic Golay-based generator matrix 410 may be an example of a non-systematic matrix using the process or transform described with reference to FIG. 2. As such, the non-systematic Golay-based generator matrix 410 may be based on the systematic Golay-based generator matrix 405.
The systematic Golay-based generator matrix 405 may include an identity portion 415 and an error detection/correction portion 420. In the illustrative example, the systematic Golay-based generator matrix 405 is a 12 x 32 Golay-based array. The systematic Golay-based generator matrix 405 may be an example of the systematic matrix 305 described with reference to FIG. 3.
The non-systematic Golay-based generator matrix 410 may include a first portion 425 and a second portion 430. The first portion 425 may be based on the identity portion 415 of the systematic Golay-based generator matrix 405. The second portion 430 may be an error detection/correction portion that is based on the error detection/correction portion 420 of the systematic Golay-based generator matrix 405. In the illustrative example, the non-systematic
Golay-based generator matrix 410 is a 12 x 32 Golay-based array. The non-systematic Golay-based generator matrix 410 may be an example of the non-systematic block code matrix 310 described with reference to FIG. 3. In some examples, the non-systematic Golay-based block codes may provide a coding gain for known bits or symbols as well as unknown bits or symbols. For example, where known bits or symbols are interspersed among unknown bits or symbols in the information vector, codeword bits will generally depend on both known and unknown bits of the information vector. In some examples, an information vector may be interleaved before coding using the non-systematic Golay-based block code to break up blocks of known bits.
The first portion 425 may include a line of symmetry dividing the first portion into two sections. A first section of the first portion 425 may include bits or symbols of a first type (e.g., logic ‘1’ ) . The second section of the first portion 425 may include bits or symbols of a second type (e.g., logic ‘0’ ) different from the first type. In some examples, the first portion 425 may include a plurality of vectors of identical bits or symbols. For example, a first column vector of the first portion 425 may include a first bit or symbol in every data position. A second column vector of the first portion 425 may include a second bit or symbol in every data position. In some examples, the second column vector of the first portion 425 may be a different length than the first column vector of the first portion 425.
FIG. 5 illustrates an example of a table 500 that supports encoding and decoding using non-systematic block codes in accordance with various aspects of the present disclosure. The table 500 may be used in conjunction with Equations (1) and (2) to define an encoder employing a non-systematic Golay-based generator matrix. The table 500 may describe a non-systematic Golay-based generator matrix that supports a plurality of input vector lengths and a plurality of output vector lengths. The non-systematic Golay-based generator matrix illustrated in table 500 may be generated from a systematic Golay-based generator matrix according to the techniques described with reference to FIG. 3.
Equations (1) and (2) represent encoder operations using a non-systematic Golay-based generator matrix based on the length of the output vectors (e.g., codeword vectors) and the input vectors (e.g., information vectors or) . In Equations (1) and (2) , the term A represents the length of the input vector (e.g., information vector) , the term a_i represents the current input bit or symbol being transformed, the term B represents the length of the output vector
(e.g., codeword vector) , and the term b_i represents the current output bit or symbol being determined.
Equation (1) represents operations performed when the length of the output vector of the encoder is 24 bits or symbols or 32 bits or symbols. A transmitting entity 205 may encode an information vector 225 or a resultant vector using the combination of Equation (1) and the table 500. In effect, the Equation (1) and the table 500 may cooperate to define a non-systematic Golay-based generator matrix for output vector lengths of 24 bits or symbols or 32 bits or symbols.
Equation (2) represents operations performed when the length of the output vector of the encoder is 20 bits or symbols. A transmitting entity 205 may encode an information vector 225 or a resultant vector using the combination of Equation (2) and the table 500. In effect, the Equation (2) and the table 500 may cooperate to define a non-systematic Golay-based generator matrix for output vector lengths of 20 bits or symbols.
While the Equations (1) and (2) cooperate with the table 500 to define non-systematic Golay-based generator matrices for output vector lengths of 20, 24, and 32 bits or symbols, other matrices may defined in a similar fashion. For example, equations and tables may be used to define non-systematic Golay-based parity check matrices. In other examples, equations and tables may be used to define non-systematic matrices based on other types of systematic block codes (e.g., Reed-Muller, Reed-Solomon, etc. ) . In other examples, equations and tables may be used to define non-systematic matrices based on other lengths of output vectors.
FIG. 6 shows a block diagram 600 of a wireless device 605 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. Wireless device 605 may be an example of aspects of a transmitting entity 205 as described with reference to FIG. 2. Wireless device 605 may include receiver 610, transmitting entity communications manager 615, and transmitter 620. Wireless device 605 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
Transmitting entity communications manager 615 may be an example of aspects of the transmitting entity communications manager 815 described with reference to FIG. 8. Transmitting entity communications manager 615 and/or at least some of its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the transmitting entity communications manager 615 and/or at least some of its various sub-components may be executed by a general-purpose processor, a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , an field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure. The transmitting entity communications manager 615 and/or at least some of its various sub-components may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical devices. In some examples, transmitting entity communications manager 615 and/or at least some of its various sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure. In other examples, transmitting entity communications manager 615 and/or at least some of its various sub-components may be combined with one or more other hardware components, including but not limited to an I/O component, a transceiver, a network server,
another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
Transmitting entity communications manager 615 may identify an information vector to be transmitted via a wireless communication link, determine a codeword based on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, where the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a set of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
FIG. 7 shows a block diagram 700 of a wireless device 705 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. Wireless device 705 may be an example of aspects of a wireless device 605 or a transmitting entity 205 as described with reference to FIGs. 2 and 6. Wireless device 705 may include receiver 710, transmitting entity communications manager 715, and transmitter 720. Wireless device 705 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
Transmitting entity communications manager 715 may be an example of aspects of the transmitting entity communications manager 815 described with reference to FIG. 8.
Transmitting entity communications manager 715 may also include information manager 725 and encoding manager 730.
FIG. 8 shows a diagram of a system 800 including a device 805 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. Device 805 may be an example of or include the components of wireless device 605, wireless device 705, or a transmitting entity 205 as described above, e.g., with reference to FIGs. 2, 6 and 7. Device 805 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including transmitting entity communications manager 815, processor 820, memory 825, software 830, transceiver 835, and I/O controller 840. These components may be in electronic communication via one or more busses (e.g., bus 810) .
I/O controller 840 may manage input and output signals for device 805. I/O controller 840 may also manage peripherals not integrated into device 805. In some cases, I/O controller 840 may represent a physical connection or port to an external peripheral. In some cases, I/O controller 840 may utilize an operating system such as
or another known operating system. In other cases, I/O controller 840 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, I/O controller 840 may be implemented as part of a processor. In some cases, a user may interact with device 805 via I/O controller 840 or via hardware components controlled by I/O controller 840.
FIG. 9 shows a block diagram 900 of a wireless device 905 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. Wireless device 905 may be an example of aspects of a receiving entity 210 as described with reference to FIG. 2. Wireless device 905 may include receiver 910, receiving entity communications manager 915, and transmitter 920. Wireless device 905 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
Receiving entity communications manager 915 may be an example of aspects of the receiving entity communications manager 1115 described with reference to FIG. 11.
Receiving entity communications manager 915 and/or at least some of its various sub-components may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the receiving entity communications manager 915 and/or at least some of its various sub-components may be executed by a general-purpose processor, a DSP, an ASIC,
an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in the present disclosure. The receiving entity communications manager 915 and/or at least some of its various sub-components may be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations by one or more physical devices. In some examples, receiving entity communications manager 915 and/or at least some of its various sub-components may be a separate and distinct component in accordance with various aspects of the present disclosure. In other examples, receiving entity communications manager 915 and/or at least some of its various sub-components may be combined with one or more other hardware components, including but not limited to an I/O component, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof in accordance with various aspects of the present disclosure.
Receiving entity communications manager 915 may receive a codeword communicated via a wireless communication link, determine an information vector based on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, where the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a set of subsets along a first dimension, obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix, and obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
FIG. 10 shows a block diagram 1000 of a wireless device 1005 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. Wireless device 1005 may be an example of aspects of a wireless device 905 or a receiving entity 210 as described with reference to FIGs. 2 and 9. Wireless device
1005 may include receiver 1010, receiving entity communications manager 1015, and transmitter 1020. Wireless device 1005 may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses) .
Receiving entity communications manager 1015 may be an example of aspects of the receiving entity communications manager 1115 described with reference to FIG. 11.
Receiving entity communications manager 1015 may also include information manager 1025 and decoding manager 1030.
FIG. 11 shows a diagram of a system 1100 including a device 1105 that supports encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. Device 1105 may be an example of or include the components of receiving entity 210 as described above, e.g., with reference to FIG. 2. Device 1105 may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including receiving entity communications manager 1115, processor 1120, memory 1125, software 1130, transceiver 1135, and I/O controller 1140. These components may be in electronic communication via one or more busses (e.g., bus 1110) .
I/O controller 1140 may manage input and output signals for device 1105. I/O controller 1140 may also manage peripherals not integrated into device 1105. In some cases, I/O controller 1140 may represent a physical connection or port to an external peripheral. In some cases, I/O controller 1140 may utilize an operating system such as
or another known operating system. In other cases, I/O controller 1140 may represent or interact with a modem, a keyboard, a mouse, a touchscreen, or a similar device. In some cases, I/O controller 1140 may be implemented as part of a processor. In some cases, a user may interact with device 1105 via I/O controller 1140 or via hardware components controlled by I/O controller 1140.
FIG. 12 shows a flowchart illustrating a method 1200 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. The operations of method 1200 may be implemented by a transmitting entity 205 or its components as described herein. For example, the operations of method 1200 may be performed by a transmitting entity communications manager as described with reference to FIGs. 6 through 8. In some examples, a transmitting entity 205 may execute a set of codes to control the functional elements of the device to perform the functions described below.
Additionally or alternatively, the transmitting entity 205 may perform aspects of the functions described below using special-purpose hardware.
At block 1205 the transmitting entity 205 may identify an information vector to be transmitted via a wireless communication link. The operations of block 1205 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1205 may be performed by an information manager as described with reference to FIGs. 6 through 8.
At block 1210 the transmitting entity 205 may determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension. The operations of block 1210 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1210 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
At block 1215 the transmitting entity 205 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix. The operations of block 1215 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1215 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
At block 1220 the transmitting entity 205 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix. The operations of block 1220 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1220 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
FIG. 13 shows a flowchart illustrating a method 1300 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. The operations of method 1300 may be implemented by a transmitting entity 205 or its components as described herein. For example, the operations of method 1300 may be
performed by a transmitting entity communications manager as described with reference to FIGs. 6 through 8. In some examples, a transmitting entity 205 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the transmitting entity 205 may perform aspects of the functions described below using special-purpose hardware.
At block 1305 the transmitting entity 205 may identify an information vector to be transmitted via a wireless communication link. The operations of block 1305 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1305 may be performed by an information manager as described with reference to FIGs. 6 through 8.
At block 1310 the transmitting entity 205 may determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension. The operations of block 1310 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1310 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
At block 1315 the transmitting entity 205 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix. The operations of block 1315 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1315 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
At block 1320 the transmitting entity 205 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix. The operations of block 1320 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1320 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
At block 1325 the transmitting entity 205 may successively obtain each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index. The operations of block 1325 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1325 may be performed by an encoding manager as described with reference to FIGs. 6 through 8.
FIG. 14 shows a flowchart illustrating a method 1400 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. The operations of method 1400 may be implemented by a receiving entity 210 or its components as described herein. For example, the operations of method 1400 may be performed by a receiving entity communications manager as described with reference to FIGs. 9 through 11. In some examples, a receiving entity 210 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the receiving entity 210 may perform aspects of the functions described below using special-purpose hardware.
At block 1405 the receiving entity 210 may receive a codeword communicated via a wireless communication link. The operations of block 1405 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1405 may be performed by an information manager as described with reference to FIGs. 9 through 11.
At block 1410 the receiving entity 210 may determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension. The operations of block 1410 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1410 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
At block 1415 the receiving entity 210 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix. The operations of block 1415 may be performed according to the
methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1415 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
At block 1420 the receiving entity 210 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix. The operations of block 1420 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1420 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
FIG. 15 shows a flowchart illustrating a method 1500 for encoding and decoding using non-systematic block codes in accordance with aspects of the present disclosure. The operations of method 1500 may be implemented by a receiving entity 210 or its components as described herein. For example, the operations of method 1500 may be performed by a receiving entity communications manager as described with reference to FIGs. 9 through 11. In some examples, a receiving entity 210 may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the receiving entity 210 may perform aspects of the functions described below using special-purpose hardware.
At block 1505 the receiving entity 210 may receive a codeword communicated via a wireless communication link. The operations of block 1505 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1505 may be performed by an information manager as described with reference to FIGs. 9 through 11.
At block 1510 the receiving entity 210 may determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension. The operations of block 1510 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1510 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
At block 1515 the receiving entity 210 may obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix. The operations of block 1515 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1515 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
At block 1520 the receiving entity 210 may obtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix. The operations of block 1520 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1520 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
At block 1525 the receiving entity 210 may successively obtain each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index. The operations of block 1525 may be performed according to the methods described with reference to FIGs. 1 through 5. In certain examples, aspects of the operations of block 1525 may be performed by a decoding manager as described with reference to FIGs. 9 through 11.
It should be noted that the methods described above describe possible implementations, and that the operations and the steps may be rearranged or otherwise modified and that other implementations are possible. Furthermore, aspects from two or more of the methods may be combined.
Techniques described herein may be used for various wireless communications systems such as code division multiple access (CDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal frequency division multiple access (OFDMA) , single carrier frequency division multiple access (SC-FDMA) , and other systems. The terms “system” and “network” are often used interchangeably. A code division multiple access (CDMA) system may implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA) , etc. CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases may be commonly referred to as CDMA2000
1X, 1X, etc. IS-856 (TIA-856) is commonly referred to as CDMA2000 1xEV-DO, High Rate Packet Data (HRPD) , etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM) .
An OFDMA system may implement a radio technology such as Ultra Mobile Broadband (UMB) , Evolved UTRA (E-UTRA) , Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20, Flash-OFDM, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunications System (UMTS) . LTE and LTE-Aare releases of UMTS that use E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A, NR, and GSM are described in documents from the organization named “3rd Generation Partnership Project” (3GPP) . CDMA2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2) . The techniques described herein may be used for the systems and radio technologies mentioned above as well as other systems and radio technologies. While aspects of an LTE or an NR system may be described for purposes of example, and LTE or NR terminology may be used in much of the description, the techniques described herein are applicable beyond LTE or NR applications.
In LTE/LTE-Anetworks, including such networks described herein, the term evolved node B (eNB) may be generally used to describe the base stations. The wireless communications system or systems described herein may include a heterogeneous LTE/LTE-A or NR network in which different types of eNBs provide coverage for various geographical regions. For example, each eNB, next generation NodeB (gNB) , or base station may provide communication coverage for a macro cell, a small cell, or other types of cell. The term “cell” may be used to describe a base station, a carrier or component carrier associated with a base station, or a coverage area (e.g., sector, etc. ) of a carrier or base station, depending on context.
Base stations may include or may be referred to by those skilled in the art as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, eNodeB (eNB) , gNB, Home NodeB, a Home eNodeB, or some other suitable terminology. The geographic coverage area for a base station may be divided into sectors making up only a portion of the coverage area. The wireless communications system or systems described herein may include base stations of different types (e.g., macro or small cell base stations) . The UEs described herein may be able to communicate with various types of base stations
and network equipment including macro eNBs, small cell eNBs, gNBs, relay base stations, and the like. There may be overlapping geographic coverage areas for different technologies.
A macro cell generally covers a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by UEs with service subscriptions with the network provider. A small cell is a lower-powered base station, as compared with a macro cell, that may operate in the same or different (e.g., licensed, unlicensed, etc. ) frequency bands as macro cells. Small cells may include pico cells, femto cells, and micro cells according to various examples. A pico cell, for example, may cover a small geographic area and may allow unrestricted access by UEs with service subscriptions with the network provider. A femto cell may also cover a small geographic area (e.g., a home) and may provide restricted access by UEs having an association with the femto cell (e.g., UEs in a closed subscriber group (CSG) , UEs for users in the home, and the like) . An eNB for a macro cell may be referred to as a macro eNB. An eNB for a small cell may be referred to as a small cell eNB, a pico eNB, a femto eNB, or a home eNB. An eNB may support one or multiple (e.g., two, three, four, and the like) cells (e.g., component carriers) .
The wireless communications system or systems described herein may support synchronous or asynchronous operation. For synchronous operation, the base stations may have similar frame timing, and transmissions from different base stations may be approximately aligned in time. For asynchronous operation, the base stations may have different frame timing, and transmissions from different base stations may not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operations.
The downlink transmissions described herein may also be called forward link transmissions while the uplink transmissions may also be called reverse link transmissions. Each communication link described herein—including, for example, wireless communications system 100 and 200 of FIGs. 1 and 2—may include one or more carriers, where each carrier may be a signal made up of multiple sub-carriers (e.g., waveform signals of different frequencies) .
The description set forth herein, in connection with the appended drawings, describes example configurations and does not represent all the examples that may be implemented or that are within the scope of the claims. The term “exemplary” used herein means “serving as an example, instance, or illustration, ” and not “preferred” or
“advantageous over other examples. ” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.
In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If just the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
Information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration) .
The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features
implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations. Also, as used herein, including in the claims, “or” as used in a list of items (for example, a list of items prefaced by a phrase such as “at least one of” or “one or more of” ) indicates an inclusive list such that, for example, a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C) . Also, as used herein, the phrase “based on” shall not be construed as a reference to a closed set of conditions. For example, an exemplary step that is described as “based on condition A” may be based on both a condition A and a condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase “based on” shall be construed in the same manner as the phrase “based at least in part on. ”
Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A non-transitory storage medium may be any available medium that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, non-transitory computer-readable media may comprise RAM, ROM, electrically erasable programmable read only memory (EEPROM) , compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL) , or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, include CD, laser disc, optical disc, digital versatile disc (DVD) , floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
The description herein is provided to enable a person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations
without departing from the scope of the disclosure. Thus, the disclosure is not limited to the examples and designs described herein, but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
Claims (50)
- A method for wireless communication, comprising:identifying an information vector to be transmitted via a wireless communication link;determining a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andobtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The method of claim 1, further comprising:obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- The method of claim 1, further comprising:successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- The method of claim 1, wherein:one or more bits of the information vector are known to a decoder of the codeword.
- The method of claim 1, wherein:the obtaining the second subset of the non-systematic Golay-based generator matrix comprises adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The method of claim 1, wherein:each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- The method of claim 1, wherein:the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- The method of claim 1, wherein:the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- A method for wireless communication, comprising:receiving a codeword communicated via a wireless communication link;determining an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andobtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The method of claim 9, further comprising:obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- The method of claim 9, further comprising:successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- The method of claim 9, wherein:one or more bits of the information vector are known for the decoding of the codeword.
- The method of claim 9, wherein:the obtaining the second subset of the non-systematic Golay-based generator matrix comprises adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The method of claim 9, wherein:each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- The method of claim 9, wherein:the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- The method of claim 9, wherein:the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- An apparatus for wireless communication, comprising:means for identifying an information vector to be transmitted via a wireless communication link;means for determining a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;means for obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andmeans for obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 17, further comprising:means for obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 17, further comprising:means for successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- The apparatus of claim 17, wherein:one or more bits of the information vector are known to a decoder of the codeword.
- The apparatus of claim 17, wherein the means for obtaining the second subset of the non-systematic Golay-based generator matrix comprises:means for adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 17, wherein:each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- The apparatus of claim 17, wherein:the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- The apparatus of claim 17, wherein:the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- An apparatus for wireless communication, comprising:means for receiving a codeword communicated via a wireless communication link;means for determining an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;means for obtaining a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andmeans for obtaining a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 25, further comprising:means for obtaining a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 25, further comprising:means for successively obtaining each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- The apparatus of claim 25, wherein:one or more bits of the information vector are known for the decoding of the codeword.
- The apparatus of claim 25, wherein the means for obtaining the second subset of the non-systematic Golay-based generator matrix comprises:means for adding respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 25, wherein:each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- The apparatus of claim 25, wherein:the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- The apparatus of claim 25, wherein:the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- An apparatus for wireless communication, comprising:a processor;memory in electronic communication with the processor; andinstructions stored in the memory and operable, when executed by the processor, to cause the apparatus to:identify an information vector to be transmitted via a wireless communication link;determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andobtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 33, wherein the instructions are further executable by the processor to:obtain a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 33, wherein the instructions are further executable by the processor to:successively obtain each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- The apparatus of claim 33, wherein:one or more bits of the information vector are known to a decoder of the codeword.
- The apparatus of claim 33, wherein to obtain the second subset of the non-systematic Golay-based generator matrix further comprises instructions executable by the processor to:add respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 33, wherein:each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- The apparatus of claim 33, wherein:the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- The apparatus of claim 33, wherein:the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- An apparatus for wireless communication, comprising:a processor;memory in electronic communication with the processor; andinstructions stored in the memory and operable, when executed by the processor, to cause the apparatus to:receive a codeword communicated via a wireless communication link;determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andobtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 41, wherein the instructions are further executable by the processor to:obtain a third subset of the non-systematic Golay-based generator matrix based on a third subset of the systematic Golay-based generator matrix and the second subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 41, wherein the instructions are further executable by the processor to:successively obtain each of a plurality of indexed subsets of the non-systematic Golay-based generator matrix based on a corresponding subset of the systematic Golay-based generator matrix and a subset of the non-systematic Golay-based generator matrix having a preceding index.
- The apparatus of claim 41, wherein:one or more bits of the information vector are known for the decoding of the codeword.
- The apparatus of claim 41, wherein to obtain the second subset of the non-systematic Golay-based generator matrix further comprises instructions executable by the processor to:add respective bits of the second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- The apparatus of claim 41, wherein:each of the plurality of subsets comprises a vector of the systematic Golay-based generator matrix.
- The apparatus of claim 41, wherein:the systematic Golay-based generator matrix supports a plurality of coded block lengths.
- The apparatus of claim 41, wherein:the systematic Golay-based generator matrix supports a plurality of information vector lengths.
- A non-transitory computer readable medium storing code for wireless communication, the code comprising instructions executable by a processor to:identify an information vector to be transmitted via a wireless communication link;determine a codeword based at least in part on the information vector, the codeword being determined by encoding the information vector using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andobtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
- A non-transitory computer readable medium storing code for wireless communication, the code comprising instructions executable by a processor to:receive a codeword communicated via a wireless communication link;determine an information vector based at least in part on the codeword, the information vector being determined by decoding the codeword using a non-systematic Golay-based generator matrix, wherein the non-systematic Golay-based generator matrix is generated by: partitioning a systematic Golay-based generator matrix into a plurality of subsets along a first dimension;obtain a first subset of the non-systematic Golay-based generator matrix based on a first subset of the systematic Golay-based generator matrix; andobtain a second subset of the non-systematic Golay-based generator matrix based on a second subset of the systematic Golay-based generator matrix and the first subset of the non-systematic Golay-based generator matrix.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/078797 WO2018176325A1 (en) | 2017-03-30 | 2017-03-30 | Encoding and decoding using non-systematic block codes |
EP18735875.9A EP3566323B1 (en) | 2017-01-09 | 2018-01-08 | Encoding and decoding using golay-based block codes |
PCT/CN2018/071772 WO2018127174A1 (en) | 2017-01-09 | 2018-01-08 | Encoding and decoding using golay-based block codes |
CN201880006084.6A CN110192363B (en) | 2017-01-09 | 2018-01-08 | Method, apparatus, and medium for encoding and decoding based on block code of GOLAY |
US16/476,053 US11057055B2 (en) | 2017-01-09 | 2018-01-08 | Encoding and decoding using Golay-based block codes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/078797 WO2018176325A1 (en) | 2017-03-30 | 2017-03-30 | Encoding and decoding using non-systematic block codes |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018176325A1 true WO2018176325A1 (en) | 2018-10-04 |
Family
ID=63674040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/078797 WO2018176325A1 (en) | 2017-01-09 | 2017-03-30 | Encoding and decoding using non-systematic block codes |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018176325A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030189893A1 (en) * | 2002-04-05 | 2003-10-09 | Tom Richardson | Phase sequences for timing and access signals |
US6970113B1 (en) * | 2004-08-30 | 2005-11-29 | Agilent Technologies, Inc. | Method for generation of even numbered reduced gray codes |
US20090217139A1 (en) * | 2007-11-13 | 2009-08-27 | Lg Electronics Inc. | Generation of golay-based systematic block code supporting various sizes |
-
2017
- 2017-03-30 WO PCT/CN2017/078797 patent/WO2018176325A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030189893A1 (en) * | 2002-04-05 | 2003-10-09 | Tom Richardson | Phase sequences for timing and access signals |
US6970113B1 (en) * | 2004-08-30 | 2005-11-29 | Agilent Technologies, Inc. | Method for generation of even numbered reduced gray codes |
US20090217139A1 (en) * | 2007-11-13 | 2009-08-27 | Lg Electronics Inc. | Generation of golay-based systematic block code supporting various sizes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12052031B2 (en) | Polar codes for uplink control information | |
US10224966B2 (en) | Parity bit channel assignment for polar coding | |
KR102643188B1 (en) | Low-latency decoding of multiple formats and polar code configuration for reduced false alarm rates | |
WO2018209486A1 (en) | Early termination of successive cancellation list decoding | |
US11039425B2 (en) | Polar codes with a cross-referenceable nested structure for hierarchical signaling | |
WO2019201103A1 (en) | Harq of polar codes with parity check bits | |
EP3804187B1 (en) | Polar code construction for incremental redundancy | |
WO2019192461A1 (en) | Polar coded harq scheme over time-varying channel | |
US11057151B2 (en) | Mutual information based polar code construction | |
WO2019158112A1 (en) | Self-decodable redundancy versions for polar codes | |
US11329789B2 (en) | Transmission methods to handle vulnerable symbols | |
WO2018166256A1 (en) | Mutual information based polar code construction | |
WO2020087431A1 (en) | Hybrid code design for wireless communications | |
WO2020088435A1 (en) | Enhanced efficiency for decoding multiple information bit sizes | |
WO2018176325A1 (en) | Encoding and decoding using non-systematic block codes | |
WO2019061259A1 (en) | Encoding and decoding for messages with partial common content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17903781 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17903781 Country of ref document: EP Kind code of ref document: A1 |