Frequency hopping communication method based on calculating correlation function using sequence column index array

By efficiently calculating the relevant functions of sequences in frequency hopping communication systems through the method based on sequence sequence index array, the problems of computational complexity and low efficiency in the prior art are solved, and fast and accurate sequence performance verification is achieved, ensuring system interference. Resistance.

CN116232380BActive Publication Date: 2024-12-27NANJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310352690.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-04
Publication Date
2024-12-27
Estimated Expiration
2043-04-04

AI Technical Summary

Technical Problem

In the prior art, the correlation function process of calculating sequences is complicated and inefficient, especially when the matrix order is large, errors are prone to occur, and it is difficult to quickly and accurately verify whether the sequence has ideal autocorrelation performance and lowest cross-correlation performance for hopping. frequency communication system.

Method used

Using a method based on sequence column index array, using one-dimensional array as column index array, simulate the translation of the matrix through Right and Up variables, and use count variables to count the overlapping number of the matrix to realize efficient calculation of the sequence and verify whether the sequence has good results. autocorrelation characteristics and lowest cross-correlation characteristics.

Benefits of technology

Improves computing efficiency and accuracy, can quickly and accurately verify the correlation performance of the sequence, ensure that the sequences used in frequency hopping communication systems have ideal autocorrelation and cross-correlation characteristics, thereby effectively overcoming multipath propagation interference and multi-population of signals Switch interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116232380B_ABST
    Figure CN116232380B_ABST
Patent Text Reader

Abstract

Based on the frequency hopping communication method of calculating the correlation function using the sequence column index array, a one-dimensional array is used as the column index array to represent the two-dimensional sequence, the Right variable and the Up variable are used as loop variables to simulate the horizontal and vertical translation of the second matrix in the graphic method, and the count variable is used to count the number of coincidences of the "1" cells of the first matrix after the second matrix moves horizontally to the right and vertically upward. The function of calculating the correlation function of the sequence can be realized by C language program. This method has high calculation efficiency and can ensure the calculation accuracy even when the length of the column index array of the sequence is large; the autocorrelation function and cross-correlation function of the sequence can be calculated quickly and accurately, and then it can be verified whether the sequence has sharp autocorrelation and low cross-correlation. If so, it can be used as the best frequency hopping diagram, and these sequences can be used as ideal frequency hopping sequences in the frequency hopping communication system to control the local oscillator signal of the frequency synthesizer output frequency hopping.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of frequency hopping communication technology and data processing, and in particular to a frequency hopping communication method based on calculating a correlation function using a sequence column index array. Background Art

[0002] Multipath interference and Doppler shift are common "chronic diseases" in mobile communication systems, especially Doppler shift interference, which has not been well solved. It is also the "cancer" of mobile communication. If the best frequency hopping pattern is applied to the frequency hopping communication system, the signal generated by the user has a sharp autocorrelation and a low cross-correlation, which can overcome the interference of multipath propagation, Doppler shift interference and interference between users. Such a system is "immune" to the interference of Doppler shift. Therefore, one of the key technologies of the frequency hopping communication system is to reasonably design the user's frequency hopping pattern. The ideal frequency hopping sequence needs to have good autocorrelation performance to reduce the interference caused by multipath propagation and reduce the bit error rate. At the same time, it must have a low cross-correlation to reduce interference from other users and improve the data transmission rate and system throughput.

[0003] In the prior art, the correlation characteristics of a sequence can be studied through the autocorrelation and cross-correlation functions of the sequence. Since the calculation process of the correlation function of the sequence is relatively complex, the calculation process and results of the correlation function can be clearly demonstrated by using a graphical method.

