Communication method and apparatus

CN117202089BActive Publication Date: 2026-10-23HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210922472.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-05-26
Filing Date
2022-08-02
Publication Date
2026-10-23
Estimated Expiration
2042-08-02

AI Technical Summary

Technical Problem

但是,由于法规限制了UWB设备的发送能量,为提升测距范围,UWB设备通常采用UWB分段传输技术传输测距信号,即将一个测距信号划分为多个分段传输

Benefits of technology

[0085]需要说明的是,上述第三方面至第十方面中任一设计所带来的技术效果可以参见第一方面或第二方面中对应设计所带来的技术效果,此处不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117202089B_ABST
    Figure CN117202089B_ABST
Patent Text Reader

Abstract

The application provides a communication method and device, which can be used in a UWB system. The method comprises the following steps: a first device obtains a target initial value of an LFSR according to N, M, K and the identifier of the first device, N is the number of segments included in a target signal sent by the first device to a second device, M is the number of time units included in a time period for each segment transmission, and K is the number of the first devices or the number of the second devices. An optimal initial value of the LFSR can be obtained for different first devices. The first device determines the time unit for each segment transmission according to the target initial value and a characteristic polynomial. The time unit for each segment transmission is one of the M time units corresponding to the segment. The appropriate time unit is determined for the segment of a user according to the optimal initial value of the LFSR, so that the number of segment collisions between users is as small as possible, and the probability of mutual interference between users is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese Patent Application No. 202210582254.3, filed on May 6, 2022, entitled "Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to communication methods and apparatus. Background Technology

[0003] Currently, ultra-wideband (UWB) technology has been widely used in positioning scenarios (such as personnel positioning in factories, cargo positioning in logistics warehouses, and intelligent sensing of car door locks) due to its advantages such as large bandwidth and high resolution. However, due to regulatory restrictions on the transmission power of UWB devices, in order to improve the ranging range, UWB devices usually use UWB segmented transmission technology to transmit ranging signals, that is, dividing a ranging signal into multiple segments for transmission.

[0004] However, interference may exist in UWB systems. For example, when multiple users' ranging links operating on the same channel in a UWB system are simultaneously performing ranging, interference may occur between users because the segments of different users may overlap in the time domain; or, in narrowband-assisted UWB segmented transmission technology, interference may exist between systems coexisting on the narrowband. Summary of the Invention

[0005] This application provides a communication method and apparatus that can reduce the probability of mutual interference between multiple users in a UWB system.

[0006] To achieve the above objectives, this application adopts the following technical solution:

[0007] Firstly, this application provides a communication method. This method can be executed by a first device, or by a component of the first device, such as its processor, chip, or chip system, or by a logic module or software capable of implementing all or part of the functions of the first device. This application uses the execution of this method by a first device as an example for illustration. For example, the first device can be a ranging initiating device, and the second device can be a ranging responding device. Alternatively, the first device can be a ranging responding device, and the second device can be a ranging initiating device. The method includes: the first device obtaining a target initial value for a linear feedback shift register (LFSR) based on N, M, K, and an identifier of the first device, where N is the number of segments in the target signal sent by the first device to the second device, M is the number of time units in the time period of each segment transmission, and K is either the number of first devices or the number of second devices, where N, M, and K are all positive integers; the first device determining the time unit for each segment transmission based on the target initial value and a characteristic polynomial, where the order of the characteristic polynomial is L, L is a positive integer, and the time unit for each segment transmission is one of the M time units corresponding to the segment.

[0008] It is understandable that the performance of time hops depends on the correlation of time hop sequences among different users. Different users may have different time hop sequences. A user's time hop sequence can be used to transmit all segments of that user in the corresponding time units. The correlation of the time hop sequences is related to the initial value of the LFSR. Therefore, for each user, the above-mentioned technical solution can be used to obtain a better initial value of the LFSR, thereby determining a suitable time unit for the user's segments for time hop transmission. This ensures that the time hop sequences of different users are as orthogonal as possible, thus minimizing the number of collisions between user segments and significantly reducing the probability of mutual interference between multiple users.

[0009] In one possible design, the first device obtains the target initial value of the LFSR based on N, M, K and the identifier of the first device, including: the first device determines a target initial value table based on N, M, K, the target initial value table including at least two initial values; the first device obtains the target initial value based on the identifier of the first device and the target initial value table.

[0010] In one possible design, the first device obtains the target initial value based on its identifier and a target initial value table. This includes: the first device performing a modulo operation between its identifier and the size of the target initial value table to obtain the target initial value, where the size of the target initial value table is the number of initial values ​​included in the table. Since different first devices have different identifiers, this design ensures that at least different first devices obtain a different initial value for the LFSR. This minimizes the number of collisions between user segments when time-hopping transmission is performed based on the user-defined time unit, reducing the probability of mutual interference between multiple users.

[0011] In one possible design, the first device determines the time unit for each segment transmission based on a target initial value and a characteristic polynomial. This includes: the first device generating a first number of binary random numbers corresponding to each segment based on the target initial value and the characteristic polynomial; and the first device converting the first number of binary random numbers corresponding to each segment into a target base number, which is used to determine the time unit for each segment transmission. In one possible example, the target base number corresponding to each segment is the sequence number of the time unit for each segment transmission. Based on this design, the sequence number of the hop time unit for each segment can be obtained, and the corresponding segment can be transmitted directly using the sequence number of each time unit.

[0012] In one possible design, the first quantity is log2M, and the target number is an M-ary number.

[0013] In one possible design, the first device determines the time unit for each segment transmission based on the target initial value and the characteristic polynomial, including: the first device generating a second number of binary random numbers corresponding to N segments based on the target initial value and the characteristic polynomial; and the first device determining the time unit for each segment transmission based on the second number of binary random numbers and the sequence numbers of M time units.

[0014] In one possible design, the second quantity is N+L-1; the first device determines the time unit for each segment transmission based on the second quantity of binary random numbers and the sequence numbers of the M time units, including: the first device generates a first vector based on the second quantity of binary random numbers, the first vector including N integers greater than or equal to 0 and less than or equal to N-1; the first device generates a second vector based on the sequence numbers of the M time units, the second vector including N elements; the first device determines the time unit for each segment transmission based on the first vector and the second vector.

[0015] In one possible design, the first device determines the time unit for each segment transmission based on a first vector and a second vector, including: the first device swapping the a-th bit and the b-th bit of the second vector, where b is the value of the a-th bit of the first vector, and a takes values ​​from 0 to N-1, with a being an integer; the first device determines the time unit for each segment transmission based on the elements in the swapped second vector. In one possible example, each element in the second vector is the sequence number of each segment transmission time unit of the first device. Based on this design, a time-hop sequence can be directly obtained, and this time-hop sequence can be used to transmit the segments of the first device.

[0016] In one possible design, before the first device determines the target initial value table based on N, M, and K, the method further includes: the first device determining at least one initial value of the LFSR based on the order of the characteristic polynomial; the first device generating a sequence corresponding to each initial value based on the at least one initial value of the LFSR; and the first device generating the target initial value table based on the at least one initial value of the LFSR, the sequence corresponding to each initial value, and a preset threshold, wherein the preset threshold is used to indicate the maximum number of collisions between segments corresponding to any two target links, and the target link is the communication link corresponding to any one of the K first devices.

[0017] In one possible design, the first device generates a sequence corresponding to each initial value based on at least one initial value of the LFSR, including: the first device generating a third number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and a characteristic polynomial; the first device converting the third number of binary random numbers corresponding to each initial value into a target base number corresponding to each initial value; and the first device generating a sequence corresponding to each initial value based on the target base number corresponding to each initial value.

[0018] In one possible design, the third quantity is N*log2M, the target number is in base M, and the sequence corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to M-1.

[0019] In one possible design, the first device generates a sequence corresponding to each initial value based on at least one initial value of the LFSR, including: the first device generating a second number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and a characteristic polynomial; and the first device generating a sequence corresponding to each initial value based on the second number of binary random numbers corresponding to each initial value and the sequence numbers of M time units.

[0020] In one possible design, the second quantity takes the value N+L-1; the first device generates a sequence corresponding to each initial value based on the binary random number of the second quantity corresponding to each initial value and the sequence number of M time units, including: the first device generates a first vector corresponding to each initial value based on the binary random number of the second quantity corresponding to each initial value, the first vector corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to N-1; the first device generates a second vector based on the sequence number of M time units, the second vector includes N elements; the first device generates a sequence corresponding to each initial value based on the first vector and the second vector corresponding to each initial value.

[0021] In one possible design, the first device generates a sequence corresponding to each initial value based on a first vector and a second vector corresponding to each initial value, including: the first device swaps the a-th bit and the b-th bit of the second vector, where b is the value of the a-th bit of the first vector corresponding to each initial value, and a is a value from 0 to N-1, and a is an integer, and the swapped second vector corresponding to each initial value is a sequence corresponding to each initial value.

[0022] In one possible design, a target initial value table is generated based on at least one initial value of the LFSR, the sequence corresponding to each initial value, and a preset threshold. This includes: a first device determining a first sequence set based on the sequence corresponding to each initial value, where the maximum Hamming autocorrelation value of any sequence in the first sequence set is less than or equal to a preset threshold; the first device determining a second sequence set based on the first sequence set, where the maximum Hamming cross-correlation value of any two sequences in the second sequence set is less than or equal to a preset threshold; if the number of sequences included in the second sequence set is greater than or equal to K, then the first device generates the target initial value table based on the initial value corresponding to each sequence in the second sequence set; if the number of sequences included in the second sequence set is less than K, then the first device increases the value of the preset threshold. It can be understood that when searching for the second sequence from the sequence corresponding to each initial value, the search space is large. Based on this design, sequences with good correlation can be obtained quickly.

[0023] In one possible design, the initial value of the preset threshold satisfies the following formula: Where TH is the initial value of the preset threshold, and floor represents rounding down.

[0024] In one possible design, N is a fixed value. Based on this design, the first device can also directly obtain the initial value of the LFSR according to M, K, and the identifier of the first device.

[0025] In one possible design, before the first device obtains the target initial value of the LFSR based on N, M, K and the identifier of the first device, the method further includes: the first device sending a target message to the second device, the target message being used to indicate the value of N, and / or the value of M, and / or the value of K.

[0026] In one possible design, the identifier of the first device is the index of the narrowband channel corresponding to the target message.

[0027] In one possible design, the characteristic polynomial is any of the following: x 9 +x 5 +1 and x 15 +x+1. Based on this design, the characteristic polynomial already used in the protocol is directly adopted, which requires less modification to the protocol. Furthermore, for chips that have already adopted the aforementioned characteristic polynomial, the method provided in the embodiments of this application can be directly utilized. Manufacturers do not need to redesign and produce chips, making it easy to implement and with low complexity.

[0028] In one possible design, the method further includes: a first device determining a first index and a block list, and determining a target channel corresponding to a first time unit based on the first index and the block list, wherein the block list includes indices of unavailable channels in the target frequency band, and the target frequency band is a frequency band supported by the first device. The target channel is used to transmit a first radio frame to a second device, and the first radio frame and the target signal are located in the same ranging wheel.

[0029] Secondly, this application provides a communication method. This method can be executed by a first device, or by a component of the first device, such as its processor, chip, or chip system, or by a logic module or software capable of implementing all or part of the functions of the first device. This application will illustrate this method using the example of a first device executing the method. For example, the first device can be a ranging initiating device, and the second device can be a ranging responding device. Alternatively, the first device can be a ranging responding device, and the second device can be a ranging initiating device. The method includes: the first device determining a first index and a block list, and determining a target channel corresponding to a first time unit based on the first index and the block list. The block list includes indices of unavailable channels in the target frequency band. The target frequency band is a frequency band supported by the first device.

[0030] Based on this scheme, the first device can determine the block list to obtain the index of the unavailable channel in the target frequency band, and then determine the target channel for transmitting the first radio frame in the first time unit according to the index of the unavailable channel. For example, the target channel corresponding to the first time unit can exclude the channel indicated in the block list, thereby reducing interference between coexisting systems on the narrowband.

[0031] In one possible design, the method further includes: a first device determining a target channel corresponding to a second time unit, the target channel corresponding to the second time unit being used to send a second radio frame to the second device.

