Method and system for performing low density parity check (LDPC) coding

LDPC encoding dynamically adjusts codeword lengths based on information bit count to enhance data transmission reliability and throughput in wireless communication systems, addressing inefficiencies in existing systems.

CN119256495APending Publication Date: 2025-01-03CTRL-LABS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380042485.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-21
Filing Date
2023-06-27
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

Existing wireless communication systems lack suitable data communication capabilities for certain applications, particularly in environments where Wi-Fi and Bluetooth may not be effective, leading to inefficiencies and potential errors in data transmission.

Method used

Implementing low-density parity check (LDPC) encoding to dynamically select codeword lengths based on the number of information bits, balancing code rate and error reduction by dividing information bits into multiple codewords, ensuring efficient data throughput while minimizing errors.

Benefits of technology

This approach enhances data transmission reliability and throughput by optimizing codeword length selection, reducing errors, and adapting to varying data volumes, thus improving overall communication performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119256495A_ABST
    Figure CN119256495A_ABST
Patent Text Reader

Abstract

Systems and methods for performing low density parity check (LDPC) encoding include a wireless communication device that determines a count of a plurality of information bits. The wireless communication device selects, by a codeword selector, a codeword length according to the count. An LDPC encoder of the wireless communication device generates a codeword for the plurality of information bits, the codeword having the codeword length. The wireless communication device transmits the codeword to an LDPC decoder of another wireless communication device. In some embodiments, the codeword selector may be configured to select the codeword length by applying the count to one or more thresholds. In some embodiments, the codeword selector may be configured to select or determine to generate a plurality of codewords based on or according to a count of a plurality of information bits.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of and priority to U.S. Provisional Application No. 63 / 355,901, filed on June 27, 2022, the contents of which are incorporated herein by reference in their entirety. Background Art

[0003] In systems and methods for implementing or otherwise providing data transmission between devices in a shared environment, the systems utilize Wi-Fi TM ,Bluetooth TM Or other wireless links to send / receive data. However, many of these systems may not be suitable for certain applications, while other wireless protocols may not be configured to support appropriate data communication capabilities. Summary of the invention

[0004] In various aspects, the present disclosure relates to systems, methods and computer storage media for low-density parity check encoding. A wireless communication device can determine a count of multiple information bits (e.g., to be sent to a destination). The wireless communication device can select a codeword length based on the count. A low-density parity check (LDPC) encoder of the wireless communication device can generate a codeword for the multiple information bits. The codeword can have the above-mentioned codeword length. The wireless communication device can send the codeword to an LDPC decoder of another wireless communication device.

[0005] In some embodiments, selecting the codeword length may include: selecting the first codeword length in response to the count being less than a first threshold. Selecting the codeword length may include: selecting the second codeword length in response to the count being greater than a second threshold. Selecting the codeword length may include: selecting the third codeword length in response to the count being between the first threshold and the second threshold. In some embodiments, the first codeword length is 648 bits, the second codeword length is 1944 bits, and the third codeword length is 1296 bits. In some embodiments, the first threshold is 21 bytes and the second threshold is 44 bytes.

[0006] In some embodiments, the wireless communication device may determine the number of codewords to be generated based on the count. In some embodiments, generating the codeword may include: generating, by an LDPC encoder, a first codeword having a first portion of a plurality of information bits. Generating the codeword may include: generating, by an LDPC encoder, a second codeword having a second portion of a plurality of information bits. In some embodiments, the first portion of the plurality of information bits has a greater number of information bits than the second portion of the plurality of information bits.

[0007] In some embodiments, the wireless communication device may set a plurality of parity bits for a codeword according to a codeword length. In some embodiments, the wireless communication device may select a plurality of codewords according to a count. The wireless communication device may assign the plurality of information bits to each of the plurality of codewords. The plurality of information bits may be divided into a plurality of substantially equal parts in the plurality of codewords. The wireless communication device may use the assigned plurality of parts of the plurality of information bits to generate each of the plurality of codewords. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The accompanying drawings are not intended to be drawn to scale. Like reference numbers and names refer to like elements in the various drawings. For clarity, not every component may be labeled in every drawing.

[0009] Figure 1 is a schematic diagram of a system environment including an artificial reality system according to an example embodiment of the present disclosure.

[0010] Figure 2 is a schematic diagram of a head wearable display according to an exemplary embodiment of the present disclosure.

[0011] Figure 3 is a block diagram of an artificial reality environment according to an example implementation of the present disclosure.

[0012] Figure 4 is a diagram illustrating enabling / disabling a beacon interval based on a use case according to an example embodiment of the present disclosure.

[0013] Figure 5 is a representation of the format of a beacon frame according to an example embodiment of the present disclosure.

[0014] Figure 6 is a representation of an ultra-wideband (UWB) block and / or a plurality of UWB rounds according to an example embodiment of the present disclosure.

[0015] Figure 7 is a schematic diagram of a ranging round according to an exemplary embodiment of the present disclosure.

[0016] Figure 8 is another schematic diagram of a ranging round according to an exemplary embodiment of the present disclosure.

[0017] Fig. 9 is a block diagram of a data processing and communication system according to an example embodiment of the present disclosure.

[0018] Fig. 10A and Fig. 10B According to an exemplary embodiment of the present disclosure, Fig. 9Schematic diagram of encoders (e.g., C3 and C7 convolutional encoders) used in the system.

[0019] Fig.11 is a block diagram of a data processing and communication system according to an example embodiment of the present disclosure.

[0020] Fig.12 According to an exemplary embodiment of the present disclosure, Fig.11 Schematic diagram of the low-density parity-check (LDPC) code used in the system.

[0021] Fig.13 is a schematic diagram showing data communication incorporated into a ranging round according to an example embodiment of the present disclosure.

[0022] Fig.14 is another schematic diagram showing data communication incorporated into a ranging round according to an example embodiment of the present disclosure.

[0023] Fig.15 is another schematic diagram showing data communication incorporated into a ranging round according to an example embodiment of the present disclosure.

[0024] Fig.16 is another schematic diagram showing data communication incorporated into a ranging round according to an example embodiment of the present disclosure.

[0025] Fig.17 is a schematic diagram showing data communication incorporated into a UWB block according to an example embodiment of the present disclosure.

[0026] Fig.18 is a schematic diagram illustrating data communication with and without acknowledgement according to an example embodiment of the present disclosure.

[0027] Fig.19 is a schematic diagram of a beacon frame / signal structure according to an example embodiment of the present disclosure.

[0028] Fig. 20 is the use according to the exemplary embodiment of the present disclosure Fig.19 Schematic diagram of an example beacon frame / signal of a beacon signal structure.

[0029] Fig.21 is another schematic diagram of a beacon frame / signal structure according to an example embodiment of the present disclosure.

[0030] Fig. 22 is the use according to the exemplary embodiment of the present disclosure Fig.21 Schematic diagram of an example beacon frame / signal structure of a beacon frame / signal.

[0031] FIG. 23A to FIG. 23Cis a schematic diagram of various forms / versions of data frames for modulation to different data (or bit transmission) (physical layer (PHY)) rates according to an example embodiment of the present disclosure.

[0032] Fig.24 is a schematic diagram showing data goodput according to an example embodiment of the present disclosure.

[0033] Fig.25 is a schematic diagram showing combining data and confirmation into a frame sent between an initiator and one or more responders according to an example embodiment of the present disclosure.

[0034] Fig.26 It is a schematic diagram that an initiator may provide a delayed confirmation of data from a responder according to an exemplary embodiment of the present disclosure.

[0035] Fig. 27 is a schematic diagram showing time slots within which data and acknowledgements may be sent according to an example embodiment of the present disclosure.

[0036] Fig.28 is a schematic diagram showing that an initiator and a responder may include data packets within a time slot according to an example embodiment of the present disclosure.

[0037] Fig.29 is a flowchart illustrating a method of performing ranging and transmitting data between two or more UWB devices according to an example embodiment of the present disclosure.

[0038] Fig.30 is a block diagram of a representative computing system according to an example implementation of the present disclosure.

[0039] FIG. 31A to FIG. 31G is a schematic diagram illustrating various data rates using binary phase shift keying (BPSK) modulation according to an example embodiment of the present disclosure.

[0040] FIG. 32A to FIG. 32J is a diagram illustrating various data rates using quadrature phase shift keying (QPSK) modulation according to an example embodiment of the present disclosure.

[0041] Fig.33 is a block diagram of a system for low density parity check encoding according to an example embodiment of the present disclosure.

[0042] Fig.34 is a table showing an example assignment of multiple information bits to multiple codewords according to an example embodiment of the present disclosure.

[0043] Fig.35 is a table showing another example allocation of multiple information bits to multiple codewords according to an example embodiment of the present disclosure.

[0044] Fig.36 is a flow chart illustrating an example method of low density parity check encoding according to an example embodiment of the present disclosure. DETAILED DESCRIPTION

[0045] Before turning to the drawings showing certain embodiments in detail, it should be understood that the present disclosure is not limited to the details or methods set forth in the specification or shown in the drawings. It should also be understood that the terminology used herein is for illustrative purposes only and should not be considered limiting. The contents of U.S. Non-Provisional Application No. 17 / 581,343, filed on January 21, 2022, are incorporated herein by reference in their entirety.

[0046] Embodiments related to low-density parity check (LDPC) encoding and decoding are disclosed herein. LDPC encoding and decoding is a data encoding method that encodes multiple information bits into codewords. In various embodiments, as the number of information bits increases, different codeword lengths may be used to encode these information bits. For example, if a fixed codeword length is used, a larger number of codewords may be generated (which may be more prone to errors). On the other hand, in the case of using a smaller number of codewords with a larger codeword length, the codeword may have a larger code rate (e.g., a code rate closer to 1 / 2), thereby producing a weaker codeword. According to the systems and methods described herein, a wireless communication device may apply various thresholds to the number of information bits to be encoded for selecting a codeword length and / or determining the number of codewords to be generated by an LDPC encoder. This embodiment can strike a balance between code rate (and corresponding codeword strength) and error reduction. In addition, this embodiment can provide more data transmission by allocating multiple information bits to various groups or parts, thereby allowing greater data throughput, while still ensuring that a balance between code rate and error reduction is achieved. Additional improvements to LDPC encoding and decoding and more details related thereto will be described in more detail below.

[0047] Figure 11 is a block diagram of an example artificial reality system environment 100. In some embodiments, the artificial reality system environment 100 includes an access point (AP) 105, one or more HWDs (head wearable displays) 150 (e.g., HWDs 150A, 150B), and one or more computing devices 110 (computing devices 110A, 110B; sometimes referred to as consoles), which provide artificial reality data to the one or more HWDs 150. Access point 105 can be a router or any network device that allows one or more computing devices 110 and / or one or more HWDs 150 to access a network (e.g., the Internet). Access point 105 can be replaced by any communication device (cellular base station). Computing device 110 can be a customized device or mobile device that can retrieve content from access point 105 and can provide artificial reality image data to a corresponding HWD 150. Each HWD 150 can present an artificial reality image to a user based on the image data. In some embodiments, the artificial reality system environment 100 includes more than one computing device 110. Figure 1 More, fewer, or including components than those shown in Figure 1 100. In some embodiments, computing devices 110A, 110B communicate with access point 105 via wireless links 102A, 102B (e.g., interlinks), respectively. In some embodiments, computing device 110A communicates with HWD 150A via wireless link 125A (e.g., intralink), and computing device 110B communicates with HWD 150B via wireless link 125B (e.g., intralink). In some embodiments, the functionality of one or more components of artificial reality system environment 100 may be distributed among multiple components in a manner different from that described herein. For example, some functions of computing device 110 may be performed by HWD 150. For example, some functions of HWD 150 may be performed by computing device 110.

[0048] In some embodiments, HWD 150 is an electronic component that can be worn by a user and can present or provide an artificial reality experience to the user. HWD 150 may be referred to as, include, or be part of a head mounted display (HMD); a head mounted device (HMD); a head wearable device (HWD); a head worn display (HWD) or a head worn device (HWD). HWD 150 may render one or more images, videos, audio, or some combination thereof to provide an artificial reality experience to the user. In some embodiments, audio is presented via an external device (e.g., a speaker and / or headphones), which receives audio information from HWD 150, computing device 110, or both, and presents audio based on the audio information. In some embodiments, HWD 150 includes a sensor 155, a wireless interface 165, a processor 170, and a display 175. These components may operate together to detect the position of the HWD 150 and the gaze direction of the user wearing the HWD 150, and render an image of the field of view within the artificial reality corresponding to the detected position and / or orientation of the HWD 150. In other embodiments, the HWD 150 includes a plurality of Figure 1 More, fewer, or including components than those shown in Figure 1 The components shown in the figure are different components.

[0049] In some embodiments, sensor 155 includes an electronic component or a combination of electronic components and software components that detects the position and orientation of HWD 150. Examples of sensor 155 may include: one or more imaging sensors; one or more accelerometers; one or more gyroscopes; one or more magnetometers; or another suitable type of sensor that detects motion and / or position. For example, one or more accelerometers may measure translational motion (e.g., forward / backward, up / down, left / right), and one or more gyroscopes may measure rotational motion (e.g., pitch, yaw, roll). In some embodiments, sensor 155 detects translational motion and rotational motion and determines the orientation and position of HWD 150. In one aspect, sensor 155 may detect translational motion and rotational motion relative to a previous orientation and previous position of HWD 150, and determine a new orientation and / or new position of HWD 150 by accumulating or integrating the detected translational motion and / or rotational motion. For example, assuming that HWD 150 is facing in a direction 25 degrees from a reference direction, in response to detecting that HWD 150 has rotated 20 degrees, sensor 155 can determine that HWD 150 is now facing or facing in a direction 45 degrees from the reference direction. For another example, assuming that HWD 150 is located two feet from a reference point in a first direction, in response to detecting that HWD 150 has moved three feet in a second direction, sensor 155 can determine that HWD 150 is now located at the vector product of two feet in the first direction and three feet in the second direction.