[0004] Suppose there are two n-order permutation matrices P and P′. Use sequences to represent the two matrices. Use graphics software to simulate and draw these two sequences. In the two sequences, small black squares are used to represent the positions of "1". Figure 1 As shown, in the iOj coordinate plane, the matrix P is fixed, and the matrix P′ is moved. It is stipulated that the delay τ of P′ moving to the right is positive, and the delay τ of P′ moving to the left is negative; moving upward indicates that the Doppler frequency shift d is positive, and moving downward indicates that the Doppler frequency shift d is negative. Suppose that the matrix P′ moves τ units in the i-axis direction ((-n+1≤τ≤n-1) and d units in the j-axis direction (-n+1≤d≤n-1). After each movement, the number of overlaps between the "1" cells of the matrix P′ and the matrix P (also called the collision number) is denoted by R PP' (τ,d) (or hits), R PP' (τ, d) is called the discrete cross-correlation function of the matrices P and P′. The cross-correlation function has no main lobe. If P and P′ are two identical matrices, the discrete autocorrelation function is obtained, denoted by R P (τ,d). Obviously, R P (τ,d)=R P(-τ, -d). The resulting correlation function matrix is ​​a 2n-1 order matrix with a horizontal coordinate of (-n+1≤τ≤n-1) and a vertical coordinate of (-n+1≤d≤n-1). Figure 1 In, P=P′, (τ,d)=(1,1), R P (τ, d) = 1. In the above process, although the graphical method is clear and concise in calculating the correlation function of the sequence, the calculation workload is large, the calculation speed is slow and the efficiency is low, and when the matrix order is large, errors are prone to occur.

[0005] Frequency hopping spread spectrum is a type of spread spectrum modulation. In a frequency hopping communication system, a frequency hopping sequence is required to control the hopping of the carrier frequency. The ideal frequency hopping sequence should be a sequence with both sharp autocorrelation characteristics and low cross-correlation characteristics.

[0006] Fig.17 The general process of frequency hopping modulation and demodulation is shown. At the transmitter, the information is first modulated to a frequency of f s The frequency hopping sequence takes out the frequency control code from the frequency hopping frequency table to control the frequency synthesizer to output the local oscillator signal with frequency hopping at different times. It is used to perform frequency conversion on the modulated signal so that the frequency of the RF signal after frequency conversion hops according to the frequency hopping sequence, which is the frequency hopping signal. At the receiving end, the local frequency hopping sequence consistent with the transmitter frequency hopping sequence takes out the frequency control code from the frequency hopping frequency table to control the frequency synthesizer so that the output local oscillator signal frequency hops accordingly according to the frequency hopping sequence. The hopping local oscillator signal converts the received frequency hopping signal and moves the frequency back to f s , realizing de-hopping. The modulated signal after de-hopping is coherently demodulated under the action of the local carrier to restore the original baseband information. Summary of the invention

[0007] The purpose of the present invention is to improve the efficiency of calculating the correlation function of a sequence to verify whether they can be applied to a frequency hopping communication system as an ideal frequency hopping sequence, and propose a frequency hopping communication method based on using a sequence column index array to calculate the correlation function, use a one-dimensional array as a column index array to represent a two-dimensional sequence, use the Right variable and the Up variable as loop variables to simulate the horizontal and vertical translation of the second matrix in the graphical method, respectively, and use the count variable to count the number of coincidences between the second matrix and the "1" cell of the first matrix after the second matrix is ​​horizontally moved to the right by Right and vertically moved up by Up. The function of calculating the correlation function of the sequence can be realized by a C language program.

[0008] A frequency hopping communication method based on calculating a correlation function using a sequence column index array comprises the following steps:

[0009] Step 1, according to the input setting, the input method to be adopted includes input method 1 is direct input method, input method 2 is primitive element method to generate Welch structure, input method 3 is direct input with a gap row structure, input method 4 is primitive element method to generate Golomb structure, and input method 5 is direct input with a gap column structure;

[0010] Step 2: For the two sequences to be processed, select the input mode respectively, and input the two sequence column index arrays and the row and column numbers of the corresponding matrices or the parameters required for the primitive element method to generate the Costas sequence. For input modes 1, 2, and 4, proceed to step 3; for input mode 3, proceed to step 4; for input mode 5, proceed to step 5;

[0011] Step 3: For sequences in the same row and column, use input methods 1, 2, and 4 to move the matrix horizontally and vertically, count the number of coincidences corresponding to each position of the matrix, and calculate the correlation function and the maximum value of the correlation function and its position;

[0012] Step 4: For a sequence with gap rows, use input method 3 to calculate the correlation function and the maximum value of the correlation function and its position according to the number of gap rows by moving the matrix horizontally and vertically.

[0013] Step 5, for sequences with gap columns, use input mode 5. When inputting the column index array, the value corresponding to the gap column in the first matrix is ​​a positive integer greater than or equal to twice the number of rows of the matrix. The value corresponding to the gap column in the second matrix needs to be greater than or equal to the value of the gap column in the first matrix plus the number of rows of the matrix. By moving the matrix horizontally and vertically, calculate the correlation function and the maximum value of the correlation function and its position.

[0014] Step 6, determine whether to continue the loop, if yes, return to step 1, if no, end and complete the calculation of related functions;

[0015] Step 7, check all the calculated correlation functions. If the maximum value of the autocorrelation function sidelobe is 1 and the maximum value of the cross-correlation function is 1, it means that these sequences used to calculate the correlation functions have good correlation characteristics. They are used as frequency hopping sequences to control the frequency synthesizer to output a local oscillator signal with frequency hopping, and the modulated signal is frequency converted so that the frequency of the RF signal after frequency conversion hops according to the frequency hopping sequence, thereby obtaining a frequency hopping signal.

[0016] The beneficial effects achieved by the present invention are:

[0017] (1) This method can directly obtain the calculation results of the correlation function after inputting two sequences, and its calculation efficiency is higher than that of the graphical method.

[0018] (2) When the length of the sequence column index array is large, the calculation speed and efficiency can also be guaranteed, and the calculation accuracy is high.

[0019] (3) After quickly and accurately calculating the correlation function of the sequence, it can be verified whether the sequence has ideal autocorrelation performance and minimum cross-correlation performance. If so, it is considered to be the best frequency hopping pattern. These sequences can be used as ideal frequency hopping sequences in the frequency hopping communication system to control the local oscillator signal of the frequency synthesizer output frequency hopping. This provides convenience for verifying whether the sequence is an ideal frequency hopping sequence.

[0020] (4) If the frequency hopping sequence used in the frequency hopping communication system is ideal, it can effectively overcome the multipath propagation interference and Doppler frequency shift interference of the signal and the interference between users. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 It is a schematic diagram of the graphical method of the sequence correlation function in the background technology of the present invention.

[0022] Figure 2 It is a flowchart of a program in an embodiment of the present invention.

[0023] Figure 3 A program diagram of a function for creating a sequence column index array in an embodiment of the present invention.

[0024] Figure 4 This is a program diagram for calculating the correlation function of two matrices with the same row and column in an embodiment of the present invention.

[0025] Figure 5 A program diagram of a function for realizing additional functions in an embodiment of the present invention.

[0026] Figure 6 This is a program diagram for calculating the correlation function of two matrices with gap rows in an embodiment of the present invention.

[0027] Figure 7 This is a program diagram for calculating the correlation function of two matrices with gap columns in an embodiment of the present invention.

[0028] Figure 8 The figure is a program diagram of the input method of a matrix with one gap row in an embodiment of the present invention.

[0029] Fig. 9 A program diagram of an input method of a matrix with one gap column in an embodiment of the present invention.

[0030] Fig.10 It is a schematic diagram of a Golomb Costas sequence cyclically shifted in the vertical direction and its cross-correlation function in an embodiment of the present invention.

[0031] Fig.11 The diagram is a running process diagram of calculating the correlation matrix of two matrices with gap rows in an embodiment of the present invention.

[0032] Fig.12 It is a schematic diagram of a Golomb Costas sequence cyclically shifted in the horizontal direction and its cross-correlation function in an embodiment of the present invention.

[0033] Fig.13 This is a diagram of the operation process of calculating the correlation function of two matrices with gap columns in an embodiment of the present invention.

[0034] Fig.14 Schematic diagram of a Golomb Costas sequence cyclically shifted in the horizontal and vertical directions and its cross-correlation function in an embodiment of the present invention.

[0035] Fig.15 The diagram is a running process diagram of calculating the correlation function of two matrices with gap rows and gap columns in an embodiment of the present invention.

[0036] Fig.16 Schematic diagram of a permutation matrix representing a sequence in an embodiment of the present invention.

[0037] Fig.17 It is a diagram of the frequency hopping communication modulation and demodulation process in an embodiment of the present invention. DETAILED DESCRIPTION

[0038] The technical solution of the present invention is further described in detail below in conjunction with the accompanying drawings.

[0039] First, in order to more clearly explain the specific embodiment process of the method, the following description is made: (1) The sequence has a two-dimensional structure on the time-frequency plane, so a sequence can be represented by a permutation matrix with the horizontal axis being time and the vertical axis being frequency. Each sequence corresponds to a permutation matrix. Fig.16 As shown, the horizontal axis represents time and the vertical axis represents frequency. The sequence is {1,2,3,4,5,6}. (2) The permutation matrix is ​​a square matrix in which each row and each column has only one value of 1, and the others are all 0. The permutation matrix is ​​a graphical representation of the permutation sequence. (3) The Costas sequence is a type of permutation sequence. There are two algebraic construction methods of Costas sequences: Welch and Golomb. If the sidelobe values ​​of the autocorrelation function of the n-order permutation matrix P are all less than or equal to 1, that is, it has a sharp autocorrelation characteristic, then the permutation matrix is ​​a Costas sequence. (4) The column index array of the sequence is the row where the element "1" is located in each column of the sequence. The function void CreateMatrix(int**Matrix,intDimension) below has relevant instructions. For example, Fig.10 Middle C1 The column index array is [8,5,4,6,7,3,1])

