WO2018126489A1 - Block coding based on golay code - Google Patents

Block coding based on golay code Download PDF

Info

Publication number
WO2018126489A1
WO2018126489A1 PCT/CN2017/070682 CN2017070682W WO2018126489A1 WO 2018126489 A1 WO2018126489 A1 WO 2018126489A1 CN 2017070682 W CN2017070682 W CN 2017070682W WO 2018126489 A1 WO2018126489 A1 WO 2018126489A1
Authority
WO
WIPO (PCT)
Prior art keywords
generator matrix
columns
matrix
bit
bit values
Prior art date
Application number
PCT/CN2017/070682
Other languages
French (fr)
Inventor
Liangming WU
Changlong Xu
Jing Jiang
Chao Wei
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Priority to PCT/CN2017/070682 priority Critical patent/WO2018126489A1/en
Priority to EP18735875.9A priority patent/EP3566323B1/en
Priority to PCT/CN2018/071772 priority patent/WO2018127174A1/en
Priority to US16/476,053 priority patent/US11057055B2/en
Priority to CN201880006084.6A priority patent/CN110192363B/en
Publication of WO2018126489A1 publication Critical patent/WO2018126489A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Definitions

  • the technology discussed below relates generally to wireless communication systems, and more particularly, to channel coding utilizing Golay code in communication systems.
  • Block codes, or error correcting codes are frequently used to provide reliable transmission of digital messages over noisy channels.
  • a typical block code an information message or sequence is split up into blocks, and an encoder at the transmitting device then mathematically adds redundancy to the information message. Exploitation of this redundancy in the encoded information message is the key to reliability of the message, enabling correction for any bit errors that may occur due to the noise. That is, a decoder at the receiving device can take advantage of the redundancy to reliably recover the information message even though bit errors may occur, in part, due to the addition of noise to the channel.
  • error correcting block codes are known to those of ordinary skill in the art, including Hamming codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, turbo codes, Reed-Muller (RM) code, and low-density parity check (LDPC) codes, among others.
  • BCH Bose-Chaudhuri-Hocquenghem
  • RM Reed-Muller
  • LDPC low-density parity check
  • the technology discussed in this application relates to coding and in particular codes capable of use for error detection/correction.
  • One type of discussed code is a linear error-correcting code called a Golay code.
  • Golay codes present a potential opportunity for reliable and efficient information transfer with improved performance relative to other error correcting block codes.
  • FIG. 1 is a block diagram of a network environment in which one or more aspects of the present disclosure may find application.
  • FIG. 2 is a block diagram conceptually illustrating an example of a scheduling entity communicating with one or more scheduled entities according to some embodiments.
  • FIG. 3 is a schematic illustration of wireless communication between a first wireless communication device and a second wireless communication device.
  • FIG. 4 is a typical Golay code generator matrix.
  • FIG. 5 is an example of a Golay code generator matrix derived from a shortened portion of the generator matrix from FIG. 4.
  • FIG. 6 is a transposed version of the generator matrix from FIG. 5.
  • FIG. 8 is a flow diagram depicting a process for obtaining a generator matrix from a shortened generator matrix for Golay coding, according to at least one example.
  • FIG. 9 depicts a Golay coding generator matrix shortened to (16, 4) .
  • FIG. 10 depicts the shortened generator matrix of FIG. 9 extended out to (20, 4) .
  • FIG. 11 shows the (20, 4) generator matrix of FIG. 10 with new bit values derived for the extended columns.
  • FIG. 12 shows the (20, 4) generator matrix of FIG. 11 extended to (20, 7) with new bit values derived for extended bits.
  • FIG. 13 shows the (20, 7) generator matrix of FIG. 12 extended to (24, 7) with new columns.
  • FIG. 14 shows the (24, 7) generator matrix of FIG. 13 with new bit values derived for the extended bits.
  • FIG. 15 shows the (24, 12) generator matrix of FIG. 5 extended to (32, 12) with some of the new bit values derived for the extended bits.
  • FIG. 16 is a block diagram illustrating an example of a hardware implementation for a wireless communication device employing a processing system.
  • FIG. 17 is a flow diagram depicting a method operational on a wireless communication device according to at least one example.
  • the various concepts presented throughout this disclosure may be implemented across a broad variety of telecommunication systems, network architectures, and communication standards.
  • FIG. 1 a block diagram of a network environment in which one or more aspects of the present disclosure may find application is provided.
  • the access network 100 is adapted to facilitate wireless communication between two or more wireless communication devices.
  • the geographic region covered by the access network 100 may be divided into a number of cellular regions (cells) that can be uniquely identified by a user equipment (UE) based on an identification broadcasted over a geographical area from one access point or base station.
  • FIG. 1 illustrates macrocells 102, 104, and 106, and a small cell 108, each of which may include one or more sectors.
  • a sector is a sub-area of a cell. All sectors within one cell are served by the same base station.
  • a radio link within a sector can be identified by a single logical identification belonging to that sector.
  • the multiple sectors within a cell can be formed by groups of antennas with each antenna responsible for communication with UEs in a portion of the cell.
  • a base station serves each cell.
  • a base station is a network element in a radio access network responsible for radio transmission and reception in one or more cells to or from a UE.
  • a base station may also be referred to by those skilled in the art as a base transceiver station (BTS) , a radio base station, a radio transceiver, a transceiver function, a basic service set (BSS) , an extended service set (ESS) , an access point (AP) , a Node B (NB) , an eNode B (eNB) , or some other suitable terminology.
  • BTS basic service set
  • ESS extended service set
  • AP access point
  • NB Node B
  • eNode B eNode B
  • FIG. 1 two high-power base stations 110 and 112 are shown in cells 102 and 104, and a third high-power base station 114 is shown controlling a remote radio head (RRH) 116 in cell 106. That is, a base station can have an integrated antenna or can be connected to an antenna or RRH by feeder cables.
  • a base station can have an integrated antenna or can be connected to an antenna or RRH by feeder cables.
  • the cells 102, 104, and 106 may be referred to as macrocells, as the high-power base stations 110, 112, and 114 support cells having a large size.
  • a low-power base station 118 is shown in the small cell 108 (e.g., a microcell, picocell, femtocell, home base station, home Node B, home eNode B, etc. ) which may overlap with one or more macrocells.
  • the cell 108 may be referred to as a small cell, as the low-power base station 118 supports a cell having a relatively small size. Cell sizing can be done according to system design as well as component constraints.
  • the access network 100 may include any number of wireless base stations and cells. Further, a relay node may be deployed to extend the size or coverage area of a given cell.
  • the base stations 110, 112, 114, 118 provide wireless access points to a core network for any number of mobile apparatuses.
  • FIG. 1 further includes a quadcopter or drone 120, which may be configured to function as a base station. That is, in some examples, a cell may not necessarily be stationary, and the geographic area of the cell may move according to the location of a mobile base station such as the quadcopter 120.
  • a quadcopter or drone 120 may be configured to function as a base station. That is, in some examples, a cell may not necessarily be stationary, and the geographic area of the cell may move according to the location of a mobile base station such as the quadcopter 120.
  • base stations may include a backhaul interface for communication with a backhaul portion of the network.
  • the backhaul may provide a link between a base station and a core network, and in some examples, the backhaul may provide interconnection between the respective base stations.
  • the core network is a part of a wireless communication system that is generally independent of the radio access technology used in the radio access network.
  • Various types of backhaul interfaces may be employed, such as a direct physical connection, a virtual network, or the like using any suitable transport network.
  • Some base stations may be configured as integrated access and backhaul (IAB) nodes, where the wireless spectrum may be used both for access links (i.e., wireless links with UEs) , and for backhaul links.
  • IAB integrated access and backhaul
  • This scheme is sometimes referred to as wireless self-backhauling.
  • wireless self-backhauling rather than requiring each new base station deployment to be outfitted with its own hard-wired backhaul connection, the wireless spectrum utilized for communication between the base station and UE may be leveraged for backhaul communication, enabling fast and easy deployment of highly dense small cell networks.
  • the access network 100 is illustrated supporting wireless communication for multiple mobile apparatuses.
  • a mobile apparatus is commonly referred to as user equipment (UE) in standards and specifications promulgated by the 3rd Generation Partnership Project (3GPP) , but may also be referred to by those skilled in the art as a mobile station (MS) , 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 (AT) , a mobile terminal, a wireless terminal, a remote terminal, a handset, a terminal, a user agent, a mobile client, a client, or some other suitable terminology.
  • UE may be an apparatus that provides a user with access to network services.
  • a “mobile” apparatus need not necessarily have a capability to move, and may be stationary.
  • the term mobile apparatus or mobile device broadly refers to a diverse array of devices and technologies.
  • some non-limiting examples of a mobile apparatus include a mobile, a cellular (cell) phone, a smart phone, a session initiation protocol (SIP) phone, a laptop, a personal computer (PC) , a notebook, a netbook, a smartbook, a tablet, a personal digital assistant (PDA) , and a broad array of embedded systems, e.g., corresponding to an “Internet of things” (IoT) .
  • IoT Internet of things
  • a mobile apparatus may additionally be an automotive or other transportation vehicle, a remote sensor or actuator, a robot or robotics device, a satellite radio, a global positioning system (GPS) device, an object tracking device, a drone, a multi-copter, a quad-copter, a remote control device, a consumer and/or wearable device, such as eyewear, a wearable camera, a virtual reality device, a smart watch, a health or fitness tracker, a digital audio player (e.g., MP3 player) , a camera, a game console, etc.
  • GPS global positioning system
  • a mobile apparatus may additionally be a digital home or smart home device such as a home audio, video, and/or multimedia device, an appliance, a vending machine, intelligent lighting, a home security system, a smart meter, etc.
  • a mobile apparatus may additionally be a smart energy device, a security device, a solar panel or solar array, a municipal infrastructure device controlling electric power (e.g., a smart grid) , lighting, water, etc. ; an industrial automation and enterprise device; a logistics controller; agricultural equipment; military defense equipment, vehicles, aircraft, ships, and weaponry, etc.
  • a mobile apparatus may provide for connected medicine or telemedicine support, i.e., health care at a distance.
  • Telehealth devices may include telehealth monitoring devices and telehealth administration devices, whose communication may be given preferential treatment or prioritized access over other types of information, e.g., in terms of prioritized access for transport of critical service data, and/or relevant QoS for transport of critical service data.
  • the cells may include UEs that may be in communication with one or more sectors of each cell.
  • UEs 122 and 124 may be in communication with base station 110
  • UEs 126 and 128 may be in communication with base station 112
  • UEs 130 and 132 may be in communication with base station 114 by way of RRH 116
  • UE 134 may be in communication with low-power base station 118
  • UE 136 may be in communication with mobile base station 120.
  • each base station 110, 112, 114, 118, and 120 may be configured to provide an access point to a core network (not shown) for all the UEs in the respective cells.
  • a mobile network node e.g., quadcopter 120
  • quadcopter 120 may be configured to function as a UE.
  • the quadcopter 120 may operate within cell 102 by communicating with base station 110.
  • two or more UEs e.g., UEs 126 and 128, may communicate with each other using peer to peer (P2P) or sidelink signals 127 without relaying that communication through a base station (e.g., base station 112) .
  • P2P peer to peer
  • sidelink signals 127 without relaying that communication through a base station (e.g., base station 112) .
  • Unicast or broadcast transmissions of control information and/or traffic information from a base station (e.g., base station 110) to one or more UEs (e.g., UEs 122 and 124) may be referred to as downlink (DL) transmission, while transmissions of control information and/or traffic information originating at a UE (e.g., UE 122) may be referred to as uplink (UL) transmissions.
  • DL downlink
  • UL uplink
  • the uplink and/or downlink control information and/or traffic information may be transmitted in transmission time intervals (TTIs) .
  • the air interface in the access network 100 may utilize one or more multiplexing and multiple access algorithms to enable simultaneous communication of the various devices.
  • multiple access for uplink (UL) or reverse link transmissions from UEs 122 and 124 to base station 110 may be provided utilizing time division multiple access (TDMA) , code division multiple access (CDMA) , frequency division multiple access (FDMA) , orthogonal frequency division multiple access (OFDMA) , sparse code multiple access (SCMA) , resource spread multiple access (RSMA) , or other suitable multiple access schemes.
  • TDMA time division multiple access
  • CDMA code division multiple access
  • FDMA frequency division multiple access
  • OFDMA orthogonal frequency division multiple access
  • SCMA sparse code multiple access
  • RSMA resource spread multiple access
  • multiplexing downlink (DL) or forward link transmissions from the base station 110 to UEs 122 and 124 may be provided utilizing time division multiplexing (TDM) , code division multiplexing (CDM) , frequency division multiplexing (FDM) , orthogonal frequency division multiplexing (OFDM) , sparse code multiplexing (SCM) , or other suitable multiplexing schemes.
  • TDM time division multiplexing
  • CDM code division multiplexing
  • FDM frequency division multiplexing
  • OFDM orthogonal frequency division multiplexing
  • SCM sparse code multiplexing
  • the air interface in the access network 100 may utilize licensed spectrum, unlicensed spectrum, or shared spectrum.
  • Licensed spectrum provides for exclusive use of a portion of the spectrum, generally by virtue of a mobile network operator purchasing a license from a government regulatory body.
  • Unlicensed spectrum provides for shared use of a portion of the spectrum without need for a government-granted license. While compliance with some technical rules is generally still required to access unlicensed spectrum, generally, any operator or device may gain access.
  • Shared spectrum may fall between licensed and unlicensed spectrum, wherein technical rules or limitations may be required to access the spectrum, but the spectrum may still be shared by multiple operators and/or multiple RATs.
  • the holder of a license for a portion of licensed spectrum may provide licensed shared access (LSA) to share that spectrum with other parties, e.g., with suitable licensee-determined conditions to gain access.
  • LSA licensed shared access
  • a scheduling entity e.g., a base station
  • the scheduling entity may be responsible for scheduling, assigning, reconfiguring, and releasing resources for one or more scheduled entities. That is, for scheduled communication, UEs or scheduled entities utilize resources allocated by the scheduling entity.
  • Base stations are not the only entities that may function as a scheduling entity. That is, in some examples, a UE may function as a scheduling entity, scheduling resources for one or more scheduled entities (e.g., one or more other UEs) . In other examples, sidelink signals may be used between UEs without necessarily relying on scheduling or control information from a base station.
  • UE 138 is illustrated communicating with UEs 140 and 142. In some examples, the UE 138 is functioning as a scheduling entity or a primary sidelink device, and UEs 140 and 142 may function as a scheduled entity or a non-primary (e.g., secondary) sidelink device.
  • a UE may function as a scheduling entity in a device-to-device (D2D) , peer-to-peer (P2P) , or vehicle-to-vehicle (V2V) network, and/or in a mesh network.
  • D2D device-to-device
  • P2P peer-to-peer
  • V2V vehicle-to-vehicle
  • UEs 140 and 142 may optionally communicate directly with one another in addition to communicating with the scheduling entity 138.
  • a scheduling entity and one or more scheduled entities may communicate utilizing the scheduled resources.
  • FIG. 2 a block diagram illustrates a scheduling entity 202 and a plurality of scheduled entities 204 (e.g., 204a and 204b) .
  • the scheduling entity 202 may correspond to a base station 110, 112, 114, and/or 118.
  • the scheduling entity 202 may correspond to a UE 138, the quadcopter 120, or any other suitable node in the access network 100.
  • the scheduled entity 204 may correspond to the UE 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, and 142, or any other suitable node in the access network 100.
  • the scheduling entity 202 may broadcast traffic 206 to one or more scheduled entities 204 (the traffic may be referred to as downlink traffic) .
  • the term downlink may refer to a point-to-multipoint transmission originating at the scheduling entity 202.
  • the scheduling entity 202 is a node or device responsible for scheduling traffic in a wireless communication network, including the downlink transmissions and, in some examples, uplink traffic 210 from one or more scheduled entities to the scheduling entity 202. Another way to describe the system may be to use the term broadcast channel multiplexing.
  • the term uplink may refer to a point-to-point transmission originating at a scheduled entity 204.
  • the scheduled entity 204 is a node or device that receives scheduling control information, including but not limited to scheduling grants, synchronization or timing information, or other control information from another entity in the wireless communication network such as the scheduling entity 202.
  • the scheduling entity 202 may broadcast control information 208 including one or more control channels, such as a PBCH, a PSS, a SSS, a physical control format indicator channel (PCFICH) , a physical hybrid automatic repeat request (HARQ) indicator channel (PHICH) , and/or a physical downlink control channel (PDCCH) , etc., to one or more scheduled entities 204.
  • the PHICH carries HARQ feedback transmissions such as an acknowledgment (ACK) or negative acknowledgment (NACK) .
  • HARQ is a technique well-known to those of ordinary skill in the art, wherein packet transmissions may be checked at the receiving side for accuracy, and if confirmed, an ACK may be transmitted, whereas if not confirmed, a NACK may be transmitted.
  • the transmitting device may send a HARQ retransmission, which may implement chase combining, incremental redundancy, etc.
  • TTIs transmission time intervals
  • the scheduled entities 204 may transmit uplink control information 212 including one or more uplink control channels to the scheduling entity 202.
  • Uplink control information may include a variety of packet types and categories, including pilots, reference signals, and information configured to enable or assist in decoding uplink traffic transmissions.
  • the control information 212 may include a scheduling request (SR) , i.e., request for the scheduling entity 202 to schedule uplink transmissions.
  • SR scheduling request
  • the scheduling entity 202 may transmit downlink control information 208 that may schedule the TTI for uplink packet transmissions.
  • scheduled entities such as a first scheduled entity 204a and a second scheduled entity 204b may utilize sidelink signals for direct D2D communication.
  • Sidelink signals may include sidelink traffic 214 and sidelink control 216.
  • the channels or carriers illustrated in FIG. 2 are not necessarily all of the channels or carriers that may be utilized between a scheduling entity 202 and scheduled entities 204, and those of ordinary skill in the art will recognize that other channels or carriers may be utilized in addition to those illustrated, such as other traffic, control, and feedback channels.
  • FIG. 3 is a schematic illustration of wireless communication between a first wireless communication device 302 and a second wireless communication device 304.
  • Each wireless communication device 302 and 304 may be a user equipment (UE) , a base station, or any other suitable apparatus or means for wireless communication.
  • a source 306 within the first wireless communication device 302 transmits a digital message over a communication channel 308 (e.g., a wireless channel) to a sink 310 in the second wireless communication device 304.
  • a communication channel 308 e.g., a wireless channel
  • One issue in such a scheme that must be addressed to provide for reliable communication of the digital message is to take into account the noise that affects the communication channel 308.
  • Block codes, or error correcting codes are frequently used to provide reliable transmission of digital messages over such noisy channels.
  • a typical block code an information message or sequence is split up into blocks, each block having a length of K bits.
  • An encoder 312 at the first (transmitting) wireless communication device 302 then mathematically adds redundancy to the information message, resulting in codewords having a length of N, where N > K.
  • error correcting block codes are known to those of ordinary skill in the art.
  • FIG. 4 is a typical Golay code generator matrix.
  • the left 12x12 section 402 represents the parity check bits and the right 12x12 section 404 represents the systematic bits.
  • the generator matrix can be derived from a shortened systematic Golay coding generator matrix based on the generator matrix depicted in FIG. 4, as described in more detail below.
  • the parity check bits 504 remain the same as the parity check bits 402 in FIG. 4, but in FIG. 5, are moved behind the systematic bits 502.
  • This generator matrix in FIG. 5 can be transposed in the form shown in FIG. 6.
  • N and K represent the same variables as noted above; specifically, N is the number of encoded bits and K is the number of information bits.
  • the variable b represents how each of the encoded bits are formulated, such that b i is the output bit at index i.
  • FIG. 8 is a flow diagram of a method for determining a generator matrix according to the present disclosure.
  • the original Golay code generator matrix is shortened.
  • the shortened generator matrix is therefore a (16, 4) generator matrix shortened from the original generator matrix in FIG. 4. That is, as shown in FIG. 9, the generator matrix of FIG. 4 is shortened to a (16, 4) matrix including the shaded bits within the original (24, 12) generator matrix of FIG. 4. If K were 5, then the shortened matrix would be a (17, 5) matrix, which would include the bits that are shown in FIG. 9 with a hatch pattern. Options of shortened matrices include those with values of K between 2 and 11.
  • possible shortened matrices include (14, 2) , (15, 3) , (16, 4) , (17, 5) , (18, 6) , (19, 7) , (20, 8) , (21, 9) , (22, 10) , and (23, 11) .
  • FIG. 10 shows an example of a (16, 4) shortened matrix with 4 columns 1002 appended to the end to form a (20, 4) matrix, as shown by the shaded bits.
  • a search is performed for the appended columns 1002 to identify values for each of the appended bits that are desired for one or more particular scenarios. That is, each possible combination of values for the appended bits is tested and compared to each other to identify one or more desirable combinations of values for the appended bits.
  • Criteria for identifying desirable combinations at step 806 can include Hamming distance and the weight distribution in at least one implementation. In other scenarios, other parameters may be utilized.
  • a first combination of values for the bits in the appended columns e.g., a first test matrix
  • a Hamming distance can be calculated.
  • a second combination of values e.g., a second test matrix is then considered and the Hamming distance for the second test matrix is calculated. If the Hamming distance for the first test matrix is greater than the Hamming distance for the second test matrix, then the second test matrix is dropped from consideration, and the next test matrix is tested.
  • the second test matrix is identified as the best generator matrix, and the first test matrix is dropped from consideration, and the next test matrix is tested. If the Hamming distance for the first test matrix and the second test matrix is the same, then the weight distribution of codewords is considered to determine if one test matrix is preferred over the other test matrix.
  • weight distribution refers to a desire to minimize low weight codewords.
  • weight of a codeword equates to how many quantities of interest a codeword includes.
  • the total codeword can be described as where k is the information bit number, and where each codeword has a length of N.
  • the first codeword c 0 is always 0 in each of its elements. For c 1 through acount is made of how many ‘1s’ are in each codeword to determine the weight of the codeword. For example, a codeword with 10 ‘1s’ in the codeword has a weight of 10.
  • the weight distribution is regarded as the number of codewords having a weight equal to ‘M’ .
  • the loop continues to the next n if Y n is equal to X n . If Y n is equal to X n for all n, then the first test matrix and the second test matrix are considered equally as good generator matrices, and both will be retained as candidates for the generator matrix.
  • a candidate is selected and rows are appended to the matrix one at a time until a total of 7 rows, and desired bit values are determined for each appended row at step 808 in FIG. 8.
  • a fifth row is appended, as shown in FIG. 11.
  • the parity bit values for each appended row can be retained from the original generator matrix.
  • the bit values for the last three bits are determined using three of the four columns that were appended previously. That is, three of the four columns 1002 in FIG. 10, which are shown with hatched shading in FIG. 11, will be utilized in determining the values for the bits 1102 in row 5. Accordingly, all possible combinations for the three bits 1102 are tested with all the possible combinations of three of the four columns 1002 to determine which values for bits 1102 in row 5 have the best Hamming distance and weight distribution.
  • a set is selected and the next row, row 6, is appended to the matrix.
  • row 6, the last two bit values are determined in the same way the three bits 1102 were determined for row 5.
  • a seventh row is appended and the value for the last bit for row 7 is determined in a similar manner that the three bits 1102 were selected.
  • the result is at least one (20, 7) matrix like the example shown in FIG. 12, where the shaded bits have all been determined based on the metric providing the best Hamming distance and weight distribution.
  • bit values are determined for the appended columns. Initially, bit values may be determined for the first four rows of the appended columns, as shown by the hatched shading in FIG. 13. These 16 bits can be determined in a manner similar to the way the bits 1002 were determined, as described above with reference to FIG. 10. In general, all possible combinations are considered and compared to identify the combinations with the best Hamming distance and weight distribution.
  • the remaining bits for rows 5 through 7 are determined on a row by row basis. For example, the values for the last four bits may be determined for row 5, then for row 6, and then, as shown in FIG. 14, the values for the last four bits in row 7 are determined. As stated previously, the bit values are selected based on those bits that will provide the best Hamming distance and weight distribution.
  • a candidate is selected and rows are appended to the matrix one at a time until a total of 12 rows, and desirable bit values are determined for each appended row at step 814 in FIG. 8.
  • the new rows 8 through 11 can be appended, and the bit values determined in a manner similar to that described above with reference to step 808 in FIG. 8 and with reference to FIG. 11.
  • an eighth row is appended with the parity bit values retained from the original generator matrix.
  • the bit values for the last four bits are determined using three of the four columns that were appended previously. That is, three of the four appended columns will be utilized in determining the values for the bits in row 8. Accordingly, all possible combinations for the four bits in row 8 are tested with all the possible combinations of three of the four columns to determine which values for the bits in row 8 have the best Hamming distance and weight distribution.
  • FIG. 5 is an example of just one generator matrix that may be derived from the above described process.
  • the above process describes the method for obtaining a Golay coding generator matrix with N equal to 24 and K less than 12 from a shortened generator matrix.
  • the resulting generator matrix can further be extended to support N equal to 32 and K less than or equal to 12.
  • the values for the bits in the appended 8 columns are determined in a sequential manner similar to that described above. For example, utilizing the (24, 12) generator matrix that was obtained above, such as that shown in FIG. 5, bit values for the 8 appended columns of the first four rows are determined. Referring to FIG. 15, the bit values for the shaded bits of the (32, 4) matrix are determined by testing each possible combination, and comparing the possible combinations to determine the combinations with the best Hamming distance and weight distributions.
  • each remaining row is determined on a row by row basis. For example, the last 8 bits are tested for row 5 to determine which combinations provide the best Hamming distance and weight distributions.
  • a combination of bit values is selected and row 6 is next considered. This continues row by row until the entire matrix is filled.
  • the example in FIG. 7 is one (32, 12) generator matrix obtained by the above described process. It has been discovered that there are 48 possible (32, 12) generator matrices with equal Hamming distance and weight distributions that could also be selected by the described process.
  • column 3 can be modified with a ‘1’ in the first row and column 4 can be modified with 1 1 1 in each of rows 1 through 3, as shown in FIG. 15.
  • a device can use Golay coding utilizing the generator matrix by utilizing one of equations A or B above.
  • FIG. 16 is a block diagram illustrating an example of a hardware implementation for a wireless communication device 1600, such as a scheduled entity or a scheduling entity, employing a processing system 1614.
  • the wireless communication device 1600 may be a user equipment (UE) as illustrated in any one or more of FIGS. 1 and/or 2.
  • the wireless communication device 1600 may be a base station as illustrated in any one or more of FIGS. 1 and/or 2.
  • the wireless communication device 1600 may be implemented with a processing system 1614 that includes one or more processors 1604.
  • processors 1604 include microprocessors, microcontrollers, digital signal processors (DSPs) , field programmable gate arrays (FPGAs) , programmable logic devices (PLDs) , state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
  • DSPs digital signal processors
  • FPGAs field programmable gate arrays
  • PLDs programmable logic devices
  • state machines gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
  • the wireless communication device 1600 may be configured to perform any one or more of the functions described herein. That is, the processor 1604, as utilized in a wireless communication device 1600, may be used to implement any one or more of the processes and procedures described below.
  • the processing system 1614 may be implemented with a bus architecture, represented generally by the bus 1602.
  • the bus 1602 may include any number of interconnecting buses and bridges depending on the specific application of the processing system 1614 and the overall design constraints.
  • the bus 1602 communicatively couples together various circuits including one or more processors (represented generally by the processor 1604) , a memory 1605, and computer-readable media (represented generally by the computer-readable medium 1606) .
  • the bus 1602 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further.
  • a bus interface 1608 provides an interface between the bus 1602 and a transceiver 1610.
  • the transceiver 1610 provides a communication interface or means for communicating with various other apparatus over a transmission medium.
  • a user interface 1612 e.g., keypad, display, speaker, microphone, joystick
  • a user interface 1612 may also be provided.
  • the processor 1604 may include circuitry configured for various functions, including, for example, an encoder circuit 1642.
  • the encoder circuit 1642 may be configured to implement one or more of the functions for encoding data based on Golay coding as described herein.
  • the processor 1604 is responsible for managing the bus 1602 and general processing, including the execution of software stored on the computer-readable medium 1606.
  • the software when executed by the processor 1604, causes the processing system 1614 to perform the various functions described below for any particular apparatus.
  • the computer-readable medium 1606 and the memory 1605 may also be used for storing data that is manipulated by the processor 1604 when executing software.
  • One or more processors 1604 in the processing system may execute software.
  • Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
  • the software may reside on a computer-readable medium 1606.
  • the computer-readable medium 1606 may be a non-transitory computer-readable medium.
  • a non-transitory computer-readable medium includes, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD) ) , a smart card, a flash memory device (e.g., a card, a stick, or a key drive) , a random access memory (RAM) , a read only memory (ROM) , a programmable ROM (PROM) , an erasable PROM (EPROM) , an electrically erasable PROM (EEPROM) , a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer.
  • a magnetic storage device e.g., hard disk, floppy disk, magnetic strip
  • an optical disk e.g., a compact disc (CD) or a digital versatile disc (DVD)
  • the computer-readable medium may also include, by way of example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and/or instructions that may be accessed and read by a computer.
  • the computer-readable medium 1606 may reside in the processing system 1614, external to the processing system 1614, or distributed across multiple entities including the processing system 1614.
  • the computer-readable medium 1606 may be embodied in a computer program product.
  • a computer program product may include a computer-readable medium in packaging materials.
  • the computer-readable storage medium 1606 may include software configured for various functions, including, for example, encoder instructions 1652.
  • the encoder instructions 1652 may be configured to implement one or more of the functions described in the present disclosure for encoding data for transmission.
  • FIG. 17 is a flow diagram depicting a method operational on a wireless communication device, such as the wireless communication device 1600, according to at least one example.
  • the wireless communication device 1600 may obtain a bit stream for transmission.
  • the wireless communication device 1600 may encode the bit stream using a Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix, such as a (24, 12) generator matrix.
  • the processor 1604 e.g., encoder circuit 1642
  • the processor 1604 e.g., encoder circuit 1642
  • may implement instructions e.g., the encoding instructions 1652 may encode the bit stream according to one of the equations A, B, C, or D using the generator matrix of FIG. 6 or FIG. 7.
  • the wireless communication device 1600 may transmit the encoded bit stream.
  • the processor 1604 may transmit the encoded bit stream via the transceiver 1610.
  • various aspects may be implemented within other systems defined by 3GPP, such as Long-Term Evolution (LTE) , the Evolved Packet System (EPS) , the Universal Mobile Telecommunication System (UMTS) , and/or the Global System for Mobile (GSM) .
  • LTE Long-Term Evolution
  • EPS Evolved Packet System
  • UMTS Universal Mobile Telecommunication System
  • GSM Global System for Mobile
  • Various aspects may also be extended to systems defined by the 3rd Generation Partnership Project 2 (3GPP2) , such as CDMA2000 and/or Evolution-Data Optimized (EV-DO) .
  • 3GPP2 3rd Generation Partnership Project 2
  • EV-DO Evolution-Data Optimized
  • Other examples may be implemented within systems employing IEEE 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20, Ultra-Wideband (UWB) , Bluetooth, and/or other suitable systems.
  • Wi-Fi IEEE 802.11
  • WiMAX IEEE 8
  • the word “exemplary” is used to mean “serving as an example, instance, or illustration. ” Any implementation or aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects of the disclosure. Likewise, the term “aspects” does not require that all aspects of the disclosure include the discussed feature, advantage or mode of operation.
  • the term “coupled” is used herein to refer to the direct or indirect coupling between two objects. For example, if object A physically touches object B, and object B touches object C, then objects A and C may still be considered coupled to one another-even if they do not directly physically touch each other. For instance, a first object may be coupled to a second object even though the first object is never directly physically in contact with the second object.
  • circuit and “circuitry” are used broadly, and intended to include both hardware implementations of electrical devices and conductors that, when connected and configured, enable the performance of the functions described in the present disclosure, without limitation as to the type of electronic circuits, as well as software implementations of information and instructions that, when executed by a processor, enable the performance of the functions described in the present disclosure.
  • FIGS. 1-8 One or more of the components, steps, features and/or functions illustrated in FIGS. 1-8 may be rearranged and/or combined into a single component, step, feature or function or embodied in several components, steps, or functions. Additional elements, components, steps, and/or functions may also be added without departing from novel features disclosed herein.
  • the apparatus, devices, and/or components illustrated in FIGS. 1-8 may be configured to perform one or more of the methods, features, or steps described herein.
  • the novel algorithms described herein may also be efficiently implemented in software and/or embedded in hardware.