[0032] In one possible design, the method further includes: the first device determining the target channel corresponding to the third time unit, the target channel corresponding to the third time unit being used to receive a third radio frame from the second device.

[0033] In one possible design, at least two of the target channels corresponding to the first time unit, the second time unit, and the third time unit are different channels. And / or, at least two of the first, second, and third time units are located in the same ranging wheel.

[0034] Based on this possible design, different channels can be used to transmit and receive wireless frames on multiple time units located in the same ranging wheel, which is highly flexible and can further reduce interference between multiple ranging links.

[0035] In one possible design, the first device determines the first index by: determining a first initial value for the linear feedback shift register LFSR, and determining the first index based on the first initial value and the LFSR.

[0036] Based on this possible design, in the case of multiple ranging links in a UWB system, the ranging devices on each ranging link determine the first index through LFSR, which can enable the ranging devices on the multiple ranging links to obtain better cross-correlation, thereby reducing the possibility of ranging devices on different ranging links selecting the same channel to transmit radio frames, reducing radio frame collisions, and thus reducing interference between ranging links.

[0037] In one possible design, the first initial value is determined by at least one of the following: the media access control MAC address of the first device, the clock of the first device, the MAC address of the second device, the clock of the second device, the index of the first time unit, the index of the ranging wheel where the first time unit is located, or the index of the ranging block where the first time unit is located.

[0038] In one possible design, the first device determines the target channel corresponding to the first time unit based on the first index and the block list, including: if the block list does not include the first index, the first device determines the first index as the index of the target channel corresponding to the first time unit; if the block list includes the first index, the first device determines the index of the target channel corresponding to the first time unit based on the second index and the block list, wherein the second index is determined by the second initial value.

[0039] Based on this possible design, unavailable channels can be excluded according to the block list, so that the target channel corresponding to the first time unit is a channel that is not occupied or has less interference from other coexisting systems, thereby reducing interference between coexisting systems and improving ranging efficiency.

[0040] In one possible design, the second initial value is determined by the first initial value, and / or the second initial value is greater than the first initial value.

[0041] In one possible design, the first device determines the first index by: the first device determining the first index according to the Advanced Encryption Standard (AES) algorithm.

[0042] In one possible design, the first device determines the target channel corresponding to the first time unit based on the first index and the block list, including: if the block list does not include the first index, the first device determines the first index as the index of the target channel corresponding to the first time unit; if the block list includes the first index, the first device determines the index of the target channel corresponding to the first time unit based on the second index and the block list, wherein the second index is determined according to the AES algorithm.

[0043] Thirdly, this application provides a communication device for implementing the various methods described above. This communication device can be the first device described in the first or second aspect, or a device included in the first device, such as a chip. The communication device includes modules, units, or means corresponding to the methods described above. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions described above. In one possible design, the communication device may include a processing module (or processing unit).

[0044] When the communication device is used to implement the method in the first aspect and any of its designs described above:

[0045] The processing module is used to obtain the target initial value of LFSR based on N, M, K and the identifier of the communication device. N is the number of segments of the target signal sent by the communication device to the second device, M is the number of time units in the time period of each segment transmission, and K is the number of communication devices or the number of second devices. N, M and K are all positive integers. The processing module is also used to determine the time unit of each segment transmission based on the target initial value and the characteristic polynomial. The order of the characteristic polynomial is L, where L is a positive integer. The time unit of each segment transmission is one of the M time units corresponding to the segment.

[0046] In one possible design, the processing module is further configured to determine a target initial value table based on N, M, and K, the target initial value table including at least two initial values; the processing module is further configured to obtain the target initial value based on the identifier of the communication device and the target initial value table.

[0047] In one possible design, the processing module is further configured to perform a modulo operation between the identifier of the communication device and the size of the target initial value table to obtain the target initial value, wherein the size of the target initial value table is the number of initial values ​​included in the target initial value table.

[0048] In one possible design, the processing module is further configured to generate a first number of binary random numbers corresponding to each segment based on the target initial value and the characteristic polynomial; the processing module is further configured to convert the first number of binary random numbers corresponding to each segment into a target base number, and the target base number corresponding to each segment is used to determine the time unit for transmission of each segment.

[0049] In one possible design, the first quantity is log2M, and the target number is an M-ary number.

[0050] In one possible design, the processing module is further configured to generate a second number of binary random numbers corresponding to N segments based on the target initial value and the characteristic polynomial; the processing module is further configured to determine the time unit for transmission of each segment based on the second number of binary random numbers and the sequence number of M time units.

[0051] In one possible design, the second quantity is N+L-1; the processing module is further configured to generate a first vector based on the second quantity of binary random numbers, the first vector including N integers greater than or equal to 0 and less than or equal to N-1; the processing module is further configured to generate a second vector based on the sequence number of M time units, the second vector including N elements; the processing module is further configured to determine the time unit of each segment transmission based on the first vector and the second vector.

[0052] In one possible design, the processing module is further configured to swap the a-th bit of the second vector with the b-th bit of the second vector, where b is the value of the a-th bit of the first vector, and the value of a is from 0 to N-1, and a is an integer; the processing module is further configured to determine the time unit for each segment transmission based on the elements in the swapped second vector.

[0053] In one possible design, the processing module is further configured to determine at least one initial value of the LFSR based on the order of the characteristic polynomial; the processing module is further configured to generate a sequence corresponding to each initial value based on at least one initial value of the LFSR; the processing module is further configured to generate a target initial value table based on at least one initial value of the LFSR, the sequence corresponding to each initial value, and a preset threshold, wherein the preset threshold is used to indicate the maximum number of collisions of segments corresponding to any two target links, and the target link is the communication link corresponding to any one of the K communication devices.

[0054] In one possible design, the processing module is further configured to generate a third number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and the characteristic polynomial; the processing module is further configured to convert the third number of binary random numbers corresponding to each initial value into a target base number corresponding to each initial value; the processing module is further configured to generate a sequence corresponding to each initial value based on the target base number corresponding to each initial value.

[0055] In one possible design, the third quantity is N*log2M, the target number is in base M, and the sequence corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to M-1.

[0056] In one possible design, the processing module is further configured to generate a second number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and the characteristic polynomial; the processing module is further configured to generate a sequence corresponding to each initial value based on the second number of binary random numbers corresponding to each initial value and the sequence numbers of M time units.

[0057] In one possible design, the second quantity takes the value N+L-1; the processing module is further configured to generate a first vector corresponding to each initial value based on the binary random number of the second quantity corresponding to each initial value, wherein the first vector corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to N-1; the processing module is further configured to generate a second vector based on the sequence number of M time units, wherein the second vector includes N elements; the processing module is further configured to generate a sequence corresponding to each initial value based on the first vector and the second vector corresponding to each initial value.

[0058] In one possible design, the processing module is also used to swap the a-th bit of the second vector with the b-th bit of the second vector, where b is the value of the a-th bit of the first vector corresponding to each initial value, and a is a value from 0 to N-1, and a is an integer. The swapped second vector corresponding to each initial value is the sequence corresponding to each initial value.

[0059] In one possible design, the processing module is further configured to determine a first sequence set based on the sequence corresponding to each initial value, wherein the maximum Hamming autocorrelation value of any sequence in the first sequence set is less than or equal to a preset threshold; the processing module is further configured to determine a second sequence set based on the first sequence set, wherein the maximum Hamming cross-correlation value of any two sequences in the second sequence set is less than or equal to a preset threshold; if the number of sequences included in the second sequence set is greater than or equal to K, then the processing module is further configured to generate a target initial value table based on the initial value corresponding to each sequence in the second sequence set; if the number of sequences included in the second sequence set is less than K, then the processing module is further configured to increase the value of the preset threshold.

[0060] In one possible design, the initial value of the preset threshold satisfies the following formula: Where TH is the initial value of the preset threshold, and floor represents rounding down.

[0061] In one possible design, N takes a fixed value.

[0062] In one possible design, the processing module is also used to send a target message to the second device, the target message indicating the value of N, and / or the value of M, and / or the value of K.

[0063] In one possible design, the identifier of the communication device is the index of the narrowband channel corresponding to the target message.

[0064] In one possible design, the processing module is further configured to determine a first index and a block list; the processing module is further configured to determine the target channel corresponding to the first time unit based on the first index and the block list. The block list includes indices of unavailable channels in the target frequency band. The target frequency band is a frequency band supported by the first device. The target channel and target signal corresponding to the first time unit are located in the same ranging wheel.

[0065] When the communication device is used to implement the method in the second aspect and any of its designs described above:

[0066] The processing module is used to determine a first index and a block list; the processing module is also used to determine the target channel corresponding to the first time unit based on the first index and the block list. The block list includes indices of unavailable channels in the target frequency band. The target frequency band is a frequency band supported by the first device.

[0067] In one possible design, the processing module is further configured to determine the target channel corresponding to the second time unit, and the target channel corresponding to the second time unit is used to send a second radio frame to the second device.

[0068] In one possible design, the processing module is further configured to determine the target channel corresponding to the third time unit, which is used to receive the third radio frame from the second device.

[0069] In one possible design, at least two of the target channels corresponding to the first time unit, the second time unit, and the third time unit are different channels. And / or, at least two of the first, second, and third time units are located in the same ranging wheel.

[0070] In one possible design, the processing module for determining the first index includes: a processing module for determining a first initial value of the linear feedback shift register LFSR; and a processing module for determining the first index based on the first initial value and the LFSR.

[0071] In one possible design, the first initial value is determined by at least one of the following: the processing module's media access control MAC address, the processing module's clock, the second device's MAC address, the second device's clock, the index of the first time unit, the index of the ranging wheel where the first time unit is located, or the index of the ranging block where the first time unit is located.

[0072] In one possible design, the processing module is used to determine the target channel corresponding to the first time unit based on the first index and the block list, including: if the block list does not include the first index, the processing module is used to determine the first index as the index of the target channel corresponding to the first time unit; if the block list includes the first index, the processing module is used to determine the index of the target channel corresponding to the first time unit based on the second index and the block list, wherein the second index is determined by the second initial value.

[0073] In one possible design, the second initial value is determined by the first initial value, and / or the second initial value is greater than the first initial value.

[0074] In one possible design, the processing module for determining the first index includes: a processing module for determining the first index according to the Advanced Encryption Standard (AES) algorithm.

[0075] In one possible design, the processing module is used to determine the target channel corresponding to the first time unit based on the first index and the block list, including: if the block list does not include the first index, the processing module is used to determine the first index as the index of the target channel corresponding to the first time unit; if the block list includes the first index, the processing module is used to determine the index of the target channel corresponding to the first time unit based on the second index and the block list, wherein the second index is determined according to the AES algorithm.

[0076] Fourthly, this application provides a communication device, including: a processor and a memory; the memory is used to store computer instructions, which, when executed by the processor, cause the communication device to perform the method described in any of the designs in the first aspect. The communication device may be the first device described in the first aspect, or a device included in the first device or the second aspect, such as a chip.

[0077] Fifthly, this application provides a communication device, comprising: a processor and a communication interface; the communication interface being used to communicate with a module outside the communication device; the processor being used to execute computer programs or instructions to cause the communication device to perform the methods described in the first aspect and any of the designs therein. The communication device may be a first device as described in the first or second aspect, or a device included in the first device, such as a chip.

[0078] Sixthly, this application provides a communication device, comprising: an interface circuit and a processor. The interface circuit is a code / data read / write interface circuit, used to receive computer execution instructions (the computer execution instructions are stored in memory, and may be read directly from memory or may be transmitted through other devices) and transmit them to the processor. The processor is used to execute the computer execution instructions to cause the communication device to perform the methods described in the first aspect and any of the designs therein. The communication device can be the first device of the first aspect or the second aspect, or a device included in the first device, such as a chip.

[0079] In a seventh aspect, this application provides a communication device, comprising: at least one processor; the processor being configured to execute computer programs or instructions to cause the communication device to perform the methods described in the first aspect and any of the designs therein. The communication device may be a first device as described in the first or second aspect, or a device included in the first device, such as a chip.

[0080] In some possible designs, the communication device includes a memory for storing necessary program instructions and data. This memory may be coupled to the processor, or it may be independent of the processor.