[0040] To calculate the correlation function of two sequences, one must first know the placement functions or column index values ​​of the two sequences, generate the two sequences using a computer, and then calculate the correlation function of the two sequences.

[0041] The present invention provides five ways of inputting sequences. Figure 2 It is a program flow chart that implements sequence-related functions in C language.

[0042] When creating a matrix, a one-dimensional placement function is used to represent the matrix, and a sequence can be assigned. The dynamic allocation method is used to allocate memory to the one-dimensional array. This one-dimensional array represents the one-dimensional column index value used to represent the matrix. In this way, after assigning values ​​to two sequences, the computer can calculate the related functions of the two sequences. Among them, the function void CreateMatrix (int**Matrix, int Dimension) that implements the function of creating a sequence column index array is as follows Figure 3 The user inputs a total of positive integers, the number of matrix columns (Dimension variable). Each positive integer represents the row (Row variable) where the element "1" is located in each column of the sequence. The one-dimensional array stores the row where "1" is placed in each column.

[0043] Figure 4 The code is to implement the calculation function of the correlation function of the sequence in the same row and column void ccMatrix(int**Matrix,int Dimension,int*Matrix1,int*Matrix2), where the count variable is the variable that counts the number of coincidences corresponding to each position in the correlation matrix.

[0044] The Right variable represents the distance the second matrix moves to the right horizontally, and the Up variable represents the distance the second matrix moves upward vertically. The count variable is used to count the number of overlapping "1" cells of the two matrices. Each time the second matrix moves to a new position, it must be immediately reset to 0, and then the number of overlaps of the two matrices is counted. Using the Right and Up variables as the loop variables of the two for loops, you can simulate the horizontal and vertical movement of the second matrix.