[0050] In some embodiments, the wireless interface 165 includes an electronic component or a combination of an electronic component and a software component that communicates with the computing device 110. In some embodiments, the wireless interface 165 includes or is embodied as a transceiver for sending and receiving data via a wireless medium. The wireless interface 165 can communicate with the wireless interface 115 of the corresponding computing device 110 via a wireless link 125 (e.g., an intralink). The wireless interface 165 can also communicate with the access point 105 via a wireless link (e.g., an interconnect link). Examples of wireless links 125 include near field communication links, Wi-Fi direct connections, Bluetooth, or any wireless communication links. In some embodiments, the wireless link 125 may include one or more ultra-wideband communication links, as described in more detail below. The wireless interface 165 can send data indicating the following items to the computing device 110 via the wireless link 125: the determined position and / or orientation of the HWD 150, the determined gaze direction of the user, and / or hand tracking measurements. In addition, the wireless interface 165 can receive instructions from the computing device 110 or image data corresponding to the image to be rendered via the wireless link 125.

[0051] In some embodiments, the processor 170 includes such electronic components or a combination of electronic components and software components: these electronic components or a combination of electronic components and software components generate one or more images for display according to the change of the field of view of the space of artificial reality, for example. In some embodiments, the processor 170 is implemented as one or more graphics processing units (graphical processing units, GPUs), one or more central processing units (central processing units, CPUs), or a combination thereof that can execute instructions to perform various functions described herein. The processor 170 can receive image data describing the artificial reality image to be rendered through the wireless interface 165, and render the image through the display 175. In some embodiments, the image data from the computing device 110 can be encoded, and the processor 170 can decode the image data to render the image. In some embodiments, the processor 170 receives object information and depth information from the computing device 110 through the wireless interface 165, the object information indicating the virtual object in the artificial reality space, and the depth information indicating the depth of the virtual object (or the distance from the HWD 150). In one aspect, processor 170 may perform shading, reprojection, and / or blending based on the artificial reality image from computing device 110, object information, depth information, and / or updated sensor measurements from sensor 155 to update the artificial reality image to correspond to the updated position and / or orientation of HWD 150.

[0052] In some embodiments, display 175 is an electronic component that displays an image. Display 175 may be, for example, a liquid crystal display or an organic light emitting diode display. Display 175 may be a transparent display that allows the user to see through. In some embodiments, when the user wears HWD 150, display 175 is located near the user's eyes (e.g., less than 3 inches). In one aspect, display 175 emits or projects light toward the user's eyes based on the image generated by processor 170. HWD 150 may include a lens that allows the user to view display 175 up close.

[0053] In some embodiments, the processor 170 performs compensation to compensate for any distortion or aberration. In one aspect, the lens introduces optical aberrations (e.g., chromatic aberration), pincushion distortion, barrel distortion, etc. The processor 170 may determine the compensation (e.g., pre-distortion) to be applied to the image to be rendered to compensate for the distortion caused by the lens, and apply the determined compensation to the image from the processor 170. The processor 170 may provide the pre-distorted image to the display 175.