Abstract

Wireless communication devices are adapted to employ Golay codes for encoding a bit stream. According to at least one example, a wireless communication device can obtaining a bit stream, and encoding the bit stream utilizing Golay coding with a generator matrix, where the generator matrix is derived from a shortened generator matrix extended out to form an extended generator matrix. Other aspects, embodiments, and features are also included.

Description

BLOCK CODING BASED ON GOLAY CODE TECHNICAL FIELD
The technology discussed below relates generally to wireless communication systems, and more particularly, to channel coding utilizing Golay code in communication systems.
INTRODUCTION
Block codes, or error correcting codes are frequently used to provide reliable transmission of digital messages over noisy channels. In a typical block code, an information message or sequence is split up into blocks, and an encoder at the transmitting device then mathematically adds redundancy to the information message. Exploitation of this redundancy in the encoded information message is the key to reliability of the message, enabling correction for any bit errors that may occur due to the noise. That is, a decoder at the receiving device can take advantage of the redundancy to reliably recover the information message even though bit errors may occur, in part, due to the addition of noise to the channel.
Many examples of such error correcting block codes are known to those of ordinary skill in the art, including Hamming codes, Bose-Chaudhuri-Hocquenghem (BCH) codes, turbo codes, Reed-Muller (RM) code, and low-density parity check (LDPC) codes, among others. Many existing wireless communication networks utilize such block codes, such as 3GPP LTE networks, which utilize turbo codes, and IEEE 802.11n Wi-Fi networks, which utilize LDPC codes.
SUMMARY
The technology discussed in this application relates to coding and in particular codes capable of use for error detection/correction. One type of discussed code is a linear error-correcting code called a Golay code. For future wireless communication networks beyond LTE, Golay codes present a potential opportunity for reliable and efficient information transfer with improved performance relative to other error correcting block codes.
DRAWINGS
FIG. 1 is a block diagram of a network environment in which one or more aspects of the present disclosure may find application.
FIG. 2 is a block diagram conceptually illustrating an example of a scheduling entity communicating with one or more scheduled entities according to some embodiments.
FIG. 3 is a schematic illustration of wireless communication between a first wireless communication device and a second wireless communication device.
FIG. 4 is a typical Golay code generator matrix.
FIG. 5 is an example of a Golay code generator matrix derived from a shortened portion of the generator matrix from FIG. 4.
FIG. 6 is a transposed version of the generator matrix from FIG. 5.
FIG. 7 is a generator matrix obtained by extending the generator matrix from FIG. 5 to support N = 32.
FIG. 8 is a flow diagram depicting a process for obtaining a generator matrix from a shortened generator matrix for Golay coding, according to at least one example.
FIG. 9 depicts a Golay coding generator matrix shortened to (16, 4) .
FIG. 10 depicts the shortened generator matrix of FIG. 9 extended out to (20, 4) .
FIG. 11 shows the (20, 4) generator matrix of FIG. 10 with new bit values derived for the extended columns.
FIG. 12 shows the (20, 4) generator matrix of FIG. 11 extended to (20, 7) with new bit values derived for extended bits.
FIG. 13 shows the (20, 7) generator matrix of FIG. 12 extended to (24, 7) with new columns.
FIG. 14 shows the (24, 7) generator matrix of FIG. 13 with new bit values derived for the extended bits.
FIG. 15 shows the (24, 12) generator matrix of FIG. 5 extended to (32, 12) with some of the new bit values derived for the extended bits.
FIG. 16 is a block diagram illustrating an example of a hardware implementation for a wireless communication device employing a processing system.
FIG. 17 is a flow diagram depicting a method operational on a wireless communication device according to at least one example.
DETAILED DESCRIPTION
The description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts and features described herein may be practiced. The following description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known circuits, structures, techniques and components are shown in block diagram form to avoid obscuring the described concepts and features.
The various concepts presented throughout this disclosure may be implemented across a broad variety of telecommunication systems, network architectures, and communication standards. Referring now to FIG. 1, as an illustrative example without limitation, a block diagram of a network environment in which one or more aspects of the present disclosure may find application is provided. The access network 100 is adapted to facilitate wireless communication between two or more wireless communication devices.
The geographic region covered by the access network 100 may be divided into a number of cellular regions (cells) that can be uniquely identified by a user equipment (UE) based on an identification broadcasted over a geographical area from one access point or base station. FIG. 1 illustrates  macrocells  102, 104, and 106, and a small cell 108, each of which may include one or more sectors. A sector is a sub-area of a cell. All sectors within one cell are served by the same base station. A radio link within a sector can be identified by a single logical identification belonging to that sector. In a cell that is divided into sectors, the multiple sectors within a cell can be formed by groups of antennas with each antenna responsible for communication with UEs in a portion of the cell.
In general, a base station (BS) serves each cell. Broadly, a base station is a network element in a radio access network responsible for radio transmission and reception in one or more cells to or from a UE. A base station may also be referred to by those skilled in the art as a base transceiver station (BTS) , a radio base station, a radio transceiver, a transceiver function, a basic service set (BSS) , an extended service set (ESS) , an access point (AP) , a Node B (NB) , an eNode B (eNB) , or some other suitable terminology. Those of skill in the art will recognize various component labels  as potentially generally falling into a generational communications system yet this is done for explanation purposes. Embodiments discussed herein may be utilized in a variety of telecommunication systems as desired or according to design parameters.
In FIG. 1, two high- power base stations  110 and 112 are shown in  cells  102 and 104, and a third high-power base station 114 is shown controlling a remote radio head (RRH) 116 in cell 106. That is, a base station can have an integrated antenna or can be connected to an antenna or RRH by feeder cables. In the illustrated example, the  cells  102, 104, and 106 may be referred to as macrocells, as the high- power base stations  110, 112, and 114 support cells having a large size.
Further, a low-power base station 118 is shown in the small cell 108 (e.g., a microcell, picocell, femtocell, home base station, home Node B, home eNode B, etc. ) which may overlap with one or more macrocells. In this example, the cell 108 may be referred to as a small cell, as the low-power base station 118 supports a cell having a relatively small size. Cell sizing can be done according to system design as well as component constraints. It is to be understood that the access network 100 may include any number of wireless base stations and cells. Further, a relay node may be deployed to extend the size or coverage area of a given cell. The  base stations  110, 112, 114, 118 provide wireless access points to a core network for any number of mobile apparatuses.
FIG. 1 further includes a quadcopter or drone 120, which may be configured to function as a base station. That is, in some examples, a cell may not necessarily be stationary, and the geographic area of the cell may move according to the location of a mobile base station such as the quadcopter 120.
In general, base stations may include a backhaul interface for communication with a backhaul portion of the network. The backhaul may provide a link between a base station and a core network, and in some examples, the backhaul may provide interconnection between the respective base stations. The core network is a part of a wireless communication system that is generally independent of the radio access technology used in the radio access network. Various types of backhaul interfaces may be employed, such as a direct physical connection, a virtual network, or the like using any suitable transport network. Some base stations may be configured as integrated access and backhaul (IAB) nodes, where the wireless spectrum may be used both for access links (i.e., wireless links with UEs) , and for backhaul links. This scheme is sometimes referred to as wireless self-backhauling. By using wireless self-backhauling, rather than requiring each new base station deployment to be outfitted with its own  hard-wired backhaul connection, the wireless spectrum utilized for communication between the base station and UE may be leveraged for backhaul communication, enabling fast and easy deployment of highly dense small cell networks.
The access network 100 is illustrated supporting wireless communication for multiple mobile apparatuses. A mobile apparatus is commonly referred to as user equipment (UE) in standards and specifications promulgated by the 3rd Generation Partnership Project (3GPP) , but may also be referred to by those skilled in the art as a mobile station (MS) , 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 (AT) , a mobile terminal, a wireless terminal, a remote terminal, a handset, a terminal, a user agent, a mobile client, a client, or some other suitable terminology. A UE may be an apparatus that provides a user with access to network services.
Within the present document, a “mobile” apparatus need not necessarily have a capability to move, and may be stationary. The term mobile apparatus or mobile device broadly refers to a diverse array of devices and technologies. For example, some non-limiting examples of a mobile apparatus include a mobile, a cellular (cell) phone, a smart phone, a session initiation protocol (SIP) phone, a laptop, a personal computer (PC) , a notebook, a netbook, a smartbook, a tablet, a personal digital assistant (PDA) , and a broad array of embedded systems, e.g., corresponding to an “Internet of things” (IoT) . A mobile apparatus may additionally be an automotive or other transportation vehicle, a remote sensor or actuator, a robot or robotics device, a satellite radio, a global positioning system (GPS) device, an object tracking device, a drone, a multi-copter, a quad-copter, a remote control device, a consumer and/or wearable device, such as eyewear, a wearable camera, a virtual reality device, a smart watch, a health or fitness tracker, a digital audio player (e.g., MP3 player) , a camera, a game console, etc. A mobile apparatus may additionally be a digital home or smart home device such as a home audio, video, and/or multimedia device, an appliance, a vending machine, intelligent lighting, a home security system, a smart meter, etc. A mobile apparatus may additionally be a smart energy device, a security device, a solar panel or solar array, a municipal infrastructure device controlling electric power (e.g., a smart grid) , lighting, water, etc. ; an industrial automation and enterprise device; a logistics controller; agricultural equipment; military defense equipment, vehicles, aircraft, ships, and weaponry, etc. Still further, a mobile apparatus may provide for connected medicine or  telemedicine support, i.e., health care at a distance. Telehealth devices may include telehealth monitoring devices and telehealth administration devices, whose communication may be given preferential treatment or prioritized access over other types of information, e.g., in terms of prioritized access for transport of critical service data, and/or relevant QoS for transport of critical service data.
Within the access network 100, the cells may include UEs that may be in communication with one or more sectors of each cell. For example,  UEs  122 and 124 may be in communication with base station 110,  UEs  126 and 128 may be in communication with base station 112,  UEs  130 and 132 may be in communication with base station 114 by way of RRH 116, UE 134 may be in communication with low-power base station 118, and UE 136 may be in communication with mobile base station 120. Here, each  base station  110, 112, 114, 118, and 120 may be configured to provide an access point to a core network (not shown) for all the UEs in the respective cells.
In another example, a mobile network node (e.g., quadcopter 120) may be configured to function as a UE. For example, the quadcopter 120 may operate within cell 102 by communicating with base station 110. In some aspects of the disclosure, two or more UEs (e.g., UEs 126 and 128) may communicate with each other using peer to peer (P2P) or sidelink signals 127 without relaying that communication through a base station (e.g., base station 112) .
Unicast or broadcast transmissions of control information and/or traffic information from a base station (e.g., base station 110) to one or more UEs (e.g., UEs 122 and 124) may be referred to as downlink (DL) transmission, while transmissions of control information and/or traffic information originating at a UE (e.g., UE 122) may be referred to as uplink (UL) transmissions. In addition, the uplink and/or downlink control information and/or traffic information may be transmitted in transmission time intervals (TTIs) .
The air interface in the access network 100 may utilize one or more multiplexing and multiple access algorithms to enable simultaneous communication of the various devices. For example, multiple access for uplink (UL) or reverse link transmissions from  UEs  122 and 124 to base station 110 may be provided utilizing time division multiple access (TDMA) , code division multiple access (CDMA) , frequency division multiple access (FDMA) , orthogonal frequency division multiple access (OFDMA) , sparse code multiple access (SCMA) , resource spread multiple access (RSMA) , or other suitable multiple access schemes. Further, multiplexing downlink  (DL) or forward link transmissions from the base station 110 to UEs 122 and 124 may be provided utilizing time division multiplexing (TDM) , code division multiplexing (CDM) , frequency division multiplexing (FDM) , orthogonal frequency division multiplexing (OFDM) , sparse code multiplexing (SCM) , or other suitable multiplexing schemes.
In various implementations, the air interface in the access network 100 may utilize licensed spectrum, unlicensed spectrum, or shared spectrum. Licensed spectrum provides for exclusive use of a portion of the spectrum, generally by virtue of a mobile network operator purchasing a license from a government regulatory body. Unlicensed spectrum provides for shared use of a portion of the spectrum without need for a government-granted license. While compliance with some technical rules is generally still required to access unlicensed spectrum, generally, any operator or device may gain access. Shared spectrum may fall between licensed and unlicensed spectrum, wherein technical rules or limitations may be required to access the spectrum, but the spectrum may still be shared by multiple operators and/or multiple RATs. For example, the holder of a license for a portion of licensed spectrum may provide licensed shared access (LSA) to share that spectrum with other parties, e.g., with suitable licensee-determined conditions to gain access.
In some examples, access to the air interface may be scheduled, wherein a scheduling entity (e.g., a base station) allocates resources for communication among some or all devices and equipment within its service area or cell. Within the present disclosure, as discussed further below, the scheduling entity may be responsible for scheduling, assigning, reconfiguring, and releasing resources for one or more scheduled entities. That is, for scheduled communication, UEs or scheduled entities utilize resources allocated by the scheduling entity.
Base stations are not the only entities that may function as a scheduling entity. That is, in some examples, a UE may function as a scheduling entity, scheduling resources for one or more scheduled entities (e.g., one or more other UEs) . In other examples, sidelink signals may be used between UEs without necessarily relying on scheduling or control information from a base station. For example, UE 138 is illustrated communicating with  UEs  140 and 142. In some examples, the UE 138 is functioning as a scheduling entity or a primary sidelink device, and  UEs  140 and 142 may function as a scheduled entity or a non-primary (e.g., secondary) sidelink device. In still another example, a UE may function as a scheduling entity in a device-to-device  (D2D) , peer-to-peer (P2P) , or vehicle-to-vehicle (V2V) network, and/or in a mesh network. In a mesh network example,  UEs  140 and 142 may optionally communicate directly with one another in addition to communicating with the scheduling entity 138.
Thus, in a wireless communication network with scheduled access to time-frequency resources and having a cellular configuration, a P2P configuration, or a mesh configuration, a scheduling entity and one or more scheduled entities may communicate utilizing the scheduled resources. Referring now to FIG. 2, a block diagram illustrates a scheduling entity 202 and a plurality of scheduled entities 204 (e.g., 204a and 204b) . Here, the scheduling entity 202 may correspond to a  base station  110, 112, 114, and/or 118. In additional examples, the scheduling entity 202 may correspond to a UE 138, the quadcopter 120, or any other suitable node in the access network 100. Similarly, in various examples, the scheduled entity 204 may correspond to the  UE  122, 124, 126, 128, 130, 132, 134, 136, 138, 140, and 142, or any other suitable node in the access network 100.
As illustrated in FIG. 2, the scheduling entity 202 may broadcast traffic 206 to one or more scheduled entities 204 (the traffic may be referred to as downlink traffic) . In accordance with certain aspects of the present disclosure, the term downlink may refer to a point-to-multipoint transmission originating at the scheduling entity 202. Broadly, the scheduling entity 202 is a node or device responsible for scheduling traffic in a wireless communication network, including the downlink transmissions and, in some examples, uplink traffic 210 from one or more scheduled entities to the scheduling entity 202. Another way to describe the system may be to use the term broadcast channel multiplexing. In accordance with aspects of the present disclosure, the term uplink may refer to a point-to-point transmission originating at a scheduled entity 204. Broadly, the scheduled entity 204 is a node or device that receives scheduling control information, including but not limited to scheduling grants, synchronization or timing information, or other control information from another entity in the wireless communication network such as the scheduling entity 202.
The scheduling entity 202 may broadcast control information 208 including one or more control channels, such as a PBCH, a PSS, a SSS, a physical control format indicator channel (PCFICH) , a physical hybrid automatic repeat request (HARQ) indicator channel (PHICH) , and/or a physical downlink control channel (PDCCH) , etc., to one or more scheduled entities 204. The PHICH carries HARQ feedback transmissions such as an acknowledgment (ACK) or negative acknowledgment  (NACK) . HARQ is a technique well-known to those of ordinary skill in the art, wherein packet transmissions may be checked at the receiving side for accuracy, and if confirmed, an ACK may be transmitted, whereas if not confirmed, a NACK may be transmitted. In response to a NACK, the transmitting device may send a HARQ retransmission, which may implement chase combining, incremental redundancy, etc.
Uplink traffic 210 and/or downlink traffic 206 including one or more traffic channels, such as a physical downlink shared channel (PDSCH) or a physical uplink shared channel (PUSCH) (and, in some examples, system information blocks (SIBs)) , may additionally be transmitted between the scheduling entity 202 and the scheduled entity 204. Transmissions of the control and traffic information may be organized by subdividing a carrier, in time, into suitable transmission time intervals (TTIs) .
Furthermore, the scheduled entities 204 may transmit uplink control information 212 including one or more uplink control channels to the scheduling entity 202. Uplink control information may include a variety of packet types and categories, including pilots, reference signals, and information configured to enable or assist in decoding uplink traffic transmissions. In some examples, the control information 212 may include a scheduling request (SR) , i.e., request for the scheduling entity 202 to schedule uplink transmissions. Here, in response to the SR transmitted on the control channel 212, the scheduling entity 202 may transmit downlink control information 208 that may schedule the TTI for uplink packet transmissions.
In some examples, scheduled entities such as a first scheduled entity 204a and a second scheduled entity 204b may utilize sidelink signals for direct D2D communication. Sidelink signals may include sidelink traffic 214 and sidelink control 216.
The channels or carriers illustrated in FIG. 2 are not necessarily all of the channels or carriers that may be utilized between a scheduling entity 202 and scheduled entities 204, and those of ordinary skill in the art will recognize that other channels or carriers may be utilized in addition to those illustrated, such as other traffic, control, and feedback channels.
FIG. 3 is a schematic illustration of wireless communication between a first wireless communication device 302 and a second wireless communication device 304. Each  wireless communication device  302 and 304 may be a user equipment (UE) , a base station, or any other suitable apparatus or means for wireless communication. In the illustrated example, a source 306 within the first wireless communication device 302  transmits a digital message over a communication channel 308 (e.g., a wireless channel) to a sink 310 in the second wireless communication device 304. One issue in such a scheme that must be addressed to provide for reliable communication of the digital message is to take into account the noise that affects the communication channel 308.
Block codes, or error correcting codes are frequently used to provide reliable transmission of digital messages over such noisy channels. In a typical block code, an information message or sequence is split up into blocks, each block having a length of K bits. An encoder 312 at the first (transmitting) wireless communication device 302 then mathematically adds redundancy to the information message, resulting in codewords having a length of N, where N > K. Here, the coding rate R is the ratio between the message length and the block length: i.e., R = K /N. Exploitation of this redundancy in the encoded information message is the key to reliability of the message, enabling correction for any bit errors that may occur due to the noise. That is, a decoder 314 at the second (receiving) wireless communication device 304 can take advantage of the redundancy to reliably recover the information message even though bit errors may occur, in part, due to the addition of noise to the channel.
Many examples of such error correcting block codes are known to those of ordinary skill in the art. For example, some existing wireless communication networks, such as 3GPP LTE networks, utilize block codes such as Reed-Muller code design for error correction in transmissions with block lengths supporting codewords N = 32, N = 24,and/or N = 20. For instance, Reed-Muller (RM) coding may be used for PUCCH transmissions utilizing a punctured version of (32, 0) , which is the subcode of 2nd order RM code with N = 32. Such punctured coding supports N = 20 and N = 24. However, RM coding is not optimized for block lengths of N = 20 or N = 24. According to aspects of the present disclosure, a shortened Golay coding is employed for block lengths of N = 20, N = 24, and N = 32, where the message length may be between 2 and 12 (e.g., K = 2 through K = 12) .
Conventional Golay code encodes 12 bits of data in a 24-bit codeword in such a way that any 3-bit errors can be corrected or any 7-bit errors can be detected. In standard code notation the codes have parameters [24, 12, 8] , corresponding to the length of the codewords, the dimension of the code, and the minimum Hamming distance between two codewords, respectively. FIG. 4 is a typical Golay code generator matrix. In the matrix shown, the left 12x12 section 402 represents the parity check bits and the right 12x12 section 404 represents the systematic bits.
According to an aspect of the present disclosure, a unique generator matrix is employed for Golay coding communications for N = 20, N = 24, and N = 32, where the message length is between 2 and 12 (e.g., K = 2 through K = 12) . The generator matrix can be derived from a shortened systematic Golay coding generator matrix based on the generator matrix depicted in FIG. 4, as described in more detail below. An example of a particular generator matrix is depicted in FIG. 5, which is derived from a shortened generator matrix from FIG. 4, where K=4. In this example, the parity check bits 504 remain the same as the parity check bits 402 in FIG. 4, but in FIG. 5, are moved behind the systematic bits 502. This generator matrix in FIG. 5 can be transposed in the form shown in FIG. 6. An encoder is configured to encode data bits utilizing the generator matrix in FIG. 6 with the equation A for implementations where N = 24 and K is between 2 and 12, and with the equation B for implementations where N = 20 and K is between 2 and 12.
N = 24 or 32, K = 2 ~ 12, i = 0 ~ N -1:
A:
Figure PCTCN2017070682-appb-000001
N = 20, K = 2 ~ 12, i = 0 ~ N -1:
B:
Figure PCTCN2017070682-appb-000002
In the equations A and B, the variables N and K represent the same variables as noted above; specifically, N is the number of encoded bits and K is the number of information bits. The variable b represents how each of the encoded bits are formulated, such that bi is the output bit at index i. The variable on represents the input bit for the index n = 0 through n = K-1. As shown in the equations, for each instance where i is less than K, the output bit bi equals the input bit on, and for each instance where i is greater than or equal to K, the sum is calculated to obtain the output bit value bi.
A generator matrix derived from the generator matrix in FIG. 4 can be further extended to support N = 32 and K between 2 and 12 (e.g., K = 2 through K = 12) . FIG. 7 illustrates a generator matrix where a generator matrix derived from K = 2 is extended  to support N = 32. Where N = 32 or N = 24, the encoder utilizes the equation A above. Further, when N = 20, the encoder can utilize the equation B above.
The generator matrix in FIG. 5 and the generator matrix in FIG. 7 are derived from a portion of the generator matrix of FIG. 4, where FIG. 5 is derived from K = 4 and FIG. 7 is derived from K = 2. Aspects of the present disclosure relate to deriving a generator matrix for Golay coding from a shortened matrix. FIG. 8 is a flow diagram of a method for determining a generator matrix according to the present disclosure. At 802, the original Golay code generator matrix is shortened. For example, a systematic Golay code can be shortened to get the (N, K) systematic bits, where N = 24-m and K = 12-m. In one specific example, K may be 4, meaning that m is 8 when K = 12-m. With m = 8, N is 16. The shortened generator matrix is therefore a (16, 4) generator matrix shortened from the original generator matrix in FIG. 4. That is, as shown in FIG. 9, the generator matrix of FIG. 4 is shortened to a (16, 4) matrix including the shaded bits within the original (24, 12) generator matrix of FIG. 4. If K were 5, then the shortened matrix would be a (17, 5) matrix, which would include the bits that are shown in FIG. 9 with a hatch pattern. Options of shortened matrices include those with values of K between 2 and 11. Thus, possible shortened matrices include (14, 2) , (15, 3) , (16, 4) , (17, 5) , (18, 6) , (19, 7) , (20, 8) , (21, 9) , (22, 10) , and (23, 11) .
After the original (24, 12) generator matrix is shortened, columns are appended to obtain a desired codeword length at 804. For example, FIG. 10 shows an example of a (16, 4) shortened matrix with 4 columns 1002 appended to the end to form a (20, 4) matrix, as shown by the shaded bits. At 806 in FIG. 8, a search is performed for the appended columns 1002 to identify values for each of the appended bits that are desired for one or more particular scenarios. That is, each possible combination of values for the appended bits is tested and compared to each other to identify one or more desirable combinations of values for the appended bits.
Criteria for identifying desirable combinations at step 806 can include Hamming distance and the weight distribution in at least one implementation. In other scenarios, other parameters may be utilized. In an example utilizing Hamming distance and weight distribution, a first combination of values for the bits in the appended columns (e.g., a first test matrix) may be considered and a Hamming distance can be calculated. A second combination of values (e.g., a second test matrix) is then considered and the Hamming distance for the second test matrix is calculated. If the Hamming distance for the first test matrix is greater than the Hamming distance for the  second test matrix, then the second test matrix is dropped from consideration, and the next test matrix is tested. On the other hand, if the Hamming distance for the second test matrix is greater than the first test matrix, then the second test matrix is identified as the best generator matrix, and the first test matrix is dropped from consideration, and the next test matrix is tested. If the Hamming distance for the first test matrix and the second test matrix is the same, then the weight distribution of codewords is considered to determine if one test matrix is preferred over the other test matrix.
The consideration of weight distribution refers to a desire to minimize low weight codewords. Generally, weight of a codeword equates to how many quantities of interest a codeword includes. After encoding, the total codeword can be described as 
Figure PCTCN2017070682-appb-000003
where k is the information bit number, and where each codeword has a length of N. The first codeword c0 is always 0 in each of its elements. For c1 through 
Figure PCTCN2017070682-appb-000004
acount is made of how many ‘1s’ are in each codeword to determine the weight of the codeword. For example, a codeword with 10 ‘1s’ in the codeword has a weight of 10. The weight distribution is regarded as the number of codewords having a weight equal to ‘M’ .
Supposing the weight distribution of the best codeword generated by the first test matrix is (Xn, n) , where n is the weight and Xn is the corresponding count of how many codewords have such a weight. The weight distribution (Xn, n) for the first test matrix is compared to the weight distribution (Yn, n) for the second test matrix. A test for n greater than 0 is done in consecutive order, if Yn is less than Xn, then the second test matrix will replace the first test matrix as the preferred generator matrix. On the other hand, if Yn is greater than Xn, then the first test matrix is considered the preferred generator matrix. The loop continues to the next n if Yn is equal to Xn. If Yn is equal to Xn for all n, then the first test matrix and the second test matrix are considered equally as good generator matrices, and both will be retained as candidates for the generator matrix.
Because there are 16 total bits to be determined, there will be 216 possible combinations to be tested. In other words, there will be 65, 536 test matrices tested to determine the candidate generator matrices for the (20, 4) matrix.
After preferred candidate bit value combinations are determined for the (20, 4) matrix, a candidate is selected and rows are appended to the matrix one at a time until a total of 7 rows, and desired bit values are determined for each appended row at step 808  in FIG. 8. For example a fifth row is appended, as shown in FIG. 11. The parity bit values for each appended row can be retained from the original generator matrix. In the fifth row, the bit values for the last three bits are determined using three of the four columns that were appended previously. That is, three of the four columns 1002 in FIG. 10, which are shown with hatched shading in FIG. 11, will be utilized in determining the values for the bits 1102 in row 5. Accordingly, all possible combinations for the three bits 1102 are tested with all the possible combinations of three of the four columns 1002 to determine which values for bits 1102 in row 5 have the best Hamming distance and weight distribution.
After the possible values for the three bits in row 5 are determined, a set is selected and the next row, row 6, is appended to the matrix. For row 6, the last two bit values are determined in the same way the three bits 1102 were determined for row 5. Similarly, a seventh row is appended and the value for the last bit for row 7 is determined in a similar manner that the three bits 1102 were selected. The result is at least one (20, 7) matrix like the example shown in FIG. 12, where the shaded bits have all been determined based on the metric providing the best Hamming distance and weight distribution.
At 810 in FIG. 8, the (20, 7) matrix is subsequently extended to a (24, 7) matrix by appending four additional columns, as shown in FIG. 13. At 812 in FIG. 8, bit values are determined for the appended columns. Initially, bit values may be determined for the first four rows of the appended columns, as shown by the hatched shading in FIG. 13. These 16 bits can be determined in a manner similar to the way the bits 1002 were determined, as described above with reference to FIG. 10. In general, all possible combinations are considered and compared to identify the combinations with the best Hamming distance and weight distribution.
After the values for the 16 bits that are shown in FIG. 13 with the hatched shading are determined and selected, the remaining bits for rows 5 through 7 are determined on a row by row basis. For example, the values for the last four bits may be determined for row 5, then for row 6, and then, as shown in FIG. 14, the values for the last four bits in row 7 are determined. As stated previously, the bit values are selected based on those bits that will provide the best Hamming distance and weight distribution.
After candidate bit value combinations are determined for the (24, 7) matrix, a candidate is selected and rows are appended to the matrix one at a time until a total of 12 rows, and desirable bit values are determined for each appended row at step 814 in  FIG. 8. The new rows 8 through 11 can be appended, and the bit values determined in a manner similar to that described above with reference to step 808 in FIG. 8 and with reference to FIG. 11. For example an eighth row is appended with the parity bit values retained from the original generator matrix. In the eighth row, the bit values for the last four bits are determined using three of the four columns that were appended previously. That is, three of the four appended columns will be utilized in determining the values for the bits in row 8. Accordingly, all possible combinations for the four bits in row 8 are tested with all the possible combinations of three of the four columns to determine which values for the bits in row 8 have the best Hamming distance and weight distribution.
After the possible values for the four bits in row 8 are determined, a set is selected and the next row, row 9, is appended to the matrix. For row 9, the last three bit values are determined in the same way the four bits were determined for row 8. Similarly, a tenth row is appended and the value for the last two bits for row 10 are determined in a similar manner that the four bits in row 8 were selected. Additionally, row 11 is appended and the value for the last bit for row 11 is determined in a similar manner. Finally, the row 12 from the original generator matrix is appended as row 12 in the newly derived generator matrix. The result is a (24, 12) matrix. To complete the matrix derivation, the systematic bits can be moved above the parity check bits to arrive at a generator matrix like the example shown in FIG. 5. A total of 96 different generator matrices may be obtained, with each matrix providing equal Hamming distance and weight distributions. FIG. 5 is an example of just one generator matrix that may be derived from the above described process.
The above process describes the method for obtaining a Golay coding generator matrix with N equal to 24 and K less than 12 from a shortened generator matrix. The resulting generator matrix can further be extended to support N equal to 32 and K less than or equal to 12. The values for the bits in the appended 8 columns are determined in a sequential manner similar to that described above. For example, utilizing the (24, 12) generator matrix that was obtained above, such as that shown in FIG. 5, bit values for the 8 appended columns of the first four rows are determined. Referring to FIG. 15, the bit values for the shaded bits of the (32, 4) matrix are determined by testing each possible combination, and comparing the possible combinations to determine the combinations with the best Hamming distance and weight distributions.
After a combination is selected, each remaining row is determined on a row by row basis. For example, the last 8 bits are tested for row 5 to determine which combinations provide the best Hamming distance and weight distributions. A combination of bit values is selected and row 6 is next considered. This continues row by row until the entire matrix is filled. The example in FIG. 7 is one (32, 12) generator matrix obtained by the above described process. It has been discovered that there are 48 possible (32, 12) generator matrices with equal Hamming distance and weight distributions that could also be selected by the described process.
After the (32, 12) generator matrix is obtained by the forgoing process, column 3 can be modified with a ‘1’ in the first row and column 4 can be modified with 1 1 1 in each of rows 1 through 3, as shown in FIG. 15. This modification represents the (32, 12) generator matrix adapted to support K = 2 and K = 3 in addition to K = 4 through K = 12.
As noted above, with a generator matrix obtained by the foregoing processes, a device can use Golay coding utilizing the generator matrix by utilizing one of equations A or B above.
FIG. 16 is a block diagram illustrating an example of a hardware implementation for a wireless communication device 1600, such as a scheduled entity or a scheduling entity, employing a processing system 1614. For example, the wireless communication device 1600 may be a user equipment (UE) as illustrated in any one or more of FIGS. 1 and/or 2. In another example, the wireless communication device 1600 may be a base station as illustrated in any one or more of FIGS. 1 and/or 2.
The wireless communication device 1600 may be implemented with a processing system 1614 that includes one or more processors 1604. Examples of processors 1604 include microprocessors, microcontrollers, digital signal processors (DSPs) , field programmable gate arrays (FPGAs) , programmable logic devices (PLDs) , state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. In various examples, the wireless communication device 1600 may be configured to perform any one or more of the functions described herein. That is, the processor 1604, as utilized in a wireless communication device 1600, may be used to implement any one or more of the processes and procedures described below.
In this example, the processing system 1614 may be implemented with a bus architecture, represented generally by the bus 1602. The bus 1602 may include any  number of interconnecting buses and bridges depending on the specific application of the processing system 1614 and the overall design constraints. The bus 1602 communicatively couples together various circuits including one or more processors (represented generally by the processor 1604) , a memory 1605, and computer-readable media (represented generally by the computer-readable medium 1606) . The bus 1602 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further. A bus interface 1608 provides an interface between the bus 1602 and a transceiver 1610. The transceiver 1610 provides a communication interface or means for communicating with various other apparatus over a transmission medium. Depending upon the nature of the apparatus, a user interface 1612 (e.g., keypad, display, speaker, microphone, joystick) may also be provided.
In some aspects of the disclosure, the processor 1604 may include circuitry configured for various functions, including, for example, an encoder circuit 1642. The encoder circuit 1642 may be configured to implement one or more of the functions for encoding data based on Golay coding as described herein.
The processor 1604 is responsible for managing the bus 1602 and general processing, including the execution of software stored on the computer-readable medium 1606. The software, when executed by the processor 1604, causes the processing system 1614 to perform the various functions described below for any particular apparatus. The computer-readable medium 1606 and the memory 1605 may also be used for storing data that is manipulated by the processor 1604 when executing software.
One or more processors 1604 in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The software may reside on a computer-readable medium 1606. The computer-readable medium 1606 may be a non-transitory computer-readable medium. A non-transitory computer-readable medium includes, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD) ) , a smart card, a flash memory device (e.g., a card, a  stick, or a key drive) , a random access memory (RAM) , a read only memory (ROM) , a programmable ROM (PROM) , an erasable PROM (EPROM) , an electrically erasable PROM (EEPROM) , a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer. The computer-readable medium may also include, by way of example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and/or instructions that may be accessed and read by a computer. The computer-readable medium 1606 may reside in the processing system 1614, external to the processing system 1614, or distributed across multiple entities including the processing system 1614. The computer-readable medium 1606 may be embodied in a computer program product. By way of example, a computer program product may include a computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
In one or more examples, the computer-readable storage medium 1606 may include software configured for various functions, including, for example, encoder instructions 1652. The encoder instructions 1652 may be configured to implement one or more of the functions described in the present disclosure for encoding data for transmission.
FIG. 17 is a flow diagram depicting a method operational on a wireless communication device, such as the wireless communication device 1600, according to at least one example. At 1702, the wireless communication device 1600 may obtain a bit stream for transmission.
At 1704, the wireless communication device 1600 may encode the bit stream using a Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix, such as a (24, 12) generator matrix. For example, the processor 1604 (e.g., encoder circuit 1642) may implement instructions (e.g., the encoding instructions 1652) to encode the bit stream using Golay coding. In at least one embodiment, the processor 1604 (e.g., encoder circuit 1642) may implement instructions (e.g., the encoding instructions 1652) may encode the bit stream according to one of the equations A, B, C, or D using the generator matrix of FIG. 6 or FIG. 7.
At 1706, the wireless communication device 1600 may transmit the encoded bit stream. For example, the processor 1604 may transmit the encoded bit stream via the transceiver 1610.
Several aspects of a wireless communication network have been presented with reference to an exemplary implementation. As those skilled in the art will readily appreciate, various aspects described throughout this disclosure may be extended to other telecommunication systems, network architectures and communication standards.
By way of example, various aspects may be implemented within other systems defined by 3GPP, such as Long-Term Evolution (LTE) , the Evolved Packet System (EPS) , the Universal Mobile Telecommunication System (UMTS) , and/or the Global System for Mobile (GSM) . Various aspects may also be extended to systems defined by the 3rd Generation Partnership Project 2 (3GPP2) , such as CDMA2000 and/or Evolution-Data Optimized (EV-DO) . Other examples may be implemented within systems employing IEEE 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20, Ultra-Wideband (UWB) , Bluetooth, and/or other suitable systems. The actual telecommunication standard, network architecture, and/or communication standard employed will depend on the specific application and the overall design constraints imposed on the system.
Within the present disclosure, the word “exemplary” is used to mean “serving as an example, instance, or illustration. ” Any implementation or aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects of the disclosure. Likewise, the term “aspects” does not require that all aspects of the disclosure include the discussed feature, advantage or mode of operation. The term “coupled” is used herein to refer to the direct or indirect coupling between two objects. For example, if object A physically touches object B, and object B touches object C, then objects A and C may still be considered coupled to one another-even if they do not directly physically touch each other. For instance, a first object may be coupled to a second object even though the first object is never directly physically in contact with the second object. The terms “circuit” and “circuitry” are used broadly, and intended to include both hardware implementations of electrical devices and conductors that, when connected and configured, enable the performance of the functions described in the present disclosure, without limitation as to the type of electronic circuits, as well as software implementations of information and instructions  that, when executed by a processor, enable the performance of the functions described in the present disclosure.
One or more of the components, steps, features and/or functions illustrated in FIGS. 1-8 may be rearranged and/or combined into a single component, step, feature or function or embodied in several components, steps, or functions. Additional elements, components, steps, and/or functions may also be added without departing from novel features disclosed herein. The apparatus, devices, and/or components illustrated in FIGS. 1-8 may be configured to perform one or more of the methods, features, or steps described herein. The novel algorithms described herein may also be efficiently implemented in software and/or embedded in hardware.
It is to be understood that the specific order or hierarchy of steps in the methods disclosed is an illustration of exemplary processes. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the methods may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented unless specifically recited therein.
The various features associate with the examples described herein and shown in the accompanying drawings can be implemented in different examples and implementations without departing from the scope of the present disclosure. Therefore, although certain specific constructions and arrangements have been described and shown in the accompanying drawings, such embodiments are merely illustrative and not restrictive of the scope of the disclosure, since various other additions and modifications to,and deletions from, the described embodiments will be apparent to one of ordinary skill in the art.