[0045] The k variable indicates the range of subscripts in the column index array of the first matrix that need to calculate the number of overlapped "1" cells in the two matrices when the second matrix moves Right and Up, that is, the range of columns where "1" cells in the first matrix may overlap with "1" cells in the second matrix after the move. When Right is greater than or equal to 0, that is, the second matrix moves right horizontally, the range of k is Right to the number of matrix columns minus 1; when Right is less than 0, that is, the second matrix moves left horizontally, the range of k is 0 to the number of matrix columns minus 1 plus Right. Matrix2[k-Right] means that after the second matrix moves horizontally, within the range of columns to be calculated, there are rows of "1" in each column. On this basis, adding Up can indicate that after the second matrix moves vertically, within the range of columns to be calculated, there are rows of "1" in each column. When Matrix2[k-Right]+Up=Matrix1[k], that is, when the rows of the first matrix with "1" in the range of the columns to be calculated are equal to the rows of the second matrix with "1" in the corresponding columns, the count variable needs to be increased by 1.

[0046] The Martixx and Martixy variables store the horizontal and vertical coordinates of the two-dimensional array of the correlation matrix. Since the array subscripts all start at 0, it is necessary to move the distance in the horizontal and vertical directions, that is, the Right and Up variables plus the number of columns minus 1.

[0047] At the same time, other additional functions can also be realized, for example, outputting the correlation function matrix of the sequence, finding the maximum value of the correlation function and the location of this maximum value, and outputting all non-zero values ​​of the correlation function and the location of this non-zero value. Use the function int Max(int*Matrix,int Dimension) to traverse the matrix to realize the above functions, such as Figure 5 .