[0081] In some possible designs, the communication device can be a chip or a chip system. When the device is a chip system, it can be composed of chips or may include chips and other discrete components.

[0082] Eighthly, this application provides a computer-readable storage medium including a computer program or instructions that, when executed on a communication device, cause the communication device to perform the method as described in the first aspect and any of the designs described above, or cause the communication device to perform the method as described in the second aspect and any of the designs described above.

[0083] Ninthly, this application provides a computer program product comprising: a computer program or instructions that, when executed on a computer, cause the computer to perform the method described in the first aspect and any of the designs described above, or cause the computer to perform the method described in the second aspect and any of the designs described above.

[0084] In a tenth aspect, this application provides a communication system. The communication system includes the communication apparatus described in the third aspect and any of the designs herein, and the second device described in the third aspect and any of the designs herein.

[0085] It should be noted that the technical effects of any of the designs in the third to tenth aspects mentioned above can be found in the technical effects of the corresponding designs in the first or second aspects, and will not be repeated here. Attached Figure Description

[0086] Figure 1 A flowchart illustrating a basic ranging principle provided for embodiments of this application;

[0087] Figure 2 A timing diagram illustrating a ranging preamble segmented transmission provided for an embodiment of this application;

[0088] Figure 3 A schematic diagram illustrating segmented mutual interference of different ranging links provided in an embodiment of this application;

[0089] Figure 4 This application provides a schematic diagram of the architecture of a communication system.

[0090] Figure 5 A flowchart illustrating a communication method provided in an embodiment of this application;

[0091] Figure 6 A timing diagram illustrating segmented transmission provided for an embodiment of this application;

[0092] Figure 7 A timing diagram illustrating yet another segmented transmission method provided in this application embodiment;

[0093] Figure 8 A timing diagram illustrating yet another segmented transmission method provided in this application embodiment;

[0094] Figure 9 A structural block diagram for determining the time unit of each segment transmission is provided in an embodiment of this application;

[0095] Figure 10 A flowchart illustrating yet another communication method provided in an embodiment of this application;

[0096] Figure 11A flowchart illustrating yet another communication method provided in an embodiment of this application;

[0097] Figure 12 A flowchart illustrating yet another communication method provided in an embodiment of this application;

[0098] Figure 13 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0099] Figure 14 This is a schematic diagram of the structure of another communication device provided in the embodiments of this application;

[0100] Figure 15 A flowchart illustrating a communication method provided in an embodiment of this application;

[0101] Figure 16 A schematic diagram illustrating an index generation process provided in an embodiment of this application;

[0102] Figure 17 A schematic flowchart illustrating a method for determining a target channel provided in an embodiment of this application;

[0103] Figure 18 A schematic diagram illustrating another index generation process provided in this application embodiment;

[0104] Figure 19 A schematic diagram of time-frequency resource allocation in a ranging process provided in this application embodiment. Figure 1 ;

[0105] Figure 20 A schematic diagram of time-frequency resource allocation in a ranging process provided in this application embodiment. Figure 2 ;

[0106] Figure 21 A schematic diagram of time-frequency resource allocation in a ranging process provided in this application embodiment. Figure 3 ;

[0107] Figure 22 A schematic diagram of time-frequency resource allocation in a ranging process provided in this application embodiment. Figure 4 ;

[0108] Figure 23 A schematic diagram of time-frequency resource allocation in a ranging process provided in this application embodiment. Figure 5 . Detailed Implementation

[0109] The technical solutions provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0110] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.

[0111] In the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can mean: a, b, c, a and b, a and c, b and c, a and b and c, where a, b, and c can be single or multiple.

[0112] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.

[0113] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0114] It is understood that the features, structures, or characteristics in this application can be combined in any suitable manner in one or more embodiments. It is also understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0115] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.

[0116] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.

[0117] Furthermore, the network architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0118] For ease of understanding, the technical terms and related concepts involved in the embodiments of this application will be introduced below.

[0119] 1. Distance measurement of UWB systems

[0120] like Figure 1 As shown, a UWB ranging system includes at least one ranging initiating device and at least one ranging responding device. The communication link between the ranging initiating device and the ranging responding device can be called a ranging link. The ranging initiating device sends ranging signal 1 at time T1. The ranging responding device can estimate the time of arrival (ToA) (denoted as time T2) based on ranging signal 1. Furthermore, the ranging responding device sends ranging signal 2 to the ranging initiating device at time T3, and the ranging initiating device estimates ToA (denoted as time T4) based on ranging signal 2. After the transmission of ranging signal 2, the ranging responding device sends a data frame to the ranging initiating device, which may carry T2 and / or T3. Finally, the distance between the ranging initiating device and the ranging responding device estimated by the ranging initiating device is:

[0121]

[0122] In formula (1) above, d represents the distance between the ranging initiating device and the ranging responding device. c represents the speed of wireless signal propagation in the air medium, which is usually taken as the speed of light.

[0123] As one possible implementation, the ranging signal is typically generated based on a ranging preamble. In this application, the ranging preamble can also be referred to as a ranging sequence, and the two are interchangeable; this application does not specifically limit the terminology used.

[0124] It can be understood that ranging signal 1 can be a segment of the ranging preamble sent by the ranging initiating device, and ranging signal 2 can be a segment of the ranging preamble sent by the ranging responding device.

[0125] It should be noted that, Figure 1 The process shown represents only a basic distance measurement principle. In practical applications, distance measurement can be implemented based on... Figure 1 The process shown can be modified in various ways, or other ranging algorithms can be used; this application does not specifically limit this.

[0126] 2. Frequency hopping spread spectrum (FHSS)

[0127] Frequency hopping technology refers to the technique where the transmitting and receiving parties use a carrier frequency that varies according to a predetermined pattern to transmit signals. Optionally, this carrier frequency can be controlled by a code sequence to hop randomly.

[0128] 3. Time hopping (TH)

[0129] Time hopping refers to the technique of dividing the time axis into many time units and controlling the transmission of signals between the transmitting and receiving parties in different time units. Optionally, the time units of time hopping can be randomly changed by controlling the code sequence.

[0130] 4. Segmented transmission technology of UWB system

[0131] To prevent UWB systems from interfering with other systems, the radiated energy of the ranging signal must be limited to 37 nanojoules (nJ) within a 1-millisecond (ms) testing period. To meet this requirement while simultaneously increasing the link budget (i.e., improving the ranging range), UWB segmented transmission technology is typically used. The ranging preamble is divided into N segments for transmission, where N is a positive integer, and the time interval between adjacent segments can be 1 ms. Based on this, only a portion of the ranging preamble is transmitted within the 1 ms transmission period. Compared to transmitting the entire ranging preamble, the shorter transmission time allows for increased transmission power while maintaining the 37 nJ energy per ms, thereby improving the ranging range.

[0132] For example, Figure 2This illustrates the basic process of UWB segmented transmission. First, the ranging initiating device can send a poll frame or other configuration frames. Taking the poll frame as an example, this frame can be used to configure the number of segments N and the duration of each segment. Optionally, the time interval between the first segment of the ranging signal (e.g., segment 1 of the ranging initiating device) and the poll frame can be preset, or configured through the poll frame. After receiving the poll frame, the ranging responding device can reply with a poll response frame to the ranging initiating device. For example, it can be understood that in different ranging processes, the value of N configured in the poll frame for different ranging processes can be the same or different. For different ranging links, the configured value of N can be the same or different. Within the same ranging link, the N value configured by the ranging initiating device and the ranging responding device can be the same.

[0133] Subsequently, the ranging initiating device sends the segments of ranging preamble 1 to the ranging responding device. Correspondingly, upon receiving the polling frame, the ranging responding device can divide ranging preamble 2 into N segments according to the configuration of the polling frame, and send each segment of ranging preamble 2 at relevant time intervals (e.g., the time interval between adjacent segments). For example, ranging preamble 1 and ranging preamble 2 can be the same or different.

[0134] As one possible implementation, the nth segment of ranging preamble 1 and the nth segment of ranging preamble 2 are sent in pairs, meaning that the next pair of segments is sent only after the previous pair has been completed. For example, the second segment of ranging preamble 1 is sent after the first segment of ranging preamble 2, the third segment of ranging preamble 1 is sent after the second segment of ranging preamble 2, and so on.

[0135] As one possible implementation, the time interval between different adjacent segments of the ranging preamble can be preset or configured through polling frames or other frames.

[0136] As one possible implementation, random time intervals can be used between different adjacent segments of the ranging preamble; in other words, the time intervals between different adjacent segments of the ranging preamble can be the same or different. For example, such as... Figure 2 As shown, the lengths of interval 1 and interval 2 can be the same or different.

[0137] In this context, the intervals between the segments of ranging leader 2 can be equal to the time intervals between the corresponding segments of ranging leader 1. For example, if the time interval between segment 1 and segment 2 of ranging leader 1 is interval 1, then the time interval between segment 1 and segment 2 of ranging leader 2 can also be this interval 1.

[0138] After the segmented transmission of ranging preamble 1 and ranging preamble 2 is completed, the ranging response device can send a data frame to indicate to the ranging initiating device the estimated timestamps related to the segmentation of ranging preamble 1, so that the ranging initiating device can estimate the distance between the ranging initiating device and the ranging response device.

[0139] In some possible implementations, segmented transmission of the UWB system can be aided by narrowband, meaning that one or more of the aforementioned poll frames, poll response frames, and data frames can be transmitted via narrowband frequency bands. However, since this narrowband frequency band may coexist with the frequency bands of other systems (such as WiFi systems), to avoid interference between the UWB system and other systems, or to avoid deep fading of the communication link, the aforementioned poll frames, poll response frames, and data frames can be transmitted using frequency hopping, that is, they can be transmitted using different narrowband channels.

[0140] 5. Maximum Hamming autocorrelation, maximum Hamming cross-correlation

[0141] In time-hopping technology, users can transmit signals in corresponding time units using time-hopping sequences. However, in multi-user systems, signals from two or more users may overlap in the time domain, causing interference (or collisions). Therefore, to reduce the probability of mutual interference between users, the Hamming cross-correlation and Hamming autocorrelation values ​​of the time-hopping sequences used by the users should be as small as possible.

[0142] For any two jump time sequences X and Y of length N, jump time sequence X can be represented as: The time-skip sequence Y can be represented as i is an integer from 0 to N-1. The periodic Hamming correlation function of the time-skipping sequence X and the time-skipping sequence Y with a relative time delay of τ is defined as: τ is an integer and 0 ≤ τ < N-1. Where, if a = b (i.e., X... i =Y i+τ If ), then h[a,b]=1 (i.e. h[x] i ,y i+τ ]=1), if a≠b (i.e. X=1), i ≠Y i+τ If ), then h[a,b]=0 (i.e. h[x] i ,y i+τ ] = 0).

[0143] For a time-skipping sequence X, its Hamming autocorrelation function can be defined as follows: Similarly, for a time-jumping sequence Y, its Hamming autocorrelation function can be defined as:

[0144] For a time-jumping sequence X, its maximum Hamming autocorrelation function can be defined as: Similarly, for a time-jumping sequence Y, its maximum Hamming autocorrelation function can be defined as:

[0145] For jump-time series X and jump-time series Y, their maximum Hamming cross-correlation function can be defined as follows:

[0146] 6. Linear Feedback Shift Register (LFSR)

[0147] In a shift register (SR), several registers are arranged in a row, each capable of storing a binary number (such as 0 or 1). The shift register outputs the rightmost (or terminal) bit at a time, shifting the entire register one bit to the right. This leaves a single bit empty on the left. The shift register can then use a feedback function to perform an operation on a given binary sequence, filling the left side of the register with the result, thus allowing for a continuous output of binary numbers. If the feedback function is linear, the shift register is called an LFSR. An LSFR's feedback function can XOR certain bits in the shift register, filling the left side with the result.

[0148] In the LFSR, each bit may or may not participate in the XOR operation; the bits that participate in the XOR operation are called taps. The polynomial formed by the tap sequence plus 1 is called the characteristic polynomial (or feedback polynomial, or generator polynomial, etc.) of the LFSR.