Claims (16)

  1. A method of wireless communication, comprising:
    obtaining a bit stream; and
    encoding the bit stream via a processor utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix.
  2. The method of claim 1, wherein encoding the bit stream via a processor utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix comprises encoding the bit stream utilizing Golay coding with a generator matrix derived from:
    shortening a Golay generator matrix to obtain the shortened generator matrix;
    extending the shortened generator matrix to 20 columns by adding additional columns;
    determining desired bit values in the added columns;
    appending new rows one at a time until the generator matrix is (20, 7) , wherein desired bit values for last several bits are determined for each new row when appended;
    extending matrix to 24 columns by adding 4 additional columns;
    determining desired bit values in the 4 additional columns;
    appending new rows one at a time until the generator matrix is (24, 12) , wherein desired bit values for last several bits are determined for each new row when appended.
  3. The method of claim 2, further comprising:
    extending the matrix to 32 columns by adding 8 additional columns to the (24, 12) matrix;
    determining desired bit values in first four rows of the 8 additional columns;
    determining desired bit values for last 8 bits in each of remaining 8 rows one row at a time until all 12 rows include bit values for each of the 32 columns.
  4. The method of claim 2, wherein determining desired bit values comprises:
    testing all possible bit value combinations;
    determining which bit value combinations provide the highest minimal Hamming distance value;
    when more than one bit value combination provide the same highest minimal Hamming distance value, determining which of the more than one bit value combinations provide a smallest number of low weight codewords.
  5. A wireless communication device, comprising:
    a communications interface;
    a storage medium; and
    a processing circuit coupled to the communications interface and the storage medium, the processing circuit adapted to:
    obtaining a bit stream; and
    encoding the bit stream utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix.
  6. The wireless communication device of claim 5, wherein the processing circuit adapted to encode the bit stream utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix comprises the processing circuit adapted to encode the bit stream utilizing Golay coding with a generator matrix derived from:
    shortening a Golay generator matrix to obtain the shortened generator matrix;
    extending the shortened generator matrix to 20 columns by adding additional columns;
    determining desirable bit values in the added columns;
    appending new rows one at a time until the generator matrix is (20, 7) , wherein desirable bit values for last several bits are determined for each new row when appended;
    extending matrix to 24 columns by adding 4 additional columns;
    determining desirable bit values in the 4 additional columns;
    appending new rows one at a time until the generator matrix is (24, 12) , wherein desirable bit values for last several bits are determined for each new row when appended.
  7. The wireless communication device of claim 6, further comprising:
    extending the matrix to 32 columns by adding 8 additional columns to the (24, 12) matrix;
    determining desirable bit values in first four rows of the 8 additional columns;
    determining desirable bit values for last 8 bits in each of remaining 8 rows one row at a time until all 12 rows include bit values for each of the 32 columns.
  8. The wireless communication device of claim 6, wherein determining desirable bit values comprises:
    testing all possible bit value combinations;
    determining which bit value combinations provide the highest minimal Hamming distance value;
    when more than one bit value combination provide the same highest minimal Hamming distance value, determining which of the more than one bit value combinations provide a smallest number of low weight codewords.
  9. A wireless communication device, comprising:
    means for obtaining a bit stream; and
    means for encoding the bit stream utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix.
  10. The wireless communication device of claim 9, wherein the means for encoding the bit stream utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix comprises means for encoding the bit stream utilizing Golay coding with a generator matrix derived from:
    shortening a Golay generator matrix to obtain the shortened generator matrix;
    extending the shortened generator matrix to 20 columns by adding additional columns;
    determining desirable bit values in the added columns;
    appending new rows one at a time until the generator matrix is (20, 7) , wherein desirable bit values for last several bits are determined for each new row when appended;
    extending matrix to 24 columns by adding 4 additional columns;
    determining desirable bit values in the 4 additional columns;
    appending new rows one at a time until the generator matrix is (24, 12) , wherein desirable bit values for last several bits are determined for each new row when appended.
  11. The wireless communication device of claim 10, further comprising:
    extending the matrix to 32 columns by adding 8 additional columns to the (24, 12) matrix;
    determining desirable bit values in first four rows of the 8 additional columns;
    determining desirable bit values for last 8 bits in each of remaining 8 rows one row at a time until all 12 rows include bit values for each of the 32 columns.
  12. The wireless communication device of claim 10, wherein determining desirable bit values comprises:
    testing all possible bit value combinations;
    determining which bit value combinations provide the highest minimal Hamming distance value;
    when more than one bit value combination provide the same highest minimal Hamming distance value, determining which of the more than one bit value combinations provide a smallest number of low weight codewords.
  13. A processor-readable storage medium storing processor-executable programming for causing a processing circuit to:
    obtain a bit stream; and 
    encode the bit stream utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix.
  14. The processor-readable storage medium of claim 13, wherein the processor-executable programming for causing a processing circuit to encode the bit stream utilizing Golay coding with a generator matrix derived from a shortened generator matrix extended out to form an extended generator matrix comprises processor-executable programming for causing a processing circuit to encode the bit stream utilizing Golay coding with a generator matrix derived from:
    shortening a Golay generator matrix to obtain the shortened generator matrix;
    extending the shortened generator matrix to 20 columns by adding additional columns;
    determining desired bit values in the added columns;
    appending new rows one at a time until the generator matrix is (20, 7) , wherein desired bit values for last several bits are determined for each new row when appended;
    extending matrix to 24 columns by adding 4 additional columns;
    determining desired bit values in the 4 additional columns;
    appending new rows one at a time until the generator matrix is (24, 12) , wherein desired bit values for last several bits are determined for each new row when appended.
  15. The processor-readable storage medium of claim 14, wherein the generator matrix further derived from:
    extending the matrix to 32 columns by adding 8 additional columns to the (24, 12) matrix;
    determining desired bit values in first four rows of the 8 additional columns;
    determining desired bit values for last 8 bits in each of remaining 8 rows one row at a time until all 12 rows include bit values for each of the 32 columns.
  16. The processor-readable storage medium of claim 14, wherein determining desired bit values comprises:
    testing all possible bit value combinations;
    determining which bit value combinations provide the highest minimal Hamming distance value;
    when more than one bit value combination provide the same highest minimal Hamming distance value, determine which of the more than one bit value combinations provide a smallest number of low weight codewords.