[0048] The permutation sequence whose maximum value of the autocorrelation function side lobe is 1 is called Costas sequence. Costas sequence has a sharp autocorrelation characteristic.

[0049] use Figure 2 The correlation function of the Welch Costas sequence can be calculated by using input method 1 or 2 and then using the function ccMatrix that calculates the correlation function of sequences with the same row and column.

[0050] use Figure 2 The correlation function of the Golomb Costas sequence can be calculated by using input method 1 or 4 and then using the function ccMatrix that calculates the correlation function of sequences with the same row and column.

[0051] That is, Figure 2 Input methods 1, 2, and 4 use the function ccMatrix to calculate the relevant functions, and input methods 3 and 5 use the functions void cc1gaprow and void cc1gapcolumn described later for calculation.

[0052] However, both the Welch Costas sequence and the Golomb Costas sequence are not the best frequency hopping pattern. The difference between the Costas sequence and the best frequency hopping pattern is that the Costas sequence only has a sharp autocorrelation characteristic but does not have a low cross-correlation characteristic, while the best frequency hopping pattern needs to have both a sharp autocorrelation characteristic (the maximum value of the autocorrelation function side lobe is 1) and a low cross-correlation characteristic (the maximum value of the cross-correlation function is 1).

[0053] The Costas sequence needs to be cyclically shifted in two dimensions to obtain the best frequency hopping pattern. The Welch Costas sequence is cyclically shifted in the vertical direction to generate a sequence with one gap row, and the Welch Costas sequence is cyclically shifted in the horizontal direction to generate a Welch Costas sequence without gap columns; the Golomb Costas sequence is cyclically shifted in the vertical or horizontal direction to generate a sequence with one gap row or one gap column.

[0054] If the sequence has a gap row or a gap column, such as Figure 6 and Figure 7 As shown, the functions: voidcc1gaprow(int**Matrix,int column,int*Matrix1,int*Matrix2) and void cc1gapcolumn(int**Matrix,int column,int*Matrix1,int*Matrix2) can respectively realize the calculation of these two matrix related functions, and the functions int Max1gaprow(int*Matrix,int column) and int Max1gapcolumn(int*Matrix,int column) can complete the corresponding additional functions. The functions int Max1gaprow(int*Matrix,intcolumn) and int Max1gapcolumn(int*Matrix,int column) are the same as the function int Max(int*Matrix,int Dimension) above, which realizes the related functions of the output sequence, finds the maximum value of the related function and the position of this maximum value, and outputs all non-zero values ​​of the related function and the position of this non-zero value.

[0055] Since the number of rows in each column of the matrix is ​​input when entering a matrix, no special processing is required when two sequences with gap rows are input in input mode 3, such as Figure 8 .

[0056] However, when two sequences with gap columns are input according to input mode 5, it is necessary to perform special processing on the values ​​corresponding to the gap columns in the matrix column index array, that is, the rows with "1" in the matrix, such as Fig. 9 . When calculating the correlation function, one matrix is ​​fixed and the other matrix is ​​moved. In this process, the maximum distance of the row with "1" in the matrix moving upward vertically relative to the first row of the matrix that does not move is twice the number of rows minus 1, and the maximum distance of the row with "1" in the matrix moving downward vertically relative to the first row of the matrix that does not move is the number of rows minus 1. Assuming that the first matrix is ​​fixed and the second matrix is ​​moved, when the column index array is input, the values ​​corresponding to the gap columns in the first matrix are positive integers greater than or equal to twice the number of rows of the matrix, so that in the process of moving the second matrix upward, the "1" on the gap columns of the first matrix will not overlap with the "1" on the non-gap columns of the second matrix. The values ​​corresponding to the gap columns in the second matrix are greater than or equal to the values ​​corresponding to the gap columns in the first matrix plus the number of rows of the matrix, so that in the process of moving the second matrix downward, the "1" on the gap columns of the first matrix will not overlap with the "1" on the gap columns of the second matrix.

[0057] Since the present invention unifies the number of columns of the input matrix when inputting a sequence, and for a sequence containing only gap columns but no gap rows, the number of columns is the number of rows plus 1, Fig. 9 In input method 5, when the user actually inputs the column index array, it is necessary to pay attention to subtracting 1 from the number of columns input to obtain the number of rows. Assuming that the values ​​corresponding to the gap columns in the first matrix are positive integers that are twice the number of rows of the matrix, then the values ​​corresponding to the gap columns in the second matrix are positive integers that are three times the number of rows of the matrix.