[0054] In some embodiments, computing device 110 is an electronic component or a combination of electronic components and software components that provides content to be rendered to HWD 150. Computing device 110 may be embodied as a mobile device (e.g., a smart phone, a tablet personal computer (PC), a laptop, etc.). Computing device 110 may operate as a soft access point. In one aspect, computing device 110 includes a wireless interface 115 and a processor 118. These components may operate together to determine the field of view of artificial reality corresponding to the position of HWD 150 and the gaze direction of the user of HWD 150 (e.g., the user's field of view (FOV)), and may generate image data indicating an artificial reality image corresponding to the determined field of view. Computing device 110 may also communicate with access point 105, and may obtain AR / VR content from access point 105, for example, via wireless link 102 (e.g., an interconnect link). Computing device 110 may receive sensor measurements indicating the position of HWD 150 and the gaze direction of the user, and may provide image data to HWD 150, for example, via wireless link 125 (e.g., an intralink) to present artificial reality. In other embodiments, computing device 110 includes Figure 1 More or fewer components than those shown in, or including Figure 1 The components shown in the figure are different components.

[0055] In some embodiments, the wireless interface 115 is an electronic component or a combination of electronic components and software components that communicates with the HWD 150, the access point 105, another computing device 110, or any combination thereof. In some embodiments, the wireless interface 115 includes or is embodied as a transceiver for sending and receiving data through a wireless medium. The wireless interface 115 can be a corresponding component of the wireless interface 165 to communicate with the HWD 150 through a wireless link 125 (e.g., an intra-link). The wireless interface 115 can also include a component for communicating with the access point 105 through a wireless link 102 (e.g., an interconnect link). Examples of wireless links 102 include cellular communication links, near field communication links, Wi-Fi, Bluetooth, 60GHz wireless links, ultra-wideband links, or any wireless communication links. The wireless interface 115 can also include a component for communicating with different computing devices 110 through wireless links 185. Examples of wireless links 185 include near field communication links, Wi-Fi direct connections, Bluetooth, ultra-wideband links, or any wireless communication links. The wireless interface 115 may obtain AR / VR content or other content from the access point 105 via the wireless link 102 (e.g., an interconnect link). The wireless interface 115 may receive data indicating the following items from the HWD 150 via the wireless link 125 (e.g., an intralink): the determined position and / or orientation of the HWD 150, the determined gaze direction of the user, and / or hand tracking measurements. In addition, the wireless interface 115 may send image data describing the image to be rendered to the HWD 150 via the wireless link 125 (e.g., an intralink). The wireless interface 115 may receive or send information indicating the wireless link 125 (e.g., channel, timing) between the computing device 110 and the HWD 150 via the wireless link 185. The computing device 110 may coordinate or schedule operations based on the information indicating the wireless link 125 to avoid interference or conflict.

[0056] The processor 118 may include or correspond to a component that generates content to be rendered according to the position and / or orientation of the HWD 150. In some embodiments, the processor 118 includes or is embodied as one or more central processing units, graphics processing units, image processors, or any processor for generating artificial reality images. In some embodiments, the processor 118 may combine the gaze direction of the user of the HWD 150 and the user interaction in the artificial reality to generate content to be rendered. In one aspect, the processor 118 determines the field of view of the artificial reality according to the position and / or orientation of the HWD 150. For example, the processor 118 maps the position of the HWD 150 in the physical space to the position in the artificial reality space, and determines the field of view of the artificial reality space from the position mapped in the artificial reality space along the direction corresponding to the mapped orientation. The processor 118 may generate the following image data: the image data describes the image of the field of view of the determined artificial reality space, and the processor 118 may send the image data to the HWD 150 via the wireless interface 115. The processor 118 may encode the image data describing the image, and may send the encoded data to the HWD 150. In some embodiments, processor 118 generates image data periodically (eg, every 11 ms or 16 ms) and provides the image data to HWD 150 .

[0057] In some embodiments, the processors 118, 170 may configure the wireless interfaces 115, 165 to or enable the wireless interfaces 115, 165 to toggle, convert, cycle, or switch between a sleep mode and a wake-up mode. In the wake-up mode, the processor 118 may enable the wireless interface 115, and the processor 170 may enable the wireless interface 165 so that the wireless interfaces 115, 165 may exchange data. In the sleep mode, the processor 118 may disable the wireless interface 115 (e.g., to implement low-power operation in the wireless interface 115), and the processor 170 may disable the wireless interface 165 so that the wireless interfaces 115, 165 may not consume power or may reduce power consumption. The processors 118, 170 may schedule the wireless interfaces 115, 165 to periodically switch between the sleep mode and the wake-up mode at each frame time (e.g., 11ms or 16ms). For example, the wireless interface 115, 165 can operate in the wake-up mode within 2 ms of the frame time, and the wireless interface 115, 165 can operate in the sleep mode within the remaining portion of the frame time (e.g., 9 ms). By disabling the wireless interface 115, 165 in the sleep mode, the power consumption of the computing device 110 and the HWD 150 can be reduced.

[0058] In various embodiments, the devices in the above environment may operate or otherwise use components that utilize communications in an ultra-wideband (UWB) spectrum. Embodiments related to devices, systems, and methods operating in an ultra-wideband (UWB) spectrum are disclosed herein. In various embodiments, UWB devices operate in 3GHz to 10GHz unlicensed spectrum using 500+MHz channels that may require low power for transmission. For very low data rates (e.g., 10s Kbps to 100s Kbps), UWB devices can use simple modulation and spread spectrum to achieve reasonable resistance to Wi-Fi and Bluetooth interference (as well as resistance to interference from other UWB devices located in the environment), and can have large processing gains. However, for higher data rates (e.g., several Mbps), the processing gain may not be enough to overcome co-channel interference from Wi-Fi or Bluetooth. According to the embodiments described herein, the systems and methods described herein can operate in frequency bands that do not overlap with Wi-Fi and Bluetooth, but can have good global availability based on regulatory requirements. Because regulatory requirements make the 7 GHz to 8 GHz spectrum the most widely available spectrum globally (and Wi-Fi is not in that spectrum), the 7 GHz to 8 GHz spectrum can operate satisfactorily based on both co-channel interference and processing gain.

[0059] Some implementations of UWB can focus on precise ranging and security. Because UWB uses relatively simple modulation, UWB can be implemented at low cost and low power consumption. In AR / VR applications (or in other applications and use cases), link budget calculations for AR / VR controller links show that the systems and methods described herein can be configured for effective data throughput ranging from approximately 2 Mbps to 31 Mbps (e.g., where 31 Mbps is the maximum possible rate in the latest 802.15.4z standard), which can depend on body loss assumptions.

[0060] The systems and methods described herein may be used or utilized in various AR / VR use cases and applications, as well as in other use cases and applications (e.g., communication between a mobile device and a vehicle, communication between a remote control device and a video recording device, etc.). Various applications, use cases, and further implementations of the systems and methods described herein are described in more detail below.

[0061] Reference now Figure 3, depicted is a block diagram of an artificial reality environment 300. Artificial reality environment 300 is shown to include a first device 302 and one or more peripheral devices 304(1) to 304(N) (also referred to as "peripheral devices 304" or "devices 304"). First device 302 and one or more peripheral devices 304 can each include a communication device 306, which includes a plurality of UWB devices 308. A group of UWB devices 308 can be spatially positioned / located (e.g., spaced apart) at different locations on / in first device 302 or peripheral devices 304 relative to each other in order to maximize UWB coverage, and / or enhance / implement specific functionality. UWB devices 308 can be or include antennas, sensors, or other devices and components that are designed or implemented to send and receive data or signals in the UWB spectrum (e.g., between 3.1 GHz and 10.6 GHz) and / or using a UWB communication protocol. In some embodiments, one or more of the devices 302, 304 may include various processing engines 310. The processing engine 310 may be or include any device, component, machine, or other combination of hardware and software that is designed or implemented to control the devices 302, 304 based on UWB signals sent and / or received by the corresponding UWB device 308.

[0062] As described above, the environment 300 may include a first device 302. The first device 302 may be or include a wearable device, such as the HWD 150 described above, a smart watch, or AR glasses, etc. In some embodiments, the first device 302 may include a mobile device (e.g., a smart phone, a tablet, a console device, or another computing device), a remote control device, a smart key, etc. The first device 302 may be communicatively coupled with various other devices 304 located in the environment 300. For example, the first device 302 may be communicatively coupled to one or more peripheral devices among the peripheral devices 304 located in the environment 300. The peripheral device 304 may be or include the computing device 110 described above, a device similar to the first device 302 (e.g., HWD 150, a smart watch, a mobile device, a remote control device, a smart key, etc.), a car or other vehicle, a beacon transmitting device located in the environment 300, a smart home device (e.g., a smart TV, a digital assistant device, a smart speaker, a video conferencing device, etc.), a smart tag configured for positioning on various devices, etc. In some embodiments, the first device 302 can be associated with a first entity or user and the peripheral device 304 can be associated with a second entity or user (eg, a different member of a family or a person / entity unrelated to the first entity).

[0063] In some embodiments, the first device 302 may be communicatively coupled with one or more peripheral devices 304 after a pairing or handshake process. For example, the first device 302 may be configured to exchange one or more handshake packets with one or more peripheral devices 304 to pair the first device 302 with the peripheral device 304 (e.g., to establish a specific or dedicated connection or link between the first device 302 and the peripheral device 304). The one or more handshake packets may be exchanged via the UWB device 308 or via another wireless link 125 (e.g., one or more of the multiple wireless links 125 described above). After pairing, the first device 302 and the one or more peripheral devices 304 may be configured to send, receive, or otherwise exchange UWB data or UWB signals using the corresponding UWB device 308 on the first device 302 and / or the peripheral device 304. In some embodiments, the first device 302 may be configured to establish a communication link with the peripheral device 304 (e.g., without any device being paired). For example, the first device 302 may be configured to detect, monitor, and / or identify peripheral devices 304 located in the environment by identifying peripheral devices 304 connected to a shared Wi-Fi network (e.g., the same Wi-Fi network to which the first device 302 is connected), etc., using UWB signals received from peripheral devices 304 within a specific distance of the first device 302. In these and other embodiments, the first device 302 may be configured to transmit, send, receive, or otherwise exchange UWB data or signals with the peripheral device 304.

[0064] The first device 302 and / or the peripheral device 304 may be configured to determine the range (e.g., spatial distance, interval) between the devices 302 and 304. The first device 302 may be configured to send, broadcast, or otherwise send a UWB signal (e.g., a body challenge signal). The first device 302 may use one of the multiple UWB devices 308 of the communication device 306 on the first device 302 to send a UWB signal. The UWB device 308 may send a UWB signal in a UWB spectrum. The UWB signal may have a high bandwidth (e.g., 500 MHz). In this way, the UWB device 308 may be configured to send a UWB signal with a high bandwidth (e.g., 500 MHz) in a UWB spectrum (e.g., between 3.1 GHz and 10.6 GHz). The UWB signal from the first device 302 may be detectable by other devices within a certain range of the first device 302 (e.g., devices with a line of sight (LOS) within 200 m of the first device 302). As such, the UWB signal may more accurately detect the range between devices than other types of signals or ranging techniques.

[0065] The peripheral device 304 may be configured to receive or otherwise detect a UWB signal from the first device 302. The peripheral device 304 may be configured to receive the UWB signal from the first device 302 via one of the plurality of UWB devices 308 on the peripheral device 304. The peripheral device 304 may be configured to broadcast, transmit, or otherwise transmit a UWB response signal in response to detecting the UWB signal from the first device 302. The peripheral device 304 may be configured to transmit the UWB response signal using one of the plurality of UWB devices 308 of the communication device 306 on the peripheral device 304. The UWB response signal may be similar to the UWB signal transmitted from the first device 302.

[0066] The first device 302 may be configured to detect, calculate, compute, or otherwise determine a time of flight (TOF) based on the UWB signal and the UWB response signal. The TOF may be the time or duration between the time when the first device 302 sends a signal (e.g., a UWB signal) and the time when the peripheral device 304 receives the signal. The first device 302 may be configured to determine or calculate the TOF between the first device 302 and the peripheral device 304 based on the difference between the first time and the second time (e.g., divided by 2).

[0067] In some embodiments, the first device 302 can be configured to determine the range (or distance) between the first device 302 and the peripheral device 304 based on the TOF. For example, the first device 302 can be configured to calculate the range or distance between the first device 302 and the peripheral device 304 by multiplying the TOF by the speed of light (e.g., TOF×c). In some embodiments, the peripheral device 304 (or another device in the environment 400) can be configured to calculate the range or distance between the first device 302 and the peripheral device 304. For example, the first device 302 can be configured to transmit, send, or otherwise provide the TOF to the peripheral device 304 (or another device), and the peripheral device 304 (or another device) can be configured to calculate the range between the first device 302 and the peripheral device 304 based on the TOF, as described above. Additional details regarding range determination are described in more detail below.

[0068] In one aspect, the systems and methods described herein may incorporate data transmission into an ultra-wideband (UWB) ranging protocol. The systems and methods described herein may incorporate or integrate data transmission packets into / between ranging packets (e.g., frames, transmissions). The systems and methods described herein may provide data transmission packets in the same and / or separate time slots of ranging protocols / processes. In some embodiments, the systems and methods described herein may facilitate data communication between devices in an AR / VR environment. For example, the systems and methods described herein may facilitate data communication between a mobile device and a video conferencing device (e.g., for controlling a video conferencing device using a mobile device). As another example, the systems and methods described herein may facilitate data communication between a VR device and a console (e.g., for sending motion data from a VR device to a console, and mapping data from a console to a VR device). As yet another example, the systems and methods described herein may facilitate data communication between a mobile device or a smart key and a vehicle (e.g., to automatically unlock a vehicle, remotely start a vehicle, etc.). Various implementations and embodiments are described in more detail below.

[0069] Reference now Figure 4 , depicted is a schematic diagram illustrating one or more methods for enabling / disabling a beacon interval according to an example embodiment of the present disclosure. Figure 4As shown, the systems and methods described herein can enable or disable one or more beacon intervals that can support data communication based on, for example, a specific use case (e.g., using a beacon of a clear type). For example, the beacon interval may include a ranging management period, which may include a time slot for a ranging contention access period (RCAP) and a time slot for a ranging contention free period (RCFP). The beacon interval may include a ranging period, which includes a time slot for ranging and communication (RCM). The beacon interval may be defined as consistent with IEEE802.15.4z (Clause 6.2.11) or as described in IEEE 802.15.4z (Clause 6.2.11). The ranging scheduling time unit (RSTU) of the beacon interval may be equal to 416 chips (or for a high rate pulse (HRP) repetition frequency, RSTU is approximately 833ns). The ranging schedule time unit may be reduced even further to allow fragments of packets to be sent.

[0070] Reference now Figure 5 , depicted is a schematic diagram / representation of a beacon frame format (eg, the format of a beacon frame) according to an example embodiment of the present disclosure. Figure 5 As shown, the beacon frame format can be used to synchronize devices (e.g., devices 302, 304) in the absence of a Bluetooth low energy (BLE) mechanism, for example. The beacon frame format can identify devices on a personal area network (PAN) and can describe a superframe structure (or block). The beacon frame format may include a media access control (MAC) header (MAC Header, MHR), a MAC payload, and a MAC footer (MAC Footer, MFR). The MHR may include a frame control portion, a sequence number portion, an addressing field portion, and / or an auxiliary security header. The MAC payload may include a superframe specification, a guaranteed timeslot (GTS) information, a pending address, and / or a beacon payload. In some embodiments, the superframe specification, the GTS information, and / or the pending address may be a mandatory field within the beacon frame format. The MFR may include a frame check sequence (FCS).

[0071] Reference now Figure 6, depicted is a schematic diagram of a representation of a UWB-based block and / or multiple UWB rounds according to an example embodiment of the present disclosure. For example, this may be implemented / adopted for certain applications, such as as a car connectivity consortium (CCC) specification. Figure 6 As shown, a ranging block may include multiple ranging rounds and multiple idle rounds. Each round may be between 6 ms and 96 ms, and the block may be at least 96 ms (with other possibilities of 192 ms, 288 ms, etc.). A ranging block may be subdivided into any number of ranging rounds and / or idle rounds, which may have fixed or variable durations. The number of ranging rounds relative to the idle rounds may define the duty cycle of the block. For example, if in Figure 6 If ranging is performed in each of the multiple ranging rounds, the block may have a 50% duty cycle. Data communication may be introduced in the block and / or some (one or more) rounds (e.g., in at least some of the multiple idle rounds and / or the multiple ranging rounds).

[0072] Reference now Figure 7 , depicted is a schematic diagram / representation of ranging rounds. Figure 7 The schematic diagram shown may illustrate / depict Figure 6 A ranging round is performed in one of the multiple ranging rounds shown in . The ranging round may include multiple time slots (e.g., time slot 0 to time slot 10) in which packets / frames are sent between the initiator and the responder. Figure 7In the schematic diagram shown, at the first time slot (time slot 0), the initiator (e.g., the first device 302, which can be a mobile device) can send an initial packet (T1) to any number of responder devices (or UWB devices 308 of the responder devices). The initial packet T1 can be an SP0 frame or a pre-poll message, which indicates that the initiator will send another ranging packet to the responder device. After the initial packet (T1), the initiator can send a second packet (T2) to the responder device (at time slot 1). The second packet T2 can be an SP3 packet or a ranging packet that does not include any data. Each responder device in the multiple responder devices can (e.g., at time slots 3 to 8) transmit response ranging packets (e.g., T3, T4, ..., T9) back to the initiator, which can be similar to the SP3 packets and may not include any data. Once the initiator receives the response ranging packet (T3, T4, T9) from the responder device, the initiator may send a ranging packet (T10) (e.g., at time slot 9). The T10 packet may indicate that the initiator received the response ranging packet (T3, T4, T9) from the responder device, and / or indicate that the initiator will send a final ranging packet (T11). In addition, the responder device may use the received packet T10 from the initiator to verify the data from the final ranging packet (T11). The initiator may send the final ranging packet (T11) (e.g., at time slot 10). The ranging packet T11 specifies the difference between the timestamp when the initiator sent the second packet T2 and the timestamp when the initiator received the corresponding response ranging packet (T3, T4, ..., T9).

[0073] Reference now Figure 8 , depicted is another schematic diagram / representation of a ranging round according to an example implementation of the present disclosure. Figure 8 The ranging rounds shown in are similar in some respects to Figure 7 Specifically, Figure 8 The ranging round shown in shows a ranging control phase (similar to time slot 0), a ranging phase (similar to time slots 2 to 9) and a measurement result reporting phase (similar to time slot 10). The time slot duration and the number of time slots can be modified or changed between ranging rounds (e.g., by the initiator sending an RCM frame with a modified ranging round configuration).

[0074] Reference now Fig. 9 10, which depicts a block diagram of a data processing and communication system according to an example embodiment of the present disclosure, and a method for using a data processing and communication system according to an example embodiment of the present disclosure. Fig. 9 Schematic diagram of the encoder of the convolutional code used in the system. Fig. 9In the system shown, data can be encoded by the initiator and can be decoded at the responder (and vice versa). At the initiator, bits or data can be sent to a Reed Solomon encoder for encoding and a single error correction double error detection (SECDED) encoder for the physical layer header (PHR) bit. The encoded data can then be transmitted, sent or otherwise provided to a system convolutional encoder (e.g., one of the encoders shown in Figure 10). The convolutional encoder can provide a further encoded data stream to a symbol mapper, which can then perform a symbol mapping process on the further encoded data stream. The symbol mapper can provide data to a preamble insertion component that inserts arbitrary preamble data into the data stream. The data stream can then be provided to a pulse shaper and then output by the initiator's UWB device 308. When the signal is received at the responder, the responder may perform the inverse of the above process (e.g., pulse shaping, synchronization, data detection, followed by systematic convolutional decoding, and Reed Solomon decoding and SECDED decoding. As shown in FIG. 10 , the convolutional code may include a K=3 encoder or a K=7 encoder.

[0075] Reference now Fig.11 and Fig.12 , which respectively depict a block diagram of a data processing and communication system according to an example embodiment of the present disclosure, and which may be Fig.11 In the embodiments described herein, the systems and methods described herein may apply a low density parity check (LDPC) encoder and an LDPC decoder in the time domain. The LDPC encoder and LDPC decoder may be more robust than Reed Solomon based processing. The LDPC encoder and LDPC decoder may replace Fig. 9 and the Reed Solomon / SECDED encoder / decoder and the systematic convolutional encoder / decoder shown in FIG. 10. The embodiments described herein can improve the performance of data transmission between the UWB device 308 at the initiator and the UWB device 308 at the responder. In some embodiments, the LDPC encoder (and LDPC decoder) can be Fig.12. For example, the LDPC encoder and LDPC decoder can select the LDPC codeword block length based on the packet size / length (for example, where the LDPC encoder can use a 1944 codeword block length for long packets and a 1296 or 648 codeword block length for shorter packets). In this regard, the LDPC encoder can dynamically select the codeword block length based on the packet size or length (for example, selecting the longest codeword block length suitable for packet services). The LDPC encoder can select a long codeword block length by default to improve the security and robustness of the packet. Note that although the systems and methods described herein are described as using an LDPC encoder and an LDPC decoder, in some embodiments, the systems and methods described herein may be combined, used, or otherwise include alternative encoders and decoders, such as polarization encoders and polarization decoders, turbo encoders and turbo decoders, etc. These embodiments and examples can improve the reliability of packets including data (for example, to a sensitivity of about -90 dBm).

[0076] Reference now Fig.13 And refer to Figure 7 , depicted is a schematic diagram showing data communication incorporated into a ranging round according to an example embodiment of the present disclosure. Figure 7 , each of the multiple time slots (time slot 0 to time slot 10) may have a time slot length between 1ms and 2ms. However, the ranging packet sent between the initiator and the responder may have a length in the range of 200μs to 400μs. In the embodiments described herein, the initiator and / or the responder may include or combine data packets in a portion of the time slot outside the ranging packet (e.g., in 600μs to 800μs separated from the ranging packet). In some embodiments, the initiator and / or the responder may transmit, include or combine data packets in time slot 0 or time slot 10 (e.g., in a time slot in which the initiator sends an SP0 packet to the responder device), in a time slot corresponding to an SP1 packet or an SP2 packet (e.g., before or after a secure timestamp (STS) payload), in or after a responder ranging packet (e.g., T3, T4, ..., T9), etc.

[0077] Reference now Fig.14 , depicted is another schematic diagram illustrating data communication incorporated into a ranging round according to an example embodiment of the present disclosure. Fig.14 The schematic diagram shown in is similar in some respects to Fig.13Schematic diagram shown in . In this embodiment, the initiator and / or responder can combine the interval between the ranging packet and the data packet in a specific time slot. For example, in the case where each time slot has a time slot length of 2ms, the initiator and / or responder can provide / support / implement / schedule a 500μs interval between a ranging packet (e.g., 500μs) and a subsequent 1ms long data packet. Note that the ranging packet can contain confirmation information for the previous data frame.

[0078] Reference now Fig.15 , depicted is another schematic diagram illustrating data communication incorporated into a ranging round according to an example embodiment of the present disclosure. In this embodiment, the initiator and / or the responder may be configured to incorporate data into the ranging packet for transmission. In this example, the responder is not sending a packet that may not include any data (in Figure 7 Instead of an SP3 packet (at time slots 2 to 8 in time slots 1 to 2), an SP1 packet may be sent that includes data incorporated into the SP1 packet or frame. In this way, the responder may send the data back to the initiator along with the timestamp, thereby facilitating (e.g., enabling or supporting) data transmission from the responder to the initiator. Similarly, the initiator may incorporate the data along with the timestamp information into a T11 packet sent at time slot 10. In this way, the initiator may send the data, thereby facilitating data transmission from the initiator to one or more responders.

[0079] Reference now Fig.16 , depicted is another schematic diagram showing data communication incorporated into a ranging round according to an example embodiment of the present disclosure. In some embodiments, Fig.16 The schematic diagram shown in includes Fig.17 In some embodiments, a ranging round may include time slots that are not used based on parameters configured for the ranging round (e.g., Figure 7 The time slot after time slot 10 in ). Fig.16 In the illustrated embodiment, the initiator and / or responder may use unused time slots (e.g., Fig.16 The time slots defined by the boxes in the table shown are, for example, the time slots after the initiator sends the SPO data packet at time slot 10) combined, embedded, carried or otherwise sent data. For example, the ranging round can be 20ms, but ranging can be performed in a portion of the ranging round (e.g., 8ms) and data transmission can be performed in the remaining portion of the ranging round (e.g., the remaining 12ms).

[0080] Reference now Fig.17 , depicted is a schematic diagram showing a transmission block 1700 including rounds 1702 according to an example embodiment of the present disclosure. Fig.17In the illustrated embodiment, transmission block 1700 may include both ranging rounds 1702a and data rounds 1702b. Although illustrated as including rounds 1702 specifically defined for ranging and data, it should be noted that in some embodiments, rounds 1702 may include general rounds 1702 (or idle rounds) that may be used / configured / re-used for ranging and / or data communications. In some embodiments, transmission block 1700 may be configured for environments (e.g., Figure 3 In some embodiments, the transmission block 1700 may define or otherwise configure a contention-free period (CFP) while also eliminating contention-access periods (CAP). Beacon signals may be used / sent to negotiate, configure, or otherwise provide / define different rounds 1702 during which devices will perform wireless communications. These rounds may include ranging periods, data periods, and / or idle periods. During idle periods, neighboring devices may transmit along with other responders (e.g., to avoid conflicts and interference between devices).

[0081] In some embodiments, the devices may coordinate or otherwise exchange communications (e.g., configuration messages or beacon signals) to negotiate / specify transport blocks 1700 (and their rounds), or may receive broadcasts (e.g., configuration messages or beacon signals) to specify / define / configure transport blocks 1700. For example, in some embodiments (see below), Figures 19 to 22In some embodiments, a beacon signal 1704 (described in more detail below) may define rounds 1702 or assign rounds 1702 to devices within the environment. In some embodiments, a device (e.g., a master device) within the environment may transmit, send, or otherwise provide a beacon signal 1704 to other devices within the environment. In some embodiments, the beacon signal 1704 may be used / sent to assign at least one corresponding ranging round 1702a and / or at least one corresponding data round 1702b to each of these devices. For example, two or more rounds 1702 may be assigned to a device (e.g., as configured or defined by the beacon signal, or otherwise defined for a transmission block 1700), which may include ranging rounds 1702a and data rounds 1702b. The device may be configured to perform wireless communications to perform ranging within the ranging round 1702a, and perform wireless communications to transmit data within the data round 1702b. In some embodiments, a transmission block 1700 may be sent by a device within a UWB spectrum (and received by at least another device within an environment). In other words, the device may be configured to use a UWB protocol and use a UWB antenna / device to send / transmit a configuration / specification of a transmission block (e.g., in a packet or frame). In some embodiments, the configuration / specification of the transmission block 1700 may be sent / transmitted in a frequency range outside the UWB spectrum (or at least partially outside the UWB spectrum). For example, a device may be configured to send a transmission block (e.g., in a packet or frame) using a protocol (and / or frequency range) different from the UWB protocol. For example, the device may be configured to send a transmission block using a WiFi protocol, a Bluetooth protocol, a near field communication (NFC) protocol, or some other protocol. These protocols may operate at frequencies outside the UWB spectrum (or at least partially outside the UWB spectrum).

[0082] Reference now Fig.18 , depicted is a schematic diagram of a data round with or without an acknowledgement (e.g., a message for acknowledging / determining / reporting receipt of a corresponding data transmission) according to an example embodiment of the present disclosure. Fig.17 In the data rounds shown in , a data packet / frame may be followed by one or more acknowledgments. Fig.18 As shown in Option 1 in , the initiator can send a data packet to the responder during a data round, and the responder can send a message to confirm the data packet during the data round. In some embodiments, as Fig.18 As shown in Option 2 in , the initiator may send data packets during the data round, and the responder may abandon, omit the confirmation, or otherwise not provide / send the confirmation to the initiator. In some embodiments, as Fig.18As shown in Option 3 in , the initiator may send multiple data packets to the responder (e.g., via one or more data rounds), and the responder may provide a block (or combined / batch) confirmation that confirms that the responder received the multiple data packets from the initiator. Similarly, the responder may transmit, send, or otherwise provide a data packet to the initiator, and the initiator may confirm using one of the above multiple options.

[0083] Reference now Fig.19 , depicted is a schematic diagram / representation of a beacon signal / frame structure (eg, structure / format of a beacon signal / frame) according to an example implementation of the present disclosure. Fig.19 The beacon signal / frame structure shown in can be, for example, Fig.17 The beacon shown in is used or incorporated into the beacon to define a specific transport block configuration, structure, or schedule. The beacon signal structure may specify a transport block (e.g., Fig.19 The beacon signal structure may include a plurality of portions or sequences of a series of bits that define various information related to a block configuration used / applied by at least one device in transmitting ranging and / or data transmission. The beacon signal structure may include a frame control portion (e.g., including 16 bits for configuring frame control), a sequence number portion (e.g., including 8 bits for configuring the sequence number), and an addressing field portion (which may include 32 bits or 80 bits for configuring the addressing field). In some embodiments, the beacon signal structure may include an 8-bit portion for defining a minimum block duration and an actual block duration, respectively. The minimum block duration may be configured in multiples of 2 ms (e.g., so that the beacon can set or configure the minimum block duration).

[0084] The actual block duration may be defined as an integer multiple of the minimum block duration (e.g., defined as an absolute value or coefficient representing a multiple of the minimum block duration). For example, if the minimum block duration is 96 ms and the actual block duration is to be set to 288 ms, the actual block duration specified in the block duration portion may be 3 (e.g., 3×96 ms=288 ms). The beacon signal structure may include a chap per slot portion (e.g., including 4 bits for configuring the number of chaps per slot) and a slot per round portion (e.g., including 4 bits for configuring the number of slots per round). The beacon signal / frame structure may include an idle round portion (e.g., including 8 bits for configuring the number of idle rounds). The beacon signal structure may include an FCS portion (e.g., including 16 bits or 32 bits for configuring a frame check sequence). The beacon may use the beacon signal structure to configure a block (and the round of the block). For example, a block or round duration may be specified based on a chap per time slot and / or a time slot per round (e.g., 1 chap = 0.3333 ms). The chap value per time slot may be selected from values ​​3, 4, 6, 8, 9, 12, 24, or other values. Similarly, the time slot per round may be selected from values ​​6, 8, 9, 12, 24, 32, 36, 48, 72, 96, or other values. Some or all of these values ​​may together define a block and / or round duration.

[0085] Reference now Fig. 20 , depicted is the use of an example embodiment according to the present disclosure Fig.19 Schematic diagram / representation / description of an example beacon signal structure of a UWB-based device (e.g., an initiator device) may broadcast, transmit, or otherwise provide a beacon signal (sometimes referred to as a configuration message) for configuring a block in which ranging and data transmission are performed between the initiator and one or more responders. In some embodiments, the device may send a beacon signal to an initiator and / or responder device at a specific interval and / or before one or more blocks. In some embodiments, the device may send a beacon signal to an initiator and / or responder device in response to a beacon that modifies the beacon signal / frame (e.g., based on a delta in the configuration).

[0086] exist Fig. 20In the example shown, the minimum block duration may be 24 ms, while the actual block duration is set by the beacon to 96 ms. The device may generate a beacon signal that includes a bit that may set the minimum block duration to 48 ms (e.g., 24×2 ms minimum block duration) and may set the block multiplier to 2 (e.g., to provide an actual block duration of 96 ms). The device may generate a beacon signal to specify 3 chaps per slot, 8 slots per round, and any number of idle rounds between 0 and 12. As described above, the duration of a chap may be 0.3333 ms. In this example, with 3 chaps per slot, the slot may have a duration of 1 ms (e.g., 3×0.3333 ms=1 ms). In addition, a round may have a duration of 8 ms (e.g., 8 slots×1 ms slot duration). The total number of rounds may be 12 (e.g., 96 ms actual block duration / 8 ms round duration=12).

[0087] Reference now Fig.21 and Fig. 22 , depicted are another schematic diagram of a beacon signal / frame structure according to an exemplary embodiment of the present disclosure, and using Fig.21 Schematic diagram of an example beacon signal structure of a beacon signal. Fig.21 The beacon signal structure shown in can be similar in some respects to Fig.19 The beacon signal structure shown in . Fig.21 In the beacon signal structure shown, the minimum block duration may be a default value or known value (e.g., a default value of 96ms). In this example, the beacon frame may omit, forego, or otherwise not provide / include / carry any data that specifies the minimum block duration (because the minimum block duration is a default value or known value). Instead, to configure the actual block duration, the beacon signal structure may include a portion for a block duration multiplier. For example, in the case where the minimum block duration is fixed at 96ms, in order to provide an actual block duration of 288ms, the beacon frame may specify / provide a block duration multiplier of 3 (e.g., 3×96ms=288ms). In this embodiment, Fig.19 Compared to the beacon signal structure shown in , the beacon signal structure can be more consolidated (eg, including fewer bits, shorter strings, etc.).

[0088] continue Fig. 22 The example shown in Fig.17The beacon frame shown in can be configured with at least one block as follows: in the at least one block, ranging and data transmission are performed between the initiator and one or more responders (as described above, the at least one block can be provided before a specific block or when the block configuration is to be changed). In this example, the default (or fixed, predetermined, preconfigured, set) minimum block duration can be 96ms, and the actual block duration can be set to 192ms by the beacon. The device can generate a beacon signal as follows: the beacon signal includes a bit that sets the block multiplier to 2 (for example, to provide an actual block duration of 192ms, or 2×96ms=192ms). The device can generate a beacon signal to specify 3 chaps per time slot, 8 time slots per round, and the number of idle rounds, which can be any number between 0 and 24. As described above, the duration of the chap can be 0.3333ms. Similar to Fig. 20 In the example shown in , with 3 chaps per slot, the slot may have a duration of 1 ms (e.g., 3×0.3333 ms=1 ms). In addition, a round may have a duration of 8 ms (e.g., 8 slots×1 ms slot duration). The total number of rounds may be 24 (e.g., 192 ms actual block duration / 8 ms round duration=24).

[0089] A device receiving a beacon signal may be configured to synchronize various operations according to a beacon frame (e.g., timing information (e.g., reference time, start time, end time), time units, and / or clock frequency). For example, the device may be configured to set a wireless communication schedule for the device according to a beacon frame. The device may be configured to perform wireless communications between other devices in the environment according to the wireless communication schedule. For example, a beacon frame may be configured to set a time or time interval at which the device will perform wireless communications (e.g., perform ranging and / or transmit data). A device may be configured to receive a beacon frame and synchronize various operations of the device according to the beacon frame (e.g., to perform ranging and / or transmit data at a set time / time interval).

[0090] According to the implementations and embodiments described herein, the systems and methods of the present disclosure may provide or otherwise incorporate data into ranging protocols, ranging rounds, and / or ranging packets exchanged between devices 302, 304 in environment 300. Similarly, the systems and methods described herein may use an LDPC encoder / LDPC decoder to protect data, thereby improving the reliability and sensitivity of data packets exchanged between devices 302, 304. In addition, the systems and methods described herein may provide customizable / adaptable configurations for data blocks for transmitting, sending, receiving, or otherwise exchanging data between devices 302, 304.

[0091] Reference now FIG. 23A to FIG. 23C , depicted is a schematic diagram of various data frames or communication frames for modulation to different data (or bit transmission) (PHY) rates. In some embodiments, a data frame may include multiple signal pulses and multiple protection intervals. These signal pulses may be repeated transmissions, which provides redundancy in data communication or transmission. For example, for each data transmission, the number of signal pulses may represent the number of repeated transmissions. Thus, as the number of signal pulses increases, the total data transmission rate may decrease (because the total number of repeated transmissions increases, thereby reducing the total data throughput). For example, a data frame may include 8 signal pulses and 8 protection intervals, which will produce a data transmission rate of 27.25Mbps.

[0092] In some embodiments, specific reference is made to Fig.23A , the systems and methods described herein can provide (transmission) energy / power boost to signal pulses by providing fewer signal pulses and guard intervals. For example, since power measurements are performed in both the Federal Communications Commission (FCC) and the European Telecommunications Standards Institute (ETSI) within a 1ms time window, the systems and methods described herein can increase the power of signal pulses, thereby improving the signal-to-noise ratio (SNR). For example, when 27Mbps is used to use 1500 bytes of data, the total transmission time may be about 500μs (including a 52.5μs preamble). Therefore, the systems and methods described herein can increase the energy of the packet by 3dB to improve the SNR. In this case, the sensitivity of 27Mbps can be the same as the sensitivity of 6.8Mbps. The systems and methods described herein can increase the power of the transmission within 100 microseconds (also referred to as energy boost in this article) so that the power generated by the signal transmitted within 100 microseconds is the same as the power generated by the signal transmitted continuously within 1 millisecond.

[0093] Continue with the above reference Fig.23A As described examples, the systems and methods described herein may increase power on a per-packet basis (eg, such that the power or energy per packet increases as packet size decreases) by modulating data frames to provide different data rates.

[0094] The table below expands this for the 4095 byte case and shows that, for example, higher PHY rates can be achieved at similar sensitivities (within 3.2 dB) as 6.8 Mbps. For example, by providing an energy boost, a 218 Mbps rate can provide optimized range and reduced power consumption at the expense of potentially higher receiver complexity. An increase in net throughput can be achieved by hopping across multiple channels. In this case, the net throughput would be multiplied by the number of hops achieved in the 1 ms time period.

[0095]

[0096] Table 1. Packet (PHY) rates using energy boosting

[0097] In some embodiments, referring to Table 2 below, the systems and methods described herein may apply different coding schemes to provide different data rates. Specifically, the device may be configured to selectively apply different encoders with corresponding constraint lengths (constrained length, CL) and / or selectively apply Reed Solomon (RS) coding to provide or generate different data rates. Specifically, in Fig. 23B and Fig.23C , the data rate shown indicates different data rates depending on whether RS ​​coding is enabled (e.g., A / B, where A enables RS coding and B disables RS coding). In some embodiments, the standard for RS coding (e.g., 802.14.4) can define a block of k=330 input (or information) bits with an error correction capability of t=24 bits. The systems and methods described herein can provide additional correction bits (e.g., 48 correction bits or 2×t) to produce a total codeword length of 378 bits in bits (e.g., input / information bits + correction bits). Therefore, the code rate (e.g., input bits to total bits) can be 55 / 63 (e.g., 330 / 378) or RS (55,63). The standard can also specify or define RS coding using a Galois Field (e.g., GF(26)) using a generating polynomial as shown in the following equation:

[0098]

[0099] In this way, the device can be configured to selectively apply RS encoding to data (e.g., input bits), particularly when the input bits (which will be transmitted between devices within the environment via UWB device 308 or otherwise transmitted) are encoded using a binary convolutional code (BCC) with CL3.

[0100] In addition, in some embodiments, the device can be configured to apply different encoders (e.g., BCC with CL3, CL7, the above-mentioned LDPC, polar code, or some other encoder) to produce different data rates. For example, these encoders may include convolutional encoders that can be applied to both the physical layer (PHY) and the service data unit (PSDU) field. The constraint length generally refers to the "memory" of the encoder used to encode the data. The constraint length can be calculated as K+1, where K is the order of the generator polynomial of the shift register. Some standards (e.g., 802.15.4) may define the CL of the base pulse repetition frequency (BPRF) mode to be 3. Similarly, some standards (e.g., 802.15.4z) may define the CL of the high pulse repetition frequency (HPRF) mode (e.g., for use with high-rate pulse-enhanced ranging devices (HRP-ERDEV)) to be 7. Furthermore, since the encoder typically generates two coded bits for each bit (eg, in both BPRF and HPRF), the code rate may be a constant 0.5.

[0101]

[0102] Table 2. Data rates using Reed-Solomon channel coding

[0103] In some embodiments, reference Fig. 23BAs shown in Table 3 below, the systems and methods described herein can apply binary phase-shift keying (BPSK) modulation to data (e.g., input data) to provide different data rates. Specifically, the device can be configured to selectively apply BPSK modulation by modifying the following items: the number of chips contained in a symbol (Ncps); the number of chips contained in a burst (Ncpb); the number of bursts containing pulses in a symbol (dataNPulseBurst); and / or the number of pulses containing data pulses in a burst (dataNPulseperBurst). Ncps can provide PSDU fields of different lengths (e.g., K×Ncps, where K=the number of symbols). Ncpb can either contain data encoded by BPSK and repetition, or can be empty (e.g., a chip protection interval). As shown in Table 3 below, in order to provide a lower data rate, the PSDU field can have a higher repetition and protection interval or band (e.g., by having a higher Ncps and a lower Ncpb), which can provide protection against scattered and noisy channels. On the other hand, to provide a higher data rate, the PSDU field may have a lower number of repetitions per burst, a reduced inter-chip guard interval, and / or a reduced inter-burst guard interval. Fig.23C As shown, the device can be configured to provide different data rates through quadrature phase shift keying (QPSK) modulation. The device can provide or perform QPSK modulation in a manner similar to performing BPSK modulation. In this example, one bit of information (e.g., input data) can be included in each Tsym. By performing QPSK modulation, the device can achieve a data rate of up to 500Mbps (e.g., 499.2Mbps) higher than BPSK by mapping 2 bits from the encoder to the real and imaginary parts of the constellation points.

[0104]

[0105] Table 3. Data rates using binary phase-shift keying modulation

[0106] In various embodiments of the systems and methods described herein, a device may be configured to send wireless communications for transmitting data at different data rates based on whether a guard interval is incorporated into the wireless communications and based on a specific coding / modulation scheme provided by the device for the input data. For example, a device may send wireless communications at a first data rate (e.g., approximately 109 Mbps) in conjunction with a guard interval, or send wireless communications at a second data rate (e.g., approximately 217.6 Mbps) by omitting the guard interval. Thus, the systems and methods described herein may generally be configured to transmit data at a data rate ranging between 100 Mbps and 250 Mbps.

[0107] Reference now FIG. 31A to FIG. 32J , depicted is a schematic diagram illustrating various data rates using BPSK modulation or QPSK modulation according to an example embodiment of the present disclosure. FIG. 31A to FIG. 32J Each of the schematic diagrams shown in may correspond to Fig. 23B and Fig.23C The corresponding data rates shown in . The data frames may be altered, modified, or otherwise modulated to produce a higher data transmission rate. For example, Fig.31C and Fig.32D As shown, the device may encode data using BPSK modulation, QPSK modulation, or some other modulation / coding scheme (including using LDBC, CL3, CL7, etc.) to provide a data transmission rate of 54.5 Mbps or 62.4 Mbps depending on whether Reed-Solomon coding is enabled (e.g., 54.4 Mbps when Reed-Solomon coding is enabled and 62.4 Mbps when Reed-Solomon coding is disabled). A data frame may include four signal pulses (or chips) and four guard intervals (or chips), resulting in a total Tsym of 8 chips (or 16.03 ns) and a data transmission rate of 54.5 Mbps or 62.4 Mbps (depending on whether Reed-Solomon coding is enabled). In addition, the input bits may be mapped to different bursts and represented within the signal as Fig.31C and Fig.32D Similarly, Fig.31B and Fig.32C As shown, the device may encode the data using BPSK modulation, QPSK modulation, or some other modulation / coding scheme to provide a data transmission rate of 109.0 Mbps or 124.8 Mbps. For example, a data frame may include two signal pulses and two guard intervals, thereby producing a data transmission rate of 109 Mbps or 124.8 Mbps (depending on whether Reed-Solomon encoding is enabled). As another example, Fig.31A and Fig.32B As shown, the device may encode the data using BPSK modulation, QPSK modulation, or some other modulation / coding scheme to provide a data transmission rate of 217.9 Mbps or 249.6 Mbps. In this example, the data frame may include two signal pulses without a guard interval, resulting in a data transmission rate of 217.9 Mbps or 249.6 Mbps. Fig.32A , a device may encode data using QPSK modulation to provide a data transmission rate of 435.8 Mbps or 499.2 Mbps by generating a data frame including one pulse and no guard interval. Although these examples are provided, it is noted that other data rates (e.g., FIG. 31A to FIG. 32J those data rates shown in ).

[0108] Reference now Fig.24 , depicted is a schematic diagram showing effective data throughput. Effective throughput as described herein refers to the number of useful information bits (eg, bits excluding protocol overhead bits or retransmission bits / packets) transmitted per unit time. Fig.24 As shown, the data effective throughput can vary based on confirmation (acknowledgement, ACK). In some embodiments, ACK can be a confirmation of correctly received data. ACK can be sent at a very low rate to ensure the robustness of ACK. However, due to the construction of a 6.8 megabit per second component (weight), ACK may be sent within 200 microseconds to 300 microseconds, just to send one bit of information. According to the embodiments and examples described herein, assuming that the system runs at 260Mbps, the system and method described herein can use 108 megabits per second ACK transmission. Therefore, compared with other data rates of ACK, by using a higher data rate of ACK, the system and method described herein can provide an overall higher effective throughput. For example, assuming that a packet is sent at a high rate (e.g., 260Mbps) and ACK is sent at a lower data rate, the overall effective throughput may be lower because the amount of time to send and confirm data takes a longer duration. However, in the case of sending packets at a higher rate and sending ACK at a higher data rate, the overall effective throughput may be higher because the amount of time to send and confirm data takes a shorter duration (because ACK is generally faster at a higher data rate).

[0109] Now combine Fig.15 refer to Fig.25In some embodiments, the systems and methods described herein may combine data and confirmation into frames sent between an initiator and a responder. For example, after a pre-polling at T1, the initiator may send a poll including data at T2. The first responder may respond (e.g., at T3) with a response to the poll and data from the first responder and confirmation of the T2 data. Similarly, the second responder may respond (e.g., at T4) with a response to the poll and data from the second responder and confirmation of the T2 data. The initiator may send an ACK to the first responder and the second responder at T5, followed by a timestamp at T6. These embodiments and examples may provide data transmission within frames sent between an initiator and one or more responders. The systems and methods described herein may combine data into a poll / response by changing the packet from an SP0 / SP3 packet to either an SP1 transmission packet or an SP2 transmission packet (these transmission packets allow data to be combined therein).

[0110] Reference now Figure 26 to Figure 28 , the systems and methods described herein may be configured to perform wireless transmission for transmitting data in time slots within a round. Specifically, as described above with reference to Figure 6 , Figure 7 and Fig.13 As described, each of the multiple rounds of a transmission block may include multiple time slots in which wireless transmission or wireless communication is performed (e.g., to perform ranging or ranging operations and / or to transmit data, as described herein). In some embodiments, the systems and methods described herein may be configured to perform ranging and transmit data in the same time slot or in different time slots. For example, a device may be configured to perform ranging in a first time slot and transmit data in a second time slot. As another example, a device may be configured to perform ranging and transmit data in the same time slot.

[0111] refer to Fig.26 , depicted is a schematic diagram of an initiator providing a delayed ACK (acknowledgement) of data from a responder. Fig.26 As shown, the initiator may provide an ACK (referred to as a delayed ACK) at T1. The delayed ACK may be an acknowledgement of data from a previous range between the initiator and the responder. In this example, the initiator may combine both the delayed ACK and the data into a T1 frame, which is sent to the first responder and the second responder. The first responder and the second responder may respond as described above. Also in this example, the initiator may send another ACK at T6 with a timestamp (e.g., for data sent by each responder at T3 and T4).

[0112] refer to Fig. 27, depicted is a schematic diagram showing time slots in which data and acknowledgements may be sent. For example, the first time slot may include an SP3 frame accompanied by data. The first time slot may be sent by the initiator (see above Fig.25 The second time slot may also include an SP3 frame, data, and an acknowledgement of the first time slot. The second time slot may be sent by one of the responders (e.g., as described above with reference to Fig.25 These embodiments and examples may provide for sharing data between an initiator and a responder within a time slot of a frame sent between devices.

[0113] Specific reference Fig.28 , depicts a schematic diagram of how an initiator and a responder can include data packets within a time slot. For example, the systems and methods described herein can Fig. 27 The time slots shown in Fig.25 and Fig.26 In the frame shown in . In this example, in the time slot in which the initiator sends a poll at T2, the time slot may include a poll and data. The responder may send a response at T3 and T4, which is accompanied by a "dack" or data and a confirmation of the data sent at T2. The systems and methods described herein may generate additional frames including data and confirmations, as well as responses, rather than combining data into a single frame. In addition, the initiator may be configured to send a group confirmation to each of a plurality of responders, wherein, for example, a bit may be allocated to each responder. These embodiments and examples may provide a data stream sent between an initiator and a responder without affecting any original ranging stream between devices.

[0114] Overall reference Fig.26 and Fig.28 In each time slot, the corresponding device may be configured to perform multiple wireless communications. Thus, each time slot may include multiple sub-time slots (also referred to herein as "mini-slots" or "multiple mini-slots"). For example, Fig.26As shown, a specific time slot may include multiple sub-time slots. In the case where the time slot has a time slot length of, for example, 2ms, the time slot may be divided into 8 sub-time slots (e.g., each sub-time slot is 250μs). However, a time slot may be divided into any number of sub-time slots. In some embodiments, a beacon frame may define one or more time slots or one or more sub-time slots in which a device is to perform wireless communication. For example, a beacon frame may define a first sub-time slot of a time slot in which wireless communication for performing ranging is performed, and a second sub-time slot of the same time slot in which wireless communication for transmitting data is performed. The device may be configured to perform ranging in the first sub-time slot and transmit data in the second sub-time slot. As another example, in some embodiments, multiple devices in an environment may negotiate time slots and sub-time slots, or even negotiate the rounds of transmission blocks, in which these devices will perform wireless communication in these time slots and sub-time slots or the rounds of transmission blocks. As part of a pairing or handshake negotiation, these devices may negotiate the rounds, time slots, and / or sub-time slots in which a specific device is to perform wireless communication.

[0115] Reference now Fig.29 , depicted is a flow chart illustrating a method 2900 for performing ranging and transmitting data between two or more UWB devices according to an illustrative embodiment. The method 2900 may be described by reference to Figures 1 to 28 For example, method 2900 may be performed by the device described above. Figure 3 The method 2900 may be performed by one or more of the plurality of UWB devices or antennas 308 described above. As another example, the method 2900 may be performed by one or more of the plurality of UWB devices or antennas 308 described above. Figure 3 The UWB device 2902 may be performed by one or more of the devices 302, 304 described herein. Thus, the UWB device described herein may include: a UWB antenna and accompanying components (e.g., a processing component), and / or a device including one or more UWB antennas. As a brief overview, in step 2902, the UWB device may determine a transmission block. In step 2904, the UWB device may perform a first wireless communication for performing ranging. In step 2906, the UWB device may perform a second wireless communication for transmitting data.

[0116] In step 2902, the UWB device may determine a transmission block. In some embodiments, the UWB device may be a first UWB device. The UWB device may determine a transmission block including a plurality of rounds, each round in the plurality of rounds representing a period of time. The transmission block may be similar to the above reference Figure 6 and / or Fig.17The transmission block described. In some embodiments, the UWB device may determine the transmission block, for example, in response to a negotiation with another UWB device in the environment. The UWB device may negotiate as part of a handshake, establishing a connection or channel, etc. The UWB device may establish a transmission block for each device for communication within the environment. In some embodiments, the UWB device may receive a beacon or a beacon frame / signal including the beacon. The beacon frame may include (or alternatively be) a configuration (or configuration message) that is broadcast, unicast or transmitted to at least one UWB device. The UWB device may receive the frame using a protocol different from the UWB protocol. For example, the UWB device may receive the frame using a WiFi protocol, a Bluetooth protocol, an NFC protocol, or some other protocol different from the UWB protocol. In some embodiments, the UWB device may receive the frame outside the UWB spectrum (e.g., on a frequency or channel outside the UWB spectrum). In some embodiments, the UWB device may receive the frame on a frequency or channel that overlaps or at least partially overlaps with the UWB spectrum. In some embodiments, the UWB device may receive the frame using the UWB protocol. Thus, the UWB device may receive the frame using either the UWB protocol or a different protocol. The UWB device may parse, inspect, or otherwise analyze the frame to identify one or more settings or configurations of the transmission block. The UWB device may be configured to synchronize the operation of the UWB device based on the beacon.

[0117] In some embodiments, a transmission block may include or be configured with multiple rounds. For example, the transmission block may be similar to the above reference Figure 6 and / or Fig.17 Each round of a transport block may include a plurality of time slots. The plurality of time slots may be or include equally defined durations of corresponding rounds of a transport block. For example, in the case of a round of 8 ms, the round may include four time slots, each of the four time slots being 2 ms. These time slots may be similar in some respects to Figure 7 , Figures 13 to 15 as well as Fig.25 and Fig.26 , and as described above. In addition, in some embodiments, each time slot may include multiple micro-time slots or sub-time slots. Similar to the relationship between a round and multiple time slots, a micro-time slot or sub-time slot may be or include an equally defined duration of a corresponding time slot. A transmission block may be configured or negotiated to allow each of a plurality of devices in an environment to perform scheduled wireless communications within a corresponding round, time slot, and / or mini-time slot. For example, each of a plurality of devices receiving a transmission block may synchronize operations for performing wireless communications and other operations based on the transmission block.

[0118] In step 2904, the UWB device may perform a first wireless communication for performing ranging. In some embodiments, the UWB device may perform a first wireless communication for performing ranging between the UWB device and a second UWB device within a first round of multiple rounds of a transmission block. The UWB device may perform the first wireless communication in response to determining that the UWB device is scheduled to perform the first wireless communication. The UWB device may determine that the UWB device is scheduled to perform the first wireless communication based on the transmission block. As described above, the UWB device may be scheduled to perform wireless communications at predetermined or negotiated intervals according to the transmission block. The UWB device may determine (for example, using various clock signals or other signals of the UWB device) that the UWB device is scheduled to perform the first wireless communication. The UWB device may perform a first wireless communication for performing ranging between the UWB device and the second UWB device. The UWB device may perform ranging between the UWB device and the second UWB device, as described above with reference to Figures 1 to 3 described.

[0119] In step 2906, the UWB device may perform a second wireless communication for transmitting data. The UWB device may perform a second wireless communication for transmitting data (e.g., sending and / or receiving data) between the UWB device and a second UWB device (e.g., where the device performs ranging in step 2604). In some embodiments, the UWB device may perform a second wireless communication for transmitting data within a first round (e.g., within the same round as the UWB device performs the first wireless communication). For example, the UWB device may be configured to perform (e.g., in step 2604) a first wireless communication for performing ranging in one time slot (or one sub-time slot) of the first round, and perform a second wireless communication for transferring / transmitting data in another time slot (or another sub-time slot) of the first round. In some embodiments, the UWB device may perform one or more ranging operations within a first time slot (e.g., a ranging time slot), and perform one or more wireless communications for transmitting data within a second time slot (e.g., a data time slot). By performing the first wireless communication and the second wireless communication in the same round, the UWB device can be inactive (e.g., enter a sleep / low power mode) in rounds other than the rounds in which the first wireless communication and the second wireless communication are performed. Such implementations and embodiments can reduce the power consumption of the UWB device (e.g., save or conserve power). The UWB device can be configured to perform the second wireless communication in response to determining that the UWB device is scheduled to perform the second wireless communication (similar to the UWB device determining that the UWB device is scheduled to perform the first wireless communication). The UWB device can be configured to perform a second wireless communication to transmit data between the UWB device and the second UWB device. The UWB device can perform the second wireless communication within the UWB spectrum. The UWB device can perform the second wireless communication according to the UWB protocol.

[0120] In some embodiments, the UWB device may perform a second wireless communication for transmitting data in a second round (e.g., a round different from the first wireless communication in which the UWB device performs ranging). In some embodiments, the UWB device may perform wireless communication for transmitting data in a dedicated 'data communication' round, and perform wireless communication for performing ranging in a dedicated ranging round. In some embodiments, the UWB device may perform multiple ranging operations in a first round (e.g., ranging round), and perform multiple wireless communications for transmitting data in a second round (e.g., data round).

[0121] In some embodiments, the UWB device may perform multiple operations for performing ranging and perform multiple operations for transmitting data. In some embodiments, the UWB device may perform each of the multiple operations within a single round (e.g., within multiple corresponding time slots of a round). In some embodiments, the UWB device may perform multiple operations for performing ranging within a first round (e.g., a ranging round), and perform multiple operations for transmitting data in a second round (e.g., a data round). The UWB device may perform these operations according to the transmission block (and its round, time slot, and / or sub-time slot) determined / defined in step 2902. In some embodiments, the UWB device may perform operations within corresponding time slots of corresponding rounds. For example, the UWB device may perform multiple ranging operations (e.g., wireless communications for performing ranging) within one time slot (or more than one time slot), and perform multiple data communication operations (e.g., wireless communications for transmitting data) within another time slot (or more than one time slot) different from one or more time slots in which the UWB device performs ranging operations. As another example, the UWB device may perform multiple ranging operations in multiple sub-time slots of a time slot (e.g., perform one ranging operation in one sub-time slot and perform another ranging operation in another sub-time slot). Similarly, the UWB device may perform multiple data communications in multiple sub-time slots of a time slot (e.g., perform one data communication operation in one sub-time slot and perform another data communication operation in another sub-time slot).

[0122] In some embodiments, when the UWB device (e.g., at step 2906) performs the second wireless communication, the UWB device may perform the second wireless communication at a data rate ranging from 100 Mbps to 250 Mbps. For example, the UWB device may perform the second wireless communication as described above with reference to FIG. 23A to FIG. 23CThe second wireless communication may be performed at a certain data rate by reducing the number of guard intervals and / or reducing the number of repeated transmissions as described. In some embodiments, the UWB device may perform the second wireless communication transmitting data at a data rate of 109 Mbps with a guard interval. In some embodiments, the UWB device may perform the second wireless communication transmitting data at a data rate of 217.6 Mbps without a guard interval.

[0123] The various operations described in this article can be implemented on a computer system. Fig.30 , depicted is a block diagram of a representative computing system 3014 that may be used to implement the present disclosure. In some embodiments, computing device 110, HWD 150, device 302, 304, or Figures 1 to 5 Each of the components of is implemented by one or more components of the computing system 3014 or may otherwise include one or more components of the computing system 3014. The computing system 3014 can be implemented as, for example, a consumer device (e.g., a smartphone, some mobile phone, a tablet computer, a wearable computing device (e.g., a smart watch, glasses, a head wearable display), a desktop computer, a laptop computer), or using a distributed computing device. The computing system 3014 can be implemented to provide VR, AR, and MR experiences. In some embodiments, the computing system 3014 may include conventional computer components, such as a processor 3016, a storage device 3018, a network interface 3020, a user input device 3022, and a user output device 3024.

[0124] The network interface 3020 can provide a connection to a wide area network (e.g., the Internet), to which a wide area network (WAN) interface of the remote server system is also connected. The network interface 3020 may include a wired interface (e.g., Ethernet) and / or a wireless interface that implements various radio frequency (RF) data communication standards (e.g., Wi-Fi, Bluetooth, UWB, or cellular data network standards (e.g., 3rd generation mobile communication technology (3G), 4th generation mobile communication technology (4G), 5th generation mobile communication technology (5G), 60 GHz, long term evolution technology (LTE), etc.)).

[0125] User input device 3022 may include any device (or devices) via which a user may provide signals to computing system 3014; computing system 3014 may interpret these signals as indications of specific user requests or information. User input device 3022 may include any or all of the following: a keyboard; a touch pad; a touch screen; a mouse or other pointing device; a scroll wheel; a click wheel; a dial; a button; a switch; a keypad; a microphone; a sensor (e.g., a motion sensor, an eye tracking sensor, etc.), etc.

[0126] User output device 3024 may include any device via which computing system 3014 can provide information to a user. For example, user output device 3024 may include a display for displaying images generated by computing system 3014 or transmitted to computing system 3014. The display may be combined with various image generation technologies (e.g., liquid crystal display (LCD), light-emitting diodes (LED) including organic light-emitting diodes (OLED), projection systems or cathode ray tubes (CRT), etc.) and supporting electronic devices (e.g., digital-to-analog converters or analog-to-digital converters, or signal processors, etc.). Devices such as touch screens that are used as both input devices and output devices may be used. Output device 3024 may be provided in addition to or as an alternative to a display. Examples include indicator lights, speakers, tactile "display" devices, printers, etc.

[0127] Some embodiments include multiple electronic components, such as microprocessors, storage devices and memories storing computer program instructions in computer-readable storage media (e.g., non-transient computer-readable media). Many of the features described in this specification may be implemented as the following process: these processes are designated as a group of program instructions encoded on a computer-readable storage medium. When these program instructions are executed by one or more processors, these program instructions cause the processor to perform the various operations indicated in these program instructions. Examples of program instructions or computer codes include machine code (the machine code is generated, for example, by a compiler) and files, which include high-level code executed by a computer, electronic component or microprocessor using an interpreter. Through suitable programming, processor 3016 can provide various functions for computing system 3014, including the functions performed by a server or client described herein, or other functionality associated with a message management service.

[0128] It will be appreciated that computing system 3014 is illustrative, and variations and modifications are possible. The computer system used in conjunction with the present disclosure may have other capabilities not specifically described herein. In addition, although computing system 3014 is described with reference to specific blocks, it should be understood that these blocks are defined for ease of description and are not intended to imply a specific physical arrangement of components. For example, different blocks may be located in the same facility, on the same server rack, or on the same motherboard. In addition, these blocks do not need to correspond to physically different components. Multiple blocks may be configured to perform various operations, for example, by programming a processor or providing suitable control circuits, and various blocks may or may not be reconfigurable depending on how the initial configuration is obtained. Embodiments of the present disclosure may be implemented in various devices, including electronic devices implemented using any combination of circuits and software.

[0129] Reference now Fig.33 , depicted is a block diagram of a system 3300 for low density parity check coding according to an example embodiment of the present disclosure. The system 3300 may include the above reference Figures 1 to 32J The system 3300 may include a first device 3302 that includes a wireless communication device 3304. The wireless communication device 3304 may communicate with a second wireless communication device 3306 (e.g., of a second device). The wireless communication devices 3304, 3306 may be similar in some aspects to the above referenced Figure 1 The wireless interfaces 115, 165 described above refer to Figure 3 The communication device 306 described above and / or referenced Fig.30 The wireless communication device 3304 may include one or more processors 3308 and a memory 3310. The one or more processors 3308 may be similar to the one described above. Figure 1 and Figure 2 One or more processors 118, 170 described above, and / or Fig.30 The memory 3310 may be similar to the one or more processing units 3016 described above. Fig.30 Storage device 3018 is described.

[0130] like Fig.33As shown, device 3302 may include a wireless communication device 3304. In some embodiments, wireless communication device 3304 may be a transceiver of device 3302. Device 3302 may be or include any device, such as a computer (e.g., a personal computer or laptop), a smart phone, a head wearable display, or any other device configured to generate data for transmission. Wireless communication device 3304 may be configured to encode data and send the data to another device (e.g., another device including a second wireless communication device 3306). Similarly, in various embodiments, wireless communication device 3304 may be configured to receive data (e.g., codeword 3318) from another wireless communication device (e.g., second wireless communication device 3306). Wireless communication device 3304 may be configured to provide data from another wireless communication device to device 3302 for use by the device 3302 (e.g., for use by various applications / resources / etc. of device 3302).

[0131] The wireless communication device 3304 may include a codeword selector 3312. The codeword selector 3312 may be or include any device, component, element, or hardware that is designed or configured to identify, determine, or otherwise select one or more codeword lengths for encoding information bits transmitted to an endpoint (e.g., the wireless communication device 3306). As described in more detail below, the codeword selector 3312 may be configured to select one or more codeword lengths based on or according to the payload size of the plurality of information bits 3314. The information bits 3314 may be included in the payload of a data packet generated by the device 3302 (e.g., a data packet generated by a program, application, resource, etc. at an application layer of the device 3302) for transmission to another device (e.g., via the wireless communication device 3304). The wireless communication device 3304 may include a low-density parity check (LDPC) encoder 3316. LDPC encoder 3316 may be or include any device, component, element, or hardware that is designed or configured to encode information bits into one or more codewords 3318 (e.g., LDPC codewords) for decoding by an LDPC decoder 3320 (e.g., of another device such as wireless communication device 3306). LDPC encoder 3316 may be configured to generate codewords 3318 according to the codeword length selected by codeword selector 3312, as described in more detail below. Wireless communication device 3304 may be configured to send one or more codewords 3318 to wireless communication device 3306 via one or more transceivers. Although shown as LDPC encoder 3316 located on one wireless communication device 3304 and LDPC decoder 3320 located on another wireless communication device 3306, it should be noted that wireless communication devices 3304, 3306 may each include a corresponding LDPC encoder 3316 and LDPC decoder 3320.

[0132] The codeword selector 3312 may be configured to identify, evaluate, detect or otherwise determine a plurality of information bits 3314. In some embodiments, the codeword selector 3312 may be configured to receive a data packet in a queue for transmission to the wireless communication device 3306. For example, as part of executing an application / resource / program / other executable file, the device 3302 may generate various data packets for transmission to an endpoint (e.g., the wireless communication device 3306). The device 3302 may send, deliver or otherwise provide a data packet in a queue for transmission to an endpoint. The codeword selector 3312 may be configured to receive or retrieve data packets from a queue to encode these data packets (e.g., via an LDPC encoder 3316) before transmitting these data packets to the endpoint. The codeword selector 3312 may be configured to determine a count of the number of information bits 3314 included in the payload. Although described as a payload of a data packet, it is noted that the information bits 3314 may be included in a data unit of any other form / format for transmission to an endpoint. Information bits 3312 may be binary bits that carry or otherwise define data / messages to be sent to an endpoint. Information bits 3312 may represent content or payload that will be encoded, sent, and ultimately decoded (e.g., by LDCP decoder 3320) to recover the original content / payload.

[0133] The codeword selector 3312 may be configured to identify, determine, select, choose, or otherwise select a codeword length based on the count of information bits 3314. In some embodiments, the codeword selector 3312 may be configured to select the codeword length by applying the count to one or more thresholds. The codeword selector 3312 may be configured to select the codeword length by applying the count to one or more of the multiple thresholds shown in Table 4 below (where the count is expressed in bytes, or the count is divided by 8).

[0134] Information bit count (bytes) Codeword length (bits) Count ≤ 20 bytes 648 20 bytes < count ≤ 31 bytes 1296 Count > 31 bytes 1944

[0135] Table 4. Thresholds for selecting codeword length

[0136] As shown in Table 4 above, codeword selector 3312 can be configured to apply the count of the number of information bits 3314 to a threshold value to select a codeword length. When the count is less than (or equal to) 20 bytes (or 160 bits), codeword selector 3312 can be configured to select a codeword length of 648 bits. When the count is between 20 bytes and 31 bytes (or 248 bits) (including the count of 31 bytes), codeword selector 3312 can be configured to select a codeword length of 1296 bits. When the count is greater than 31 bytes, codeword selector 3312 can be configured to select a codeword length of 1944 bits.

[0137] Note that these threshold values ​​and codeword length are examples of threshold values ​​and codeword length. In various embodiments, codeword selector 3312 can use other threshold values ​​to select identical (or different) codeword length. It should also be noted that, although the threshold value is shown as inclusive (e.g., greater than or equal to), in various embodiments, the threshold value can be modified in various ways. For example, the threshold value for the codeword length of 648 bits can be less than (but not equal to) 20 bytes, the threshold value for the codeword length of 1944 bits can be greater than or equal to 31 bytes, and the threshold value for the codeword length of 1296 bits can be between 20 bytes (and including 20 bytes) to 31 bytes (but not including 31 bytes). Codeword selector 3312 can apply various other examples, permutations and / or combinations of threshold values ​​to select any codeword length.

[0138] The codeword selector 3312 may be configured to select or determine the number of parity bits to be included in the codeword 3318. The codeword selector 3312 may be configured to determine the number of parity bits based on or according to the count of information bits. In some embodiments, the codeword selector 3312 may be configured to determine the number of parity bits based on the codeword length and the count of information bits. For example, the codeword selector 3312 may be configured to determine the number of parity bits to be equal to half the codeword length. The code rate of the codeword 3318 may be equal to the count of information bits divided by the sum of the following items: the count; the number of parity bits (or half the codeword length). For example, assuming that the count of information bits is 324 bits (thereby generating a selected codeword length of 1944 bits), the code rate may be equal to 324 divided by (324+1944 / 2 [or 972]), or 1 / 4 code rate. By providing a code rate that is less than 1 / 2 code rate (eg, a 1 to 1 ratio of parity bits to information bits), codeword 3318 may be stronger than a codeword generated with a 1 / 2 code rate.

[0139] Reference now Fig.33 as well as Fig.34 and Fig.35In some embodiments, the codeword selector 3312 may be configured to select or determine to generate multiple codewords based on or according to the count of information bits. Specifically, Fig.34 and Fig.35 An example allocation of multiple information bits to multiple codewords 3318 according to an example embodiment of the present disclosure is shown. In some embodiments, the codeword selector 3312 may be configured to determine the generation of J codewords (where J is the number of codewords) based on the count of the information bits 3314. The codeword selector 3312 may be configured to determine the generation of multiple codewords in response to the count of the number of information bits exceeding 1 / 2 of the length of 1944 codewords (e.g., in response to the count being greater than 972 information bits). The codeword selector 3312 may be configured to calculate, identify, select, or otherwise determine the number of codewords J based on the count and 1 / 2 of the codeword length selected for the number of information bits. For example, the codeword selector 3312 may be configured to determine the number of codewords J that satisfy the following equation 1:

[0140]

[0141] Where K is the count of information bits, N is the codeword length, and J is the number of codewords. The codeword selector 3312 can be configured to apply Equation 1 to any codeword length N (e.g., the codeword lengths in Table 4 above) to determine the number of codewords to generate.

[0142] In some embodiments, the codeword selector 3312 may be configured to determine to generate a plurality of codewords J (e.g., with a smaller codeword length N). For example, where the codeword selector 3312 determines to generate a plurality of codewords, the codeword selector 3312 may be configured to determine to generate a greater number of codewords with a smaller codeword length N, rather than generating a smaller number of codewords with a larger codeword length N. For example, where the number of information bits K is greater than 1944, the codeword selector 3312 may be configured to determine to generate four codewords with a codeword length of 1296, rather than three codewords with a codeword length of 1944. Although this example is described, it is noted that additional examples / arrangements of generating more codewords may be used for various numbers of information bits. Similar to the thresholds described above, the codeword selector 3312 may be configured to access or otherwise use various rules for determining the number of codewords to be generated based on or according to a count of information bits.

[0143] In some embodiments, the codeword selector 3312 may be configured to apply the count 3314 of information bits to one or more additional thresholds to determine whether to generate multiple codewords. For example, the codeword selector 3312 may maintain or access a table (similar to Fig.34 and Fig.35 ). The codeword selector 3312 may be configured to perform a lookup using the number of information bits 3314 in the table (e.g., in the first column) to determine the number of codewords 3318 to generate for the number of information bits 3314 (e.g., in the second column).

[0144] In some embodiments, the codeword selector 3312 may be configured to allocate, assign, or otherwise set portions of information bits to be encoded in a given codeword. For example, where individual information bits in a plurality of information bits 3314 are to be encoded by a single codeword, the codeword selector 3312 may be configured to assign individual information bits in a plurality of information bits 3314 to be encoded by the same codeword. Where information bits 3314 are to be encoded by multiple codewords, the codeword selector 3312 may be configured to assign corresponding portions of information bits 3314 to corresponding codewords. In some embodiments, the codeword selector 3312 may be configured to split, separate, segment, or otherwise divide information bits 3314 into a plurality of substantially equal portions. For example, where the number of information bits 3314 (K) is divisible by the number of codewords (J) (e.g., is an integer), the codeword selector 3312 may be configured to divide the information bits 3314 into J equal parts. In the case where the number of information bits 3314 (K) is not divisible by the number of codewords (J) (e.g., is not an integer, or there are one or more remainder bits), the codeword selector 3312 may be configured to divide the information bits into J substantially equal parts, wherein a greater number of information bits are allocated to one or more parts than to other parts. Thus, after allocating the information bits into the J substantially equal parts, one or more parts of the information bits may have a greater number (e.g., one more) of bits than other parts. The codeword selector 3312 may be configured to divide the information bits into J substantially equal parts according to the number of bits. Fig.34 or Fig.35 For example, the codeword selector 3312 may be configured to provide or allocate a greater number of information bits on one or more codewords starting from the last codeword (e.g., Fig.34 As another example, the codeword selector 3312 may be configured to provide or allocate a greater number of information bits to one or more initial codewords starting from the first codeword (e.g., Fig.35 shown).

[0145] The codeword selector 3312 may be configured to provide the portions of bits and the number of codewords and the corresponding lengths of the codewords (e.g., codeword configuration information) to the LDPC encoder 3316. The LDPC encoder 3316 may be configured to generate, create, produce, or otherwise provide one or more codewords 3318 based on the codeword configuration information and the portions of bits. The LDPC encoder 3316 may be configured to encode each corresponding portion of the information bits 3314 into a corresponding codeword 3318. In this way, the information bits 3314 may be encoded (e.g., in the portions) and thus represented by one or more codewords 3318. The LDPC encoder 3316 may be configured to generate the codeword 3318 by appending the number of parity bits to the portion of the information bits 3314 assigned to the codeword 3318 (e.g., by the codeword selector 3312). The LDPC encoder 3316 may be configured to encode the information bits 3314 by appending the number of parity bits to the information bits. The number of parity bits may be equal to half the codeword length (e.g., a codeword 3318 with a codeword length of 1944 has 972 parity bits, a codeword 3318 with a codeword length of 1296 has 648 parity bits, and a codeword 3318 with a codeword length of 648 has 324 parity bits). In this regard, the number of parity bits appended to the information bits of a given codeword 3318 may be fixed across the codewords 3318 generated by the LDPC encoder 3316.

[0146] In some embodiments, the LDPC encoder 3316 and / or the wireless communication device 3304 may be configured to generate a control frame for signaling codeword configuration information and / or the number of information bits to the wireless communication device 3306. The control frame may indicate, for example, that LDPC is enabled, the number of codewords, the number of parity bits, the number of information bits, etc. The LDPC encoder 3316 and / or the wireless communication device 3304 may be configured to send a control frame with one or more codewords 3318 to the wireless communication device 3306. The LDPC decoder 3320 of the wireless communication device 3306 may be configured to receive the one or more codewords generated by the LDPC encoder 3316. The LDPC decoder 3320 may be configured to decrypt, extract, or otherwise decode the codeword 3318 to identify, extract, reconstruct, or otherwise derive the information bits 3314 encoded therein.

[0147] Reference now Fig.36 , depicted is a flowchart illustrating an example method 3600 of low density parity check (LDPC) encoding according to an example embodiment of the present disclosure. The method 3600 may be referred to above. Figure 33 to Figure 353304 (e.g., the codeword selector 3312 and LDPC encoder 3316 of the wireless communication device 3304). As a brief overview, in step 3602, the wireless communication device determines a count of a plurality of information bits. In step 3604, the wireless communication device selects a codeword length. In step 3606, the wireless communication device determines the number of codewords to be generated. In step 3608, the wireless communication device allocates the plurality of information bits to one or more portions. In step 3610, the wireless communication device generates one or more codewords. In step 3612, the wireless communication device sends the one or more codewords to another wireless communication device.

[0148] At step 3602, the wireless communication device determines a count of a plurality of information bits. In some embodiments, the wireless communication device may determine a count of a plurality of information bits of a data packet (or another data unit) to be transmitted to another wireless communication device. The wireless communication device may receive information bits (e.g., data packets including information bits) from a queue of a device corresponding to the wireless communication device. The wireless communication device may determine the count of information bits before encoding or processing the information bits (e.g., for transmission).

[0149] In step 3604, the wireless communication device selects a codeword length. In some embodiments, the wireless communication device may select a codeword length based on a count (e.g., determined in step 3602). In some embodiments, the wireless communication device may select a codeword length by applying the count to one or more thresholds (and / or ranges). For example, the wireless communication device may select a first codeword length based on the count satisfying a first threshold (or, for example, a range), select a second codeword length based on the count satisfying a second threshold, and select a third codeword length based on the count satisfying the first threshold, and so on. The thresholds and codeword lengths may be or include those provided in Table 4 above. For example, the wireless communication device may select a first codeword length (e.g., 648 bits) in response to the count satisfying a first threshold (e.g., less than, less than, or equal to 160 bits [or 20 bytes]), select a second codeword length (e.g., 1296 bits) in response to the count satisfying a second threshold (e.g., less than, less than, or equal to 248 bits [or 31 bytes] and greater than, greater than, or equal to 160 bits [or 20 bytes]), and select a third codeword length (e.g., 1944 bits) in response to the count satisfying a third threshold (e.g., greater than, greater than, or equal to 248 bits [or 31 bytes]. Each of these example codeword lengths and thresholds may be modified, adjusted, or otherwise changed according to various example embodiments of the present disclosure.

[0150] In step 3606, the wireless communication device determines the number of codewords to be generated. In some embodiments, the wireless communication device may determine the number of codewords based on the count (e.g., determined in step 3602). In some embodiments, the wireless communication device may determine the number of codewords based on a comparison of the count with half the length of the codeword (e.g., determined in step 3604). For example, in the case where the count is less than (or less than or equal to) half the length of the codeword, the wireless communication device may determine to generate a codeword (e.g., a single codeword). In the case where the count is greater than (or greater than or equal to) half the length of the codeword, the wireless communication device may determine to generate multiple codewords (e.g., multiple codewords). In some embodiments, the wireless communication device may determine the number of codewords to be generated based on the count. The wireless communication device may determine the number of codewords to be generated based on or according to the above equation 1.

[0151] In some embodiments, steps 3604 and 3606 may be performed together. For example, in the case where the wireless communication device determines to generate multiple codewords, the wireless communication device may select a codeword length based on or in accordance with the determination to generate multiple codewords. For example, in the case where the wireless communication device determines to generate multiple codewords in response to the count being greater than a certain value, the wireless communication device may select a smaller codeword length (e.g., to increase the number of generated codewords) rather than selecting a larger codeword length (e.g., to reduce the number of generated codewords). In this regard, the wireless communication device may determine to generate multiple codewords with shorter lengths (e.g., with a larger code rate) rather than a smaller number of codewords with larger lengths (e.g., with a lower code rate).

[0152] In step 3608, the wireless communication device allocates the plurality of information bits to one or more parts. In some embodiments, the wireless communication device may allocate the plurality of information bits to a plurality of substantially equal parts in a plurality of codewords. For example, in a case where the wireless communication device determines to generate J codewords, the wireless communication device may separate or otherwise allocate the K information bits to J substantially equal parts. For example, assuming that the wireless communication device determines to generate two codewords for 974 information bits, the wireless communication device may allocate the 974 information bits to two equal parts (e.g., one part includes 487 information bits and the other part includes 487 information bits). In a case where the number of information bits cannot be divided evenly by the number of codewords (e.g., so there are remaining bits), the wireless communication device may allocate the plurality of information bits to a plurality of substantially equal parts (e.g., as Fig.34 Increase the number of bits in the end codeword as shown and / or as Fig.35 The number of bits in the initial codeword is increased as shown).

[0153] In step 3610, the wireless communication device generates one or more codewords. In some embodiments, a low density parity check (LDPC) encoder may generate one or more codewords for multiple information bits. The one or more codewords may have a codeword length selected in step 3604. In some embodiments, the wireless communication device may generate a codeword for each of the one or more portions of the multiple information bits determined in step 3608. In this regard, the wireless communication device may generate a first codeword having a portion of the multiple information bits and another codeword having another portion of the multiple information bits, and so on, until the wireless communication device has generated a codeword that encodes each of the multiple information bits. The codeword may encode multiple substantially equal portions of the multiple information bits. As described above and as in Fig.34 and Fig.35 As shown in , in some embodiments, some codewords of the plurality of codewords may encode a (slightly) larger number of information bits than other codewords (eg, in the case where the number of information bits is not divisible by the number of codewords).

[0154] In step 3612, the wireless communication device sends one or more codewords to another wireless communication device. In some embodiments, the wireless communication device may transmit, send, transmit or otherwise provide one or more codewords generated in step 3610 to another wireless communication device for decoding by the LDPC decoder of the other wireless communication device. In the case where the wireless communication device generates a single codeword, the wireless communication device may send the single codeword to another wireless communication device. In the case where the wireless communication device generates multiple (or multiple) codewords, the wireless communication device may send each of the multiple codewords to the wireless communication device. The wireless communication device may send the codewords serially (e.g., from the first codeword in series to the Nth codeword). Another wireless communication device may receive the one or more codewords and decrypt, extract or otherwise decode the codewords (e.g., decoded via an LDPC decoder) to obtain, determine or otherwise derive the information bits encoded in the codewords. In the case where the wireless communication device sends multiple codewords, the LDPC decoder may combine, sort, aggregate or otherwise splice together the information bits of multiple parts to generate a whole of multiple information bits.

[0155] Now that some illustrative embodiments have been described, it will be apparent that the foregoing, which has been presented by way of example, is illustrative and not restrictive. In particular, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and these elements may be combined in other ways to achieve the same goals. The actions, elements, and features discussed in conjunction with one embodiment are not intended to be excluded from other embodiments or similar roles in the embodiments.

[0156] A general purpose single chip processor or general purpose multi-chip processor designed to perform the functions described herein, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic, a discrete hardware component, or any combination thereof, can be used to implement or execute hardware and data processing components, which are used to implement various processes, operations, illustrative logic, logic blocks, modules and circuits described in conjunction with the embodiments disclosed herein. A general purpose processor can be a microprocessor, or any conventional processor, controller, microcontroller or state machine. The processor can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. In some embodiments, a specific process and method can be performed by a circuit dedicated to a given function. The memory (e.g., memory, storage unit, storage device, etc.) may include one or more devices (e.g., random access memory (RAM), read-only memory (ROM), flash memory, hard disk storage, etc.) for storing data and / or computer code to complete or facilitate the various processes, layers, and modules described in the present disclosure. The memory may be or include volatile memory or non-volatile memory, and may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. According to an exemplary embodiment, the memory is communicatively connected to the processor via a processing circuit, and the memory includes computer code for executing (e.g., by a processing circuit and / or a processor) one or more processes described herein.

[0157] The present disclosure contemplates methods, systems, and program products on any machine-readable medium for completing various operations. The embodiments of the present disclosure can be implemented using existing computer processors, or by a dedicated computer processor for a suitable system combined for this purpose or another purpose, or by a hard-wired system. Embodiments within the scope of the present disclosure include the following program products: These program products include machine-readable media for carrying or having machine-executable instructions or data structures thereon. Such machine-readable media can be any available medium that can be accessed by a general-purpose computer or a special-purpose computer or other machine with a processor. As an example, such machine-readable media can include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM) or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices or any other medium, which can be used to carry or store the desired program code or data structure in the form of machine-executable instructions and can be accessed by a general-purpose computer or a special-purpose computer or other machine with a processor. Combinations of the above items are also included in the scope of machine-readable media. Machine-executable instructions include instructions and data that, for example, enable a general-purpose computer, a special-purpose computer, or a special-purpose processing machine to perform a certain function or a group of functions.

[0158] The words and terms used herein are for descriptive purposes and should not be considered limiting. The use of "comprising," "including," "having," "containing," "involving," "characterized by," "characterized by," and variations thereof herein is meant to encompass the items listed thereafter, their equivalents and additions, and alternative embodiments consisting exclusively of the items listed thereafter. In one embodiment, the systems and methods described herein include various combinations or one combination of more than one or all of the described elements, acts, or components.

[0159] Any embodiments or elements or actions of systems and methods mentioned herein in the singular may also encompass embodiments including a plurality of these elements, and any embodiments or elements or actions mentioned herein in the plural may also encompass embodiments including only a single element. Reference in the singular or plural is not intended to limit the currently disclosed systems or methods, components, actions or elements of these systems or methods to a single or multiple configuration. Reference to any action or element based on any information, action or element may include embodiments in which the action or element is based at least in part on any information, action or element.

[0160] Any embodiment disclosed herein may be combined with any other embodiment or example, and references to "an embodiment," "some embodiments," or "an embodiment," etc., are not necessarily mutually exclusive but are intended to indicate that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment or example. These terms as used herein do not necessarily all refer to the same embodiment. Any embodiment may be combined, inclusively or exclusively, with any other embodiment in any manner consistent with the various aspects and embodiments disclosed herein.

[0161] Where reference numerals are attached to technical features in the drawings, detailed description or any claims, these reference numerals have been included to increase the intelligibility of the drawings, detailed description and claims. Therefore, these reference numerals or their absence shall not have any limiting effect on the scope of any claim element.

[0162] The systems and methods described herein may be embodied in other specific forms without departing from the characteristics of the systems and methods described herein. Unless otherwise expressly indicated, references to "approximately," "about," "substantially," or other terms of degree include variations of + / -10% of a given measurement, unit, or range. Coupled elements may be electrically, mechanically, or physically coupled to each other, either directly or using intermediate elements. Accordingly, the scope of the systems and methods described herein is indicated by the appended claims rather than the preceding description, and changes that come within the meaning and range of equivalents of the claims are included in the claims.

[0163] The term "coupling" and its variations include two members being directly or indirectly connected to each other. Such connection can be static (e.g., permanent or fixed) or movable (e.g., removable or releasable). Such connection can be realized by the following items: two members that are directly coupled to each other or coupled to each other, two members that are coupled to each other using a separate intermediate member and any additional intermediate members that are coupled to each other, or two members that are coupled to each other using an intermediate member that is integrally formed into a single integral body with one of the two members. If "coupling" or its variations are modified by additional terms (e.g., direct coupling), the general definition of "coupling" provided above is modified by the simple language meaning of the additional terms (e.g., "direct coupling" means that two members are connected without any separate intermediate member), thereby producing a narrower definition than the general definition of "coupling" provided above. Such coupling can be mechanical, electrical or fluid.

[0164] References to "or" may be interpreted as inclusive, such that any term described using "or" may indicate any of a single term, more than one term, and all of the terms described. References to "at least one of 'A' and 'B'" may include only 'A', only 'B', and both 'A' and 'B'. Such references used in conjunction with "including" or other open-ended terms may include additional items.

[0165] The elements and actions described (e.g., size, dimensions, structure, shape and proportion of various elements, values ​​of parameters, mounting arrangements, use of materials, colors, orientations) may be modified without departing substantially from the teachings and advantages of the subject matter disclosed herein. For example, elements shown as integrally formed may be composed of multiple parts or elements, the positions of these elements may be reversed or otherwise changed, and the nature or number or position of discrete elements may be altered or changed. Other substitutions, modifications, changes, and omissions may also be made to the design, operating conditions, and arrangements of the disclosed elements and operations without departing from the scope of the present disclosure.

[0166] References to the positions of elements (e.g., "top," "bottom," "above," "below") herein are only used to describe the orientation of the various elements in the drawings. The orientation of the various elements may be different according to other exemplary embodiments, and these variations are intended to be covered by the present disclosure.

Claims

1. A method comprising: determining, by the wireless communication device, a count of a plurality of information bits; The wireless communication device selects a codeword length according to the count; generating, by a low density parity check (LDPC) encoder of the wireless communication device, a codeword for the plurality of information bits, the codeword having the codeword length; as well as The codeword is sent by the wireless communication device to an LDPC decoder of another wireless communication device.

2. The method according to claim 1, wherein: Selecting the codeword length includes: selecting, by the wireless communication device, a first codeword length in response to the count being less than a first threshold; selecting, by the wireless communication device, a second codeword length in response to the count being greater than a second threshold; or A third codeword length is selected by the wireless communication device in response to the count being between the first threshold and the second threshold.

3. The method according to claim 2, wherein: The first codeword length is 648 bits, the second codeword length is 1944 bits, and the third codeword length is 1296 bits.

4. The method according to claim 3, wherein: The first threshold is 21 bytes, and the second threshold is 44 bytes.

5. The method according to claim 1, further comprising: The wireless communication device determines the number of codewords to be generated based on the count.

6. The method according to claim 5, wherein: Generating the codeword comprises: generating, by the LDPC encoder, a first codeword having a first portion of the plurality of information bits; and A second codeword having a second portion of the plurality of information bits is generated by the LDPC encoder.

7. The method according to claim 6, wherein: The first portion of the plurality of information bits has a greater number of information bits than the second portion of the plurality of information bits.

8. The method according to claim 1, further comprising: A plurality of parity bits are set for the codeword according to the codeword length.

9. The method according to claim 1, further comprising: selecting, by the wireless communication device, a plurality of code words according to the count; allocating, by the wireless communication device, a plurality of information bits to each of the plurality of codewords, the plurality of information bits being divided into a plurality of substantially equal portions in the plurality of codewords; as well as Each codeword of the plurality of codewords is generated by the wireless communication device using the allocated portions of the plurality of information bits.

10. A wireless communication device, comprising: One or more processors configured to: determining a count of a plurality of information bits; selecting a codeword length based on the count; generating, by a low density parity check (LDPC) encoder of the wireless communication device, a codeword for the plurality of information bits, the codeword having the codeword length; as well as The codeword is sent to an LDPC decoder of another wireless communication device.

11. The wireless communication device according to claim 10, wherein: The one or more processors are configured to: selecting a first codeword length in response to the count being less than a first threshold; selecting a second codeword length in response to the count being greater than a second threshold; or A third codeword length is selected in response to the count being between the first threshold and the second threshold.

12. The wireless communication device according to claim 11, wherein: The first codeword length is 648 bits, the second codeword length is 1944 bits, and the third codeword length is 1296 bits.

13. The wireless communication device according to claim 12, wherein: The first threshold is 21 bytes, and the second threshold is 44 bytes.

14. The wireless communication device according to claim 10, wherein: The one or more processors are configured to determine a number of codewords to generate based on the count.

15. The wireless communication device according to claim 14, wherein: To generate the codeword, the one or more processors are configured to: generating, by the LDPC encoder, a first codeword having a first portion of the plurality of information bits; as well as A second codeword having a second portion of the plurality of information bits is generated by the LDPC encoder.

16. The wireless communication device according to claim 15, wherein: The first portion of the plurality of information bits has a greater number of information bits than the second portion of the plurality of information bits.

17. The wireless communication device according to claim 10, wherein: The one or more processors are configured to set a plurality of parity bits for the codeword according to the codeword length.

18. The wireless communication device according to claim 10, wherein: The one or more processors are configured to: selecting a plurality of code words according to the count; assigning the plurality of information bits to respective codewords of the plurality of codewords, the plurality of information bits being divided into a plurality of substantially equal portions in the plurality of codewords; as well as Respective codewords of the plurality of codewords are generated using the allocated portions of the plurality of information bits.

19. A non-transitory computer readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to: determining a count of a plurality of information bits; selecting a codeword length based on the count; generating, by a low density parity check (LDPC) encoder of the wireless communication device, a codeword for the plurality of information bits, the codeword having the codeword length; and The codeword is sent to an LDPC decoder of another wireless communication device.

20. The non-transitory computer readable medium of claim 19, wherein: The instructions further cause the one or more processors to: selecting a plurality of code words according to the count; assigning the plurality of information bits to respective codewords of the plurality of codewords, the plurality of information bits being divided into a plurality of substantially equal portions in the plurality of codewords; as well as Respective codewords of the plurality of codewords are generated using the allocated portions of the plurality of information bits.