[0149] There are multiple characteristic polynomials for LFSRs, and different orders correspond to different characteristic polynomials. Even the same order can correspond to one or more different characteristic polynomials. For example, if the order is 9, the characteristic polynomial can be x. 9 +x 5 +1, if the order is 15, then the characteristic polynomial can be x. 15 +x+1, etc.

[0150] After determining the initial value and characteristic polynomial of the LFSR, a binary random sequence can be generated using the LFSR. It can be understood that the initial value of the LFSR refers to the value initially stored in the LFSR, that is, the value before any shift operations are performed.

[0151] The above is an introduction to the technical terms and related concepts that may be involved in the embodiments of this application, which will not be repeated below.

[0152] Currently, when multiple users' ranging links in a UWB system are simultaneously performing ranging, mutual interference (or collisions) may occur between the users. For example, the poll frames, poll response frames, and data frames of two users' ranging links may overlap in both the time and frequency domains, causing mutual interference. To solve this problem, frequency hopping can be implemented for the poll frames, poll response frames, and data frames of the ranging links to avoid mutual interference. However, since the frequency band for transmitting ranging signals is fixed, meaning the channel for transmitting ranging signals is the same, ranging signals from different ranging links may overlap in the time domain, thus causing mutual interference. Figure 3 As shown, the first segments (e.g., segment 1) of ranging link 1 and ranging link 2 overlap in the time domain, thus causing mutual interference between them. Furthermore, if each segment is transmitted at equal intervals (e.g., 1ms), and the first segments of the two ranging links overlap in the time domain, subsequent segments (e.g., from segment 2 to segment N) will also overlap in the time domain, resulting in continuous interference.

[0153] Based on this, this application provides a communication method that can reduce the probability of mutual interference between multiple users in a UWB system. The technical solutions provided in this application can be applied to various communication systems. These solutions can be used in various communication systems, such as UWB, wireless local area network (WLAN), Bluetooth, Zigbee, cellular mobile networks, vehicle-to-everything (V2X) systems, device-to-device (D2D) communication systems, machine-to-machine (M2M) communication systems, Internet of Things (IoT), or other suitable communication systems. This application does not limit the scope of the application to these systems.

[0154] The communication systems described above are merely illustrative examples, and the communication systems applicable to this application are not limited to these. They will be uniformly described here and will not be repeated below.

[0155] like Figure 4 The diagram illustrates a communication system 10 provided in an embodiment of this application. The communication system 10 includes at least one network device 30 and one or more terminal devices 40 connected to the network device 30. Optionally, different network devices 30, different terminal devices 40, and network devices 30 and terminal devices 40 can communicate with each other.

[0156] Optional, Figure 4 The communication system shown can adopt various types of network topologies, such as star topologies, point-to-point topologies, etc., and this application is not limited to these. Optionally, Figure 4 The communication system shown can be applied to various scenarios such as synchronization, ranging, and sensing, and this application does not limit it.

[0157] Optionally, the network device 30 in this embodiment is a device that connects the terminal device 40 to a wireless network. The network device 30 can be a node in a wireless access network, also known as a base station, or a radio access network (RAN) node (or device). For example, network equipment may include evolved NodeBs (NodeBs, eNBs, or e-NodeBs) in long-term evolution (LTE) systems or evolved LTE-Advanced (LTE-A) systems, such as traditional macro base stations (eNBs) and micro base stations (eNBs) in heterogeneous network scenarios; or it may include next-generation node Bs (gNBs) in 5G new radio (NR) systems, or it may include transmission reception points (TRPs), home base stations (e.g., home evolved NodeBs, or home Node Bs, HNBs), base band units (BBUs), base band pools (BBU pools), or WiFi access points (APs); or it may include centralized units (CUs) and distributed units (CUs) in cloud radio access networks (CloudRAN) systems. The network device can be a base station in a non-terrestrial network (NTN), which can be deployed on a high-altitude platform or satellite. In an NTN, the network device can act as a Layer 1 (L1) relay, a base station, a DU, or an integrated access and backhaul (IAB) node. Alternatively, the network device can be a device that implements base station functions in IoT, such as a device that implements base station functions in vehicle-to-everything (V2X), device-to-device (D2D), or machine-to-machine (M2M) networks. The embodiments of this application are not limited to this.