[0058] Next, an example is given to illustrate how to calculate the correlation function of two sequences by the present invention, and verify whether the sequences can be regarded as the best frequency hopping diagram, and whether these sequences can be regarded as ideal frequency hopping sequences in the frequency hopping communication system.

[0059] Fig.10 C in (a) and (b) 1 and C 2 All of them are matrices with one gap row generated by cyclic shifting the 7th-order Golomb Costas sequence in the vertical direction. 2 It is C 1 Generated by moving 2 lines upward in the vertical direction, i.e. C 1 and C 2The Doppler distance w between them is 2. Their cross-correlation matrix is Fig.10 (c) It can be seen that when the Doppler frequency shift |d|≤w-1=1, the maximum value of the cross-correlation function is 1, that is, it has a lower cross-correlation characteristic.

[0060] Fig.11 This is the input process and running results of the program. You can see that the number of rows of the two input sequences is 8 and the number of columns is 7. Seven positive integers are directly input twice, that is, rows with "1" on 7 columns, and no special processing is required.

[0061] Fig.12 C in (a) and (b) 1 and C 2 Both are matrices with a gap column generated by cyclic shifting the 7th-order Golomb Costas sequence in the horizontal direction. 2 It is C 1 Generated by shifting 4 columns to the left horizontally, i.e. C 1 and C 2 The time delay distance w between them is 4. Their cross-correlation matrix is Fig.12 (c) It can be seen that when the time delay |τ|≤w-1=3, the maximum value of the cross-correlation function is 1, that is, it has a lower cross-correlation characteristic.

[0062] Fig.13 The following is the input process and running results of the program. It can be seen that the number of rows and columns of the two input sequences is 7, and the number of columns is 8. 8 positive integers are input twice, that is, the rows with "1" on the 8 columns. When inputting the column index array, the value corresponding to the gap column (the 7th column) in the first matrix is ​​twice the number of rows in the matrix (14), and the value corresponding to the gap column (the 3rd column) in the second matrix is ​​3 times the number of rows in the matrix (21).

[0063] The Golomb Costas sequence is cyclically shifted in the vertical and horizontal directions to generate an optimal frequency hopping sequence containing one gap row and one gap column.

[0064] If the matrix has one gap row and one gap column, it can be regarded as a matrix with the same number of rows and columns, and two frequency hopping sequences can be input using input mode 1. As with the input of two matrices with gap columns above, the values ​​corresponding to the gap columns in the column index array need to be specially processed. When inputting the column index array, the values ​​corresponding to the gap columns in the first matrix are twice the number of rows in the matrix, and the values ​​corresponding to the gap columns in the second matrix are three times the number of rows in the matrix.

[0065] Fig.14 C in (a) and (b) 1 and C 2Both are matrices with one gap row and one gap column generated by cyclic shifting of the 7th-order Golomb Costas sequence in the horizontal and vertical directions. 2 It is C 1 It is generated by first moving 4 columns to the left horizontally and then moving 1 row upward vertically, that is, C 1 and C 2 The time delay distance w between them is 4. Their cross-correlation matrix is Fig.14 (c) It can be seen that when the time delay |τ|≤w-1=3, the maximum value of the cross-correlation function is 1, that is, it has a lower cross-correlation characteristic.

[0066] Fig.15 The input process and running results of the program show that the number of rows and columns of the two input sequences are both 8. Eight positive integers are input twice (the number of rows and columns of a matrix with one gap row and one gap column is the same, both 8), that is, the rows with "1" on the 8 columns. When inputting the column index array, the value corresponding to the gap column in the first matrix is ​​twice the number of rows in the matrix (16), and the value corresponding to the gap column in the second matrix is ​​twice the number of rows in the matrix (24).

[0067] After verification of the present invention, Fig.10 C 1 and C 2 , Fig.12 C 1 and C 2 , Fig.14 C 1 and C 2 The Costas sequences, which have sharp autocorrelation characteristics, still have sharp autocorrelation characteristics after being shifted in the horizontal or vertical direction, so these sequences themselves have sharp autocorrelation characteristics and do not need to be calculated using the present invention.

