A discrete orthogonal code sequence optimization method based on iterative greedy code search memetic algorithm
By optimizing discrete orthogonal code sequences through iterative greedy code search memetic algorithm and combining iterative greedy code search with evolutionary stagnation processing method, the problem of poor autocorrelation and cross-correlation performance of code sequence sets in the existing technology is solved, and more efficient code sequence optimization and better performance are achieved.
Patent Information
- Application Number
- CN202411281468.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2044-09-13
AI Technical Summary
The autocorrelation and cross-correlation performance of existing discrete orthogonal code sequence sets are significantly different from the existing lower bounds, and the existing optimization methods have the problem of local search easily falling into local optimality.
A discrete orthogonal code sequence optimization method based on an iterative greedy code search memetic algorithm is adopted. Combining the iterative greedy code search strategy with the method of dealing with evolutionary stagnation, offspring individuals are generated through crossover and mutation operations, and duplicate individuals in the population are deleted. The objective function is optimized to improve the code sequence performance.
The autocorrelation and cross-correlation performance of discrete orthogonal code sequences are improved, making them close to the existing lower bound and narrowing the difference with the existing lower bound, thereby enhancing the search efficiency and diversity and avoiding the problem of local search falling into local optimality.
Smart Images

Figure CN119250167B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of radar waveform design, and in particular relates to a discrete orthogonal sequence optimization method based on an iterative greedy code search meme algorithm. Background Art
[0002] Since its proposal, Multiple Input Multiple Output (MIMO) radar has become a research hotspot in the radar community both domestically and internationally. Currently, commonly used MIMO radar waveforms are divided into four categories: (1) Time Division Multiplexing (TDM) MIMO waveforms, (2) Frequency Division Multiplexing (FDM) MIMO waveforms, (3) Doppler Division Multiplexing (DDM) MIMO waveforms, and (4) Code Division Multiplexing (CDM) MIMO waveforms.
[0003] Among these four MIMO radar waveforms, the TDM-MIMO waveform wastes the multi-channel transmission capability and is not conducive to improving the radar detection range; the FDM-MIMO waveform can achieve a good primary-to-secondary ratio after sidelobe suppression, but the system implementation structure is complex and it cannot be implemented on current millimeter-wave radar chips; the DDM-MIMO waveform has the problem of limited Doppler unambiguity range, and its maximum unambiguous speed is greatly reduced, so it is suitable for application scenarios with low speed, such as short-range radar (SRR) applications.
[0004] CDM-MIMO waveforms include fast-time CDM-MIMO waveforms and slow-time CDM-MIMO waveforms. The fast-time CDM-MIMO waveform requires phase modulation within a single pulse, which cannot be implemented on the mainstream millimeter-wave radar chips currently on the market. The slow-time CDM-MIMO waveform phase modulates each pulse in the slow-time dimension to obtain orthogonality. The DDM-MIMO waveform mentioned above is a special case of the slow-time CDM-MIMO waveform. The slow-time CDM-MIMO waveform has the following advantages: low range sidelobes, no loss of transmission capability, can be implemented on the mainstream millimeter-wave radar chips currently on the market, there is no problem of limited Doppler unambiguity range, and it is applicable to all application scenarios. However, it also has disadvantages: the velocity sidelobes of the slow-time CDM-MIMO waveform will be affected by the orthogonality of the discrete orthogonal code sequence set. However, the differences between the acyclic autocorrelation and cross-correlation functions of the existing discrete orthogonal code sequence sets and the lower bound of the peak sidelobe of the correlation function (such as the lower bound of the peak sidelobe of the Welch acyclic correlation function) are quite large. How to obtain a discrete orthogonal code sequence set with better orthogonality and a code sequence optimization method with better optimization effect is still an open problem worthy of study. Summary of the Invention
[0005] The technical problem addressed by this invention is that the autocorrelation and cross-correlation performance of code sequences designed using existing code sequence optimization methods still significantly deviates from existing lower bounds. To address this problem, the present invention provides a discrete orthogonal code sequence optimization method based on an iterative greedy code search meme algorithm. This method can further improve code sequence performance and enhance search efficiency.
[0006] To achieve the above object, the present invention provides the following technical solution: a discrete orthogonal code sequence optimization method based on an iterative greedy code search meme algorithm, the specific steps of which are as follows:
[0007] Step 1: Initialize the maximum number of iterations T max 、Number of parents p 、Number of offspring o , the number of sequences in the code sequence set L, the code length N, the number of optional phases of the code sequence M, and the weight coefficient w;
[0008] Step 2: Generate Num based on the number of sequences L, code length N, and the number of optional phases M p initial individuals;
[0009] Step 3: Calculate the generated Num p The objective function of the initial individuals, and the initial individuals are arranged in ascending order according to the objective function, this Num p The initial individuals constitute the initial parents;
[0010] Step 4: Determine whether the current number of iterations has reached the maximum number of iterations T max Or the algorithm termination condition is met, if the maximum number of iterations T is reached max Or if the algorithm termination condition is met, the algorithm is terminated and the code sequence set with the lowest objective function is returned; otherwise, the next iteration is continued;
[0011] Step 5: Generate Num through mutation and crossover o offspring individuals;
[0012] where Num o / 2 offspring individuals are generated by crossover, from Num p Select one parent as the target individual from each parent, and then select p Randomly select one parent from the parents as the base individual, cross the target individual and the base individual through the crossover function, and finally generate a new offspring individual based on the target individual; the remaining Num o / 2 offspring individuals are generated through mutation, each time from Num p One parent is selected from each parent as the target individual, and the mutation operation is performed on the target individual through the mutation function to generate a new offspring individual;
[0013] Step 6: Calculate the newly generated Num o The objective function of the offspring individuals is generated, and each newly generated offspring individual is subjected to iterative greedy code search to obtain the new individuals after search optimization and their corresponding objective functions;
[0014] Step 7: Merge all new individuals and parents obtained after the iterative greedy code search in step 6, sort the merged population in ascending order according to the objective function, delete duplicate individuals in the ascending population, and obtain a new population without duplicate individuals;
[0015] Step 8: For the population obtained in step 7, use the selection function to select the Num with the smallest objective function p Individuals serve as parents for the next iteration;
[0016] Step 9: Repeat steps 4 to 9 for the parent obtained in step 8 until the current number of iterations reaches the maximum number of iterations T max Or the algorithm termination condition is met and the individual with the smallest objective function is output. This individual is the discrete orthogonal code sequence set with the best orthogonal performance after final optimization.
[0017] Furthermore, the initial individuals in the above step 2 are generated by a random function, and a phase is randomly selected from the optional phases of the code sequence each time by the random function;
[0018] The optional phase of the code sequence is shown as follows:
[0019] δ l (n)∈{0,2π / M,…,(M-1)*2π / M}
[0020] The final generated initial individual is represented by an L×N matrix:
[0021]
[0022] where δ l (n) represents the phase of the nth sub-pulse of the lth signal.
[0023] Furthermore, in step 3, the objective function is to simultaneously minimize the autocorrelation peak sidelobe and the cross-correlation peak.
[0024] Furthermore, the specific process of step 6 is as follows:
[0025] A greedy code search is performed on each newly generated offspring individual. After the first greedy code search is completed, it is determined whether the objective function of the searched individual is reduced; if not, the searched individual is directly output; if it is reduced, a greedy code search is performed on the searched individual again, and it is once again determined whether the objective function of the searched individual is reduced; the previous operation is repeated until the objective function of the searched individual no longer decreases, and the final search-optimized individual and its objective function are output.
[0026] Furthermore, in step 7, a method for processing evolutionary stagnation is used, and the specific process is as follows:
[0027] Perform a check on the sameness of the populations that have been merged and sorted in ascending order in step 7; starting from the first individual in the population, compare it with the remaining 2nd, ..., Numth o +Num p -1 individuals are compared; if two individuals are the same, the duplicate individual being compared is deleted, and if they are different, they are retained; after deleting the duplicate individual or retaining the individual, the comparison of the next individual is continued; after the search for the first individual is completed, there may be several situations: the first is that only the first individual is left; the second is that only two individuals are left; the third is that n individuals are left, n>3; obviously, the first two situations do not need to be compared again because they have been compared; if it is the third situation, start from the second individual and compare the third, ..., n individuals in turn; until all individuals are compared, a new population without duplicate individuals is finally obtained.
[0028] Furthermore, the objective function E is specifically:
[0029]
[0030] Where w is the weight coefficient between the autocorrelation peak sidelobe and the cross-correlation peak, ranging from 0 to 1. The higher w is, the more the optimization method focuses on the autocorrelation peak sidelobe of the code sequence. Conversely, the optimization method focuses more on the cross-correlation peak of the code sequence. When the objective function E is smaller, it indicates that the orthogonality of the discrete code sequence set is better.
[0031]
[0032] Where k is the discrete time index, and the superscript * indicates the conjugate; A(s p ,k) represents the non-periodic autocorrelation function of the pth signal in the discrete orthogonal code sequence set, C(s p ,s q ,k) represents the non-periodic cross-correlation function between the p-th signal and the q-th signal in the discrete orthogonal code sequence set; δ p (n) represents the nth element of the pth signal in the discrete orthogonal code sequence set, δ p (n+k) represents the n+kth element of the pth signal in the discrete orthogonal code sequence set; N represents the code length, It represents the normalization of the non-periodic autocorrelation function and the non-periodic cross-correlation function. After normalization, the value of the non-periodic autocorrelation function when k=0, that is, the peak value of the non-periodic autocorrelation function becomes 1. When k≠0, the value of the non-periodic autocorrelation function becomes a number in [-1,1]; the value of the non-periodic cross-correlation function after normalization also becomes a number in [-1,1].
[0033] The beneficial effects of the present invention are:
[0034] 1. The present invention provides a discrete orthogonal code sequence optimization method based on an iterative greedy code search memetic algorithm. The method adopts the iterative greedy code search strategy (IGCS) proposed in the present invention within the framework of the memetic algorithm (MA). Therefore, the performance of the method proposed in the present invention is superior to the existing methods. In addition, the autocorrelation and cross-correlation performance of the discrete orthogonal code sequence set optimized by the method proposed in the present invention are closer to the existing lower bounds, reducing the difference with the existing lower bounds.
[0035] 2. This invention provides an iterative greedy code search strategy that overcomes the shortcomings of existing greedy code search methods, which are prone to falling into local optima. Compared with greedy code search methods, the iterative greedy code search strategy proposed in this invention has stronger local search capabilities, better optimization effects, and higher search efficiency.
[0036] 3. The present invention provides a method for dealing with evolutionary stagnation by removing duplicate individuals in the population to ensure population diversity, thereby ensuring that the algorithm can continue to explore better solutions; and this method can improve the algorithm's final search optimization results without increasing the algorithm's running time.
[0037] 4. This invention adopts a new genetic strategy, which generates Num through crossover and mutation in each iteration. o By using both crossover and mutation operators in each iteration, the algorithm's search diversity is increased, and the algorithm's search space is expanded, making it more likely to obtain a set of discrete orthogonal code sequences with better orthogonality. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 Flowchart of the discrete orthogonal code sequence optimization method based on iterative greedy code search meme algorithm;
[0039] Figure 2 Specific search optimization process for iterative greedy code search strategy;
[0040] Figure 3 The specific process of the greedy code search method;
[0041] Figure 4 A specific process for dealing with evolutionary stagnation;
[0042] Figure 5 A comparison chart of the average autocorrelation levels of discrete orthogonal code sequences with different symbol lengths designed based on various algorithms;
[0043] Figure 6 A comparison chart of the average cross-correlation levels of discrete orthogonal code sequences with different symbol lengths designed based on various algorithms;
[0044] Figure 7 A comparison chart of the average autocorrelation levels of discrete orthogonal code sequence sets with different sequence numbers designed based on various algorithms;
[0045] Figure 8 A comparison chart of the average cross-correlation levels of discrete orthogonal code sequence sets with different sequence numbers designed based on various algorithms;
[0046] Figure 9 A comparison chart of the average autocorrelation levels of discrete orthogonal code sequence sets with different discrete phase numbers designed based on various algorithms;
[0047] Figure 10 The figure compares the average cross-correlation levels of discrete orthogonal code sequence sets with different discrete phase numbers designed based on various algorithms. DETAILED DESCRIPTION
[0048] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0049] Example 1
[0050] First, let's introduce the Memetic Algorithm (MA), also known as the Memetic Algorithm. The word "memetic" comes from "meme," but according to its creator's original meaning, it should be understood as "cultural gene." For simplicity, MA will be referred to as the Memetic Algorithm. The Memetic Algorithm, proposed by Pablo Moscato, is an optimization algorithm based on simulating cultural evolution. It is essentially a combination of population-based global search and individual-based local heuristic search. The Memetic Algorithm provides a framework and a concept within which different memetic algorithms can be constructed using different search strategies. For example, global search strategies can adopt genetic algorithms, evolutionary strategies, and evolutionary programming, while local search strategies can adopt hill climbing search, simulated annealing, greedy algorithms, tabu search, and guided local search.
[0051] The present invention provides a discrete orthogonal code sequence optimization method based on an iterative greedy code search meme algorithm, which adopts an improved genetic algorithm (GA) as a global search strategy and an iterative greedy code search strategy as a local search strategy.
[0052] Based on this, Figure 1 As shown, the present invention provides a discrete orthogonal code sequence optimization method based on an iterative greedy code search meme algorithm, and the specific steps are as follows:
[0053] Step 1: Initialize the maximum number of iterations T max 、Number of parents p 、Number of offspring o , parameters such as the number of sequences in the code sequence set L, the code length N, the number of optional phases of the code sequence M, and the weight coefficient w;
[0054] Furthermore, the discrete orthogonal code sequence is first introduced in detail. The optional phase of the code sequence is shown in the following formula:
[0055] δ l (n)∈Φ∈{0, 2π / M,…, (M-1)*2π / M}
[0056] Step 2: Generate Num based on the number of sequences L, code length N, and the number of optional phases M p initial individuals;
[0057] Furthermore, the specific generation process of the initial individual is described in detail:
[0058] The initial individual consists of L code sequences of length N. Generating one initial individual requires L×N random selection operations: a number is randomly selected from {0, 1, …, (M-1)}, and the phases corresponding to the selected pseudo-random integers are {0, 2π / M, …, (M-1)*2π / M}. Repeating the L×N random selection operation, the resulting initial individual and all subsequent individuals can be represented by an L×N matrix:
[0059]
[0060] Step 3: Calculate the generated Num p The objective function of the initial individuals, and the initial individuals are arranged in ascending order according to the objective function, this Num p The initial individuals constitute the initial parents;
[0061] Furthermore, the present invention takes the simultaneous minimization of the autocorrelation peak sidelobe and the cross-correlation peak as the objective function, and the specific mathematical expression of the objective function is:
[0062]
[0063] Where w is the weight coefficient between the autocorrelation peak sidelobes and the cross-correlation peak, ranging from 0 to 1. A higher w indicates that the optimization method focuses more on the autocorrelation peak sidelobes of the code sequence, while a lower w indicates that the optimization method focuses more on the cross-correlation peak of the code sequence. A smaller objective function E indicates better orthogonality of the discrete code sequence set.
[0064] The non-periodic autocorrelation function A(s p , k) and non-periodic cross-correlation function C(s p , s q , k) is calculated as follows:
[0065]
[0066]
[0067] Where k is the discrete time index and the superscript * indicates the conjugate. p , k) represents the non-periodic autocorrelation function of the pth signal in the discrete orthogonal code sequence set, C(s p , s q, k) represents the non-periodic cross-correlation function between the p-th signal and the q-th signal in the discrete orthogonal code sequence set. δ p (n) represents the nth element of the pth signal in the discrete orthogonal code sequence set, δ p (n+k) represents the n+kth element of the pth signal in the discrete orthogonal code sequence set. N represents the code length, It represents the normalization of the non-periodic autocorrelation function and the non-periodic cross-correlation function. After normalization, the value of the non-periodic autocorrelation function when k=0, that is, the peak value of the non-periodic autocorrelation function becomes 1. When k≠0, the value of the non-periodic autocorrelation function becomes a number in [-1,1]; the value of the non-periodic cross-correlation function after normalization also becomes a number in [-1,1].
[0068] After calculating Num p After the initial individual objective functions are generated, the initial individuals are sorted in ascending order according to the objective functions. p The initial individuals constitute the initial parents.
[0069] Step 4: Determine whether the current number of iterations has reached the maximum number of iterations T max Or the algorithm termination condition is met, if the maximum number of iterations T is reached max Or if the algorithm termination condition is met, the algorithm is terminated and the code sequence set with the lowest objective function is returned; otherwise, the next iteration is continued;
[0070] Step 5: Generate Num through mutation and crossover respectively o / 2 children; where Num o / 2 offspring individuals are generated by crossover, from Num p Select one parent as the target individual from each parent, and then select p Randomly select one parent from the parents as the base individual, cross the target individual and the base individual through the crossover function, and finally generate a new offspring individual based on the target individual; the remaining Num o / 2 offspring individuals are generated through mutation, each time from Num p One parent is selected from each parent as the target individual, and the mutation operation is performed on the target individual through the mutation function to generate a new offspring individual;
[0071] Step 6: Calculate the newly generated Num o The objective function of each offspring individual is calculated, and each newly generated offspring individual is subjected to iterative greedy code search to obtain the new individual after search optimization and its corresponding objective function.
[0072] It should be noted that if Figure 2As shown, the present invention adopts an iterative greedy code search strategy as a local search strategy, and its specific search optimization process is as follows:
[0073] A greedy code search is performed on each newly generated offspring individual. After the first greedy code search is completed, it is determined whether the objective function of the searched individual has decreased. If it has not decreased, the searched individual is directly output; if it has decreased, a greedy code search is performed on the searched individual again, and the objective function of the searched individual is again determined to be decreased. The previous operation is repeated until the objective function of the searched individual no longer decreases, and the final searched individual and its objective function are output.
[0074] Further, if Figure 3 As shown, the specific process of the greedy code search method is as follows:
[0075] It should be noted that all individuals in the optimization method proposed in the present invention, i.e., the discrete orthogonal code sequence set, can be represented by an L×N matrix. The following operations are performed on each element in the matrix to obtain the search-optimized individual:
[0076] The search begins at the first element in the first row of the matrix, continues to the Nth element in the first row, and then continues at the second row until the Nth element in the Lth row is exhausted. The phase of the current element is searched, and one of the remaining M-1 phases is selected to replace the original phase. The objective function of the individual after the replacement phase is calculated. If the objective function of the individual decreases during the replacement process, the replaced phase replaces the original phase, and the remaining M-2 phases continue to replace the existing phase until all phases have been tried. If the objective function of the individual does not change or increases, the original phase of the element is not changed, and the phase search process for the current element continues.
[0077] Step 7: Merge the new population obtained after the iterative greedy code search in step 6 with the parent, sort the merged population in ascending order according to the objective function, and then delete duplicate individuals in the ascending population to obtain a new population without duplicate individuals.
[0078] Further, if Figure 4 As shown, in step 7, a method for dealing with evolutionary stagnation is used to ensure population diversity by deleting duplicate individuals in the population. The specific process of deleting duplicate individuals is as follows:
[0079] Perform a check on the sameness of the populations that have been merged and sorted in ascending order in step 7; starting from the first individual in the population, compare it with the remaining 2nd, ..., Numth o +Num pIndividuals are compared. If two individuals are identical, the duplicate is deleted; if they are different, they are retained. After deleting duplicates or retaining the individual, the comparison continues with the next individual. After the first individual search is completed, several situations may exist: the first is that only the first individual remains; the second is that only two individuals remain; and the third is that n (n>3) individuals remain. Obviously, the first two situations do not require further comparison because they have already been compared. In the third situation, starting with the second individual, the comparison continues with the third, …, n individuals. This continues until all individuals have been compared, ultimately resulting in a new population with no duplicates.
[0080] Step 8: For the population obtained in step 7, use the selection function to select the Num with the smallest objective function p individuals serve as parents for the next iteration.
[0081] Step 9: Repeat steps 4 to 9 for the parent obtained in step 8 until the current number of iterations reaches the maximum number of iterations T max Or the algorithm termination condition is met and the individual with the smallest objective function is output. This individual is the discrete orthogonal code sequence set with the best orthogonal performance after final optimization.
[0082] Example 2
[0083] Based on the first embodiment, a simulation example of the present invention is given below, and its implementation process is analyzed and explained. Figure 1 shown.
[0084] Step 1: Initialize parameters and the maximum number of iterations T max =100, number of parents Num p =64, number of offspring Num o =128, number of sequences in the code sequence set L=4, code length N=40, number of optional phases of the code sequence M=4, weight coefficient w=0.5;
[0085] Step 2: Generate the initial individuals and generate Num according to the number of sequences L, code length N, and the number of optional phases M p Initial individuals; the initial individuals are composed of 4 code sequences with a code length of 40. The generation of an initial individual requires 4×40 random selection operations; a number is randomly selected from {0, 1, ..., 3)}, and the phases corresponding to the selected pseudo-random integers are {0, 2π / 4, ..., (4)*2π / 4}. Repeat the random selection operation 4×40 times to finally generate an initial individual. Repeat Num p = 64 times to generate 64 initial individuals.
[0086] Step 3: Calculate the generated Num p=The objective function of 64 initial individuals, and the initial individuals are arranged in ascending order according to the objective function. p = 64 initial individuals constitute the initial parents;
[0087] It should be noted that the non-periodic autocorrelation function A(s) of the code sequence set is first calculated. p , k) and non-periodic cross-correlation function C(s p , s q , k); then calculate Num according to the mathematical expression of the objective function p = Objective function of 64 individuals;
[0088] Furthermore, the initial individuals are sorted in ascending order according to the objective function, and Num p = 64 initial individuals constitute the initial parents for the next iteration;
[0089] Step 4: Determine whether the current number of iterations has reached the maximum number of iterations T max Or the algorithm termination condition is met, if the maximum number of iterations T is reached max Or if the algorithm termination condition is met, the algorithm is terminated and the code sequence set with the lowest objective function is returned; otherwise, the next iteration is continued;
[0090] Step 5: Generate Num through mutation and crossover respectively o / 2=64 offspring; 64 offspring individuals are generated by crossover, from Num p = Select one parent from the 64 parents as the target individual, and then randomly select one parent from the 64 parents as the base individual. The target individual and the base individual are cross-operated through the crossover function, and finally a new offspring individual is generated based on the target individual; the remaining Num o / 2=64 offspring individuals are generated through mutation. Each time, one parent is selected from the 64 parents as the target individual, and the mutation function is used to perform the mutation operation on the target individual to generate a new offspring individual.
[0091] It should be noted that, from Num p = 64 parents, select the 1st, ..., 64th parents as target individuals, and then select p = Randomly select one parent from the 64 parents as the base individual;
[0092] Step 6: Calculate the newly generated Num o =The objective function of 128 offspring individuals, and perform iterative greedy code search on each newly generated offspring individual to obtain the new individual after search optimization and its corresponding objective function.
[0093] Step 7: Merge the new population obtained after the iterative greedy code search in step 6 with the parent, sort the merged population in ascending order according to the objective function, and then delete duplicate individuals in the ascending population to obtain a new population without duplicate individuals.
[0094] It should be noted that after merging in step 7, Num o +Num p = 192 individuals. Arrange these 192 individuals in ascending order and perform a comparison on these individuals. Starting with the first individual in the population, compare it with the second, …, 192th individuals. If two individuals are identical, delete the duplicate individuals; if they are different, keep them. After comparing the first individual, compare the second individual, and continue until all individuals have been compared, resulting in a population with no duplicates.
[0095] Step 8: For the population obtained in step 7, use the selection function to select the Num with the smallest objective function p individuals serve as parents for the next iteration.
[0096] It should be noted that the population without repeated individuals obtained in step 7 is selected and the first Num p = 64 individuals as new parents;
[0097] Step 9: Repeat steps 4 to 9 for the parent obtained in step 8 until the current number of iterations reaches T max =100 or the algorithm termination condition is met, and the individual with the smallest objective function is output. This individual is the discrete orthogonal code sequence set with the best orthogonal performance after final optimization.
[0098] According to the above steps, under the conditions of the number of sequences L = 4, code length N = 40, the number of optional phases of the code sequence M = 4, and weight coefficient w = 0.5, the discrete orthogonal code sequence set designed is shown in Table 1 below;
[0099] Table 1 Discrete orthogonal code sequence set designed under the conditions of L=4, N=40, M=4, w=0.5
[0100]
[0101] In order to further compare the performance of existing optimization algorithms with the optimization algorithm proposed in this invention (MA-IGCS), the improved ion motion algorithm (IIMA) proposed in 2021, the genetic algorithm first used for the optimization of discrete orthogonal code sequence sets, and the Greedy Code Search Based Memetic Algorithm (MA) with the best existing optimization performance are used to design discrete orthogonal code sequence sets with the same parameters.
[0102] By adjusting the parameters of each algorithm, each algorithm has the same maximum number of iterations, and the number of parents is taken as Num p =64, the same number of Num is generated in each iteration o = 128 offspring, compare the performance of discrete orthogonal code sequence sets designed by various algorithms under the conditions of the same number of iterations, the same number of parents, and the same number of offspring generated in each iteration. The results are as follows Figures 5 to 10 As shown in the experimental results, MA-IGCS achieves the best design performance under the same maximum number of iterations, the same number of parents, and the same number of offspring generated per iteration. Furthermore, the autocorrelation and cross-correlation performance of the discrete orthogonal code sequence set optimized using the proposed method further approaches the existing lower bounds, narrowing the gap with the existing lower bounds. This demonstrates that the MA-IGCS algorithm proposed in this paper outperforms other algorithms, such as IIMA, GA, and MA-GCS.
[0103] Furthermore, in order to illustrate the superiority of the method proposed in the present invention in detail, the MA-IGCS algorithm proposed in the present invention is compared with the MA-GCS algorithm under the conditions of L=4, N=40, M=4, w=0.5, L=4, N=512, M=2, w=0.5, and L=4, N=512, M=4, w=0.5. The performance of the discrete orthogonal code sequence sets designed by the two algorithms is compared under the conditions of the same number of iterations, the same number of parents, and the same number of offspring generated in each iteration.
[0104] Table 2 Performance comparison between MA-IGCS and MA-GCS algorithms under the conditions of L=4, N=40, M=4, and w=0.5
[0105]
[0106] Table 3 Performance comparison between MA-IGCS and MA-GCS algorithms under the conditions of L=4, N=512, M=2, and w=0.5
[0107]
[0108] Table 4 Performance comparison between MA-IGCS and MA-GCS algorithms under the conditions of L=4, N=512, M=4, and w=0.5
[0109]
[0110] Experimental results show that, under the same maximum number of iterations, the same number of parents, and the same number of offspring generated per iteration, the discrete orthogonal code sequence set optimized by MA-IGCS performs better than MA-GCS. Its autocorrelation and cross-correlation performances approach existing lower bounds, narrowing the gap with these lower bounds. In all three experiments, the objective function of the worst discrete orthogonal code sequence set optimized by MA-IGCS was superior to or close to the objective function of the best discrete orthogonal code sequence set optimized by MA-GCS. This demonstrates that the MA-IGCS algorithm proposed by the present invention outperforms MA-GCS.
[0111] The preferred embodiments of the present invention disclosed above are intended only to help illustrate the technical solutions of the present invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the present invention to specific embodiments. Obviously, numerous modifications and variations are possible based on the contents of this specification. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the present invention, thereby enabling those skilled in the art to better understand and utilize the present invention. The present invention is limited only by the claims and their full scope and equivalents.
Claims
1. A discrete orthogonal code sequence optimization method based on an iterative greedy code search meme algorithm, the specific steps are as follows: Step 1: Initialize the maximum number of iterations T max 、Number of parents p 、Number of offspring o , the number of sequences in the code sequence set L, the code length N, the number of optional phases of the code sequence M, and the weight coefficient w; Step 2: Generate Num based on the number of sequences L, code length N, and the number of optional phases M p initial individuals; Step 3: Calculate the generated Num p The objective function of the initial individuals, and the initial individuals are arranged in ascending order according to the objective function, this Num p The initial individuals constitute the initial parents; Step 4: Determine whether the current number of iterations has reached the maximum number of iterations T max Or the algorithm termination condition is met, if the maximum number of iterations T is reached max Or if the algorithm termination condition is met, the algorithm is terminated and the code sequence set with the lowest objective function is returned; otherwise, the next iteration is continued; Step 5: Generate Num through mutation and crossover o offspring individuals; where Num o / 2 offspring individuals are generated by crossover, from Num p Select one parent as the target individual from each parent, and then select p Randomly select one parent from the parents as the base individual, cross the target individual and the base individual through the crossover function, and finally generate a new offspring individual based on the target individual; the remaining Num o / 2 offspring individuals are generated through mutation, each time from Num p One parent is selected from each parent as the target individual, and the mutation operation is performed on the target individual through the mutation function to generate a new offspring individual; Step 6: Calculate the newly generated Num o The objective function of the offspring individuals is generated, and each newly generated offspring individual is subjected to iterative greedy code search to obtain the new individuals after search optimization and their corresponding objective functions; Step 7: Merge all new individuals and parents obtained after the iterative greedy code search in step 6, sort the merged population in ascending order according to the objective function, delete duplicate individuals in the ascending population, and obtain a new population without duplicate individuals; Step 8: For the population obtained in step 7, use the selection function to select the Num with the smallest objective function p Individuals serve as parents for the next iteration; Step 9: Repeat steps 4 to 9 for the parent obtained in step 8 until the current number of iterations reaches the maximum number of iterations T max Or the algorithm termination condition is met and the individual with the smallest objective function is output. This individual is the discrete orthogonal code sequence set with the best orthogonal performance after final optimization.
2. A discrete orthogonal code sequence optimization method based on iterative greedy code search meme algorithm as claimed in claim 1, characterized in that: The initial individual in step 2 is generated by a random function, and a phase is randomly selected from the optional phases of the code sequence each time by the random function; The optional phase of the code sequence is shown as follows: δ l (n)∈{0,2π / M,…,(M-1)*2π / M} The final generated initial individual is represented by an L×N matrix: where δ l (n) represents the phase of the nth sub-pulse of the lth signal.
3. The method for optimizing discrete orthogonal code sequences based on an iterative greedy code search meme algorithm according to claim 1, wherein: In step 3, the objective function is to simultaneously minimize the autocorrelation peak sidelobe and the cross-correlation peak.
4. The method for optimizing discrete orthogonal code sequences based on an iterative greedy code search meme algorithm according to claim 1, wherein: The specific process of step 6 is as follows: Perform greedy code search on each newly generated offspring individual. After the first greedy code search is completed, determine whether the objective function of the searched individual is reduced; if not, directly output the searched individual; If it is reduced, a greedy code search is performed on the searched individual again to determine whether the objective function of the searched individual is reduced. Repeat the previous operation until the objective function of the searched individual no longer decreases, and output the final search-optimized individual and its objective function.
5. The method for optimizing discrete orthogonal code sequences based on an iterative greedy code search meme algorithm according to claim 1, wherein: In step 7, a method for processing evolutionary stagnation is used, and the specific process is as follows: Perform a check on the sameness of the populations that have been merged and sorted in ascending order in step 7; starting from the first individual in the population, compare it with the remaining 2nd, ..., Numth o +Num p -1 individuals are compared; if two individuals are the same, the duplicate individual being compared is deleted, and if they are different, they are retained; after deleting the duplicate individual or retaining the individual, the comparison of the next individual is continued; after the search for the first individual is completed, there may be several situations: the first is that only the first individual is left; the second is that only two individuals are left; the third is that n individuals are left, n>3; obviously, the first two situations do not need to be compared again because they have been compared; if it is the third situation, start from the second individual and compare the third, ..., n individuals in turn; until all individuals are compared, a new population without duplicate individuals is finally obtained.
6. The method for optimizing discrete orthogonal code sequences based on an iterative greedy code search meme algorithm according to claim 3, wherein: The objective function E is specifically: Where w is the weight coefficient between the autocorrelation peak sidelobe and the cross-correlation peak, ranging from 0 to 1. The higher w is, the more the optimization method focuses on the autocorrelation peak sidelobe of the code sequence. Conversely, the optimization method focuses more on the cross-correlation peak of the code sequence. When the objective function E is smaller, it indicates that the orthogonality of the discrete code sequence set is better. Where k is the discrete time index, and the superscript * indicates the conjugate; A(s p ,k) represents the non-periodic autocorrelation function of the pth signal in the discrete orthogonal code sequence set, C(s p ,s q ,k) represents the non-periodic cross-correlation function between the p-th signal and the q-th signal in the discrete orthogonal code sequence set; δ p (n) represents the nth element of the pth signal in the discrete orthogonal code sequence set, δ p (n+k) represents the n+kth element of the pth signal in the discrete orthogonal code sequence set; N represents the code length, It represents the normalization of the non-periodic autocorrelation function and the non-periodic cross-correlation function. After normalization, the value of the non-periodic autocorrelation function when k=0, that is, the peak value of the non-periodic autocorrelation function becomes 1. When k≠0, the value of the non-periodic autocorrelation function becomes a number in [-1,1]; the value of the non-periodic cross-correlation function after normalization also becomes a number in [-1,1].
Citation Information
Patent Citations
Discrete orthogonal polyphase code set optimization method based on memetic algorithm
CN113722983A
Method of generating code sequence, transmittingsignals, apparatus thereof, code sequence, and codesequence set
KR1020070065657A