[0158] Optionally, the terminal device 40 in this embodiment can be a device for implementing wireless communication functions, such as a terminal device or a chip that can be used in a terminal device. The terminal device can be a user equipment (UE), access terminal, terminal unit, terminal station, mobile station, mobile station, remote station, remote terminal, mobile device, wireless communication device, UWB tag, terminal agent, or terminal device in a 5G network or a future evolved PLMN. Access terminals can be cellular phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, drones, robots, computing devices or other processing devices connected to a wireless modem, in-vehicle devices or wearable devices, virtual reality (VR) terminal devices, augmented reality (AR) terminal devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc. Alternatively, terminal devices can be terminals with communication capabilities in the Internet of Things (IoT), such as terminals in V2X (e.g., vehicle-to-everything (V2X) communication, terminals in D2D communication, or terminals in M2M communication, etc. Terminals can be mobile or fixed.

[0159] Optionally, the network device 30 and terminal device 40 in this application embodiment can also be referred to as communication devices, which can be a general-purpose device or a special-purpose device. This application embodiment does not specifically limit this.

[0160] Optional, with Figure 4 Taking the communication system shown in this application as an example for a ranging scenario, in this embodiment, the ranging initiating device can be a network device or a terminal device, and the ranging responding device can be a network device or a terminal device. The ranging initiating device and the ranging responding device can be the same type of device, such as both being network devices, or they can be different types of devices, such as the ranging initiating device being a network device and the ranging responding device being a terminal device, etc. Figure 4The communication system 10 shown may also include multiple ranging links. Figure 4 (Only three ranging links are shown, such as ranging link 11, ranging link 12, and ranging link 13.) In one embodiment, each ranging link may include a ranging initiating device and at least one ranging responding device. Different ranging links may operate on the same frequency band, i.e., the same UWB channel. The technical solution provided in this application embodiment can be applied to mutual interference between different ranging links.

[0161] It should be noted that the communication method provided in this application can be applied to both ranging initiating devices and ranging responding devices. That is, the first device can be a ranging initiating device and the second device can be a ranging responding device, or the first device can be a ranging responding device and the second device can be a ranging initiating device. The communication method provided in this application can also be executed by a dedicated device other than the ranging initiating device and the ranging responding device; this application is not limited to this. Specific implementations can be referred to the method embodiments described below, and will not be repeated here.

[0162] It should be noted that the solutions in the embodiments of this application can also be applied to other communication systems, and the corresponding names can be replaced by the names of the corresponding functions in other communication systems.

[0163] It should be understood that Figure 4 This is a simplified diagram for ease of understanding only; other devices may also be included in this communication system. Figure 4 It was not drawn.

[0164] The following will refer to the accompanying drawings, Figure 4 Taking the interaction between any two devices shown as an example, the communication method provided in the embodiments of this application will be described in detail.

[0165] It should be noted that the names of each message or parameter in the message in the following embodiments of this application are just examples, and other names may be used in the specific implementation. This application does not specifically limit this.

[0166] It is understood that in the embodiments of this application, the first device and / or the second device may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the various steps may be performed in different orders as presented in the embodiments of this application, and it is not necessarily necessary to perform all the operations in the embodiments of this application.

[0167] like Figure 5 The image shows a communication method provided in an embodiment of this application. The method includes the following steps:

[0168] S501, the first device obtains the target initial value of LFSR based on N, M, K and the identifier of the first device.

[0169] Where N is the number of segments in the target signal sent from the first device to the second device, and N is a positive integer.

[0170] It is understandable that the type and function of the target signal may differ in different scenarios. For example, in a ranging scenario, the target signal may be a ranging preamble, while in a sensing scenario, the target signal may be a sensing signal. This application does not impose specific restrictions on the target signal.

[0171] Optionally, taking a ranging scenario as an example, the value of N can be the same or different for different ranging links. For the same ranging link, the value of N used by the first device is the same as the value of N used by the second device. The same applies to other scenarios.

[0172] Where M is the number of time units included in each segment's transmission time period, and M is a positive integer. In this embodiment, each segment of the target signal corresponds to a time period, and the time interval between any two adjacent time periods can be a preset interval (e.g., 1ms). Each segment's corresponding time period includes M time units, and each segment can be transmitted within one time unit of its corresponding time period (i.e., M time units). Optionally, the duration of each time unit can be the same or different; this application does not impose any restrictions on this. Optionally, the time unit can be a time slot or other time units.

[0173] like Figure 6 As shown, taking M equals 5, meaning each time period includes 5 time units as an example, segment 1 of the target signal is sent in one time unit of time period 1, segment 2 is sent in one time unit of time period 2, with an interval of 1ms between time period 1 and time period 2, segment 3 is sent in one time unit of the corresponding time period 3, with an interval of 1ms between time period 2 and time period 3, and so on.

[0174] It is understood that in the embodiments of this application, the duration of a time unit can be greater than the duration of a segment.

[0175] In some possible implementations, if a segment is transmitted in the m-th time unit out of M corresponding time units, where m is a positive integer and m is less than or equal to M, then the next segment will be transmitted after waiting for at least Mm time units and a preset interval. This preset interval can be understood as the time interval between the time period corresponding to the current segment and the time period corresponding to the next segment (e.g., 1 ms). Figure 7As shown, assuming segment 1 is transmitted in the second time unit (i.e., time unit 1) of time period 1, then at least all time units after the second time unit (i.e., time units 2 to 4 corresponding to time period 1) and 1ms of time segment 2 must be transmitted. Segment 2 can be transmitted in one of the five time units included in time period 2. Assuming segment 2 is transmitted in the first time unit (i.e., time unit 0) of time period 2, then at least all time units after the first time unit (i.e., time units 1 to 4 corresponding to time period 2) and 1ms of time segment 3 must be transmitted, and so on.

[0176] In another possible implementation, if a segment is transmitted in the m-th time unit of the corresponding M time units, where m is a positive integer and m is less than or equal to M, then the next segment is transmitted after waiting for at least a preset interval; that is, there is no need to wait for an additional Mm time units. This preset interval can be understood as the time interval between the time period corresponding to the current segment and the time period corresponding to the next segment (e.g., 1 ms). Figure 8 As shown, assuming segment 1 is transmitted in the second time unit (i.e., time unit 1) of time period 1, then segment 2 will be transmitted after at least 1ms, meaning no waiting is required. Figure 7 The time period shown refers to all time units after the second time unit of time period 1 (i.e., time units 2 to 4 of time period 1). Segment 2 can also be transmitted within one of the five time units included in time period 2. Assuming segment 2 is transmitted in the first time unit of time period 2 (i.e., time unit 0), segment 3 will be transmitted after at least 1ms, meaning no waiting is required. Figure 7 The first time unit of time period 2 shown is followed by all time units (i.e., time units 1 to 4 of time period 2), and so on.

[0177] Optionally, before step S501, the first device may send a target message to the second device, which indicates the values ​​of N, and / or M, and / or K. For example, if the first device is a ranging initiating device, the target message may be, for example, a poll frame; if the first device is a ranging responding device, the target message may be, for example, a pollresponse frame. It is understood that the values ​​of N, M, K, etc., can be configured either through a poll frame or a pollresponse frame. Optionally, the value of M may also be predetermined, and this application does not limit this.

[0178] In some possible implementations, the identifier of the first device can be the index of the narrowband channel corresponding to the target message. For example, when the target message is transmitted on a narrowband using frequency hopping, the narrowband channel index corresponding to the target message of different first devices is different; that is, the narrowband channel index corresponding to different first devices is different. Therefore, the first device can be identified using the narrowband channel index. Optionally, taking a ranging scenario as an example, the narrowband channel index corresponding to the first device and the second device in the same ranging link can be the same.

[0179] Of course, the identifier of the first device can also be other types of information. For example, when the target message is not transmitted on a narrowband frequency band, the identifier of the first device can also be an index of other channels, or the identifier of the first device can also be the media access control (MAC) address of the first device or other information that can uniquely identify the first device. This application does not limit this.

[0180] K represents either the number of first devices or the number of second devices, and K is a positive integer. For example, in a ranging scenario, when one ranging initiating device corresponds to one ranging responding device, that is, a ranging link includes one ranging initiating device and one ranging responding device. K is both the number of ranging initiating devices and the number of ranging responding devices. In this case, the system containing the first device includes K first devices and K second devices. Here, the first device can be either a ranging initiating device or a ranging receiving device; therefore, K can be either the number of first devices or the number of second devices.

[0181] When one ranging initiating device corresponds to multiple ranging responding devices, K is the number of ranging initiating devices. In this case, if the first device is a ranging initiating device and the second device is a ranging responding device, then K is the number of the first devices. If the first device is a ranging responding device and the second device is a ranging initiating device, then K is the number of the second devices.

[0182] S502, The first device determines the time unit for each segment transmission based on the target initial value and the characteristic polynomial.

[0183] The degree of the characteristic polynomial is L, where L is a positive integer.

[0184] In one possible implementation, the characteristic polynomial can be determined based on its order. For example, if the order of the characteristic polynomial is 9, then the characteristic polynomial can be x. 9 +x 5 +1, if the degree of the characteristic polynomial is 15, then the characteristic polynomial can be x. 15+x+1. It can be understood that the characteristic polynomial in the aforementioned example has been adopted in existing protocols. Therefore, directly reusing the characteristic polynomial adopted in existing protocols requires less modification to the protocol. Furthermore, for chips that have adopted the characteristic polynomial in the aforementioned example, the method provided in the embodiments of this application can be used directly. Manufacturers do not need to redesign and produce chips, which is easy to implement and has low complexity.

[0185] In another possible implementation, the characteristic polynomial can also be predefined. It is understood that for the same order of the characteristic polynomial, it can correspond to one or more different characteristic polynomials; the specific characteristic polynomial used can be determined by the developers based on actual needs.

[0186] The time unit for each segment transmission is one of the M time units corresponding to that segment.

[0187] Optional, such as Figure 9 As shown, the first device can determine the time unit for each segment transmission based on the target initial value and the characteristic polynomial using the LFSR. It should be noted that the LFSR in this embodiment is only one possible implementation, and it can also be replaced by other possible shift registers (such as nonlinear shift registers, etc.), which is not limited in this application.

[0188] In one possible implementation, the first device can generate a first number of binary random numbers corresponding to each segment based on the target initial value and the characteristic polynomial. Then, the first device converts the first number of binary random numbers corresponding to each segment into a target base number. This target base number can be used to determine the time unit for transmission of each segment. For example, assuming M is 4, meaning one segment corresponds to 4 time units, if the target base number for a segment is 3, then the 3rd of the 4 time units corresponding to that segment can be used as the time unit for transmission of that segment; or, the time unit with the sequence number 3 among the 4 time units corresponding to that segment can be used as the time unit for transmission of that segment.

[0189] Optionally, the values ​​of the first quantity and the target base number can be determined based on M. For example, the first quantity can be log2M, and the target base number can be a base-M number. Alternatively, the first quantity can be greater than log2M, and the target base number can be a base-M number. Optionally, if the first quantity is greater than log2M, the first device can convert the first log2M binary random numbers into base-M numbers. Taking M as 4 and N as 32 as an example, assuming that for the first segment, the corresponding two binary random numbers are 11, then their quaternary value is 3. Therefore, the time unit number corresponding to this segment is 3, or the time unit corresponding to this segment is the 3rd, or, if the time unit numbers of the four time units are 0, 1, 2, and 3 respectively, the time unit number corresponding to this segment is 2. Suppose that for the second segment, the two corresponding binary random numbers are 10, which is 2 in quaternary form. Therefore, the time unit number corresponding to this segment is 2, or the time unit is the second one. Alternatively, if the time unit numbers are 0, 1, 2, and 3 respectively, the time unit number corresponding to this segment is 1, and so on. After determining the time unit for each segment's transmission, the corresponding segment can be transmitted within that time unit.

[0190] It is understood that in the embodiments of this application, different time units correspond to different sequence numbers, which can be used to identify time units. This will be explained uniformly here.

[0191] In another possible implementation, the first device can generate a second number of binary random numbers corresponding to N segments based on the target initial value and the characteristic polynomial. Then, the first device determines the time unit for transmission of each segment based on the second number of binary random numbers and the sequence numbers of M time units.

[0192] Optionally, the value of the second quantity can be determined based on N and L. For example, the value of the second quantity can be N+L-1. The first device determines the time unit for each segment transmission based on the second quantity of binary random numbers and the sequence numbers of the M time units, specifically including:

[0193] The first device generates a first vector based on a second number of binary random numbers. The first vector contains N integers greater than or equal to 0 and less than or equal to N-1. For example, the first device can convert the first to L binary random numbers into a first vector with a value between 0 and 2. L Between -1 (or greater than or equal to 1 and less than or equal to 2) L For integers ranging from -1, convert the 2nd to 2+L-1st binary random numbers into a second value ranging from 0 to 2. L Integers between -1 and -1, and so on, converting the Nth to N+L-1th binary random numbers into the Nth random number with a value between 0 and 2. LIntegers between -1 and N. Then, take the modulo of N with each of these N integers to obtain N integers greater than or equal to 0 and less than or equal to N-1. These N integers greater than or equal to 0 and less than or equal to N-1 can form the first vector.

[0194] For example, taking the value of L as 9, the first device can convert the 1st to 9th binary random numbers into the first integer between 0 and 511, convert the 2nd to 10th binary random numbers into the second integer between 0 and 511, and so on, converting the Nth to N+9-1th binary random numbers into the Nth integer between 0 and 511. Taking the modulo of these N integers with N will yield N integers greater than or equal to 0 and less than or equal to N-1. The vector composed of these N integers greater than or equal to 0 and less than or equal to N-1 is the first vector.

[0195] The first device generates a second vector based on the indices of M time units, and the second vector includes N elements. In one possible example, the first device can arrange the indices of the M time units in ascending order to generate the second vector. Taking N as 32, M as 10, and the time unit indices from 0 to 9 as an example, the first vector could be [0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1], which includes 32 elements, each element representing the indices of a time unit. It is understood that the indices of these time units are merely illustrative, and other indices can be used for the time units. The indices of these time units can be consecutive or non-consecutive, and this application does not limit this.

[0196] Optionally, the first device may also arrange the M time unit numbers in descending order to generate the second vector, or the first device may arrange the M time unit numbers in other ways to generate the second vector, and this application does not limit this. It is understood that different first devices may correspond to the same second vector or different second vectors, and this application does not limit this.

[0197] Optionally, the number of elements in the first vector can be the same as the number of elements in the second vector.

[0198] The first device can determine the time unit for each segment transmission based on the first vector and the second vector. Specifically, in one possible example, the first device can swap the a-th bit (or a-th element) of the second vector with the b-th bit (or b-th element) of the second vector, where b is the value of the a-th bit of the first vector, and a takes values ​​from 0 to N-1, and a is an integer. For example: Suppose M is 4, N is 8, and the vector index starts from 0. The second vector is [0,1,2,3,0,1,2,3], and the first vector is [3,7,6,1,0,2,4,5]. When a = 0, the 0th position of the first vector is 3, so the 0th position of the second vector is swapped with the 3rd position of the second vector, resulting in the second vector [3,1,2,0,0,1,2,3]. When a = 1, the 1st position of the first vector is 7, so the 1st position of the second vector is swapped with the 7th position of the second vector, resulting in the second vector [3,3,2,0,0,1,2,1]. And so on, a = 2, a = 3, a = N-1, completing N swaps.

[0199] Alternatively, the first device can swap the a-th bit of the second vector with the (b+1)-th bit of the second vector, where b is the value of the a-th bit of the first vector, and a is a value from 1 to N, and a is an integer. For example: suppose M is 4, N is 8, and the vector index starts from 1, the second vector is [0,1,2,3,0,1,2,3], and the first vector is [3,7,6,1,0,2,4,5]. When a=1, the first bit of the first vector is 3, so the first bit of the second vector is swapped with the fourth bit of the second vector, and the second vector after the swap is [3,1,2,0,0,1,2,3]. When a=2, the second bit of the first vector is 7, so the second bit of the second vector is swapped with the eighth bit of the second vector, and the second vector after the swap is [3,3,2,0,0,1,2,1]. And so on, a=3, a=4, a=N, completing N swaps.

[0200] The first device can determine the time unit of each segment transmission based on the elements in the swapped second vector. For example, the first device can use each element in the second vector as the sequence number of the time unit of each segment transmission. For instance, assuming the swapped second vector is [5,3,9], then the three elements in the second vector (i.e., "5", "3", and "9") are the sequence numbers of the three segment transmission time units. Another example: the first device can use the time unit corresponding to each element in the second vector as the time unit of each segment transmission. In this example, the element is not necessarily the sequence number of the time unit. For instance, still using the swapped second vector as [5,3,9], the element "5" in the second vector indicates that a segment transmission time unit is the 5th time unit in the corresponding segment, but the sequence number of this time unit is not necessarily 5; it can be 4 or other values. The meanings of elements "3" and "9" are similar and will not be elaborated further.

[0201] Optionally, after the first device determines the time unit for each segment transmission, the first device can notify the second device of the time unit for each segment transmission. Subsequently, the first device and the second device can complete the transmission of a pair of segments within each segment transmission time unit. Figure 2 For example, assuming the first device is the ranging initiating device and the second device is the ranging responding device, if the ranging initiating device determines that segment 1 is transmitted in time unit 1 of time period 1, then both the ranging initiating device and the ranging responding device's segment 1 are transmitted in time unit 1 of time period 1. It can be understood that the segments 1 of the ranging initiating device and the ranging responding device do not have to be transmitted simultaneously; there can be a time interval. However, the transmission time of segment 1 of the ranging initiating device and the transmission time of segment 1 of the ranging responding device are both within time unit 1.

[0202] It is understandable that the performance of time hops depends on the correlation of time hop sequences among different users. Different users may have different time hop sequences. A user's time hop sequence can be used to transmit all segments of that user in the corresponding time units. The correlation of the time hop sequences is related to the initial value of the LFSR. Therefore, for each user, the above-mentioned technical solution can be used to obtain a better initial value of the LFSR, thereby determining a suitable time unit for the user's segments for time hop transmission. This ensures that the time hop sequences of different users are as orthogonal as possible, thus minimizing the number of collisions between user segments and significantly reducing the probability of mutual interference between multiple users.

[0203] In one possible implementation, such as Figure 10 As shown, Figure 5The step S501 shown can also be specifically implemented as the following steps S503 and S504:

[0204] S503, The first device determines the initial target value table based on N, M, and K.

[0205] The target initial value table includes at least two initial values. For example, the target initial value table can take various forms such as a set, vector, or sequence. Each element in the target initial value table represents an initial value. This application does not impose any restrictions on the presentation form of the target initial value table.

[0206] It is understandable that the initial value tables will be different for different N, M, and K. Therefore, the first device can first determine the target initial value table from multiple initial value tables based on N, M, and K.

[0207] Optionally, the target initial value tables corresponding to different first devices can be the same or different. For example, when N and M are the same for different first devices, the target initial value tables corresponding to the first devices are the same. When only some of the first devices have the same N and M, or when N and / or M are different for different first devices, there may be multiple target initial value tables corresponding to different first devices.

[0208] S504. The first device obtains the initial value of the target based on the identifier of the first device and the target initial value table.

[0209] Optionally, the first device can obtain the target initial value by performing a modulo operation between its identifier and the size of the target initial value table. It can be understood that the size of the target initial value table can be the number of initial values ​​included in the table. For example, if the identifier of the first device is "2" and the target initial value table includes 4 initial values ​​(i.e., the size of the target initial value table is "4"), the first device can determine the target initial value as the second initial value in the target initial value table if the second initial value in the target initial value table is "19". For instance, if the second initial value in the target initial value table is "19", then the first device determines the target initial value as 19.

[0210] Optionally, the first device can also directly select an initial value from the target initial value table based on its identifier. For example, if the identifier of the first device is "2", then the first device can directly use the second initial value in the target initial value table as the target initial value. Assuming the second initial value in the target initial value table is "19", then the first device can directly use "19" as the target initial value.

[0211] Of course, the size of the identifier of the first device is not necessarily limited to between 1 and the size of the target initial value table (inclusive). For example, if the size of the target initial value table is "4", then the size of the identifier of the first device is not necessarily limited to between 1 and 4 (inclusive). The size of the identifier of the first device can also be outside this range, such as the identifier of the first device being "20" or the identifier of the first device being a MAC address. Optionally, the first device can first convert its identifier to between 1 and the size of the target initial value table, for example, converting it to between 1 and 4, and then obtain the target initial value based on the converted identifier. This application does not limit this conversion rule.

[0212] Optionally, the first device may also directly select an initial value from the target initial value table based on the identifier of the unconverted first device, and this application does not impose any restrictions on this.

[0213] It is understood that the identifiers of different first devices can be consecutive or discontinuous, and this application does not impose any restrictions on this. The initial target value acquired by different first devices will be different.

[0214] Among them, regarding Figure 10 For a description of step S502, please refer to [link / reference]. Figure 5 Introduction to step S502.

[0215] Optional, such as Figure 11 As shown, in Figure 5 Before step S501 shown, Figure 5 The method shown may also include the following steps S505 to S507:

[0216] S505, The first device determines at least one initial value of the LFSR based on the order of the characteristic polynomial.

[0217] It is understandable that if the order of the characteristic polynomial is determined, then the range of initial values ​​for the LFSR can be determined. For example, if the order of the characteristic polynomial is L, then the range of initial values ​​for the LFSR is 0 to 2. L -1 (including 0 and 2) L -1). The first device can go from 0 to 2. L All or some integers between -1 are used as the initial value for LFSR.