[0068] In summary, these sequences have both sharp autocorrelation characteristics and low cross-correlation, and can be regarded as the best frequency hopping patterns. These sequences are used as ideal frequency hopping sequences in frequency hopping communication systems.

[0069] For example, in a frequency hopping communication system with limited Doppler shift (Doppler shift is less than or equal to 1), when two users send signals to the base station, the transmitters of the two users will respectively Fig.10 The sequence C in 1 and C 2As the frequency hopping sequence of its own transmitter, it is used to control the frequency synthesizer, which controls the frequency synthesizer to output the local oscillator signal with frequency hopping at different times. It is used to perform frequency conversion on the modulated signal, so that the frequency of the RF signal after frequency conversion hops according to the frequency hopping sequence, which is the frequency hopping signal. At the receiving end, the base station receiver uses the local frequency hopping sequence (i.e., sequence C) that is consistent with the user transmitter frequency hopping sequence. 1 and C 2 ) controls the frequency synthesizer to make the output local oscillator signal frequency jump accordingly according to the frequency hopping sequence (with the same hopping rule as the transmitting end). The hopping local oscillator signal converts the received frequency hopping signal to achieve de-hopping. The modulated signal after de-hopping is coherently demodulated under the action of the local carrier of the base station to restore the original baseband information.

[0070] The above description is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiment. Any equivalent modifications or changes made by ordinary technicians in this field based on the contents disclosed by the present invention should be included in the protection scope recorded in the claims.

Claims

1. A frequency hopping communication method based on calculating a correlation function using a sequence column index array, characterized in that: The method is applied in a frequency hopping communication system and comprises the following steps: Step 1, according to the input setting, the input method to be adopted includes input method 1 is direct input method, input method 2 is primitive element method to generate Welch structure, input method 3 is direct input with a gap row structure, input method 4 is primitive element method to generate Golomb structure, and input method 5 is direct input with a gap column structure; Step 2: For the two sequences to be processed, select the input mode respectively, and input the two sequence column index arrays and the row and column numbers of the corresponding matrices or the parameters required for the primitive element method to generate the Costas sequence. For input modes 1, 2, and 4, proceed to step 3; for input mode 3, proceed to step 4; for input mode 5, proceed to step 5; For input mode 1, enter the number of rows and columns of the matrix; For input method 2, input parameters a, b, p, through the placement function y1(k)≡a of the Welch Costas sequence k mod(p), 1≤k≤p-1 and y2(k)≡b k mod(p), 1≤k≤p-1 to get the column index array of the sequence; For input mode 3, enter the number of columns of the matrix; For input mode 4, input parameters a, b, c, d, p, through the Golomb Costas sequence placement function y1(k) = log b (1-a k ), 1≤k≤p-2 and y2(k)=log d (1-c k ), 1≤k≤p-2 to obtain the column index array of the sequence; For input mode 5, enter the column number of the matrix with gap columns and the column number where the gap columns of the two matrices are located; Step 3: For sequences in the same row and column, use input methods 1, 2, and 4 to move the matrix horizontally and vertically, count the number of coincidences corresponding to each position of the matrix, and calculate the correlation function and the maximum value of the correlation function and its position; The variable k is set to indicate that when the second matrix is ​​moved rightward by Right and upward by Up, the range of subscripts in the column index array of the first matrix that need to calculate the number of overlapping "1" cells in the two matrices is the range of columns where the "1" cells in the first matrix overlap with the "1" cells in the second matrix after the movement. Set the Right variable to represent the distance the second matrix moves to the right horizontally, the Up variable to represent the distance the second matrix moves upward vertically, and the count variable to represent the variable for counting the number of overlaps corresponding to each position of the matrix, which is used to count the number of overlaps of "1" cells of the two matrices at this time. Each time the second matrix moves to a new position, it needs to be immediately reset to 0, and then the number of overlaps of the two matrices is counted; use the Right and Up variables as loop variables to simulate the horizontal and vertical movement of the second matrix; Step 4: For a sequence with gap rows, use input method 3 to calculate the correlation function and the maximum value of the correlation function and its position according to the number of gap rows by moving the matrix horizontally and vertically. Step 5, for sequences with gap columns, use input mode 5. When inputting the column index array, the value corresponding to the gap column in the first matrix is ​​a positive integer greater than or equal to twice the number of rows of the matrix. The value corresponding to the gap column in the second matrix needs to be greater than or equal to the value of the gap column in the first matrix plus the number of rows of the matrix. By moving the matrix horizontally and vertically, calculate the correlation function and the maximum value of the correlation function and its position. Step 6, determine whether to continue the loop, if yes, return to step 1, if no, end and complete the calculation of related functions; Step 7, check all the calculated correlation functions. If the maximum value of the autocorrelation function sidelobe is 1 and the maximum value of the cross-correlation function is 1, it means that these sequences used to calculate the correlation functions have good correlation characteristics. They are used as the frequency hopping sequence in the frequency hopping communication system to control the frequency synthesizer to output the local oscillator signal of the frequency hopping, and perform frequency conversion on the modulated signal so that the frequency of the RF signal after frequency conversion hops according to the frequency hopping sequence, thereby obtaining a frequency hopping signal.

