Channel Hopping Blind Rendezvous Method, Device and Medium Based on Multi - base Conversion Encoding
By constructing a division mapping table and generating a guide sequence matrix, the existing blind convergence algorithm is solved in the low-equivalence problem of symmetric roles, heterogeneous channels, and asynchronous clock scenarios, and the fast and efficient user convergence is achieved, with wide applicability and strong flexibility.
Patent Information
- Application Number
- CN202211087639.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-07
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2042-09-07
AI Technical Summary
In the comprehensive scenarios of symmetric roles, heterogeneous channels, and asynchronous clocks, the existing blind convergence algorithm cannot effectively ensure that users can achieve fast and efficient convergence within a limited time, and the maximum convergence delay and average convergence delay indicators of the existing algorithms are not satisfactory.
The channel jump blind merging method based on multi-digital conversion encoding is adopted. By constructing a digital mapping table, generating a guide sequence and a frequency hopping sequence matrix, and using the DRD algorithm and the modulus algorithm, the user's frequency hopping sequence is generated to realize user merging.
In the scenarios of symmetrical roles, heterogeneous channels, and asynchronous clocks, fast and efficient user rendezvous, improving rendezvous efficiency, wide applicability and strong flexibility, and being able to select appropriate regulating mapping tables based on the actual scenario.
Smart Images