[0218] S506, The first device generates a sequence corresponding to each initial value based on at least one initial value of the LFSR.

[0219] In one possible implementation, the first device can generate a third number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and the characteristic polynomial; the first device can convert the third number of binary random numbers corresponding to each initial value into a target base number corresponding to each initial value, and then generate a sequence corresponding to each initial value based on the target base number corresponding to each initial value.

[0220] Optionally, the value of the third quantity can be determined based on N and M, and the value of the target base number can be determined based on M. For example, the value of the third quantity can be N*log2M, the target base number can be a base M number, and the sequence corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to M-1. For example, for each initial value corresponding to N*log2M binary random numbers, the first device can sequentially convert the (e-1)*log2M to e*log2M binary random numbers into base M numbers, where e ranges from 1 to N, thus obtaining N integers greater than or equal to 0 and less than or equal to M-1. The sequence of these N integers greater than or equal to 0 and less than or equal to M-1 is the sequence corresponding to that initial value.

[0221] In another possible implementation, the first device can generate a second number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and the characteristic polynomial; the first device can generate a sequence corresponding to each initial value based on the second number of binary random numbers corresponding to each initial value and the sequence numbers of M time units.

[0222] Optionally, the value of the second quantity can be determined based on N and L. For example, the value of the second quantity can be N+L-1. The first device generates a sequence corresponding to each initial value based on the binary random number of the second quantity corresponding to each initial value and the sequence number of the M time units, specifically including:

[0223] The first device generates a first vector corresponding to each initial value based on a second number of binary random numbers corresponding to each initial value. Each first vector contains N integers greater than or equal to 0 and less than or equal to N-1. The first device generates a second vector based on the sequence numbers of M time units. The second vector contains N elements. The first device can generate a sequence corresponding to each initial value based on the first vector and the second vector.

[0224] Optionally, the first device can swap the a-th bit and the b-th bit of the second vector, where b is the value of the a-th bit of the first vector corresponding to each initial value, and a is a value from 0 to N-1, and a is an integer. Alternatively, the first device can swap the a-th bit and the (b+1)-th bit of the second vector, where b is the value of the a-th bit of the first vector corresponding to each initial value, and a is a value from 1 to N, and a is an integer. The swapped second vector corresponding to each initial value is a sequence corresponding to each initial value.

[0225] Optionally, in this implementation, the total number of sequences corresponding to each generated initial value can be 2. L .

[0226] For a detailed explanation of the first and second vectors, please refer to the above text.

[0227] S507. The first device generates a target initial value table based on at least one initial value of the LFSR, the sequence corresponding to each initial value, and a preset threshold.

[0228] The preset threshold indicates the maximum number of collisions between segments corresponding to any two target links. The target link is the communication link corresponding to any one of the K first devices. For example, in a ranging scenario, the communication link corresponding to the first device can be a ranging link; in other scenarios, the communication link corresponding to the first device can also be a link that implements other functions (such as sensing).

[0229] It is understandable that collisions may occur between segments of different first devices, between segments of different second devices, and between segments of first and second devices. Taking a ranging scenario as an example, suppose the current ranging scenario includes ranging link 1 and ranging link 2. Ranging link 1 includes a ranging initiating device 1 and a ranging responding device 1, and ranging link 2 includes a ranging initiating device 2 and a ranging responding device 2. The ranging initiating device 1 of ranging link 1 may collide with a segment of the ranging initiating device 2 of ranging link 2, and the ranging initiating device 1 of ranging link 1 may also collide with a segment of the ranging responding device 2 of ranging link 2. The ranging responding device is similar, but in either case, it involves a collision between two ranging links.

[0230] Optionally, the initial value of the preset threshold can satisfy the following formula: Where TH is the initial value of the preset threshold, and floor represents rounding down. Of course, the initial value of the preset threshold can also be other values, which can be set by the developers according to actual needs, and this application does not limit this.

[0231] Among them, regarding Figure 11For details on other steps, please refer to [link / reference]. Figure 5 The corresponding steps will not be repeated here.

[0232] Optional, such as Figure 12 As shown, Figure 11 Step S507 can be specifically implemented as the following steps S508 to S512:

[0233] S508. The first device determines the first sequence set based on the sequence corresponding to each initial value.

[0234] In this set, the maximum Hamming autocorrelation value of any sequence in the first sequence set is less than or equal to a preset threshold. For an explanation of this maximum Hamming autocorrelation, please refer to the above text.

[0235] S509. The first device can determine the second sequence set based on the first sequence set.

[0236] In the second sequence set, the maximum Hamming cross-correlation value between any two sequences is less than or equal to a preset threshold. For an explanation of this maximum Hamming cross-correlation, please refer to the above text.

[0237] S510. The first device determines whether the number of sequences included in the second sequence set is greater than or equal to K.

[0238] If yes, proceed to step S511; otherwise, proceed to step S512.

[0239] Based on this step, since an initial value of an LFSR corresponds to a sequence, it is guaranteed that the number of sequences in the second sequence set is greater than or equal to K. Subsequently, it can be guaranteed that different users can obtain a different initial value of an LFSR.

[0240] S511. The first device generates a target initial value table based on the initial values ​​corresponding to each sequence in the second sequence set.

[0241] S512, The first device adds a preset threshold value.

[0242] For example, the first device can increase the value of the preset threshold by 1. After the first device increases the value of the preset threshold, the first device can return to the execution step S508.

[0243] Among them, regarding Figure 12 For details on other steps, please refer to [link / reference]. Figure 11 The corresponding steps are explained below.

[0244] In this embodiment, the complexity of determining the second sequence set from the sequence corresponding to each initial value is related to the value of the preset threshold. Furthermore, the search space is very large when searching for the second sequence from the sequence corresponding to each initial value. The search method provided in this application embodiment can quickly obtain sequences with good relevance.

[0245] For example, with the characteristic polynomial being x 9 +x 5 Taking +1 as an example, Table 1 shows an example of the initial value table corresponding to different N, M, and K when generating the sequence corresponding to each initial value using the first implementation method described in step S506.

[0246] Table 1

[0247]

[0248] In Table 1, “TH1” represents the maximum number of collisions between any two target links when the segments are transmitted using the initial value of the LFSR obtained by the method provided in this application embodiment. “TH2” represents the maximum number of collisions between any two target links when the initial value of the LFSR is randomly selected for the segments to be transmitted using time-hopping.

[0249] As shown in Table 1, when N is 32, M is 4, and K is 2, the corresponding initial value table is {5,10}. The initial value table {5,10} includes two elements, "5" and "10", each representing an initial value. When N, M, and K are other values, the meaning of the corresponding initial value table can be found in the previous example.

[0250] For example, with the characteristic polynomial being x 15 Taking +x+1 as an example, Table 2 shows an example of the initial value table corresponding to different N, M, and K when generating the sequence corresponding to each initial value using the first implementation method described in step S506.

[0251] Table 2

[0252]

[0253] For details on each part of Table 2, please refer to the relevant descriptions in Table 1.

[0254] For example, with the characteristic polynomial being x 9 +x 5 Taking +1 as an example, Table 3 shows an example of the initial value table corresponding to different N, M, and K when generating the sequence corresponding to each initial value using the second implementation method described in step S506.

[0255] Table 3

[0256]

[0257] For details regarding the sections in Table 3, please refer to the relevant information in Table 1.

[0258] As can be seen from Tables 1 to 3, the method provided in this application embodiment can greatly reduce the number of collisions between any two users and reduce the probability of mutual interference between multiple users.

[0259] Optionally, in this embodiment of the application, when the value of N is fixed, the value of N may not need to be shown in Tables 1 to 3. Then, different first devices can obtain the target initial value based solely on M, K, and their own identifier. Alternatively, N may have a maximum value, in which case the initial value table corresponding to N values ​​less than this maximum value can be determined based on the initial value table corresponding to the maximum value. For example, the set of initial values ​​included in the initial value table corresponding to the maximum value can be used as the initial value table corresponding to N values ​​less than this maximum value.

[0260] In addition to the methods mentioned above, such as Figure 15 As shown, this application also provides a communication method that can be applied to narrowband-assisted UWB systems. When a UWB system coexists with other systems (such as Wi-Fi systems), it can reduce interference between coexisting systems on the narrowband.

[0261] It should be noted that this application does not limit the scope of the application. Figure 15 The method shown is only applicable to narrowband UWB systems. However, it can also be used in other scenarios, such as when poll frames, poll response frames, or data frames are transmitted over a UWB channel; or in various scenarios involving synchronization, ranging, and sensing; or in various scenarios involving channel selection. See also Figure 15 The communication method includes the following steps:

[0262] S1501, The first device determines the first index and block list.

[0263] Optionally, the first index can be a random number. The first terminal device can determine the first index using various random number generation methods.

[0264] The block list includes an index of unavailable channels in the target frequency band. This target frequency band is one supported by the first terminal device. For example, the target frequency band can be a narrowband band, such as the unlicensed National Information Infrastructure (UNII)-3 band and / or the UNII-5 band. The UNII-3 band has a bandwidth of 125 MHz, and the UNII-5 band has a bandwidth of 500 MHz. The UNII-3 and UNII-5 bands can be divided into multiple channels, or in other words, the UNII-3 and UNII-5 bands can include multiple channels. Of course, the target frequency band can also be a UWB band or other bands; this application does not specifically limit this.

[0265] Optionally, the unavailable channel may include a channel occupied by other coexisting systems (such as Wi-Fi systems), or it may include a channel with significant interference from other coexisting systems.

[0266] Optionally, the first device may determine the index of the unavailable channel in the target frequency band by means of channel monitoring, etc. This application does not make specific limitations on this.

[0267] Optionally, the block list in this application may also be called a channel masking list or a channel exclusion list, etc. Of course, the block list may also have other names, and this application does not specifically limit the name of the block list.

[0268] S1502, the first device determines the target channel corresponding to the first time unit based on the first index and the block list. The target channel corresponding to the first time unit is used to send a first radio frame to the second device.

[0269] Optionally, the first time unit can be a time slot, such as a frequency hopping slot or a ranging slot. For example, the length of the first time unit can be 1 ms. Of course, the length of the first time unit can also be other values.

[0270] Optionally, in a ranging scenario, the first radio frame can be used for basic segment configuration and time synchronization, for example, the first radio frame can be a poll frame or a poll response frame. Alternatively, the first radio frame can be used to indicate timestamps related to ranging segments, for example, the first radio frame can be a data frame.