2. The frequency hopping communication method based on calculating the correlation function using the sequence column index array according to claim 1, characterized in that: In step 3, when Right is greater than or equal to 0, that is, the second matrix moves horizontally to the right, the range of k is Right to the number of matrix columns minus 1; when Right is less than 0, that is, the second matrix moves horizontally to the left, the range of k is 0 to the number of matrix columns minus 1 plus Right.

3. The frequency hopping communication method based on calculating the correlation function using the sequence column index array according to claim 1, characterized in that: In step 3, Matrix2[k-Right] is set to indicate that after the second matrix is ​​moved horizontally, a row of "1" is placed in each column within the range of columns to be calculated; on this basis, Up is added to indicate that after the second matrix is ​​moved vertically, a row of "1" is placed in each column within the range of columns to be calculated; when Matrix2[k-Right]+Up=Matrix1[k], that is, the number of rows of "1" placed in the first matrix within the range of columns to be calculated is equal to the number of rows of "1" placed in the corresponding columns of the second matrix, the count variable needs to be increased by 1.

4. The frequency hopping communication method based on calculating the correlation function using the sequence column index array according to claim 1, characterized in that: In step 3, the sequence has a two-dimensional structure on the time-frequency plane, so a permutation matrix with time as the horizontal axis and frequency as the vertical axis is used to represent a sequence. Each sequence corresponds to a permutation matrix, and the Martixx variable and the Martixy variable are set to store the horizontal and vertical coordinates of the two-dimensional array of the matrix respectively.

5. The frequency hopping communication method based on calculating the correlation function using the sequence column index array according to claim 1, characterized in that: In step 5, when calculating the correlation function, one matrix is ​​fixed and the other matrix is ​​moved. In this process, the maximum distance of the row with "1" in the matrix moving upward in the vertical direction relative to the first row of the matrix that does not move is twice the number of rows minus 1, and the maximum distance of the row with "1" in the matrix moving downward in the vertical direction relative to the first row of the matrix that does not move is the number of rows minus 1; when the first matrix is ​​fixed, the second matrix is ​​moved, and when the column index array is input, the value corresponding to the gap column in the first matrix is ​​a positive integer greater than or equal to twice the number of rows of the matrix, and the value corresponding to the gap column in the second matrix is ​​greater than or equal to the value corresponding to the gap column in the first matrix plus the number of rows of the matrix.

6. The frequency hopping communication method based on calculating the correlation function using the sequence column index array according to claim 1, characterized in that: In step 7, in the frequency hopping communication system, when several users send signals to the base station, the transmitters of these users respectively use several frequency hopping sequences with good correlation characteristics as the frequency hopping sequences of their own transmitting ends, and use them to control the frequency synthesizer to control the frequency synthesizer to output the local oscillator signal with frequency hopping at different times; use it to perform frequency conversion processing on the modulated signal, so that the frequency of the RF signal after frequency conversion hops according to the frequency hopping sequence, that is, the frequency hopping signal; at the receiving end, the receiver of the base station uses a local frequency hopping sequence consistent with the user transmitter frequency hopping sequence to control the frequency synthesizer, so that the output local oscillator signal frequency hops accordingly according to the frequency hopping sequence, that is, it has the same hopping rule as the transmitting end; the hopping local oscillator signal converts the frequency of the received frequency hopping signal to achieve de-hopping; the modulated signal after de-hopping is restored to the original baseband information after coherent demodulation under the action of the local carrier of the base station.