Figure CN115642932B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technologies, and in particular, to a channel hopping blind rendezvous method based on multi - base conversion coding, a computer device, and a computer - readable storage medium. Background Art
[0002] In recent years, due to the sharp increase in the number of wireless devices, the problem of spectrum scarcity has become increasingly serious. A large number of existing studies have shown that many licensed spectrum bands are not fully utilized. Therefore, cognitive radio technology has emerged. Cognitive radio can interact with the surrounding environment to sense and utilize the available spectrum in this space, which is a technology for making full use of spectrum bands. In a distributed cognitive radio network, there is a set of channels with different frequencies and two types of spectrum users (i.e., primary users and secondary users). Among them, dedicated frequency channels are allocated to primary users, and secondary users can only use the cognitive radio equipped to sense and utilize those frequency channels that are not currently occupied by primary users. A set of channels sensed by secondary users in this network is called an available channel set. If two adjacent secondary users need to communicate with each other, the prerequisite is that they need to find a common available channel and jump to this common channel at the same time. This problem is called the multi - channel rendezvous problem in cognitive radio networks. A better solution to this problem is to let secondary users find a common general channel in a distributed channel - hopping manner over time. When users in the network have no prior knowledge, this rendezvous problem is also called the blind rendezvous problem.
[0003] Currently, many blind rendezvous algorithms have been proposed, which can ensure that secondary users achieve rendezvous within a limited time. Blind rendezvous algorithms can be classified into different categories according to their assumptions:
[0004] Symmetric role / asymmetric role: This classification is based on whether secondary users can be divided into different roles. In the asymmetric - role model, secondary users are divided into transmitters and receivers, and secondary users generate different channel - hopping sequences according to different roles. In the symmetric - role model, secondary users have the same role, so their channel - hopping sequences are generated according to the same strategy. Since it is impossible to assign a role to each secondary user in a distributed network, the symmetric - role model is more widely used.
[0005] Isomorphic Channels / Heterogeneous Channels: If the available channel sets of secondary users are exactly the same, it is called an isomorphic model; otherwise, it is called a heterogeneous model. If two secondary users are relatively close in geographical distance, they are very likely to have the same available channel set. If two secondary users are far apart, they usually have different available channel sets. These two models generate periodic channel hopping sequences by following the jump and stay pattern. In practical applications, the available channel sets among secondary users are often not exactly the same. Therefore, the heterogeneous channel model is more general and universal.
[0006] Synchronous Clock / Asynchronous Clock: In the synchronous clock model, it is assumed that time is synchronous, and all secondary users can synchronize their time through a common time source (such as GPS). Therefore, they can start the channel hopping process simultaneously. However, in a distributed cognitive radio network, there is no common time source, so it is impossible for secondary users to synchronize their time. Therefore, the asynchronous clock model is more general and practical.
[0007] In summary, it is very difficult to design a blind rendezvous algorithm based on channel hopping in a comprehensive scenario of symmetric roles, heterogeneous channels, and asynchronous clocks. In addition to ensuring that users can rendezvous, two indicators need to be considered: the maximum rendezvous delay (MTTR, that is, the upper bound of the longest time required for users to determine rendezvous) and the average rendezvous delay (ETTR, that is, the average time for users to rendezvous). The MTTR and ETTR indicators of some existing representative algorithms are not satisfactory, which is exactly the goal that this invention aims to improve. Summary of the Invention
[0008] The technical problem to be solved by this invention is to provide a channel hopping blind rendezvous method, a computer device, and a computer-readable storage medium based on multi - base conversion coding, which can achieve fast and efficient user rendezvous.
[0009] To solve the above technical problems, the present invention provides a blind rendezvous method for channel hopping based on multi - base conversion coding, including: the first user selects any first channel from the first available channel set, and the second user selects any second channel from the second available channel set; the first user generates a first pilot sequence according to a preset base mapping table and the first channel, and the second user generates a second pilot sequence according to the preset base mapping table and the second channel; the first user generates a first frequency - hopping sequence matrix according to the base mapping table, the first pilot sequence, the first available channel set and the first channel, and the second user generates a second frequency - hopping sequence matrix according to the base mapping table, the second pilot sequence, the second available channel set and the second channel; the first user generates a first frequency - hopping sequence according to the first frequency - hopping sequence matrix, and the second user generates a second frequency - hopping sequence according to the second frequency - hopping sequence matrix; the first user performs frequency - hopping communication according to the first frequency - hopping sequence, and the second user performs frequency - hopping communication according to the second frequency - hopping sequence until the first user and the second user complete rendezvous.
[0010] As an improvement of the above solution, the step in which the first user / second user generates the first pilot sequence / second pilot sequence according to a preset base mapping table and the first channel / second channel includes: S1, converting the channel number of the first channel / second channel into an (m - 1) - base number q with a length of , where m is the type of base number after conversion by the preset base mapping table, and M is the total number of globally available channels; S2, judging whether is odd. If it is judged to be yes, then add the value "0" to the front end of q to update the value of q, and then enter step S3. If it is judged to be no, then directly enter step S3; S3, grouping the values of q in order from left to right, where each group includes two values; S4, mapping q to an m - base number Q according to the preset base mapping table based on the grouping result; S5, adding the value "m00" to the front end of Q to generate the first pilot sequence / second pilot sequence.
[0011] As an improvement of the above solution, the base mapping table is used to convert a two - digit (m - 1) - base number into a two - digit m - base number.
[0012] As an improvement of the above solution, the generation step of the base mapping table includes: obtaining a two - digit (m - 1) - base number; obtaining a two - digit m - base number, where the first digit of the m - base number cannot be 0 and the first digit is different from the second digit; establishing a mapping relationship between the (m - 1) - base number and the m - base number to generate a base mapping table.
[0013] As an improvement to the above solution, the step in which the first user / second user generates the first frequency hopping sequence matrix / second frequency hopping sequence matrix according to the base mapping table, the first pilot sequence / second pilot sequence, the first available channel set / second available channel set, and the first channel / second channel includes: calculating m mutually prime numbers p0, p1,..., p that increase sequentially, where m is the type of base number after conversion by a preset base mapping table, p0 is the smallest prime number not less than A and B, A is a preset parameter, and B is the number of channels in the first available channel set / second available channel set; constructing an initial matrix according to the mutually prime numbers, the initial matrix including L rows and D columns, where L = [A, p0, p1,..., p m-1 , where D is the length of the first pilot sequence / second pilot sequence; for the first column in the initial matrix, generating matrix elements using the "DRD algorithm"; for the other columns in the initial matrix except the first column, generating matrix elements using the "modulo algorithm". m-1 and
[0014] As an improvement to the above solution, the step of generating matrix elements using the "DRD algorithm" includes: for each matrix element X(t) in the first column, extracting the row number t of the matrix element; if t = 1, 2, 3..., θ - 1 or t mod θ = 0, making X(t) = R, where θ is a variable parameter and R is the channel number of the first channel / second channel; otherwise, making X(t) = w, where w is any channel number in the first available channel set / second available channel set.
[0015] As an improvement to the above solution, the step of generating matrix elements using the "modulo algorithm" includes: adjusting the arrangement order of the channels in the first available channel set / second available channel set; for each matrix element X(t) in the current column, respectively extracting the row number t of the matrix element; if k ≤ B, making X(t) = H, where k = (t - 1) mod f + 1, f is the modulo length of the current column, and H is the channel number corresponding to the kth channel in the current first available channel set / second available channel set; otherwise, making X(t) = w, where w is any channel number in the first available channel set / second available channel set.
[0016] As an improvement to the above solution, the method for obtaining the modulo length f of the current column includes: if the pilot sequence number corresponding to the current column in the first pilot sequence / second pilot sequence is n, then the modulo length of the current column is p n , where n is an integer and 0 ≤ n ≤ m - 1.
[0017] Accordingly, the present invention further provides a computer device, including a memory and a processor, where the memory stores a computer program, and the processor, when executing the computer program, implements the steps of the above-mentioned channel hopping blind rendezvous method based on multi - base conversion coding.
[0018] Accordingly, the present invention further provides a computer - readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the steps of the above - mentioned channel hopping blind rendezvous method based on multi - base conversion coding.
[0019] As can be seen from the above, the present invention combines methods for constructing a base mapping table, a "pilot sequence generation algorithm", a "DRD algorithm", a "modulo algorithm", a "matrix generation algorithm", etc., to form a new channel hopping blind rendezvous method based on multi - base conversion coding. Specifically, the present invention has the following beneficial effects:
[0020] (1) Universality: The applicable scenarios of the present invention are very wide. Under the condition of no common control channel in a distributed cognitive wireless network, users can flexibly generate pilot sequences of different bases only by using a single cognitive radio transceiver in a comprehensive scenario of symmetric roles, asynchronous clocks, and heterogeneous channels, and generate blind rendezvous frequency - hopping sequences according to the pilot sequences, ensuring fast and efficient user rendezvous.
[0021] (2) Efficiency: The present invention uses a special base conversion mapping relationship to improve the efficiency of blind rendezvous, and has excellent effects on two commonly used performance evaluation indicators, MTTR and ETTR.
[0022] (3) Flexibility: The present invention can flexibly select a suitable base mapping table according to specific actual scenarios (such as the number of globally available channels and the number of locally available channels), and has strong flexibility. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 is a flowchart of an embodiment of the channel hopping blind rendezvous method based on multi - base conversion coding of the present invention;
[0024] Figure 2 is a flowchart of generating a pilot sequence in the present invention;
[0025] Figure 3 is a flowchart of generating a frequency - hopping sequence matrix in the present invention;
[0026] Figure 4 is a flowchart of generating matrix elements by using the "DRD algorithm" in the present invention;
[0027] Figure 5is the flowchart of the present invention for generating matrix elements using the "modulo algorithm";
[0028] Figure 6 is a schematic diagram of the maximum rendezvous time between different algorithms;
[0029] Figure 7 is a schematic diagram of the average rendezvous time between different algorithms. Detailed implementation manners
[0030] To make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings.
[0031] See Figure 1 , Figure 1 shows the flowchart of an embodiment of the channel hopping blind rendezvous method based on multi - base conversion coding of the present invention, which includes:
[0032] S1, the first user selects any first channel from the first available channel set, and the second user selects any second channel from the second available channel set;
[0033] S2, the first user generates a first pilot sequence according to a preset base mapping table and the first channel, and the second user generates a second pilot sequence according to the preset base mapping table and the second channel;
[0034] It should be noted that the base mapping table is used to convert a two - digit (m - 1) - base number into a two - digit m - base number. Specifically, the generation steps of the base mapping table include:
[0035] (1) Obtain two - digit (m - 1) - base numbers;
[0036] Correspondingly, there are (m - 1) 2 two - digit (m - 1) - base numbers; for example, when m = 5, there are 16 two - digit 4 - base numbers, which are 00, 01, 02, 03, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33 respectively.
[0037] (2) Obtain two - digit m - base numbers, where the first digit of the m - base number cannot be 0, and the first digit and the second digit are different;
[0038] Correspondingly, there are m 2For example, when m = 5, there are 25 two - digit base - 5 numbers, namely 00, 01, 02, 03, 04, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40, 41, 42, 43, 44. Among them, after deleting "00, 01, 02, 03, 04" where the first digit is 0 and "11, 22, 33, 44" where the first digit is the same as the second digit, there are 16 base - 5 numbers left.
[0039] (3) Establish a mapping relationship between (m - 1) - base numbers and m - base numbers to generate a base mapping table.
[0040] Through analysis, it can be seen that the number of two - digit m - base numbers that meet the above conditions "the first digit cannot be 0, and the first digit is different from the second digit" is (m - 1) 2 exactly, which can form a base mapping table with a bijective relationship with two - digit (m - 1) - base numbers.
[0041] It should be noted that there is no specific relational expression between m - base numbers and (m - 1) - base numbers, which is just a random one - to - one mapping between two different sets. When the specific mapping relationship is randomly determined, the fast conversion between m - base numbers and (m - 1) - base numbers can be realized.
[0042] For example, when m = 5, the corresponding quaternary - quinary mapping table is shown in Table 1 below:
[0043] Table 1
[0044] Quaternary Quinary Quaternary Quinary 00 10 20 30 01 12 21 31 02 13 22 32 03 14 23 34 10 20 30 40 11 21 31 41 12 23 32 42 13 24 33 43
[0045] As Figure 2 shown, the steps for the first user / second user to generate the first pilot sequence / second pilot sequence according to the preset base mapping table and the first channel / second channel include:
[0046] S201, convert the channel number of the first channel / second channel into an (m - 1) - base number q with a length of .
[0047] Among them, m is the base number type after conversion by the preset base mapping table, M is the total number of globally available channels, represents the smallest integer greater than or equal to log (m-1) M.
[0048] S202, determine whether is odd; if the determination result is yes, add the value "0" to the front of q to update the value of q, and then enter step S203; if the determination result is no, directly enter step S203;
[0049] For example, when the channel number of the first channel is 2, m = 5, and M = 6, the channel number "2" of the first channel can be converted into a quaternary number "02" with a length of 2; at the same time, since is an even number, it can directly enter step S203;
[0050] For another example, when the channel number of the first channel is 2, m = 5, and M = 10, the channel number "2" of the first channel can be converted into a quaternary number "002" with a length of 3; at the same time, since is an odd number, "002" can be updated to "0002", and then enter step S203.
[0051] S203, group the values of q in order from left to right;
[0052] wherein each group includes two values. That is to say, every two digits are divided into a group from left to right.
[0053] S204, according to the preset base mapping table, map q to an m - ary number Q according to the grouping result;
[0054] For example, for the quaternary number "02", using the quaternary - quinary mapping table shown in Table 1, it can be converted into a quinary number "13";
[0055] For another example, for the quaternary number "0002", using the quaternary - quinary mapping table shown in Table 1, it can be converted into a quinary number "1013";
[0056] S205, add the value "m00" at the front end of Q to generate the first pilot sequence / second pilot sequence.
[0057] For example, when m = 5, for the quinary number "13", the pilot sequence "50013" can be generated;
[0058] For another example, when m = 5, for the quinary number "13", the pilot sequence "5001013" can be generated.
[0059] It should be noted that since the channel numbers of the first channel and the second channel both need to be converted into an (m - 1) - ary number q with a length of and the total number of globally available channels M of the first channel and the second channel is the same, therefore, the lengths of the first pilot sequence and the second pilot sequence generated are the same.
[0060] Therefore, through the "pilot sequence generation algorithm" recorded in steps S201 - 205, the first user and the second user can respectively generate the first pilot sequence and the second pilot sequence with the same length.
[0061] S3. The first user generates a first frequency hopping sequence matrix according to the radix mapping table, the first pilot sequence, the first available channel set, and the first channel, and the second user generates a second frequency hopping sequence matrix according to the radix mapping table, the second pilot sequence, the second available channel set, and the second channel;
[0062] As Figure 3 shown, the steps for the first user / second user to generate the first frequency hopping sequence matrix / second frequency hopping sequence matrix according to the radix mapping table, the first pilot sequence / second pilot sequence, the first available channel set / second available channel set, and the first channel / second channel include:
[0063] S301. Calculate m mutually prime numbers p0, p1,..., p m-1 ;
[0064] where m is the type of radix number after conversion by the preset radix mapping table, p0 is the smallest prime number not less than A and B, A is a preset parameter, and B is the number of channels in the first available channel set / second available channel set; preferably, A = 5.
[0065] It should be noted that the number of mutually prime numbers is related to the selected radix mapping table. When the four-five radix mapping table is selected, m = 5, and correspondingly, 5 mutually prime numbers p0, p1, p2, p3, p4 are generated, where p0 < p1 < p2 < p3 < p4. Preferably, p0 = 5, p1 = 7, p2 = 8, p3 = 9, p4 = 10, but it is not limited thereto and can be adjusted according to the actual situation.
[0066] S302. Construct an initial matrix according to the mutually prime numbers;
[0067] where the initial matrix includes L rows and D columns; L = [A, p0, p1,..., p m-1 , that is, L is the least common multiple of A, p0, p1,..., p m-1 ; D is the length of the first pilot sequence / second pilot sequence;
[0068] S303. For the first column in the initial matrix, generate matrix elements using the "DRD algorithm";
[0069] As Figure 4 shown, the steps for generating matrix elements using the "DRD algorithm" include:
[0070] (1) For each matrix element X(t) in the first column, extract the row number t of the matrix element;
[0071] (2) If t = 1, 2, 3..., θ - 1 or t mod θ = 0, make X(t) = R;
[0072] Among them, θ is a variable parameter, and R is the channel number of the first channel / second channel; preferably, θ can take values between 2 and 7, but it is not limited thereto.
[0073] (3) Otherwise, let X(t) = w.
[0074] Among them, w is any channel number in the first available channel set / second available channel set.
[0075] For example, when θ = 5, R = 2, and t = 1 or t = 2 or t = 3 or t = 4 or t = 5 (i.e., 5 mod 5 = 0), the first matrix element X(1) in the first column is 2, the second matrix element X(2) in the first column is 2, the third matrix element X(3) in the first column is 2, the fourth matrix element X(4) in the first column is 2, and the fifth matrix element X(5) in the first column is 2.
[0076] Another example, when θ = 5, R = 2, and t = 6 (i.e., 6 mod 5 = 1), the sixth matrix element X(6) in the first column is w.
[0077] Therefore, the frequency hopping sequence {X(t), t = 1, 2, 3..., L} can be generated through the "DRD algorithm", where X(t) ∈ "available channel set".
[0078] S304. For other columns in the initial matrix except the first column, the "modulo algorithm" is respectively used to generate matrix elements.
[0079] As Figure 5 shown, the steps of generating matrix elements by using the "modulo algorithm" include:
[0080] (1) Adjust the arrangement order of each channel in the first available channel set / second available channel set;
[0081] It should be noted that each time a column of matrix elements is generated, the arrangement order of each channel in the first available channel set / second available channel set is adjusted once;
[0082] For example, if the initial sorting of the first available channel set is C i = {1, 2, 3}, the adjusted sorting can be C i = {2, 1, 3} or C i = {3, 2, 1} or C i = {1, 3, 2}.
[0083] (2) For each matrix element X(t) in the current column, respectively extract the row number t of the matrix element;
[0084] (3) If k ≤ B, then let X(t) = H;
[0085] Wherein, k = (t - 1) mod f + 1, f is the modulo length of the current column, and H is the channel number corresponding to the k-th channel in the current first available channel set / second available channel set;
[0086] (4) Otherwise, set X(t) = w.
[0087] Wherein, w is any channel number in the first available channel set / second available channel set.
[0088] For example, when B = 3, f = 5, t = 1 (i.e., k = 0 mod 5 + 1 = 1 ≤ 3) or t = 2 (i.e., k = 1 mod 5 + 1 = 2 ≤ 3) or t = 3 (i.e., k = 2 mod 5 + 1 = 3 ≤ 3), the first matrix element X(1) in the second column = "the channel number corresponding to the 1st channel in the first available channel set", the second matrix element X(2) in the second column = "the channel number corresponding to the 2nd channel in the first available channel set", and the third matrix element X(3) in the second column = "the channel number corresponding to the 3rd channel in the first available channel set".
[0089] For another example, when B = 3, f = 5, t = 4 (i.e., k = 3 mod 5 + 1 = 4 > 3) or t = 5 (i.e., k = 4 mod 5 + 1 = 5 > 3), the fourth matrix element X(4) in the second column = w, and the fifth matrix element X(4) in the second column = w.
[0090] Therefore, the frequency hopping sequence {X(t), t = 1, 2, 3..., L} can be generated through the "modulo algorithm", and X(t) ∈ "available channel set".
[0091] Furthermore, the method for obtaining the value of the modulo length f of the current column includes: if the leading sequence number corresponding to the current column in the first leading sequence / second leading sequence is n, then the modulo length of the current column is p n . Wherein, n is an integer and 0 ≤ n ≤ m - 1.
[0092] For example, when p0 = 5, p1 = 7, p2 = 8, p3 = 9, p4 = 10, if the leading sequence calculated in step S2 is "50013", then the leading sequence number n corresponding to the second column = 0, and its corresponding modulo length is p0 = 5; then the leading sequence number n corresponding to the second column = 0, and its corresponding modulo length is p0 = 5; then the leading sequence number n corresponding to the third column = 0, and its corresponding modulo length is p0 = 5; then the leading sequence number n corresponding to the fourth column = 1, and its corresponding modulo length is p1 = 7; then the leading sequence number n corresponding to the fifth column = 3, and its corresponding modulo length is p3 = 9.
[0093] Therefore, through the "matrix generation algorithm" recorded in steps S301 - 304, the first user and the second user can respectively generate the first frequency hopping sequence matrix and the second frequency hopping sequence matrix.
[0094] S4. The first user generates a first frequency hopping sequence according to the first frequency hopping sequence matrix, and the second user generates a second frequency hopping sequence according to the first frequency hopping sequence matrix.
[0095] Specifically, the first user connects the first frequency hopping sequence matrix row by row in sequence to obtain the final first frequency hopping sequence; similarly, the second user connects the second frequency hopping sequence matrix row by row in sequence to obtain the final second frequency hopping sequence.
[0096] S5. The first user performs frequency hopping communication according to the first frequency hopping sequence, and the second user performs frequency hopping communication according to the second frequency hopping sequence until the first user and the second user complete rendezvous.
[0097] As can be seen from the above, the present invention combines methods such as the construction method of the radix mapping table, the "pilot sequence generation algorithm", the "DRD algorithm", the "modulo algorithm", the "matrix generation algorithm", etc., to form a new blind rendezvous method for channel hopping based on multi - radix conversion coding.
[0098] Correspondingly, the present invention also discloses a computer device, including a memory and a processor. The memory stores a computer program. Among them, when the processor executes the computer program, the steps of the above - mentioned blind rendezvous method for channel hopping based on multi - radix conversion coding are implemented. At the same time, the present invention also discloses a computer - readable storage medium, on which a computer program is stored. Among them, when the computer program is executed by the processor, the steps of the above - mentioned blind rendezvous method for channel hopping based on multi - radix conversion coding are implemented.
[0099] The following further describes the present invention in detail with specific embodiments:
[0100] Step 1: According to the generation steps of the radix mapping table, let m = 5, and pre - construct a quaternary - quinary mapping table:
[0101] Quaternary Quinary Quaternary Quinary 00 10 20 30 01 12 21 31 02 13 22 32 03 14 23 34 10 20 30 40 11 21 31 41 12 23 32 42 13 24 33 43
[0102] Step 2: Assume that the global channel is C = {1, 2, 3, 4, 5, 6}, that is, the total number of globally available channels M = 6; assume that the first available channel set of the first user i is C i = {1, 2, 3}, that is, the number of channels B i in C i = 3, and assume that the first user i randomly selects the channel C j = {2} as the first channel; assume that the second available channel set of the second user j is C j = {1, 4, 5, 6}, that is, Cj The number of channels B in j = 4, and assume that the second user j randomly selects channel C j = {4} as the second channel.
[0103] Step 3: The first user i uses the "pilot sequence generation algorithm" to generate the first pilot sequence "50013", and the second user j uses the "pilot sequence generation algorithm" to generate the second pilot sequence "50020". The specific calculation process is as follows:
[0104] The channel number "2" of the first channel is converted to the quaternary number "02", and according to the quaternary - quinary mapping table, the quaternary number "02" is converted to the quinary number "13". Then, the value "500" is added to the front of the quinary number "13" to form the first pilot sequence "50013";
[0105] Similarly, the channel number "4" of the second channel is converted to the quaternary number "10", and according to the quaternary - quinary mapping table, the quaternary number "10" is converted to the quinary number "20". Then, the value "500" is added to the front of the quinary number "20" to form the second pilot sequence "50020".
[0106] Step 4, the first user i and the second user j respectively calculate their respective first frequency - hopping sequence matrices CH i and the second frequency - hopping sequence matrix CH j . Among them, the partial matrix structure of CH i is shown in Table 2, and the partial matrix structure of CH j is shown in Table 3:
[0107] Table 2
[0108] 2 1 2 3 1 2 2 1 2 3 2 3 3 1 2 2 w w w w 2 w w w w w 1 2 w w w 2 1 w w w 3 3 3 w w w w 2 w 2 w w 1 1 w 1 2 w 3 w 2 1 w 2 w 3 3 w w w w w w w 2 w w 3 w w 1 2 2 w w 2 1 1 w w 3 3 w w w w w w 1
[0109] Table 3
[0110]
[0111]
[0112] The specific calculation process is as follows:
[0113] CH i For the first column of, the "DRD algorithm" is used. Assume that the variable parameter θ = 5, then the sequence of the first column is 22222wwww2wwww2wwww..., where w is any channel number in the first available channel set, indicating a channel randomly selected from C i = {1, 2, 3}, and each w can be different, that is, w = 1 or 2 or 3; Similarly, CH jThe first column of j adopts the "DRD algorithm". Assuming the variable parameter θ = 5, the sequence of the first column is 44444wwww4wwww4wwww..., where w is any channel number in the second available channel set, representing a channel randomly selected from C
[0114] CH i The second, third, fourth, and fifth columns of i adopt the "modulo algorithm". Assuming p0 = 5, p1 = 7, p2 = 8, p3 = 9, p4 = 10; where the leading sequence number corresponding to the second column in the first leading sequence "50013" is "0", that is, f = p0 = 5, then the sequence of the second column is 123ww123ww123ww123w...; the leading sequence number corresponding to the third column in the first leading sequence "50013" is "0", that is, f = p0 = 5, then the sequence of the third column is 213ww213ww213ww213w...; the leading sequence number corresponding to the fourth column in the first leading sequence "50013" is "1", that is, f = p1 = 7, then the sequence of the fourth column is 321wwww321wwww321ww...; the leading sequence number corresponding to the fifth column in the first leading sequence "50013" is "3", that is, f = p3 = 9, then the sequence of the fifth column is 132wwwwww132wwwwww1...; w is any channel number in the first available channel set, representing a channel randomly selected from C
[0115] Similarly, j the second, third, fourth, and fifth columns of j adopt the "modulo algorithm". Among them, the leading sequence number corresponding to the second column in the second leading sequence "50020" is "0", that is, f = p0 = 5, then the sequence of the second column is 4156w4156w4156w4156...; the leading sequence number corresponding to the third column in the first leading sequence "50020" is "0", that is, f = p0 = 5, then the sequence of the third column is 5146w5146w5146w5146...; the leading sequence number corresponding to the fourth column in the first leading sequence "50020" is "2", that is, f = p2 = 8, then the sequence of the fourth column is 1645wwww1645wwww164...; the leading sequence number corresponding to the fifth column in the first leading sequence "50020" is "0", that is, f = p0 = 5, then the sequence of the fifth column is 6541w6541w6541w6541...; w is any channel number in the second available channel set, representing a channel randomly selected from C
[0116] It should be noted that each time a column of matrix elements is generated, the arrangement order of each channel in the first available channel set / second available channel set is adjusted; in this embodiment, CH i The first available channel set corresponding to the second column is C i ={1, 2, 3}, CH i The first available channel set corresponding to the third column is C i ={2, 1, 3}.
[0117] Step five, connect CH i in sequence by rows, then the final channel hopping sequence obtained is Z i ={2, 1, 2, 3, 1, 2, 2, 1, 2, 3, 2, 3, 3, 1, 2, 2, w, w, w, w,......}; similarly, connect CH j in sequence by rows, then the final channel hopping sequence obtained is Z j ={4, 4, 5, 1, 6, 4, 1, 4, 6, 5, 4, 5, 1, 4, 4, 4, 6, 6, 5, 1,......}. Finally, the two try to perform channel rendezvous.
[0118] The following uses simulation experiments to further describe the present invention in detail:
[0119] Embodiment 6
[0120] The simulation experiment is carried out by using the "channel jump blind rendezvous method based on multi - base conversion coding" of the present invention, that is, the "QCMS - CH" algorithm. Among them, in the present invention, the total number of globally available channels M = 200 is set, and a part of the channels are randomly selected from the globally available channels to form the available channel set of each node; on average, each node has θ×M (0≤θ≤1) available channels; it is set that for the first time, θ of user A A = 0.1, and for the second time, θ of user B B varies from 0.1 to 0.55, and the number of common available channels between the two users is 1. During the experiment, it is independently run 30000 times in each case, and the average value is taken.
[0121] Comparative Example 1
[0122] The "ABIO" algorithm is independently run 30,000 times in each case, and the average value is taken; among them, for the "ABIO" algorithm, see the document: Yang B, Liu M, Li Z. "Rendezvous on the Fly: Efficient Neighbor Discovery for Autonomous UAVs". IEEE Journal on Selected Areas in Communications, vol. 36, no. 9, pp. 2032 - 2044, 2018;
[0123] Comparative Example 2
[0124] The "EEA" algorithm is independently run 30,000 times in each case, and the average value is taken; among them, for the "EEA" algorithm, see the document: Y.C. Chang, C.S. Chang, and J.P. Sheu, "An enhanced fast multi-radio rendezvous algorithm in heterogeneous cognitive radio networks," IEEE Transactions on Cognitive Communications and Networking, vol. 4, no. 4, pp. 848 - 859, 2018.
[0125] Comparative Example 3
[0126] The "QR" algorithm is independently run 30,000 times in each case, and the average value is taken; among them, for the "QR" algorithm, see the document: Chang C.S, Chang Y.C, Sheu J.P. "A Quasi-random Algorithm for Anonymous Rendezvous in Heterogeneous Cognitive Radio Networks", arXiv preprint arXiv:1902.06933, 2019;
[0127] Comparative Example 4
[0128] The "IQSF-CH" algorithm is independently run 30,000 times in each case, and the average value is taken; among them, for the "IQSF-CH" algorithm, see the document: A.M. Al-Mqdashi, A. Sali, N.K. Noordin, S.J. Hashim, and R. Nordin, "Efficient matrix-based channel hopping schemes for blind rendezvous in distributed cognitive radio networks," Sensors, vol. 18, no. 12, 2018.
[0129] Comparative Example 5
[0130] The "QECH" algorithm is independently run 30,000 times in each case, and the average value is taken; among them, for the "QECH" algorithm, see the document: Z.Q. Zhang, B. Yang, M. Liu, Z.C. Li, and X.B. Guo, "A quaternary-encoding-based channel hopping algorithm for blind rendezvous in distributed IoTs," IEEE Transactions on Communications, vol. 67, no. 10, pp. 7316 - 7330, 2019.
[0131] Combined with Figure 6 、 7 As shown, by adopting the "channel hopping blind rendezvous method based on multi - base conversion coding" disclosed in the present invention, that is, the "QCMS-CH" algorithm, both its maximum rendezvous time (MTTR) and average rendezvous time (ETTR) exceed other existing methods.
[0132] In summary, the present invention has the following beneficial effects:
[0133] (1) Universality: The applicable scenarios of the present invention are very wide. Under the condition of no common control channel in a distributed cognitive radio network, users can flexibly generate pilot sequences of different bases only by using a single cognitive radio transceiver in the comprehensive scenario of symmetric roles, asynchronous clocks, and heterogeneous channels, and generate blind rendezvous frequency hopping sequences according to the pilot sequences, ensuring fast and efficient user rendezvous.
[0134] (2) High efficiency: The present invention utilizes a special conversion mapping relationship of number systems to improve the efficiency of blind rendezvous, and has excellent effects on two commonly used performance evaluation indicators, MTTR and ETTR.
[0135] (3) Flexibility: The present invention can flexibly select a suitable number system mapping table according to specific actual scenarios (such as the number of globally available channels and the number of locally available channels), and has strong flexibility.
[0136] The above is the preferred embodiment of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and modifications can be made, and these improvements and modifications are also considered within the protection scope of the present invention.
Claims
1. A blind rendezvous method for channel hopping based on multi - base conversion coding, characterized in that, Including: The first user selects any first channel from the first set of available channels, and the second user selects any second channel from the second set of available channels; The first user generates a first pilot sequence according to a preset base mapping table and the first channel, and the second user generates a second pilot sequence according to the preset base mapping table and the second channel; the base mapping table is used to convert a two-digit (m - 1)-ary number into a two-digit m-ary number, the first digit of the m-ary number cannot be 0, and the first digit and the second digit are different; The first user generates a first frequency hopping sequence matrix according to the base mapping table, the first pilot sequence, the first set of available channels and the first channel, and the second user generates a second frequency hopping sequence matrix according to the base mapping table, the second pilot sequence, the second set of available channels and the second channel; The first user generates a first frequency hopping sequence according to the first frequency hopping sequence matrix, and the second user generates a second frequency hopping sequence according to the second frequency hopping sequence matrix; The first user performs frequency hopping communication according to the first frequency hopping sequence, and the second user performs frequency hopping communication according to the second frequency hopping sequence until the first user and the second user complete rendezvous; The step in which the first user / second user generates a first pilot sequence / second pilot sequence according to a preset base mapping table and the first channel / second channel includes: S1, converting the channel number of the first channel / second channel into an (m-1)-ary number q with a length of , where m is the type of base number after conversion by the preset base mapping table, and M is the total number of globally available channels; S2, determining whether is odd. If it is determined to be yes, then add the value "0" to the front end of q to update the value of q, and then enter step S3. If it is determined to be no, then directly enter step S3; S3, group the values of q in order from left to right, where each group includes two values; S4, according to the preset base mapping table, map q to an m-ary number Q according to the grouping result; S5, add the value "m00" to the front end of Q to generate the first pilot sequence / second pilot sequence; The steps for the first user / second user to generate the first frequency hopping sequence matrix / second frequency hopping sequence matrix according to the base mapping table, the first pilot sequence / second pilot sequence, the first available channel set / second available channel set, and the first channel / second channel include: calculating m mutually prime numbers p0, p1,..., p that increase sequentially, where m is the type of base number after conversion by a preset base mapping table, p0 is the smallest prime number not less than A and B, A is a preset parameter, and B is the number of channels in the first available channel set / second available channel set; constructing an initial matrix according to the mutually prime numbers, the initial matrix including L rows and D columns, where L = [A, p0, p1,..., p m-1 , D is the length of the first pilot sequence / second pilot sequence; for the first column in the initial matrix, using the "DRD algorithm" to generate matrix elements; for the other columns except the first column in the initial matrix, using the "modulo algorithm" to generate matrix elements respectively; m-1 The steps of generating matrix elements by using the "DRD algorithm" include: for each matrix element X(t) in the first column, extract the row number t of the matrix element; if t = 1, 2, 3..., θ - 1 or t mod θ = 0, make X(t) = R, where θ is a variable parameter and R is the channel number of the first channel / second channel; otherwise, make X(t) = w, where w is any channel number in the first set of available channels / second set of available channels; The steps of generating matrix elements by using the "modulo algorithm" include: adjusting the arrangement order of each channel in the first set of available channels / second set of available channels; for each matrix element X(t) in the current column, respectively extract the row number t of the matrix element; if k ≤ B, make X(t) = H, where k = (t - 1) mod f + 1, f is the modulo length of the current column, and H is the channel number corresponding to the kth channel in the current first set of available channels / second set of available channels; otherwise, make X(t) = w, where w is any channel number in the first set of available channels / second set of available channels; The method for obtaining the modulo length f of the current column includes: if the guiding serial number corresponding to the current column in the first guiding sequence / second guiding sequence is n, then the modulo length of the current column is p n , where n is an integer and 0 ≤ n ≤ m - 1.
2. The channel hopping blind rendezvous method based on multi - base conversion coding according to claim 1, wherein, The steps of generating the base mapping table include: Obtain a two-digit (m - 1)-ary number; Obtain a two-digit m-ary number; Establish a mapping relationship between the (m - 1)-ary number and the m-ary number to generate a base mapping table.
3. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 2.
4. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method according to any one of claims 1 to 2.
Citation Information
Patent Citations
Cognitive radio blind convergence method based on available channel set
CN108649995A
Anonymous frequency hopping sequence design method suitable for multi-antenna cognitive wireless network
CN114726402A