[0271] Based on this scheme, the first device can determine the block list to obtain the index of the unavailable channel in the target frequency band, and then determine the target channel for transmitting the first radio frame in the first time unit according to the index of the unavailable channel. For example, the target channel corresponding to the first time unit can exclude the channel indicated in the block list, thereby reducing interference between coexisting systems on the narrowband.

[0272] For the first index in step S501 above:

[0273] As a first possible implementation, the first terminal device can determine the first index using an LFSR. The order of the LFSR can be X. For example, if X equals 9, the characteristic polynomial of the LFSR can be x. 9 +x 5 +1, if X equals 15, the characteristic polynomial of the LFSR can be x 15 +x+1, etc.

[0274] Optionally, the first terminal device may determine a first initial value of the LFSR, and then determine a first index based on the first initial value and the LFSR.

[0275] Optionally, the first initial value of the LFSR can be determined by at least one of the following seven parameters: the Media Access Control (MAC) address of the first device, the clock of the first device, the MAC address of the second device, the clock of the second device, the index of the first time unit, the index of the ranging round in which the first time unit is located, or the index of the ranging block in which the first time unit is located. For example, the first time unit can be a frequency hopping time slot or a ranging time slot; therefore, the index of the first time unit can be understood as the index of the frequency modulation time slot or the index of the ranging time slot. A ranging block can include multiple ranging rounds.

[0276] For example, taking the length of the first initial value of the LFSR as X bits, assuming that the first initial value is determined by Y parameters (Y is a positive integer greater than or equal to 1 and less than or equal to 7) out of the above 7 parameters, then the first initial value can be composed of some or all of the bits of each of the Y parameters. For example, if Y equals 3 and X equals 9, the first initial value can include 4 bits of parameter 1, 3 bits of parameter 2, and 2 bits of parameter 3.

[0277] Optional, such as Figure 16 As shown, after determining the first initial value of the LFSR, the first initial value can be input into the LFSR. Then, Z bits can be arbitrarily selected from the output bits of the LFSR, and these Z bits can be converted into decimal numbers. The first index can be obtained by taking the remainder of the decimal number with respect to P.

[0278] Where Z is greater than or equal to Positive integers. This indicates rounding up. P represents the total number of channels included in the target frequency band.

[0279] Optionally, in a ranging system, such as a ranging initiator corresponding to a ranging response device, or a system where a ranging initiator corresponds to multiple ranging response devices, the multiple ranging devices (including the ranging initiator and the ranging response devices) need to use the same first initial value.

[0280] Optionally, in this first possible implementation, step S502 may include: if the aforementioned block list does not include the first index, the first device determines the first index as the index of the target channel corresponding to the first time unit. If the aforementioned block list includes the first index, the first device determines the index of the target channel corresponding to the first time unit based on the second index and the block list.

[0281] Optionally, the second index can be determined by the second initial value. For specific implementation details, please refer to the above explanation regarding determining the first index using the first initial value; further elaboration will not be repeated here.

[0282] Optionally, the second initial value may be determined by the first initial value, and / or the second initial value may be greater than the first initial value. For example, the second initial value = the first initial value + 1; or, the second initial value = the first initial value + 2, etc.

[0283] Optionally, the first device determines the index of the target channel corresponding to the first time unit based on the second index and the block list, which may include: if the aforementioned block list does not include the second index, the first device determines the second index as the index of the target channel corresponding to the first time unit. If the aforementioned block list includes the second index, the first device determines the index of the target channel corresponding to the first time unit based on the third index and the block list.

[0284] Optionally, the third index is determined by a third initial value, which may be determined by a second initial value, and / or the third initial value is greater than the second initial value. For example, the third initial value = the second initial value + 1; or, the third initial value = the second initial value + 2, etc.

[0285] In other words, such as Figure 17 As shown, if the index determined by the first device through the LFSR is within the block list, the first device can update the initial value of the LFSR to regenerate the index and perform the judgment again. If the index determined by the first device through the LFSR is not within the block list, the first device can output the index and determine it as the index of the target channel corresponding to the first time unit.

[0286] It should be noted that the above method of determining the index using LFSR can be performed without relying on the above. Figure 15 The independent implementation is shown. That is to say, the methods described above for determining the index through LFSR and for determining the target channel by checking whether the index is in the block list can be combined or decoupled, and the two are independent of each other.

[0287] For example, after the first device determines the first index through the LFSR, it can determine the index of the target channel corresponding to the first time unit without implementing the above step S502. Instead, it can determine the target channel corresponding to the first time unit through other means. For example, the correspondence between the first index and the channel index can be predefined. After the first index is determined, the channel index corresponding to the first index is determined as the index of the target channel corresponding to the first time unit. Of course, the index of the target channel corresponding to the first time unit can also be determined based on the first index through other means, and this application does not specifically limit this.

[0288] Based on this first possible implementation, in a UWB system with multiple ranging links, the ranging devices on each ranging link determine a first index through the LFSR (Frequency Frequency hopping Sequence). This allows the frequency hopping sequences generated by these multiple ranging links to have better cross-correlation, thereby reducing the possibility of ranging devices on different ranging links selecting the same channel to transmit radio frames, reducing radio frame collisions, and thus reducing interference between ranging links. For example, the frequency hopping sequence can be composed of the indices of the channels used on the ranging link over a period of time. Cross-correlation can refer to the correlation between any two frequency hopping sequences.

[0289] As a second possible implementation, the first terminal device can determine the first index based on the Advanced Encryption Standard (AES) algorithm.

[0290] Optionally, the AES algorithm can be a 128-bit AES algorithm, i.e., AES-128. Of course, other bit AES algorithms can also be used, such as AES-192 and AES-256, and this application does not specifically limit them. The following explanation uses AES-128 as an example.

[0291] Optionally, the first terminal device may first determine the first AES counter. This first counter can be the lower 32 bits of the 128-bit plaintext. Then, based on the first counter, the higher 96 bits of the plaintext, the 128-bit key, and the AES-128 algorithm, a first index is determined. The higher 96 bits of the 128-bit plaintext can be predefined.

[0292] For example, such as Figure 18As shown, a 32-bit first counter, the high 96 bits of the plaintext (i.e., 128 bits of plaintext), and a 128-bit key can be input into the AES-128 algorithm to obtain a 128-bit output. The first index can then be determined based on this 128-bit output. For example, after converting the 128-bit output to a decimal number, the remainder can be taken with respect to the total number of channels to obtain the first index.

[0293] Optionally, in this second possible implementation, step S502 may include: if the aforementioned block list does not include the first index, the first device determines the first index as the index of the target channel corresponding to the first time unit. If the aforementioned block list includes the first index, the first device determines the index of the target channel corresponding to the first time unit based on the second index and the block list.

[0294] Optionally, the second index is determined according to the AES algorithm. For example, the second index can be determined based on the second counter and the AES algorithm. For specific implementation details, please refer to the above description of determining the first index using the first counter and the AES algorithm, which will not be repeated here.

[0295] Optionally, the second counter may be determined by the first counter, and / or the second counter may be greater than the first counter. For example, the second counter = the first counter + 1; or, the second counter = the first counter + 2, etc.

[0296] Optionally, the first device determines the index of the target channel corresponding to the first time unit based on the second index and the block list. This can be referenced in the section on determining the index of the target channel corresponding to the first time unit based on the first index and the block list. That is, if the index determined by the first device through AES is within the block list, the first device can update the AES counter to regenerate the index and perform the determination again. If the index determined by the first device through AES is not within the block list, the first device can output the index and determine it as the index of the target channel corresponding to the first time unit.

[0297] Optionally, the above Figure 15 The frequency hopping shown can be based on time units. That is, the first device can use... Figure 15 The method shown determines the channel corresponding to each time unit used for transmitting or receiving a radio frame. Specifically, the first device can also determine the target channel corresponding to the second time unit, and / or the target channel corresponding to the third time unit.

[0298] The target channel corresponding to the second time unit is used to send a second radio frame to the second device. For example, if the first device is a ranging response device, the first radio frame may be a poll response frame, and the second radio frame may be a data frame. If the first device is a ranging initiator device, both the first and second radio frames may be poll frames.

[0299] The target channel corresponding to the third time unit is used to receive the third radio frame from the second device. For example, if the first device is a ranging response device, the third radio frame can be a poll frame. If the first device is a ranging initiator device, the third radio frame can be a poll response frame or a data frame.

[0300] Optionally, the method for determining the target channel corresponding to the second time unit and the target channel corresponding to the third time unit can refer to the method for determining the target channel corresponding to the first time unit, and will not be repeated here.

[0301] It should be noted that when determining the target channel corresponding to the second and / or third time units using the LFSR, the first initial value of the LFSR can be different from the first initial value of the LFSR corresponding to the first time unit. Similarly, when determining the target channel corresponding to the second and / or third time units using the AES algorithm, the first counter value of the AES can be different from the first counter value corresponding to the first time unit.

[0302] Optionally, at least two of the target channels corresponding to the first time unit, the second time unit, and the third time unit may be different. For example, the target channels corresponding to the first time unit and the second time unit may be different, or all three channels may be different.

[0303] Optionally, at least two of the first, second, and third time units are located in the same ranging wheel.

[0304] In other words, in the scheme provided in this application, the channels corresponding to different time units used for transmitting wireless frames in the same ranging wheel can be different.

[0305] Although the first device can determine the channel corresponding to each time unit used to transmit or receive a radio frame, for a given time unit, the first device may ultimately not use the channel it determined for that time unit. The channel used by the first device for that time unit may be related to the first configuration.

[0306] Optionally, the first configuration can be configured to use the same channel to transmit and receive radio frames within the same ranging wheel or ranging block; or, the first configuration can be configured to use the channel corresponding to a certain time unit to transmit and receive radio frames within a certain time unit; or, the first configuration can be configured to use the same channel for a single radio frame transmission and reception interaction. Here, a single transmission and reception interaction can refer to a ranging initiating device sending a radio frame and the ranging responding device replying with a response frame within a certain time period (e.g., within the next time unit).

[0307] Optionally, this first configuration can be carried in a poll frame, response frame, or data frame. This first configuration can be carried using 2 bits. Different values ​​of these 2 bits represent different first configurations.

[0308] For example, taking the configuration of using the same channel to transmit and receive wireless frames in the same ranging wheel, with the time unit being a frequency hopping time slot and the length of the frequency hopping time slot being 1ms as an example, such as... Figure 19 As shown, in ranging wheel 1, assuming the poll frame is located in time slot k, the poll frame, poll response frame, and data frame in ranging wheel 1 all use the channel corresponding to time slot k. Figure 19 China and Israel f k (Representation) Transmission. Of course, all three frames in the ranging wheel 1 can also be transmitted using the channel corresponding to time slot k+1 or time slot k+6, and this application does not make specific limitations on this.

[0309] In the next ranging wheel, i.e., ranging wheel 2, assuming the poll frame is located in time slot k+5, then the poll frame, poll response frame, and data frame in ranging wheel 2 all use the channel corresponding to time slot k+5. Figure 19 China and Israel f k+5 (Representation) Transmission. The channels corresponding to time slot k and time slot k+7 can use the methods described above. Figure 15 The method shown is used to determine this.

[0310] It should be noted that the two rangefinder wheels may not be continuous. For example... Figure 20 As shown, multiple time slots can be spaced between the measuring wheel 2 and the measuring wheel 1.

