Research Article | Open Access
Shaped Beam Pattern Synthesis of Antenna Arrays Using Composite Differential Evolution with Eigenvector-Based Crossover Operator
This paper addresses the problem of designing shaped beam patterns with arbitrary arrays subject to constraints. The constraints could include the sidelobe level suppression in specified angular intervals, the mainlobe halfpower beamwidth, and the predefined number of elements. In this paper, we propose a new Differential Evolution algorithm, which combines Composite DE with an eigenvector-based crossover operator (CODE-EIG). This operator utilizes eigenvectors of covariance matrix of individual solutions, which makes the crossover rotationally invariant. We apply this novel design method to shaped beam pattern synthesis for linear and conformal arrays. We compare this algorithm with other popular algorithms and DE variants. The results show CODE-EIG outperforms the other DE algorithms in terms of statistical results and convergence speed.
Array synthesis is a classic and challenging optimization problem, which has been extensively studied using several analytical or stochastic methods [1–4]. Common optimization goals in array synthesis are the sidelobe level suppression and the matching of the main lobe to a desired pattern. Thus, the optimization problem is usually to find a set of element excitations and/or positions that closely match a desired pattern. The desired pattern shape can vary widely depending on the application. The shaped beam pattern synthesis problem has received wide attention over the years, and several methods or techniques have been reported in the literature [5–11]. Among others these methods include Tabu search , ant colony optimization , and linear programming . Additionally, evolutionary algorithms (EAs) like Genetic Algorithms (GAs), Particle Swarm Optimization (PSO), and Differential Evolution (DE) , which is a population-based stochastic global optimization algorithm, have been applied to a variety of array design problems [13–21]. Several DE variants or strategies exist. One of the DE advantages is that very few control parameters have to be adjusted in each algorithm run.
Composite DE (CODE)  is an adaptive DE variant, which combines three different trial vector generation strategies with three preset control parameter settings. The above combination is performed in a random way in order to generate trial vectors. The main advantage of CODE is that it has a simple structure and thus it is very easy to be implemented in any programming language. In this way significant computational costs spent on searching using a trial-and-error procedure can be avoided. The DE performance depends on control parameters, mutation strategies, and crossover operators. Most of the DE strategies or variants use the binomial crossover operator, which has been found to produce better results than the exponential crossover operator . The authors in  propose an alternative crossover operator, namely, the eigenvector-based crossover. This operator utilizes the eigenvector information of the covariance matrix of the population to rotate the coordinate system. Additionally, this crossover operator can be applied to any DE variant. In this paper, we incorporate this scheme to the CODE algorithm and therefore introduce a new algorithm, the Composite DE with Eigenvector-Based Crossover (CODE-EIG).
In this paper, we apply CODE-EIG to the shaped beam pattern synthesis problem. More specifically, we utilize the CODE-EIG algorithm for designing different linear arrays cases and a conformal array case. Additionally, in order to evaluate the new algorithm, we compare the algorithm’s performance with other DE strategies, PSO, and GAs.
This paper is organized as follows: A brief description of the CODE and the CODE-EIG algorithm is given in Section 2. Section 3 describes the problem formulation and the objective functions and presents the numerical results for different array design cases. Finally, the conclusion is given in Section 4.
2. The Composite Differential Evolution (CODE) Algorithm
A population in DE consists of NP vectors , , where is the generation number. The population is initialized randomly from a uniform distribution. Each -dimensional vector represents a possible solution, which is expressed as
The population is initialized as follows:where and are -dimensional vectors of the lower and upper bounds, respectively, and is a uniformly distributed random number within .
The initial population evolves in each generation with the use of three operators: mutation, crossover, and selection. Depending on the form of these operators, several DE variants or strategies exist in the literature [12, 25]. The choice of the best DE strategy depends on problem type . In CODE the following three strategies are used for trial vector generation. These include DE/rand/1bin, DE/rand-to-best/2/bin, DE/rand/2/bin, and DE/current-to-rand/1 . In these strategies, a mutant vector for each target vector is computed by DE/rand/1/bin DE/rand/2/bin DE/current-to-rand/1where , , , , and are randomly chosen indices from the population, which are different from index , is a mutation control parameter, and is a randomly generated number from a uniform distribution within the interval . The basic idea of CODE  is to generate a trial vector for each of the three above-mentioned strategies. The control parameters settings are randomly chosen. Therefore, CODE maintains a strategy candidate pool, consisting of the three strategies given in (3a), (3b), and (3c). A parameter candidate pool is also used with the settings given below:These are strategies and settings that have been widely used. Therefore, their properties have been extensively studied. The authors in  have modified the DE/rand/2/bin strategy by using a random number from the interval instead of the first mutation control parameter. The implementation of the CODE is quite simple. The best trial vector of the three generated is chosen. Then it is compared with the old vector and it replaces it if its fitness function value is smaller.
After mutation in each generation for every vector of the population, the binary crossover operator is applied to generate a trial vector whose coordinates are given bywhere , is a number from a uniform random distribution within the interval , a randomly chosen index from , and CR the crossover constant from the interval .
In CODE, the crossover operator is not applied for the DE/current-to-rand/1 strategy. CODE uses a greedy selection operator, which for minimization problems is defined bywhere , are the fitness values of the trial and the old vector, respectively. Therefore, the newly found trial vector replaces the old vector only when it produces a lower objective function value than the old one. Otherwise, the old vector remains in the next generation. The stopping criterion for the CODE or DE in general is usually the generation number or the number of objective function evaluations.
2.1. CODE with Eigenvector-Based Crossover Operator (CODE-EIG)
The authors in  propose an eigenvector-based crossover operator, which utilizes eigenvectors of covariance matrix of individual solutions. Thus, the crossover is rotationally invariant. To avoid losing diversity of population, the offspring can be stochastically born from the parents with either the standard coordinate system or the rotated coordinate system. The authors in  also introduce a new parameter to control the probability of selecting one of the coordinate systems. They have shown that this scheme can increase the population diversity and prevent premature convergence. Additionally, another significant advantage of this operator is that it can be applied to any crossover strategy with minimal changes. Therefore, it can enhance any existing DE variant. The main idea is to exchange the information between the target vector and the mutant vector in the eigenvector basis instead of the natural basis. We consider the same population of NP -dimensional vectors defined in the previous section. The covariance between th and th dimension of the population in the th generation is given by where , are the mean values of the variables in the th and th dimension, respectively.
To compute the eigenvector basis we need to factorize the covariance matrix into a canonical formwhere is the square matrix () whose th column is the eigenvector of and is the diagonal matrix whose diagonal elements are the corresponding eigenvalues. The factorization of a matrix into a canonical form is called eigendecomposition. The authors in  use Jacobi’s method  for eigendecomposition. When the eigenvector basis is found, the th target vectors can be expressed by ; the th mutant vectors can be expressed by . Then, a predefined crossover operator, such as binomial crossover, will exchange some of the elements of the mutant vector with some of the elements of its target vector to form a trial vector. The trial vector is then given by where is the conjugate transpose of the eigenvector basis and is a crossover operator on two vectors and , where is a new control parameter introduced in  which is called eigenvector ratio between 0 and 1 that determines the ratio of the eigenvector-based crossover operator and the other crossover operator. The main feature of this approach is that no matter how the crossover operator exchanges the elements in the eigenvector basis, the crossover behavior will become rotationally invariant in the natural basis.
Therefore, to create the CODE-EIG variant we use (3a), (3b), and (3c) to generate the mutant vector and (9) to create the trial vector. Additionally, this new variant requires the setting of the eigenvector ratio . It must be noted that when then only the eigenvector crossover operator is used, while when then only the binary crossover operator is used.
The CODE-EIG algorithm is outlined below:(1)Initialize the CODE-EIG parameters. That is, set the maximum number of generations , the population size number NP, and the eigenvector ratio .(2)Initialize a uniformly distributed random population of NP individuals. Set .(3)Evaluate objective function value for every vector of the population.(4)For each vector of the population, generate three mutant vectors , , , each with one of the three strategies given in (3a), (3b), and (3c) and with a control parameter setting randomly selected from the parameter candidate pool.(5)Apply the eigenvector-based crossover operator according to (9) and create three trial vectors , , .(6)Evaluate objective function values for the trial vectors.(7)Select the best of the trial vectors.(8)Apply the selection operator according to (6).(9)Keep the best solution so far.(10)If the maximum number of generations is reached, then exit; otherwise increment generation number and go to step 4 for the next generation.The CODE-EIG flowchart is depicted in Figure 1.
3. Numerical Results
In this paper, we compare the proposed CODE-EIG with three other DE algorithms, PSO, and GAs on two different array design cases. These algorithms are the CODE algorithm , the popular DE/rand/1/bin strategy (binomial crossover), the DE/rand/1/eig strategy (eigenvector-based mixed with binomial crossover), the Constriction Factor PSO , and a real coded GA. In the DE/rand/1/eig and DE/rand/1/bin strategies, is set to 0.5 and CR to 0.9. In the PSO, the cognitive learning factor and the social learning factor are both set to 2.05. For the GA the crossover probability is set to 0.9 and the mutation probability is set to 0.1. The eigenvector ratio is set to 0.5 for both CODE-EIG and DE/rand/1/eig. For the cases where the algorithms are compared, the population size and the number of generations are set equal for all algorithms. The stopping criterion for all algorithms is the generation number. The same initial conditions are used for all algorithms. All algorithms are compiled using the same compiler (Microsoft Visual C++ 2010) in a PC with Intel Core i5-2410M, at 2.30 GHz with 4 GB RAM running Windows 7.
3.1. Linear Array Synthesis
We consider an -element linear array of equally spaced isotropic elements. The array factor is expressed aswhere is the wavelength, and are the amplitude and the phase of the th element, respectively, and are the corresponding vectors, is the distance between two adjacent elements, is the direction cosine, and is the steering angle measured from broadside of the array.
For a symmetrically excited array (10) becomeswhere is the largest integer less than or equal to . For an even number of elements and for an odd number of elements we set . We assume that for all cases.
The shaped beam design cases are chosen such as the desired pattern is a cosecant beam and outside the main beam the peak sidelobe level (PSLL) should not exceed predefined values [5, 7, 11]. We consider case 1, where the desired pattern is given by the following expression:where is the desired peak sidelobe level.
One may observe that the is set to −30 dB instead of −25 dB in [5, 11]. The second case uses the same cosecant main beam in the sector of as in (12), while the is given by [5, 7, 11]The requirement of matching a desired shaped beam pattern can be expressed as follows:where is the calculated peak sidelobe level and is the vector of the unknown variables (the array amplitudes and phases). We have found the above weight values based on a trial-and-error procedure. The population size is set to 100 and the maximum number of generations is set to 1000 for all linear array design cases.
The first example case is that of a symmetrically excited array of 20 and 18 elements. Thus, the total number of unknowns is 20 and 18, respectively. The desired pattern is that of case 1. In this case, we compare the algorithms performance for elements. The best value, the worst value, the mean, and the standard deviation of the last generation computed by each algorithm are presented here. Figure 2 shows the best radiation patterns obtained by CODE-EIG for this case. The obtained patterns are in good agreement with the desired one. The 20-element array obtained a PSLL value of −30 dB, while the 18-element array obtained a PLL value of −29.96 dB. Table 1 holds the optimum element amplitudes and phases derived for the first two arrays. The convergence rate plot for this case for is shown in Figure 3. The CODE-EIG strategy converges faster than the other DE algorithms. The DE/rand/1/eig strategy converges faster than the CODE and the DE/rand/1/bin strategy. PSO and GA converge slower than the DE algorithms. Table 2 presents the statistical results for all algorithms. Both CODE-EIG and DE/rand/1/eig strategy produce about the same best result. However, CODE-EIG is better than DE/rand/1/eig in terms of mean and standard deviation values. We also notice that the DE/rand/1/eig results are better than the CODE and DE/rand/1/bin strategy. The PSO and GA obtained results present higher mean and standard deviation values. The DE/rand/1/bin strategy is the fastest among all the algorithms in terms of computational time. The PSO and GA are also faster than the other DE algorithms.
The second example case is again a symmetrically excited array of 20 and 18 elements. However, the desired pattern is that of case 2. Again, we compare the algorithms performance for elements. Figure 4 presents the patterns of the best designs obtained for both and elements. We notice that the derived patterns closely match the desired one, while the 20-element array is a better approximation than the 18-element one. The maximum SLL of the 20-element case is −25.09 dB while for the 18-element case the SLL value is −24.94 dB. Table 3 presents the optimum amplitudes and phases obtained by the CODE-EIG strategy for both arrays. Figure 5 shows the convergence rate plots for the 20-element case. It is obvious that CODE-EIG converges faster than the other algorithms. CODE is the second faster algorithm for this case. All DE algorithms converge at similar final values. PSO and GA converge slower than the other algorithms and a higher final value. The mean values and the standard deviation values are larger for PSO and GA. Table 4 presents the statistical results of the objective function values for both arrays. CODE-EIG clearly outperforms the other algorithms. It has obtained the lower best, mean, and standard deviation values. The DE/rand/1/eig strategy has produced the best worst value and produces better results than the CODE and the DE/rand/1/bin. Regarding computational time, again the DE/rand/1/bin is faster than the other algorithms. The CODE-EIG is faster than CODE and DE/rand/1/eig in this case.
Next, the examples that follow design the same two cases but with asymmetrically excited arrays. Therefore, the total number of unknowns is for these cases. The third example is that of an asymmetrically excited array with , 17, and 18 elements. The desired pattern is that of case 1. The best obtained patterns by CODE-EIG are depicted in Figure 6. We notice that the three patterns approximate the desired pattern. The peak SLL values are −30.20 dB, −30 dB, and −29.99 dB for , 17, and 16, respectively. The element amplitude and phases for the three patterns are presented in Table 5.
The fourth example presents the design case 2 as the desired pattern obtained by an asymmetrically excited linear array of 20 and 18 isotropic elements. The author has not been able to find in the literature an example that uses this design case asymmetrically excited. The best obtained patterns by CODE-EIG are illustrated in Figure 7. We notice that the 20-element array matches better the desired pattern than the 18-element one. The peak SLL values are −25.01 dB and −24.99 dB for and elements, respectively. Table 6 holds the corresponding element amplitudes and phases for both arrays.
3.2. Conformal Array Synthesis
The final design case presents a conformal cylindrical array design. This case has been solved in  using simulated annealing. In  another design is obtained using linear programming. We assume a cylindrical array consisting of MXN elements in the and directions, respectively. For this case . The radius of the cylindrical surface is , while the cylinder height is . The angular region of the array extends from to , where . The array elements are uniformly spaced by .
The far-field radiation pattern of the conformal cylindrical array is given bywhere , are the element indices in the and directions, respectively, and is the element pattern given by where is the element azimuthal position.
The positions of the array elements are The desired far-field pattern, , has a cosecant square dependency in the plane for an elevation angle ranging between and . The setting of the half-power beamwidth (HPBW) in the plane to a desired value, , within a tolerance percentage is also a requirement. Additionally, the peak sidelobe levels outside the shaped beam region must remain below a predefined desired value, .
For this case, we express the objective function aswhere is the calculated far-field pattern in the plane, is the number of pattern samples taken for the plane, is the calculated peak sidelobe level in a set of , is the calculated half-power beamwidth in the plane, and is the desired beamwidth tolerance.
The design parameters we have selected for this case are , , , , and dB (instead of −25 dB in [4, 7]). We set the population size to 100 vectors and the maximum number of iterations is set to 3000. Figures 8(a), 8(b), and 8(c) depict the best obtained radiation pattern with CODE-EIG for the , , and a 3D pattern, respectively. One may notice from the plane pattern that the pattern found has PSLL value of −27.01 dB, which is about 3 dB below the one from , while it is about 0.4 dB higher than the one from . Moreover, the plane pattern has a HPBW about and the PSLL value in this pattern is below the corresponding values from [4, 7]. Table 7 holds the amplitudes and phases of the best obtained pattern found by CODE-EIG.
3.3. CODE-EIG Tuning Parameter Sensitivity
The main control parameter of CODE-EIG is the eigenvector ratio . In order to explore the CODE-EIG sensitivity to control parameter selection we evaluated the first example using different eigenvector ratio settings. The number of elements of the pattern is . We set the number of generations to 1000 and the population size to 100. We run the algorithm for 50 independent trials for each case. The best value, the worst value, the mean, and the standard deviation at the last generation are presented here. Table 8 shows the results. CODE-EIG performance is relatively robust to different values, as long as is 0.5 or 0.8. Higher or lower eigenvector ratio values result in slightly worse statistical values. This conclusion is in agreement with , where the authors show the eigenvector ratio value of 0.5 produces better results.
We have presented a novel design approach for shaped beam pattern synthesis with multiple constraints based on Differential Evolution. We have introduced a new DE algorithm, namely, the CODE-EIG, which extends the Composite DE with the eigenvector-based crossover operator. The CODE-EIG algorithm is a powerful and robust global optimizer, which selects the appropriate strategy for trial vector generation and control parameters from a predefined candidate pool. An additional control parameter that is included in CODE-EIG is the eigenvector ratio. Thus, CODE-EIG requires only the adjustment of three parameters: the population size, the number of iterations, and the eigenvector ratio.
One of the DE advantages is that very few control parameters have to be adjusted in each algorithm run. However, the control parameters involved in DE are highly dependent on the optimization problem. Moreover, the selection of the appropriate strategy for trial vector generation requires additional computational time using a trial-and-error search procedure. Therefore, it is not always an easy task to tune these parameters. The CODE-EIG algorithm self-adapts these parameters. Although the CODE-EIG algorithm requires more computational time than the DE/rand/1/bin strategy, significant time is saved from using the trial-and-error search procedure.
We have designed shaped beam patterns of linear and conformal arrays, which have proven the effectiveness of this approach. The numerical results show that compared with the other DE strategies the CODE-EIG converges faster and produces in average better results. However, as with all evolutionary algorithms there is no assurance for locating the global optimum. In our future work, we plan to study possible modifications to CODE-EIG and apply the algorithm to additional antenna design problems.
Conflict of Interests
The author declares that there is no conflict of interests regarding the publication of this paper.
- T. Isernia, F. J. Ares Pena, O. M. Bucci, M. D'Urso, J. F. Gómez, and J. A. Rodríguez, “A hybrid approach for the optimal synthesis of pencil beams through array antennas,” IEEE Transactions on Antennas and Propagation, vol. 52, no. 11, pp. 2912–2918, 2004.
- N. G. Gómez, J. J. Rodríguez, K. L. Melde, and K. M. McNeill, “Design of low-sidelobe linear arrays with high aperture efficiency and interference nulls,” IEEE Antennas and Wireless Propagation Letters, vol. 8, pp. 607–610, 2009.
- J. W. Hooker and R. K. Arora, “Optimal thinning levels in linear arrays,” IEEE Antennas and Wireless Propagation Letters, vol. 9, pp. 771–774, 2010.
- J. A. Ferreira and F. Ares, “Pattern synthesis of conformai arrays by the simulated annealing technique,” Electronics Letters, vol. 33, no. 14, pp. 1187–1189, 1997.
- A. Akdagli and K. Guney, “Shaped-beam pattern synthesis of equally and unequally spaced linear antenna arrays using a modified tabu search algorithm,” Microwave and Optical Technology Letters, vol. 36, no. 1, pp. 16–20, 2003.
- M. J. Buckley, “Synthesis of shaped beam antenna patterns using implicitly constrained current elements,” IEEE Transactions on Antennas and Propagation, vol. 44, no. 2, pp. 192–197, 1996.
- B. Fuchs, “Shaped beam synthesis of arbitrary arrays via linear programming,” IEEE Antennas and Wireless Propagation Letters, vol. 9, pp. 481–484, 2010.
- T. Isernia, O. M. Bucci, and N. Fiorentino, “Shaped beam antenna synthesis problems: feasibility criteria and new strategies,” Journal of Electromagnetic Waves and Applications, vol. 12, no. 1, pp. 103–138, 1998.
- S. L. Ho and S. Yang, “Multiobjective synthesis of antenna arrays using a vector tabu search algorithm,” IEEE Antennas and Wireless Propagation Letters, vol. 8, pp. 947–950, 2009.
- S. L. Ho and S. Yang, “Multiobjective optimization of inverse problems using a vector cross entropy method,” IEEE Transactions on Magnetics, vol. 48, no. 2, pp. 247–250, 2012.
- A. A. Akdagli, K. Guney, and D. Karaboga, “Touring ant colony optimization algorithm for shaped-beam pattern synthesis of linear antenna,” Electromagnetics, vol. 26, no. 8, pp. 615–628, 2006.
- R. Storn and K. Price, “Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces,” Journal of Global Optimization, vol. 11, no. 4, pp. 341–359, 1997.
- M. M. Khodier and C. G. Christodoulou, “Linear array geometry synthesis with minimum sidelobe level and null control using particle swarm optimization,” IEEE Transactions on Antennas and Propagation, vol. 53, no. 8, pp. 2674–2679, 2005.
- D. G. Kurup, M. Himdi, and A. Rydberg, “Synthesis of uniform amplitude unequally spaced antenna arrays using the differential evolution algorithm,” IEEE Transactions on Antennas and Propagation, vol. 51, no. 9, pp. 2210–2217, 2003.
- R. L. Haupt, “Thinned arrays using genetic algorithms,” IEEE Transactions on Antennas and Propagation, vol. 42, no. 7, pp. 993–999, 1994.
- R. L. Haupt, “Optimized weighting of uniform subarrays of unequal sizes,” IEEE Transactions on Antennas and Propagation, vol. 55, no. 4, pp. 1207–1210, 2007.
- D. Mandal, A. Chatterjee, and A. K. Bhattacharjee, “Design of fully digital controlled shaped beam synthesis using differential evolution algorithm,” International Journal of Antennas and Propagation, vol. 2013, Article ID 713680, 9 pages, 2013.
- S. K. Goudos, K. A. Gotsis, K. Siakavara, E. E. Vafiadis, and J. N. Sahalos, “A multi-objective approach to subarrayed linear antenna arrays design based on memetic differential evolution,” IEEE Transactions on Antennas and Propagation, vol. 61, no. 6, pp. 3042–3052, 2013.
- S. K. Goudos, V. Moysiadou, T. Samaras, K. Siakavara, and J. N. Sahalos, “Application of a comprehensive learning particle swarm optimizer to unequally spaced linear array synthesis with sidelobe level suppression and null control,” IEEE Antennas and Wireless Propagation Letters, vol. 9, pp. 125–129, 2010.
- S. K. Goudos, K. Siakavara, T. Samaras, E. E. Vafiadis, and J. N. Sahalos, “Self-adaptive differential evolution applied to real-valued antenna and microwave design problems,” IEEE Transactions on Antennas and Propagation, vol. 59, no. 4, pp. 1286–1298, 2011.
- S. K. Goudos, K. Siakavara, T. Samaras, E. E. Vafiadis, and J. N. Sahalos, “Sparse linear array synthesis with multiple constraints using differential evolution with strategy adaptation,” IEEE Antennas and Wireless Propagation Letters, vol. 10, pp. 670–673, 2011.
- Y. Wang, Z. Cai, and Q. Zhang, “Differential evolution with composite trial vector generation strategies and control parameters,” IEEE Transactions on Evolutionary Computation, vol. 15, no. 1, pp. 55–66, 2011.
- E. Mezura-Montes, J. Velazquez-Reyes, and C. A. Coello Coello, “A comparative study of differential evolution variants for global optimization,” in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO '06), pp. 485–492, Seattle, Wash, USA, 2006.
- S.-M. Guo and C.-C. Yang, “Enhancing differential evolution utilizing eigenvector-based crossover operator,” IEEE Transactions on Evolutionary Computation, vol. 19, no. 1, pp. 31–49, 2015.
- R. Storn, “Differential evolution research—trends and open questions,” Studies in Computational Intelligence, vol. 143, pp. 1–31, 2008.
- A. W. Iorio and X. Li, “Solving rotated multi-objective optimization problems using differential evolution,” in AI 2004: Advances in Artificial Intelligence, vol. 3339 of Lecture Notes in Artificial Intelligence (Subseries of Lecture Notes in Computer Science), pp. 861–872, Springer, 2004.
- J. Demmel and K. Veselić, “Jacobi's method is more accurate than QR,” SIAM Journal on Matrix Analysis and Applications, vol. 13, no. 4, pp. 1204–1245, 1992.
- M. Clerc, “The swarm and the queen: towards a deterministic and adaptive particle swarm optimization,” in Proceedings of the 1999 Congress on Evolutionary Computation (CEC '99), pp. 1951–1957, IEEE, Washington, DC, USA, July 1999.
Copyright © 2015 Sotirios K. Goudos. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.