PCT/CN2017/070682 2017-01-09 2017-01-09 Block coding based on golay code WO2018126489A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/CN2017/070682 WO2018126489A1 (en) 2017-01-09 2017-01-09 Block coding based on golay code
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
US16/476,053 US11057055B2 (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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/070682 WO2018126489A1 (en) 2017-01-09 2017-01-09 Block coding based on golay code

Publications (1)

Publication Number Publication Date
WO2018126489A1 true WO2018126489A1 (en) 2018-07-12

Family

ID=62789009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/070682 WO2018126489A1 (en) 2017-01-09 2017-01-09 Block coding based on golay code

Country Status (1)

Country Link
WO (1) WO2018126489A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075176A1 (en) * 2006-09-25 2008-03-27 Alfred E. Mann Foundation For Scientific Research Rotationally invariant non-coherent burst coding
US20090217139A1 (en) * 2007-11-13 2009-08-27 Lg Electronics Inc. Generation of golay-based systematic block code supporting various sizes
CN101860415A (en) * 2010-05-18 2010-10-13 中国电子科技集团公司第五十四研究所 Blind identification method for coding parameters of extended Golay code of error-tolerant code
US20140254709A1 (en) * 2012-02-24 2014-09-11 Raytheon Company Impaired carrier coding
CN104468097A (en) * 2015-01-13 2015-03-25 中国人民解放军理工大学 Security data communication achieving method based on quantum key distribution

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075176A1 (en) * 2006-09-25 2008-03-27 Alfred E. Mann Foundation For Scientific Research Rotationally invariant non-coherent burst coding
US20090217139A1 (en) * 2007-11-13 2009-08-27 Lg Electronics Inc. Generation of golay-based systematic block code supporting various sizes
CN101860415A (en) * 2010-05-18 2010-10-13 中国电子科技集团公司第五十四研究所 Blind identification method for coding parameters of extended Golay code of error-tolerant code
US20140254709A1 (en) * 2012-02-24 2014-09-11 Raytheon Company Impaired carrier coding
CN104468097A (en) * 2015-01-13 2015-03-25 中国人民解放军理工大学 Security data communication achieving method based on quantum key distribution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XU, RUI: "An Algorithm of Expand - Golay Encode and Decode", COMMUNICATION TECHNOLOGY, 31 December 2003 (2003-12-31) *

Similar Documents

Publication Publication Date Title
US20180019766A1 (en) Pipelining for polar code list decoding
EP3523908B1 (en) Dynamic hybrid automatic repeat request timing management
CN110249538B (en) Low Density Parity Check (LDPC) cyclic buffer rate matching
US11394491B2 (en) Nested structure for polar code construction using density evolution
WO2018107430A1 (en) Crc bits for joint decoding and verification of control information using polar codes
EP3566347B1 (en) Wireless communication with polar codes using a mask sequence for frozen bits
RU2749772C2 (en) Design solution using a plurality of base graphs based on low density parity checks (ldpc)
US20230095580A1 (en) Efficient interleaver design for polar codes
US11057055B2 (en) Encoding and decoding using Golay-based block codes
US11451245B2 (en) Efficient interleaver designs for polar codes
US20180048335A1 (en) Methods and apparatus for decoder processing for joint multi-user detection
WO2018126489A1 (en) Block coding based on golay code
WO2019028590A1 (en) Early termination of polar codes using distributed cyclic redundancy check
US20240014921A1 (en) Forward error correction code rate selection for a fountain code system

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: 17890069

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: 17890069

Country of ref document: EP

Kind code of ref document: A1