[0311] For example, consider configuring the use of the channel corresponding to a certain time unit for transmitting and receiving radio frames, with the time unit being a frequency hopping time slot and the length of the frequency hopping time slot being 1ms. Figure 21 As shown, in ranging wheel 1, assuming the poll frame is located in time slot k, the poll response frame is located in time slot k+1, and the data frame is located in time slot k+4, then the poll frame in ranging wheel 1 can use the channel corresponding to time slot k (in f... k(representation) transmission, the poll response frame can use the channel corresponding to time slot k+1 (in f) k+1 (Indicates) transmission, data frames can use the channel corresponding to time slot k+4 (in f) k+4 Transmission. The implementation in measuring wheel 2 is similar to that in measuring wheel 1, and will not be described in detail here.

[0312] For example, taking a single wireless frame transmission and reception interaction using the same channel, with a time unit as the frequency hopping time slot, and the length of the frequency hopping time slot being 1ms as an example, Figure 22 As shown, in ranging wheel 1, the poll frame in time slot k and the pollresponse frame in time slot k+1 constitute a single wireless frame transmission and reception interaction. Therefore, this poll frame and poll response frame can be transmitted using the channel corresponding to time slot k. Furthermore, in ranging wheel 1, the poll frame in time slot k+4 and the data frame in time slot k+5 constitute a single wireless frame transmission and reception interaction. Therefore, this poll frame and data frame can be transmitted using the channel corresponding to time slot k+4. The implementation in ranging wheel 2 is similar to that in ranging wheel 1, and will not be described further here.

[0313] Optionally, if the length of a radio frame exceeds one time unit, or if a radio frame needs to be transmitted in multiple time units, then the same channel can be used to transmit the radio frame in those multiple time units.

[0314] For example, such as Figure 23 As shown, if the length of the data frame in the ranging wheel 1 exceeds one time slot, then the data frame can be transmitted using the channel corresponding to time slot k+4 in both time slot k+4 and time slot k+5.

[0315] It should be noted that the above Figure 15 The method shown can be used with Figure 5 The methods shown can be implemented in combination, or independently. Figure 5 The methods shown are implemented independently, meaning there is no dependency between them, and they are decoupled from each other.

[0316] The foregoing primarily describes the solutions provided by the embodiments of this application from a methodological perspective. It is understood that, in order to achieve the aforementioned functions, a communication device (e.g., the first device) includes hardware structures and / or software modules corresponding to the execution of each function. By combining the units and algorithm steps of the various examples described in the embodiments disclosed in this application, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the technical solutions of the embodiments of this application.

[0317] This application embodiment can divide the communication device into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional module. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0318] like Figure 13 As shown, a communication device is provided in an embodiment of this application. The communication device can be a first device, and the communication device includes a processing module 1301.

[0319] As one possible implementation, the processing module 1301 is used to support the execution of the first device. Figure 5 Steps S501 to S502; and / or processing module 1301 is used to support the first device in performing Figure 10 Steps S503, S504, and S502; and / or processing module 1301 is used to support the first device in performing... Figure 11 Steps S505 to S507, steps S501 to S502; and / or processing module 1301 is used to support the first device in performing... Figure 12 Steps S505 to S506, S508 to S512, S501 to S502 in the embodiments of this application; and / or other processing operations that the first device needs to perform in the embodiments of this application.

[0320] As another possible implementation, the processing module 1301 is used to support the execution of the first device. Figure 15 Steps S1501 to S1502 in the present application; and / or, the processing module 1301 is used to support other processing operations that the first device needs to perform in the embodiments of this application.

[0321] Optionally, the communication device may also include a communication module 1302 for communicating with other devices (such as a second device).

[0322] Optionally, the communication device may also include a storage module 1303 for storing the program code and data of the communication device, and the data may include, but is not limited to, raw data or intermediate data.

[0323] The processing module 1301 can be a processor or controller, such as a CPU, a general-purpose processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0324] The communication module 1302 may be a communication interface, transceiver, or transceiver circuit, etc. Here, "communication interface" is a general term. In a specific implementation, the communication interface may include multiple interfaces, such as the interface between the base station and the terminal and / or other interfaces.

[0325] Storage module 1303 can be a memory.

[0326] When the processing module 1301 is a processor, the communication module 1302 is a communication interface, and the storage module 1303 is a memory, the communication device involved in the embodiments of this application can be... Figure 14 As shown.

[0327] See Figure 14 As shown, the communication device includes a processor 1401 and a communication interface 1402. Optionally, the communication device may also include a memory 1403. The memory 1403 may be independent of the processor 1401, coupled to the processor 1401 through the interface, or it may be integrated with the processor 1401. Optionally, the communication device may also include a bus 1404. The communication interface 1402, the processor 1401, and the memory 1403 can be interconnected via the bus 1404; the bus 1404 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus 1404 may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, Figure 14 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0328] Optionally, embodiments of this application also provide a computer program product carrying computer instructions, which, when executed on a computer, causes the computer to perform the methods described in the above embodiments.

[0329] Optionally, embodiments of this application also provide a computer-readable storage medium that stores computer instructions that, when executed on a computer, cause the computer to perform the methods described in the above embodiments.

[0330] Optionally, embodiments of this application also provide a chip, including: a processing circuit and an input / output interface, wherein the processing circuit and the input / output interface are used to implement the methods described in the above embodiments. The processing circuit is used to perform processing actions in the corresponding method, and the input / output interface is used to perform receiving / transmitting actions in the corresponding method.

[0331] Optionally, embodiments of this application also provide a communication system, including: the first device provided in the above embodiments, and the second device provided in the above embodiments.

[0332] Those skilled in the art will understand that the above embodiments can be implemented entirely or partially by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state drives (SSDs)).

[0333] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or modules, and may be electrical or other forms.

[0334] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple devices. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0335] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, and of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that makes a contribution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, hard disk, or optical disk, and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

Claims

1. A communication method, characterized in that, The method includes: The first device determines a target initial value table based on N, M, and K, and the target initial value table includes at least two initial values. The first device obtains the target initial value of the linear feedback shift register (LFSR) based on the identifier of the first device and the target initial value table. N is the number of segments in the target signal sent by the first device to the second device. M is the number of time units in the time period of each segment transmission. K is the number of the first device or the number of the second device. N, M, and K are all positive integers. The first device determines the time unit for each segment transmission based on the target initial value and the characteristic polynomial, wherein the order of the characteristic polynomial is L, where L is a positive integer, and the time unit for each segment transmission is one of the M time units corresponding to the segment.

2. The method according to claim 1, characterized in that, The first device obtains the target initial value based on the identifier of the first device and the target initial value table, including: The first device performs a modulo operation between the identifier of the first device and the size of the target initial value table to obtain the target initial value, wherein the size of the target initial value table is the number of initial values ​​included in the target initial value table.

3. The method according to claim 1 or 2, characterized in that, The first device determines the time unit for each segment transmission based on the target initial value and the characteristic polynomial, including: The first device generates a first number of binary random numbers corresponding to each segment based on the target initial value and the characteristic polynomial; The first device converts a first number of binary random numbers corresponding to each segment into a target base number, and the target base number corresponding to each segment is used to determine the time unit of transmission for each segment.

4. The method according to claim 3, characterized in that, The first quantity is The target number is a base M number.

5. The method according to claim 1 or 2, characterized in that, The first device determines the time unit for each segment transmission based on the target initial value and the characteristic polynomial, including: The first device generates a second number of binary random numbers corresponding to N segments based on the target initial value and the characteristic polynomial; The first device determines the time unit for each segmented transmission based on the second number of binary random numbers and the sequence numbers of the M time units.

6. The method according to claim 5, characterized in that, The value of the second quantity is ; The first device determines the time unit for each segmented transmission based on the second number of binary random numbers and the sequence numbers of the M time units, including: The first device generates a first vector based on the second number of binary random numbers, the first vector including N integers greater than or equal to 0 and less than or equal to N-1; The first device generates a second vector based on the sequence number of the M time units, and the second vector includes N elements; The first device determines the time unit for each segment transmission based on the first vector and the second vector.

7. The method according to claim 6, characterized in that, The first device determines the time unit for each segmented transmission based on the first vector and the second vector, including: The first device swaps the a-th bit of the second vector with the b-th bit of the second vector, where b is the value of the a-th bit of the first vector, and the value of a is from 0 to N-1, and a is an integer; The first device determines the time unit for each segment transmission based on the elements in the exchanged second vector.

8. The method according to claim 1 or 2, characterized in that, Before the first device determines the target initial value table based on N, M, and K, the method further includes: The first device determines at least one initial value of the LFSR based on the order of the characteristic polynomial; The first device generates a sequence corresponding to each initial value based on at least one initial value of the LFSR; The first device generates a target initial value table based on at least one initial value of the LFSR, the sequence corresponding to each initial value, and a preset threshold. The preset threshold is used to indicate the maximum number of collisions between segments corresponding to any two target links. The target link is the communication link corresponding to any one of the K first devices.

9. The method according to claim 8, characterized in that, The first device generates a sequence corresponding to each initial value based on at least one initial value of the LFSR, including: The first device generates a third number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and the characteristic polynomial; The first device converts a third number of binary random numbers corresponding to each initial value into a target base number corresponding to each initial value; The first device generates a sequence corresponding to each initial value based on the target base number corresponding to each initial value.

10. The method according to claim 9, characterized in that, The value of the third quantity is... The target number is a base M number, and the sequence corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to M-1.

11. The method according to claim 8, characterized in that, The first device generates a sequence corresponding to each initial value based on at least one initial value of the LFSR, including: The first device generates a second number of binary random numbers corresponding to each initial value based on at least one initial value of the LFSR and the characteristic polynomial; The first device generates a sequence corresponding to each initial value based on a second number of binary random numbers corresponding to each initial value and the sequence numbers of M time units.

12. The method according to claim 11, characterized in that, The value of the second quantity is ; The first device generates a sequence corresponding to each initial value based on a second number of binary random numbers corresponding to each initial value and the sequence numbers of M time units, including: The first device generates a first vector corresponding to each initial value based on a second number of binary random numbers corresponding to each initial value. The first vector corresponding to each initial value includes N integers greater than or equal to 0 and less than or equal to N-1. The first device generates a second vector based on the sequence numbers of M time units, and the second vector includes N elements; The first device generates a sequence corresponding to each initial value based on the first vector and the second vector corresponding to each initial value.

13. The method according to claim 12, characterized in that, The first device generates a sequence corresponding to each initial value based on a first vector and a second vector corresponding to each initial value, including: The first device swaps the a-th bit of the second vector with the b-th bit of the second vector, where b is the value of the a-th bit of the first vector corresponding to each initial value, and the value of a is from 0 to N-1, and a is an integer. The swapped second vector corresponding to each initial value is the sequence corresponding to each initial value.

14. The method according to any one of claims 9-13, characterized in that, The first device generates a target initial value table based on at least one initial value of the LFSR, a sequence corresponding to each initial value, and a preset threshold, including: The first device determines a first sequence set based on the sequence corresponding to each initial value, wherein the maximum Hamming autocorrelation value of any sequence in the first sequence set is less than or equal to the preset threshold. The first device determines a second sequence set based on the first sequence set, wherein the maximum Hamming cross-correlation value of any two sequences in the second sequence set is less than or equal to the preset threshold; If the number of sequences included in the second sequence set is greater than or equal to K, then the first device generates the target initial value table based on the initial value corresponding to each sequence in the second sequence set. If the number of sequences included in the second sequence set is less than K, then the first device increases the value of the preset threshold.

15. The method according to any one of claims 9-13, characterized in that, The initial value of the preset threshold satisfies the following formula: Wherein, TH is the initial value of the preset threshold, and floor represents rounding down.

16. The method according to claim 1 or 2, characterized in that, The value of N is a fixed value.

17. The method according to claim 1 or 2, characterized in that, Before the first device obtains the target initial value of LFSR based on N, M, K and the identifier of the first device, the method further includes: The first device sends a target message to the second device, the target message being used to indicate the value of N, and / or the value of M, and / or the value of K.

18. The method according to claim 17, characterized in that, The identifier of the first device is the index of the narrowband channel corresponding to the target message.

19. The method according to claim 1 or 2, characterized in that, The method further includes: The first device determines a first index and a block list, the block list including indices of unavailable channels in the target frequency band, the target frequency band being a frequency band supported by the first device; The first device determines the target channel corresponding to the first time unit based on the first index and the block list. The target channel is used to send a first wireless frame to the second device. The first wireless frame and the target signal are located in the same ranging wheel.

20. A communication device, characterized in that, The communication device includes modules for performing the various steps of the method according to any one of claims 1 to 19.

21. A communication device, characterized in that, The communication device includes: at least one processor; The processor is configured to execute computer programs or instructions to cause the method as described in any one of claims 1-19 to be performed.

22. A computer-readable storage medium, characterized in that, This includes computer programs or instructions that, when run on a communication device, cause the communication device to perform the method as described in any one of claims 1-19.

23. A computer program product, characterized in that, The computer program product includes: a computer program or instructions that, when run on a computer, cause the computer to perform the method as described in any one of claims 1-19.