FREQUENCY OFFSET EFFECTS ON MAXIMIN AND MOSTLE A Thesis by Dong-Hyeuk Yang B.S.M.E, Korean Air Force Academy, 1997 Submitted to the Department of Electrical Engineering and the faculty of the Graduate School of Wichita State University in partial fulfillment of the requirements for the degree of Master of Science July 2006 FREQUENCY OFFSET EFFECTS ON MAXIMIN AND MOSTLE I have examined the final copy of this thesis for form and content, and recommend that it be accepted in partial fulfillment of the requirements for the degree of Master of Philosophy with a major in Electrical Engineering. H. M. Kwon, Committee Chair We have read this thesis and recommend its acceptance: M. Edwin Sawan, Committee Member Daowei Ma, Committee Member ii ACKNOWLEDGEMENTS First, I would like to thank Dr. Hyuck. M. Kwon, my academic adviser, for his support, guidance, and understanding throughout my graduate studies. I also wish to express my appreciation and gratitude to Dr. M. Edwin Sawan and Dr. Daowei Ma for their valuable comments and instruction during all stages of this thesis. My thanks are extended to all of my close friends—Mr. Inha Hyun, Taegyu Lee, Wantae Kim, Dongwook Kim, and Kanghee Lee who have been a part of my life. This dissertation is also dedicated to my parents and family—especially to my wife, Eunsug Park—who has always given me love and encouragement. Last but not least, I would like to express my deepest appreciation to my military supervisors—Col. Han, Col. Lee Chan-Gyung, and Lt. Col. Tae Myung-Chul—for their understanding about my absence from the Korean Air Force. iii ABSTRACT The Maximin algorithm, proposed by Dr. Torrieri and Bakhru, adaptively updates the weights of an antenna array to provide simultaneous interference suppression and beamforming in a frequency hopping (FH) communication system. The Maximin algorithm is named such because the desired signal is enhanced and the interference is suppressed simultaneously. However in this thesis, it was found that the Maximin algorithm shows poor performance under frequency offset and friendly interference, i.e., a data-modulated interference environment. In this thesis, frequency effects on the Maximin algorithm are derived analytically and verified with simulation results. iv TABLE OF CONTENTS Chapter 1. INTRODUCTION 1 1.1 1.2 1.3 1 1 2 2 7 10 10 1.4 1.5 2. 3. 5. History Background Existing Systems and Studies 1.3.1 Maximin 1.3.2 MOSTLE Issues Goal SYSTEM MODEL 11 2.1 2.2 11 12 Basis Configurations Simulation Parameters SIMULATIONS 16 3.1 16 16 17 27 29 30 33 33 34 3.2 3.3 3.4 3.5 4. Page Frequency Offset to MSK Signal 3.1.1 Introducing Frequency Offset 3.1.2 Effects of Frequency Offsets Initial Weight Vectors Computational Complexity Increase of Antennas Maximin Algorithm Performance under Different Interferences 3.5.1 Tone Interference 3.5.2 Friendly Interference CONTRIBUTIONS 36 4.1 4.2 4.3 4.4 36 36 37 37 Introducing Frequency Offset to Desired MSK Signal Initial Weight Vectors Increase of Antennas and computational FLOPs Analysis Maximin Algorithm under Different Interference CONCLUSIONS 39 v LIST OF REFERENCES 40 APPENDICES 41 A. B. C. D. Average SINR with Frequency Offset Signal Power Degradation D(S) Increasing ULA (M) and Computational FLOPs Norm of Weight Vector of Maximin versus Iterations vi 42 47 49 56 LIST OF FIGURES Figure Page 2.1 Block diagram of a typical FH system with array antennas 11 2.2 Square with M=4 omni antennas at the vertices 14 2.3 Uniform linear array (ULA) with M omni antennas 14 3.1 Minimum shift-keying (MSK) data modulation 16 3.2 Average SINR for 20 trials under AWGN channel in the presence of tone interferences and zero frequency offset (∆f=0), assuming input SNR=20 dB, M=4 square array and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) 18 Average SINR for 20 trials under AWGN channel in the presence of tone interferences and frequency offset ∆f=1/(1.5Tb), assuming input SNR=20dB, M=4 square array, and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) 19 Average SINR for 20 trials under AWGN channel in the presence of tone interferences and frequency offset ∆f=1/(1Tb), assuming input SNR=20 dB, M=4 square array and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) 20 Signal power degradation D(S) versus Frequency Offset amount (∆f≠0) of Maximin algorithm, assuming input SNR=20 dB 26 Average SINR for 20 trials under AWGN channel in the presence of tone interferences, assuming input SNR=20dB, ∆f=0, M=4 square array, and ω(0)=[1,0,0,0]. (Maximin algorithm used a convergence parameter of α=0.2) 27 Computational real FLOPs versus omni-directional uniform linear Array (ULA) Antenna (M) 32 Norm of Weight Vector of Maximin algorithm versus Iterations under Friendly and Tone interference, assuming input SNR=20dB, ∆f=0, M=4 square array, ω(0)=[1,0,0,0], and convergence parameter of α=0.2 34 3.3 3.4 3.5 3.6 3.7 3.8 vii LIST OF TABLES Table Page 2.1 Simulation Parameters 3.1 12 Final SINR in dB under Frequency Offset and Tone Interference (M=4 ULA, ω(0)=[1,0,0,0]) (Maximin Algorithm used a Convergence Parameter of α=0.2) 21 Final SINR in dB under Frequency Offset and Friendly Interference (M=4 ULA, ω(0)=[1,0,0,0]) (Maximin Algorithm used a Convergence Parameter of α=0.2) 21 3.3 Number of Iterations to Reach SINR within ±0.5dB from Final SINR under Frequency Offset and Tone Interference (M=4 Square, ∆f=1/(5Tb)) (Maximin Algorithm used a Convergence Parameter of α=0.2) 28 3.4 Number of Iterations to Reach SINR within ±0.5dB from Final SINR under Frequency Offset and Friendly Interference (M=4 Square, ∆f=1/(5Tb)) (Maximin Algorithm used a Convergence Parameter of α=0.2) 28 3.5 Approximate Operation Count Real FLOPs 29 3.6 Final SINR in dB Versus M when Input SNR=20dB under Tone Interference (ULA, ∆f=0) (Maximin Algorithm used a Convergence Parameter of α=0.2) 30 3.7 Final SINR in dB Versus M when Input SNR=20dB under Friendly Interference (ULA, ∆f=0). (Maximin Algorithm used a Convergence Parameter of α=0.2) 30 3.8 Computational Cost of Complex Floating Point Operations (FLOPs) Versus Number of Antenna (M) 31 3.2 viii CHAPTER 1 INTRODUCTION 1.1 History The Maximin algorithm is an adaptive-array algorithm that suppresses interference before it enters the demodulator of a frequency-hopping (FH) communication system and thereby provides a spatial processing gain that supplements the inherent processing gain of the frequency hopping system [2,6]. The Maximin algorithm was named because the desired signal was enhanced and the interference was suppressed simultaneously. It relies on the basic characteristics of the desired signal wave form and requires only that the frequency-hopping pattern be known by the receiver. In this thesis, it was found that the Maximin algorithm shows poor performance under the frequency offset and friendly interference, i.e., data-modulated wave form. 1.2 Background Most adaptive algorithms differentiate between the desired signal and the interfering signals based on the arrival angles of the signals that impinge the antenna array. Other algorithms make this differentiation based on the maximization of the desired signal power at the output of the antenna array. Shor [1] demonstrated that the method of “steepest ascent” could be employed to increase the desired signal power while differentiating the coherent interferences. Torrieri and Bakhru [2] applied a version of Shor’s algorithm to an FH communication system and called it Maximin. The Maximin algorithm was named because the desired signal was enhanced and the interference was suppressed simultaneously. They proposed a receiver structure operating on two frequency 1 bands—one to estimate the power in the desired signal band and the other to estimate the noise and interference powers in a frequency band adjacent to the desired signal band. Maximin is a blind algorithm since it does not require any training sequences, decisiondirected adaptation, or knowledge of the directions of arrival. It was shown that the Maximin algorithm requires only synchronization of the frequency hop pattern of the transmitted signal with that of the receiver for it to perform. They demonstrated that the Maximin has the ability to maximize the desired signal power while simultaneously suppressing noise and tone interferences. 1.3 Existing Systems and Studies 1.3.1 Maximin Algorithm The discrete-time vector of complex envelopes of the M antenna outputs after each one has been dehopped, filtered, and sampled at the output of the baseband filters is x (i ) = s (i ) + n (i ) (1) which will be applied to the adaptive filter. Here, s(i ) is the vector of the desired-signal complex envelopes, and n(i) is the vector of thermal-noise plus interferences complex envelopes. Also, note that x (i ), s (i ), n (i ) ∈ CM and i denote the sample index. Treating the complex weight vector ω (i) as a constant during the update period, the output of the adaptive filter is obtained as y (i ) = ω x (i ) = y s (i ) + y n (i ) T where 2 (2) y s (i ) = ω s (i ) (3) y n (i ) = ω n (i ) (4) T T and the superscript T denotes the transpose. Following Proakis [3], the output power of the complex signal component is defined as Ps = 1 2 ⋅ E [| y s ( i ) | 2 ] = ω R ss ω † (5) where E [⋅] denotes the expected value, and the desired-signal auto-correlation matrix is defined as 1 Rss = E[s* (i)sT (i)] 2 where the superscript † (6) denotes the conjugate transpose, and * is the complex conjugation. Similarly, the noise-plus-interference output power is Pn = 1 2 ⋅ E [| y n ( i ) | 2 ] = ω R nn ω † (7) where the noise-plus-interference auto-correlation matrix is defined as 1 Rnn = E[n* (i)nT (i)] 2 (8) The signal-to-interference-plus-noise ratio (SINR) is given as P ω R ω ρ = s = † ss Pn ω Rnn ω † 3 (9) The SINR provides the performance that the adaptive algorithm seeks. The weight vector may be decomposed as ω = ω R + jω I , where ω R and ω I are the real and imaginary parts of ω . The method of the steepest descent that Rao [4] applied to discretetime systems gives rise to ω ( k + 1) = ω ( k ) + µ ( k )∇ ω J ( k ) (10) where ∇ ω J (k ) represents the gradient of the cost function J(k) with respect to ω, and k denotes the weight iteration number and the update index. The parameter µ (k ) is a scalar sequence that controls the rate of change of the weight vector. If ρ(k) is regarded as the cost function, then equation (10) becomes ω ( k + 1) = ω ( k ) + µ ( k )∇ ω ρ ( k ) (11) where ∇ ω ρ (k ) = = = ∂ρ ∂ω ∂ ∂ω (ω R ss ω )(ω R nn ω ) − (ω R ss ω ) H H H ∂ ∂ω (ω R n n ω ) H (ω R n n ω )(ω R n n ω ) H ∂ ∂ω (ω R ss ω ) H (ω R n n ω ) H H (ω R ss ω ) H − ∂ ∂ω (ω R nn ω ) H (ω R nn ω )(ω R n n ω ) H H (12) ω R ω 2 R ss ω (ω R ss ω ) ⋅ 2 R nn ω = × H ss − H H H (ω R nn ω ) ω R ss ω ( ω R n n ω )(ω R n n ω ) H = ω H R ss ω ⎡ R ss ω ×⎢ − ω H R n n ω ⎣ 12 ω H R ss ω H R nn ω ⎤ ⎥ H 1 R nn ω ⎦ 2 ω ⎡ R ( k )ω ( k ) R nn ( k )ω ( k ) ⎤ = 2 ρ ( k ) ⎢ ss − ⎥ Ps ( k ) Pn ( k ) ⎣ ⎦ and Rss(k), Rnn(k), Ps(k), and Pn(k) vary with every update in practice and need to be estimated. Hence, the Maximin algorithm requires the estimation of Rnn, which is unknown 4 in general. Furthermore, Rss is also unknown in the absence of information about the direction of the desired signal. The desired-signal component of the adaptive filter output can be decomposed as y s (i ) = y sR (i ) + j ⋅ y sI (i ) (13) where y sR (i ) and ysI (i ) are the real and imaginary parts of y s (i ), respectively. If y s (i ) is modeled as a zero-mean, wide-sense stationary process, then the autocorrelations of y sR (i ) and ysI (i ) are identical. As a result, equations (3), (4), and (13) imply that ⎡1 ⎤ E [ s * ( i ) y sR ( i )] = E ⎢ s * ( i ) s T ( i )ω ⎥ ⎣2 ⎦ = 1 E ⎡⎣ s * ( i ) s T ( i ) ⎤⎦ ω 2 (14) This equation and equation (6) yield Rss (k )ω (k ) = E[ s* (i ) ysR (i )] (15) Similarly, if the interference arriving at each antenna is a delayed version of interference arriving at antenna 1, and if the thermal noise is independent, then Rnn (k )ω (k ) = E[n* (i) ynR (i)] (16) By substituting equations (15) and (16) into (12), [ ] [ ] ⎧ E s * y sR E n * y nR ⎫ ∇ω ρ = 2ρ ⎨ − ⎬ Pn ⎭ ⎩ PS 5 (17) Let s* ysR (k ) and n* ynR (k ) denote estimates at iteration k of the desired-signal correlation vector E[ s* ysR ] and the noise-plus-interference correlation vector E[n* ynR ] . The scalar sequence is µ (k ) = where ρˆ = α 2 2(ρˆ ( k ) ) (18) PˆS (k ) . PˆS (k ) is the estimate of PS (k ) , and Pˆn (k ) is the estimate of Pn (k ) . ˆ P (k ) n Therefore, the Maximin algorithm can be defined as ω ( k + 1) = ω ( k ) + α ⎡ s * y sR ( k ) n * y nR ( k ) ⎤ − ⎢ ⎥ ρˆ ( k ) ⎢⎣ PˆS ( k ) Pˆn ( k ) ⎥⎦ (19) Suitable estimates for each component are as below : Desired-signal correlation vector: s* ysR (k ) = 1 km x* (i ) ysR (i ) ∑ m i =( k −1) m +1 Noise-plus-interference correlation vector: n* ynR (k ) = 1 km nˆ * (i ) yˆ nR (i ) ∑ m i =( k −1) m +1 (20) (21) 1 km Desired-signal power: PˆS (k ) = y 2 sR (i ) ∑ m i =( k −1) m +1 (22) 1 km 2 (i ) Noise-plus-interference power: Pˆn (k ) = yˆ nR ∑ m i =( k −1) m +1 (23) If the adaptation constant (α ) is approximately selected, the convergence analysis will then show the effectiveness and robustness of the Maximin algorithm. 6 Lastly, s * y sR (k ) can be interpreted as the signal term of the algorithm to direct the array PˆS (k ) beam toward the desired-signal, and n* ynR (k ) is the noise term that enables the Pˆn (k ) algorithm to suppress the interference signals. 1.3.2 MOSTLE Balakrishnan et al. [5] proposed the technique “MOSTLE,” which stands for Maximin algOrithm with STep-Length Estimation. MOSTLE updates step-length parameter µ (k ) as well as updated weight vector, using the estimate of desired-signal autocorrelation matrix Rˆ ss (k ) and the estimate of noise-plus-interference autocorrelation matrix Rˆ nn (k ) . If the (M×m) matrix X of the received signal does not have a full rank where m is the number of snapshots, or if the rank is unknown, the singular value decomposition (SVD) technique is usually used to decompose a matrix into several component matrices and to show the orthogonal property [8]. By using the SVD, Rˆ ss (k ) and Rˆ nn (k ) , defined earlier, can be found as follows. The SVD of X gives X = S X ⋅ ∑ X ⋅VX where S X ∈ M×M , ∑X ∈ M×m , and VX ∈ m×m (24) , with S X , VX being unitary and ∑ X being diagonal. Defining the estimate of Rxx as m Rˆ xx (k ) = ∑ x(i )x† (i ) i =1 7 (25) then, the above equation can be rewritten for the number of antenna array elements M, e.g., M=4 as † † † Rˆ xx (k ) = XX † = ( S X ⋅ ∑ X ⋅V X )(V X ⋅ ∑ X ⋅S X ) = S X ⋅ ∑ 2X ⋅S X ⎡ s11 s12 ⎢s s = ⎢ 21 22 ⎢s31 s32 ⎢ ⎣s 41 s 42 s13 s 23 s33 s 43 s14 ⎤⎡Σ11 0 s 24 ⎥⎢ 0 Σ 22 ⎥⎢ s34 ⎥⎢ 0 0 ⎥⎢ s 44 ⎦⎣ 0 0 0 0 Σ 33 0 0 ⎤ 0 ⎥ ⎥ 0 ⎥ ⎥ Σ 44 ⎦ (26) 2 ⎡ s11 s12 ⎢s s ⎢ 21 22 ⎢s31 s32 ⎢ ⎣s 41 s 42 s13 s 23 s33 s 43 s14 ⎤ s 24 ⎥ ⎥ s34 ⎥ ⎥ s 44 ⎦ † . In a similar way, the estimation of Rnn is † † † Rˆ nn (k ) = NN † = ( S N ⋅ ∑ N ⋅VN )(VN ⋅ ∑ N ⋅S N ) = S N ⋅ ∑ 2N ⋅S N (27) where N = [n(1),..., n( m )] = S N ⋅ ∑ N ⋅VN , with S N , ∑ N , and VN defined in a similar manner. From equation (1), Rˆ ss (k ) = Rˆ xx (k ) − Rˆ nn (k ) (28) where Rˆ ss (k ) is the estimate of the signal auto-correlation matrix during the kth update. We define a new cost function, f ( µ ( k )) , such that ~ P f ( µ (k )) = ~s Pn (29) ~ Ps = ω † (k + 1) Rˆ ss (k )ω (k + 1) (30) ~ Pn = ω † (k + 1) Rˆ nn (k )ω (k + 1) (31) with where x̂ denotes the estimate of a quantity x . 8 The process of finding µ (k ) among all µ ∈ is called the line search. Rewriting equation (29) with respect to the step-length parameter µ (k ) , we obtain f ( µ (k )) = A1µ 2 (k ) + B1µ (k ) + C1 A2 µ 2 (k ) + B2 µ (k ) + C2 (32) Observe that f ( µ ( k )) is scalar valued with critical points that can be obtained by differentiating with respect to µ (k ) yielding − B ± B 2 − 4 AC µ (k ) = 2A (33) where Aq, Bq, and Cq for q = 1,2 of equation (32) as Aq = ρˆ 2 (k ) z † (k ) Rq z (k ) Bq = ρˆ (k ) ( z † (k ) Rqω (k ) + ω † (k ) Rq z (k ) ) (34) Cq = ω † (k ) Rqω (k ) where R1 = Rˆ ss and R2 = Rˆ nn , the signal and noise autocovariance matrices, and ⎡ Rˆ ( k )ω ( k ) Rˆ nn ( k )ω ( k ) ⎤ − z ( k ) = ∇ ω ρˆ (k) = ⎢ ss ⎥ ˆ (k ) P Pˆn ( k ) ⎦ s ⎣ (35) Setting the derivative of equation (32) with respect to µ (k ) to zero, we obtain Aµ 2 (k ) + Bµ (k ) + C = 0 (36) where A = A1 B2 − A2 B1 , B = A1C2 − A2 C1 , and C = B1C2 − B2C1 9 (37) We observed from Balakrishnan et al. [5, 10] that the sequence { µ (k ) } converges to zero as k → ∞ . Therefore, the MOSTLE can be defined as ⎡ Rˆ ss ( k )ω ( k ) Rˆ nn ( k )ω ( k ) ⎤ − ⎥ ˆ (k ) P Pˆn ( k ) ⎦ s ⎣ ω ( k + 1) = ω ( k ) + µ ( k + 1) ρˆ ( k ) ⎢ 1.4 (38) Issues The Maximin algorithm has not been tested under the frequency offset ∆f of a data signal wave form. In practice, ∆f is typically nonzero. It was reported by Balakrishnan et al. [10] that the performance of the Maximin algorithm is drastically degraded in the presence of friendly interferences, i.e., when the interferences are also users in the same system. Hence, MOSTLE has been proposed to enhance the performance of the Maximin algorithm by updating the step length (the adaptation parameter) based on a maximization criterion instead of retaining it as a constant [2,6]. MOSTLE shows significant improvement under the friendly interferences environment. Still, MOSTLE has not been tested under the frequency offset environment yet. 1.5 Goal This thesis aimed to analytically study the frequency offset effects on both the Maximin algorithms and MOSTLE. A data-modulated interferences environment was also considered. Simulation results will be presented. In Chapter 2, the basic system model and simulation parameters are introduced. Chapter 3 will show the differences between the Maximin algorithm and MOSTLE under various environments. In Chapters 4 and 5, contributions of this thesis are stated and conclusions are made, respectively. 10 CHAPTER 2 SYSTEM MODEL 2.1 Basic Configuration Figure 2.1 shows the frequency-hopping (FH) system to be considered [2,10]. The FH replica generated by a synchronized local frequency synthesizer removes the frequency hoppings in the received signal. After dehopping, the received signal is filtered to prevent aliasing and to reject noise. Then the received signal is processed in an intermediate frequency (IF) range, where it is sampled at a rate prescribed in Table 2.1. Lastly, the sampled values of the complex envelope of the dehopped signal are applied to the adaptive filter. Dehopped Signal Antenna 1 Front End Device IF Samples IF Filter ADC Baseband Converter Baseband Filter X1R } X1 X1I FH Replica Moniter Filter n1R } n1I X { X1 . . RXX XM W1 Weight Processor (New Approach) n { }W WM n1 .. . . Rnn nM Figure. 2.1. Block diagram of a typical FH system with array antennas. 11 n1 2.2 Simulation Parameters The edge length is equal to one or two times the wavelength corresponding to the center frequency. Each interference source is in the plane of the array, and all the signals are assumed to arrive as plane waves. Refer to Table 2.1 for more detail. TABLE 2.1 SIMULATION PARAMETERS Parameters Antenna array Array edge length (d) DOA of desired user DOA of interferences Center frequency Hop dwell time (TH ) Data rate Frequency modulation Signal-to-noise-ratio Hopping bandwidth Number of frequency-hopping channels Monitor filter offset (fo) Sampling rate Weight iterations per hop Total interference-to-signal-ratio Interference type Number of hops per experiment Fading model Vehicular speed Value Square with M=4 omni antennas at the vertices, or a uniform linear array with M omni antennas λ 0° 40°, 70° 3 GHz 1 ms 100 kbps Minimum shift-keying (MSK) 20 dB per antenna per channel 30 MHz or 300 MHz N FHC = 300 or 3000 200 KHz 800-kilo samples per second 8 10 N FHC Tones and MSK signals in all channels 50 Jakes 50 km/h An FH signal has a randomly chosen carrier frequency within the hopping band and is modulated by binary minimum shift-keying (MSK). The sequence of data bits is randomly generated at the rate of 100 kbps with a hop dwell time of 1 ms. The thermal noise at the output of each IF filter following an antenna is modeled as filtered white 12 Gaussian noise. The ratio of signal power to thermal noise power (SNR) is defined relative to a single-frequency channel and is set at 20 dB. Since the FH signal is assumed to be non-coherent in carrier phase from one hop to another, each FH pulse has an initial phase that is uniformly distributed over the interval [−π , π ] . The hopping frequencies are separated by 100 kHz and spread uniformly over the total hopping band, which occupies either 30 or 300 MHz. Thus, there are either 300 or 3,000 contiguous frequency channels. The total interference power due to all interference signals is equal to ten times the number of frequency channels, which maintains a constant value of interference power per frequency channel. Thus, the signal-to-interference ratio ( ρ1 ) is slightly less than -10 dB. Here, we consider the cases when the interferences are toneand MSK-modulated. Perfect synchronization between the frequency-hopping signals at all antenna outputs and the frequency synthesizer in the receiver is assumed. The baseband and monitor filters are modeled as digital eight-pole Butterworth filters with 3-dB bandwidths equal to 100 kHz, which is the bandwidth of a frequency channel. The monitor filter has a single passband with center frequency of f 0 = 200 kHz and a bandwidth equal to that of the baseband filter. The sampling rate of the analog-to-digital converter (ADC) is 800-kilo samples per second. There are eight weight iterations per hop, which means 100 samples per weight iteration. In other words, the number of samples per update is m=100. An array of M=4 omni-directional antennas located at the vertices of a square and a uniform linear array (ULA) are considered. The symmetry of the vertices of a square allows full azimuth coverage. The edge length is equal to one or two times the wavelength corresponding to the center frequency. Each interference source is in the plane of the array, 13 and all signals are assumed to arrive as plane waves. Refer to Figure 2.2 and 2.3 for more detail. The arrival time delay differences between elements 1 and others (2,3, and 4) are denoted by τ 1 , τ 2 , and τ 3 , respectively, where element 1 is the reference. d si nø ø co s π ( 4 − ø) 2 ø ø π 4 M=4 d co 2d d sø 2d 1 3 d Adaptive System ø M=4 d 3 d dsi nø 2ds inø 3ds inø Figure. 2.2. Square with M=4 omni antennas at the vertices. ø 2 d 1 Adaptive System Figure. 2.3. Uniform linear array (ULA) with M omni antennas. 14 Table 2.1, shown earlier, gave an array of square with M=4 omni antennas at the vertices and a uniform linear array (ULA) with M omni antennas. The number of samples per update is m=100. Define the data matrix X using the output of the baseband filters as ⎡ x1,1 LL x1,m ⎤ ⎢ ⎥ X = [ x(1),..., x(m)] = ⎢ M LL M ⎥ ⎢⎣ x M ,1 LL x M ,m ⎥⎦ (39) where x(i) ∈ CM is defined in equation (1) and i=1,..., m, and m is the number of observations per iteration. 15 CHAPTER 3 SIMULATIONS 3.1 Frequency Offset to MSK Signal 3.1.1 Introducing Frequency Offset The FH signal has a randomly chosen carrier frequency within the hopping band and is modulated by binary minimum shift-keying. A small offset frequency (=∆f) is introduced to the MSK wave form to be more realistic. Refer to Xiong [9] for more detail. I(t) A cos a(t)=(1,-1,1,-1,-1,...) S/P πt 2Tb cos 2π f c t + s(t) Σ + T Q(t) A sin πt 2Tb sin 2π f c t Figure. 3.1. Minimum shift-keying (MSK) data modulation. The MSK signal with the frequency offsets can be written as s(t ) = Re [ν (t ) exp( j 2π ( fc + ∆f )t )] = Re [ν (t ) exp( j 2π∆ft ) ⋅ exp( j 2π fct )] = Re [ v%(t ) ⋅ exp( j 2π fct )] 16 (40) where ν (t ) is the equivalent low pass signal, which can be written as v(t ) = A(a I (t ) cos πt 2Tb + jaQ (t ) sin πt 2Tb ) (41) and ν~ (t ) is the equivalent low pass signal under the frequency offset which can be written as v% (t ) = Av(t ) exp( j 2π∆ft ) = A(vR (t ) + jvI (t ))(cos 2π∆ft + j sin 2π∆ft ) where ∆f = (42) 1 (k = 0, 0.5, 1, 1.5, 2, and 5) kTb Therefore, v%(t ) = Av(t )exp( j 2π∆ft ) ⎛ πt πt ⎞ = A⎜ aI (t )cos + jaQ (t )sin ⎟ ( cos 2π∆ft + j sin 2π∆ft ) T T 2 2 b b ⎠ ⎝ ⎧⎪⎛ ⎞ πt πt = A ⎨⎜ aI (t )cos cos 2π∆ft − aQ (t )sin sin 2π∆ft ⎟ 2Tb 2Tb ⎠ ⎩⎪⎝ (43) ⎛ ⎞⎪⎫ πt πt + j ⎜ aQ (t )sin cos 2π∆ft + aI (t )cos sin 2π∆ft ⎟⎬ 2Tb 2Tb ⎝ ⎠⎭⎪ 3.1.2 Effects of Frequency Offsets Figures 3.2 and 3.3 show the average signal-to-interference-plus-noise power ratio in equation (9) for 20 trials under an AWGN channel in the presence of tone interferences where the input SNR=20 dB, M=4 square array, and ω(0)=[1,0,0,0]. A convergence parameter of α=0.2 is used for the Maximin algorithm, and frequency offsets are ∆f=0 and ∆f=1/(1.5Tb), respectively. 17 Comparing Figures 3.2 and 3.3, it is observed that the frequency offset (∆f=1/(1.5Tb)) can cause degradation in the final SINR of about 2.5 dB for both algorithms. However, it is also observed that the frequency offset does not degrade the convergence speed of MOSTLE, but it does degrade to that of the Maximin algorithm noticeably, in the case of frequency offset ∆f>>1/(1.5Tb), as shown in Figure 3.4. Figure. 3.2. Average SINR for 20 trials under AWGN channel in the presence of tone interferences and zero frequency offset (∆f=0), assuming input SNR=20 dB, M=4 square array and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) 18 Figure. 3.3. Average SINR for 20 trials under AWGN channel in the presence of tone interferences and frequency offset ∆f=1/(1.5Tb), assuming input SNR=20 dB, M=4 square array and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) Figure 3.4 shows the average SINR for 20 trials under an AWGN channel in the presence of tone interferences and frequency offset (∆f=1/(1Tb)). It is also assumed that the input SNR=20 dB, M=4 square array, ω(0)=[1,0,0,0], and convergence parameter of α=0.2 is used. 19 Figure. 3.4. Average SINR for 20 trials under AWGN channel in the presence of tone interferences and frequency offset ∆f=1/(1Tb), assuming input SNR=20 dB, M=4 square array and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) Tables 3.1 and 3.2 list the final SINR in dB under tone and friendly-user interference, respectively, for various frequency offsets. Here, a uniform linear array of M=4 elements and antenna element spacing equal to a half wavelength of the desired signal were used. Also an AWGN channel with input SNR=20 dB, and ω(0)=[1,0,0,0] were assumed. The Maximin algorithm used a convergence parameter of α=0.2. These tables show that the SINR is degraded rapidly when the frequency offset ( ∆f ) is larger than 1/(1.5Tb). 20 TABLE 3.1 FINAL SINR IN DB UNDER FREQUENCY OFFSET AND TONE INTERFERENCE (M=4 ULA, ω(0)=[1,0,0,0]) (MAXIMIN ALGORITHM USED A CONVERGENCE PARAMETER OF α=0.2) ∆f MAXIMIN MAXIMIN SVD MOSTLE 0 24.71 dB 1/(5Tb) 23.97 dB 1/(2Tb) 23.95 dB 1/(1.5Tb) 22.15 dB 1/Tb 11.10 dB 1/(0.5Tb) 0.0024 dB 24.72 dB 24.13 dB 24.11 dB 22.30 dB 14.55 dB 7.29 dB 24.84 dB 24.29 dB 24.25 dB 22.50 dB 15.17 dB 7.98 dB TABLE 3.2 FINAL SINR IN DB UNDER FREQUENCY OFFSET AND FRIENDLY INTERFERENCE (M=4 ULA, ω(0)=[1,0,0,0]) (MAXIMIN ALGORITHM USED A CONVERGENCE PARAMETER OF α=0.2) ∆f MAXIMIN MAXIMIN SVD MOSTLE 0 1.02 dB 1/(5Tb) 0.93 dB 1/(2Tb) 0.96 dB 1/(1.5Tb) 1.00 dB 1/Tb 0.97 dB 1/(0.5Tb) 0.96 dB 13.50dB 13.20 dB 13.05 dB 12.85 dB 11.38 dB 7.25 dB 25.24dB 24.70 dB 24.46 dB 22.78 dB 16.41 dB 9.50 dB The monitor filter plays a role as a band-rejection filter with two passbands symmetrically located. And, because it has a passband offset by f o (= 200kHz ) from the baseband filter, there is negligible spillover of the desired signal into the output of the monitor filter for zero-frequency offset. When the frequency offset is introduced to the MSK modulator, the power spectral density (PSD) of the modulated data signal shifts about the same amount to the frequency offset. Therefore, the introduced nonzero frequency offset tends to diminish the desired signal power, which causes the steady-state SINR to fall. Refer to Proakis [3] for more detail. Defining s(t ) to be a bandpass signal and ν (t ) to be a equivalent lowpass signal, then 21 ⎧ πt ⎪sin 2T ∞ b ⎪ v(t ) = ∑[I 2n g (t − 2nTb ) − jI 2n+1 g (t − 2nTb − Tb )], g (t ) = ⎨ n=−∞ ⎪ 0 ⎪ ⎩ , 0 ≤ t ≤ 2Tb (44) , else where I 2 n is the even bit, and I 2 n+1 is the odd bit. Then, s(t ) = Re[ν (t ) exp( j 2πf C t )] (45) and S ( f ) ∆f = Re [ν (t ) ⋅ exp( j 2π∆ft ) ⋅ exp( j 2π fCt )] = Re [ v%(t ) ⋅ exp( j 2π fCt )] (46) where v~(t ) = ν (t ) exp(j 2π∆ft) The autocorrelation function of v~ ( t ) is Rv% (τ ) = E ⎡⎣v%(t) ⋅ v%*(t −τ )⎤⎦ = E ⎡⎣ν (t)exp( j2π∆ft)ν*(t −τ )exp(− j2π∆f (t −τ ))⎤⎦ = E ⎡⎣ν (t)ν*(t −τ )exp( j2π∆f τ )⎤⎦ (47) = Rv (τ )exp( j2π∆f τ ) Therefore, the power spectral density of v% (t ) is Φv% ( f ) = Fourier Transform[ Rv% (τ )] = Fourier Transform[ Rv (τ )exp( j 2π∆f τ )] = Fourier Transform[ Rv (τ )] exp( j 2π∆f τ ) = Φv ( f − ∆f ) 22 (48) The PSD of ν (t ) can be written as Φv ( f ) = 1 2 G( f ) Tb 2 1 ⎛ 4Tb ⎞ cos2 2π Tb f = ⎜ ⎟ Tb ⎝ π ⎠ (1 −16T 2 f 2 )2 b = (49) 16Tb cos2 2π Tb f π 2 (1 −16Tb2 f 2 )2 And G( f ) = Fourier Transform[ g (t )] ∞ = ∫ g (t )exp(− j 2π ft )dt (50) −∞ 2Tb ⎛ πt ⎞ = ∫ sin ⎜ ⎟ exp(− j 2π ft )dt 0 ⎝ 2Tb ⎠ Here, using trigonometric identity, sin x = G( f ) = ∫ 2Tb 0 exp( jx) − exp(− jx) 2j ⎛ πt ⎞ ⎛ 1 ⎛ πt ⎞⎞ ⎜⎜ exp ⎜ j ⎟ − exp ⎜ − j ⎟ ⎟⎟ exp(− j 2π ft )dt 2j⎝ 2 T 2 T b ⎠ b ⎠⎠ ⎝ ⎝ 4T cos 2π Tb f exp(− j 2π fTb ) = b π 1 − 16Tb 2 f 2 (51) Therefore, the PSD of v% (t ) is Φv% ( f ) = 2 16Tb cos 2π Tb ( f − ∆f ) ( π 2 1 −16T 2 ( f − ∆f )2 b ) 2 exp(− j 2π ( f − ∆f )Tb ) (52) It is analytically shown in equation (53) how the approximate steady-state SINR is degraded due to the frequency offset. The SINR ∆f represents the degraded final SINR due to ∆f. 23 ⎛ S ∆f ⎞ SINR∆f = 10log10 ⎜ ∆f ⎟ ⎝ (I + N ) ⎠ (53) ⎛ S/D(S) ⎞ =10log10 ⎜ ⎟ ⎝ (I+N) ⋅ D(S) ⎠ where D(S ) is the desired user MSK signal power degradation due to the PSD shift which can be written as 2 1 T D(S ) = ∫ b1 Φv% ( f ) df −T b =∫ (54) 2 16Tb cos 2π Tb ( f − ∆f ) 1 Tb − T1 b ( π 2 1 −16T 2 ( f − ∆f )2 b ) 2 df Note that in equation (50), signal power is reduced by factor D(S), but the interferenceplus-noise power is increased by factor D(S) because the monitor filter is adjacent to the baseband signal filter and the lost signal power is captured by the monitor filter. The steady-state SINR of the Maximin algorithm at zero frequency offset is 24.71dB, as shown in Table 3.1. And, SNR=20dB, which implies that N=10-2S. Hence, SINR ∆f =0 = = S I +N S I + S ⋅10−2 (55) = 24.71dB From equation (55), the interference power can be found as I = 10−2.471 ⋅ (1 − 10−0.471 )⋅ S . Therefore, the SINR ∆f can be written as 24 ⎛ ⎞ S / D(S ) ⎟ SINR∆f = 10log10 ⎜ −2.471 −0.471 −2 ⎜ (10 ⎟ ⋅ − ⋅ + ⋅ ⋅ 1 10 S S 10 ) D ( S ) ( ) ⎝ ⎠ ⎛ ⎞ 1/ D(S ) ⎟ = 10log10 ⎜ −2.471 −0.471 −2 ⎜ (10 ⎟ ⋅ − + ⋅ D S 1 10 10 ) ( ) ( ) ⎝ ⎠ (56) ⎛ ⎞ 1 ⎟ = 10log10 ⎜ −2.471 −0.471 −2 2 ⎜ (10 ⎟ ⋅ − + ⋅ D S 1 10 10 ) ( ) ( ) ⎝ ⎠ Hence, with equation (53) it can be explained why Table 3.1 shows that the frequency offset does not degrade all three schemes under tone interference when ∆f is smaller than 1/(1.5Tb). However, the final SINRs become unacceptably low when ∆f is larger than 1/(1.5Tb) because the ∆f causes the loss of the modulated data signal power and interference-plus-noise power is increased simultaneously. Figure 3.5 shows that the signal power degradation in dB for the Maximin algorithm is 0, 0.0047, 0.42763, 1.4012, and 6.6009 at frequency offset at ∆f = 0, 1/5Tb, 1/2Tb, 1/1.5Tb, and 1/Tb, respectively. Also the corresponding SINR ∆f in dB values are 24.71, 24.7, 23.8547, 22.4296, and 11.5056, respectively. Table 3.2 shows that both the Maximin and Maximin with SVD algorithms fail when friendly interference and frequency offset are simultaneously active. However, MOSTLE shows robust performance even under these worse environments. 25 Signal Power Degradation D(S) 7 6 5 4 3 2 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Normalized Frequency Offset Figure. 3.5. Signal power degradation D(S) versus frequency offset amount ( ∆f ≠ 0 ) of Maximin algorithm, assuming input SNR=20 dB. 3.2 Initial Weight Vectors We observed in Figure 3.2 that the MOSTLE converges faster than the Maximin algorithm for ω(0)=[1,0,0,0], and there is no performance gain for the MOSTLE except the faster convergence under the tone interference. Figure 3.6 shows performance comparisons using the same simulation parameters as in Figure 3.2 except friendly interference or data-modulated signals from other users instead of tone interference and frequency offset ∆f=1/(1.5Tb). Also, the Maximin algorithm is modified to include autocorrelation computations, via SVD, so that it could be compared with Maximin and MOSTLE. 26 30 Average SINR(dB) 25 20 15 10 Maximin Maximin w/ SVD Mostle 5 0 0 50 100 150 200 250 300 350 400 Iterations Figure. 3.6. Average SINR for 20 trials under AWGN channel in the presence of friendly interferences, assuming input SNR=20 dB, ∆f=1/1.5Tb, M=4 square array, and ω(0)=[1,0,0,0] (Maximin algorithm used a convergence parameter of α=0.2) Tables 3.3 and 3.4 show that the average number of iterations to reach a SINR the first time within ±0.5 dB from the final SINR under tone and friendly interference, respectively. Two initial weights, ω(0)=[1,0,0,0] and ω(0)=[1,1,1,1], are considered with a square array of M=4 elements, an AWGN channel, input SNR=20 dB, and ∆f=1/(5Tb). The Maximin algorithm uses a convergence parameter of α=0.2. These tables show that the convergence speed of Maximin can be the fastest among the three schemes under tone interference when ω(0) is [1,1,1,1]. 27 TABLE 3.3 NUMBER OF ITERATIONS TO REACH SINR WITHIN ±0.5dB FROM FINAL SINR UNDER FREQUENCY OFFSET AND TONE INTERFERENCE (M=4 SQUARE, ∆f=1/(5Tb)) (MAXIMIN ALGORITHM USED CONVERGENCE PARAMETER OF α=0.2) ω(0) MAXIMIN MAXIMIN SVD MOSTLE [1,0,0,0] 149 44 44 [1,1,1,1] 7 34 31 TABLE 3.4 NUMBER OF ITERATIONS TO REACH SINR WITHIN ±0.5dB FROM FINAL SINR UNDER FREQUENCY OFFSET AND FRIENDLY INTERFERENCE (M=4 SQUARE, ∆f=1/(5Tb)) (MAXIMIN ALGORITHM USED A CONVERGENCE PARAMETER OF α=0.2) ω(0) MAXIMIN [1,0,0,0] 20 1503 MAXIMIN SVD (2,800 Iterations/Trial) MOSTLE 80 [1,1,1,1] 35 176 41 However, the final SINR values are unacceptable under the friendly interference environment, even if ω(0)=[1,1,1,1] is used. In other words, the final SINRs of the Maximin algorithm under a friendly interference are around 1 dB and close to those shown in Figure 3.6, which were obtained with ω(0)=[1,0,0,0]. The Maximin algorithm is sensitive to initial weight ω(0) and fails under a friendly users environment. Note from Table 3.4 that even though the Maximin with SVD algorithm shows the worst convergence speed among the three schemes under the friendly interference environment, it can be converged to steady-state by using SVD. Also, the corresponding average number of iterations that reach a SINR within ±0.5 dB from the final SINR is 1,503, when ω(0)=[1,0,0,0] is used. These results also show that the MOSTLE is robust in the presence 28 of friendly interferences, while the Maximin algorithm suffers severely. Furthermore, the Maximin algorithm with SVD computations fairs better but still falls behind the MOSTLE. 3.3 Computational Complexity The total real computational cost of µ(k) in equation (33), which involves Aq, Bq, and Cq, where q=1&2, are 2 ( Aq + B q + C q ) = 2 ( M 2 + M ) + 2 ( M ) = 2 M 2 + 4 M . MOSTLE, the Maximin with SVD, and the Maximin require real floating point operations proportional to 24M3+6M2+6M, 24M3+4M2+2M, and 2mM+2m per iteration. Table 3.5, referred to by Balakrishnan et al. [10], shows the number of real computational FLOPs per iteration. TABLE 3.5 APPROXIMATE OPERATION COUNT REAL FLOPs CRITERION MOSTLE MAXIMIN W/ SVD MAXIMIN SVD ( XX † ) 12M3 12M3 - SVD ( NN † ) 12M3 12M3 - R ss ( k )ω ( k ) 2M2 2M2 mM Rnn ( k )ω ( k ) 2M2 2M2 mM Pˆs ( k ) M M M Pˆn ( k ) M M M µ (k ) 2M2+4M - - TOTAL 24M3+6M2+6M 24M3+4M2+2M 2mM+2m 29 3.4 Increase of Antennas Tables 3.6 and 3.7 list the final SINR in dB for various numbers of antenna elements M. Here, the input SNR = 20 dB, tone and friendly interference, a ULA of M elopements, an AWGN channel, and ∆f=0 are considered. And the Maximin algorithm uses a convergence parameter of α=0.2. TABLE 3.6 FINAL SINR IN dB VERSUS M WHEN INPUT SNR=20dB UNDER TONE INTERFERENCE (ULA, ∆f=0) (MAXIMIN ALGORITHM USED A CONVERGENCE PARAMETER OF α=0.2) M MAXIMIN MAXIMIN SVD MOSTLE 2 3.78 13.39 17.38 4 24.71 24.72 24.84 6 26.04 26.74 26.49 8 27.69 26.41 26.19 TABLE 3.7 FINAL SINR IN dB VERSUS M WHEN INPUT SNR=20dB UNDER FRIENDLY INTERFERENCE (ULA, ∆f=0) (MAXIMIN ALGORITHM USED A CONVERGENCE PARAMETER OF α=0.2) M MAXIMIN MAXIMIN SVD MOSTLE 2 0.69 3.73 1.30 4 1.02 13.50 25.24 6 0.89 25.97 26.51 8 1.0249 26.048 26.602 Table 3.6 shows that performance of all three schemes improves as M increases under tone interference. In addition, Table 3.7 shows that the Maximin algorithm fails under friendly interference, even if M increases. However, performance of the MOSTLE and Maximin with SVD algorithms improves as M increases, even under friendly interference. Table 3.8 shows that the computational cost of real floating point operations versus the number of antenna elements. 30 TABLE 3.8 COMPUTATIONAL COST OF REAL FLOATING POINT OPERATIONS (FLOPs) VERSUS NUMBER OF ANTENNA (M) M MAXIMIN MAXIMIN SVD MOSTLE 2 600 212 228 4 1,000 1,608 1,656 6 1,400 5,340 5,436 8 1,800 12,560 12,720 This result indicates that the MOSTLE is numerically inexpensive when the number of antenna array of elements is small, e.g., M≤4, but it becomes expensive when M>>4 compared to the Maximin algorithm. Figure 3.7 shows the total number of FLOPs versus the number of antenna elements M. MOSTLE requires computationally intensive per iteration, but the MOSTLE is robust even when the interferences are spaced very close to the desired user that is friendly. For futher results, refer to Ref [5,10]. For a trade-off analysis between performance and complexity, e.g., Figure. 3.7, the simulation results listed in Tables 3.3 and 3.4, were used. They show the number of iterations to reach a SINR the first time within ±0.5 dB from the final SINR for each of three algorithms. Therefore, these can be used for counting the total number of FLOPs to reach a steady-state SINR value, which is the number of iterations multiplied by the number of FLOPs per iteration. The number of FLOPs per iteration can be calculated from Table 3.5 for a given M. Then, the total number of FLOPs versus M can be plotted as shown in Figure. 3.7. However, this comparative analysis does not fairly indicate a trade-off between performance and complexity because each algorithm yields different SINR values, i.e., different performance. For example, as indicated from Table 3.7, when M=4, the final SINR values are 1.02 dB, 13.50 dB, and 25.24 dB for the Maximin, Maximin with SVD, and MOSTLE algorithm, respectively. 31 Total Computational Multiplication 14000 12000 Maximin Maximin w/ SVD Mostle 10000 8000 6000 4000 2000 0 1 2 3 4 5 6 7 8 9 Number of Antenna(M) Figure. 3.7. Computational real FLOPs versus omni-directional uniform linear array (ULA) antenna (M). The Maximin algorithm cannot be used in this situation because its final SINR is so low. Even with an infinite number of FLOPs, the Maximin algorithm won’t reach the MOSTLE’s final SINR under this environment. Therefore, it is impossible to compare the total FLOPs of Maximin with that of MOSTLE at a reasonably good performance. 3.5 Maximin Algorithm under Different Interference 3.5.1 Tone Interference Figure 3.2 shows that the Maximin algorithm performs fast convergence under tone interference. The monitor filter is a band-rejection filter with two passbands and has the same bandwidth with a baseband filter. The monitor filter allows the adaptive filter to 32 monitor the interference that will be present in the baseband filter. Whenever tone interference is observed at the output of the monitor filter, the adaptive weights have small value ( ω < 1) and are changed to cancel the interference. The output power of the complex signal component ( Ps = ω † Rssω ) is gradually decreased. The noise-plus-interference output power ( Pn = ω † Rnnω ) is also decreased, but at some iterations this occurs rapidly for the above reason. Therefore, the SINR, which is defined as ρ , is gradually increasing. In this case, the Maximin algorithm shows good performance and fast convergence speed. 3.5.2 Friendly Interference Figure 3.6 shows that the Maximin algorithm shows poor performance under friendly interference environments, which are data-modulated signals from other users instead of tone interference. If the friendly interference feeds into the monitor filter, then the monitor filter is occupied by wide non-negligible, large, spectral regions, which cause the adaptive filter outputs ( y R (i )) to contain significant interference power before weight converging occurs. The friendly interference increases the norm of the weight vector as the iterations increase and also increases the component of the desired signal correlation matrix and noise-plus-interference correlation matrix at the same time. The desired signal power Pˆs ( k ) and the noise-plus-interference power Pˆn ( k ) also increase at the same rate. In other words, the adaptive weights cannot cancel the interference effectively. Therefore, the SINR ρ cannot increase, and the Maximin algorithm shows poor performance under the friendly interference. Figure 3.8 shows the norm of weight vector versus the number of iterations for M=4 case. As shown, the convergence of weight vector pattern depends on the type of interference. The weights converge to a steady-state value 33 under tone interference but those under friendly interference increase gradually when the Maximin algorithm is used. Figure. 3.8. Norm of weight vector versus iterations for the Maximin in the friendly interference and tone interference, assuming input SNR=20 dB, ∆f=0, M=4 square array, ω(0)=[1,0,0,0], and convergence parameter of α=0.2. 34 CHAPTER 4 CONTRIBUTIONS 4.1 Introducing Frequency Offset to Desired MSK Signal In this thesis, a non-zero frequency offset was introduced for a MSK signal to consider a realistic scenario in an FH system. Comparing simulation results of the Maximin algorithm and MOSTLE showed that the frequency offset causes degradation in the final SINR for both algorithms. When the frequency offset is introduced to a MSK modulator, the PSD of the modulated data signal is shifted to the amount of the frequency offset. Therefore, the introduced frequency offset causes the loss of desired signal power and hence the steady-state SINR is lowered. This thesis presented an approximate final SINR formula, i.e., SINR ∆f , to explain the amount of numerical degradation for a given ∆f . It was also found that the frequency offset does not degrade the convergence speed of the MOSTLE scheme, but the frequency offset can make the convergence speed noticeably slow for the Maximin algorithm. 4.2 Initial Weight Vectors In this research, it was found that the initial weight vector can affect the convergence speed of the weight vector. Two initial weights, ω(0)=[1,0,0,0] and ω(0)=[1,1,1,1], were considered under tone interference and friendly interference. The simulation results in Table 3.3 showed that the convergence speed of the Maximin algorithm can be the fastest among the three schemes under tone interference when ω(0) is [1,1,1,1]. However, its final SINR values were unacceptable under a friendly interference 35 environment. The final SINR of the Maximin algorithm under a friendly interference was around 1 dB. 4.3 Increase of Antennas and Computational FLOPs Analysis In this research, it was shown that the total number of FLOPs to reach a steadystate SINR value was counted. Figure 3.6 showed that the MOSTLE was computationally more intensive than the Maximin algorithm if the number of antenna array elements was larger than or equal to four. However, the final SINR of the Maximin can be as low as 1 dB under a friendly interference environment, whereas the MOSTLE could enhance the robustness of the communication link in a friendly interference and in a multiple-access circumstance, although its FLOPs are lager than those of the Maximin. 4.4 Maximin Algorithm under Different Interferences The reason why the Maximin algorithm under friendly interference shows poor performance was also checked. There were two kinds of bandpass filters—baseband and monitor. The monitor filter was a band-rejected filter with two passbands and had the same bandwidth as the baseband filter. The monitor filter allowed the adaptive filter to monitor interference that was presented in the baseband filter. Whenever a tone interference was observed at the output of the monitor filter, the adaptive weights had small values ωi , j < 1 , and were changed to cancel the interference. In other words, the output power of the complex signal component ( Ps = ω † Rssω ) was gradually decreased, and the noise-plusinterference output power ( Pn = ω † Rnnω ) was also decreased, but at some iterations this 36 occurs rapidly. Therefore, the signal-to-interference-plus-noise ratio gradually increased. In this case, the Maximin algorithm showed good performance and fast convergence speed. The Maximin algorithm, however, showed poor performance under the friendly interference, data-modulated signals from other users. If the friendly interference was allowed to the monitor filter, then the monitor filter occupied large spectral regions, which caused the adaptive filter outputs ( y R (i )) to contain significant interference power before weight to converge. The friendly interference increased the magnitude of the adaptive weight coefficients ωi, j as the iteration increased. The weight vector increased the desired signal and noise-plus-interference correlation matrix elements simultaneously. PˆS ( k ) and Pˆn ( k ) were also increased at the same rate, which meant that the adaptive weights could not cancel the interference effectively. Therefore, the SINR could not increase, and the Maximin algorithm showed poor performance under friendly interference. 37 CHAPTER 5 CONCLUSIONS This thesis compared the MOSTLE and Maximin algorithm performance under several conditions. As shown in the simulation and analytical results, MOSTLE can improve the performance of the Maximin algorithm in the presence of friendly interferences and frequency offsets. A frequency offset can cause the loss of desired signal power, which reduces the steady-state SINR but does not degrade the convergence speed of the MOSTLE scheme significantly. The Maximin algorithm is sensitive to the initial weight ω(0) and fails under a friendly users. The performances of all three schemes, i.e., the Maximin, Maximin with SVD, and MOSTLE, improve as the number of antenna (M) increases under the tone interference, but the Maximin algorithm fails under friendly interference, even if M increases. Furthermore, MOSTLE is computationally more intensive than the Maximin algorithm when the number of antenna array of elements is larger than four. 38 LIST OF REFERENCES 39 LIST OF REFERENCES [1] S. W. W. Shor, “Adaptive Technique to Discriminate against Coherent Noise in a Narrow-Band System,” Journal of the Acoustical Society of America, vol 39, no.1, pp. 74-78, Jan. 1966. [2] D. Torrieri and K. Bakhru, “The Maximin Algorithm for Adaptive Arrays and Frequency Hopping Systems,” U. S. Army Research Laboratory, Adelphi, MD, Tech. Rep. TR-2026, Dec. 1999. [3] J. G. Proakis, Digital Communications, 3rd ed., New York: McGraw-Hill, 1995. [4] S. S. Rao, Optimization Theory and Applications, 2nd ed., New Delhi: Wiley Eastern, 1991. [5] R. D. Balakrishnan, B. S. Nugroho, and H. M. Kwon, “Modified Maximin Adaptive Array Algorithm for FH Systems under Fading Situations,” MILCOM 2002, Anaheim CA, Oct. 2002. [6] K. Bakhru and D. Torrieri, “The Maximin Algorithm for Adaptive Arrays and Frequency-Hopping Communications,” IEEE Trans. Antennas Propagat., vol. 32, pp. 919-928, Sept. 1984. [7] R. T. Compton, Adaptive Antennas: Concepts and Performance, New York: Prentice-Hall, 1988. [8] Gene H. Golub and Charles F. Van Loan, Matrix Computations, 3rd ed., New York: The Johns Hopkins University Press, 1996. [9] Fuqin Xiong, Digital Modulation Techniques, MA: 2000 Artech House, 2000. [10] R. D. Balakrishnan, Hyuck M. Kwon, Dong-Hyeuk Yang, and Yong H. Lee, “Maximin Algorithm with a Step-Length Estimation Technique,” IEEE Trans. Antennas Propagat. Accepted, April 2006. 40 APPENDIXES 41 APPENDIX A AVERAGE SINR WITH FREQUENCY OFFSET =============================================================== This program generates average SINR for 20 trials under AWGN channel in the presence of tone interferences with different frequency offset (0, 1/(5Tb), 1/(2Tb), 1/(1.5Tb), 1/(1Tb), 1/(2Tb)), assuming input SNR=20 dB, M=4 square array, and w(0)=[1,0,0,0]. The Maximin algorithm uses a convergence parameter of alpha=0.2. Frequency offset was introduced to the MSK modulation. DONG-HYEUK YANG 04/24/06 =============================================================== clear all; clc; cntr=1; SIR=.1; phi1=40; phi2=70; alpha1=0.2; KK=10; % Count Coefficient % Signal to Interference ratio % Direction of Interference 1 Angle % Direction of Interference 2 Angle % Torrieri's case adaptation constant alpha % One-tenth expedites the convergence SNRindB=20; SNR=10^(SNRindB/10); d=1/2; lambda=1; lambdaf=0.9; DR=100000; THOP=0.001; NITER=8; theta=0; NSAMP=100; W1=[]; RHO1=[]; % SNR_in_dB % SNR % Interelement distance between antennas % Wavelength % Forgetting factor for Mostle way(using SVD) % Data rate % Hop Duration % Number of iterations per hop % Desired Signal Angle % Number of Samples per iteration(=m) % Initialization vacant weight vector % Initialization vacant weight vector [filnum,filden]=butter(8,0.25); % Filter modeled 8th butterworth Wn(Cutoff Frequency : 1.0 = Sampling rate x 0.5) NHOPS=50; NOT=20; % Number of hops % Experiments trials 42 APPENDIX A (continued) for not=1:NOT Wcurrent=[1 0 0 0]'; Wcurrent1=Wcurrent; pnprev=10; Rnn2=ones(4,4); Rss2=zeros(4,4); Rxx2=zeros(4,4); RSS2=zeros(4,4); % Womni % Initialization value % Previous Interference plus noise output power % Generate of Initial Estimate Noise value % Generate of Initial Estimate of Signal autocorrelation matrix % Generate of Initial Estimate Signal value % Generate of Initial Estimate of Signal autocorrelation matrix during kth update %%%%% Generation random input data for MSK Modulation inpdata=2*round(rand(DR*THOP*NHOPS,1))-1; % Signal is -1 or 1 %%%%% Transmission : MSK MODULATION txop=mskmod_nooffset(inpdata,NITER); % Zero_Offset : delta_f = 0 txop=mskmod_offset(inpdata,NITER); % Different Offset Frequency : delta_f = 1/(5Tb), 1/(2Tb), 1/(1.5Tb), 1/(1Tb), 1/(2Tb) %%%%% Receiver for nhops=1:NHOPS % Number of hopping fprintf('\nNOT = %d\tNHOPS = %d\n',not,nhops); for iter=1:NITER % Number of iterations 1 to 8 fprintf('*'); k=(nhops-1)*NITER+iter; signal=steeringlinear4(theta,d,lambda)*txop(cntr:cntr+NSAMP-1); % Generate signal using array steering vector %%%%% NOISE and INTERFERENCE Generation for Baseband Filter noiseB=sqrt(2/SNR)*randn(4,NSAMP); % Generate Noise standard deviation for Baseband Filter interf=sqrt(1/(2*SIR))*steeringlinear4(phi1,d,lambda)*ones(1,NSAMP) + sqrt(1/(2*SIR))*steeringlinear4(phi2,d,lambda)*ones(1,NSAMP); %%%%% NOISE and INTERFERENCE Generation for Monitor Filter noiseM=sqrt(2/SNR)*randn(4,NSAMP); % Generate Noise for Monitor Filter iim= steeringlinear4(phi1,3e9/(3e9+.2e6)*d,lambda)*sqrt(1/(2*SIR)) *ones(1,NSAMP) +steeringlinear4(phi2,3e9/(3e9+.2e6)*d,lambda) *sqrt(1/(2*SIR))*ones(1,NSAMP); 43 APPENDIX A (continued) %%%%% INPUT TO THE BASEBAND FILER BFinp=signal+noiseB+interf; % Baseband filter Input %%%%% INPUT TO THE MONITOR FILTER MFinp=iim+noiseM; % Moniter filter Input %%%%% Maximin Algorithm [Num11,Den11,Num12,Den12]= Maximin(filnum,filden,BFinp,MFinp,Wcurrent1); rhohat1(k)=Den11/Den12; % SINR Value Wfuture1=Wcurrent1+(alpha1/rhohat1(k))*(Num11/Den11 Num12/Den12); % WEIGHT VECTOR UPDATE mu1(k)=0.5*alpha1/(rhohat1(k)^2); W1=[W1 Wfuture1]; Wcurrent1=Wfuture1; cntr=cntr+NSAMP; end; end; RHO1=[RHO1 rhohat1']; % SINR Accumulate end; Rhohat1=mean(RHO1,2); % Legend for Figure 3.2 : X axis - 400 Iterations; Y axis - SINR in dB; figure(1) n=[1:length(Rhohat1)]; plot(n,10*log10(Rhohat1)); xlabel('Iterations'); ylabel('Average SINR(dB)'); grid on; zoom on; axis([0,400,0,30]); 44 APPENDIX A (continued) =============================================================== This program generates the complex MSK envelope of input data d(-1,1) for different frequency offset (∆f=1/kTb), k=5,2,1.5,1, and 0.5. =============================================================== function s=mskmod_offset(data,ns) nb=max(size(data)); in=1; % Inphase Signal qu=2; % Quadrature Signal k=5; k=2; k=1.5; k=1; k=0.5 % Delta_frequency 1/5Tb % Delta_frequency 1/2Tb % Delta_frequency 1/1.5Tb % Delta_frequency 1/1Tb % Delta_frequency 1/0.5Tb delta_f=(k+4)/k; % Frequency Offset for m=1:nb % bit number eo=mod(m,2); % every other one, changing input inphase and quadrature. if eo==1 in=m; for n=1:2*ns % sample number si(n+(ns*(m-1)))=data(in)*cos(pi*n*delta_f/(2*ns)); % Odd end; else qu=m; for n=1:2*ns % sample number sq(n+(ns*(m-1)))=data(qu)*sin(pi*(n-ns)*delta_f/(2*ns)); % Even end; end; end; s=si(1:nb*ns)+j*sq(1:nb*ns); % Complex Value MSK signal 45 APPENDIX A (continued) =============================================================== This program generates the Torrieri's Maximin algorithm including a small offset frequency ∆f =============================================================== function [num1,den1,num2,den2]= Maximin(filnum,filden,BFinp,MFinp,Wcurrent); for k=1:4 X(k,:)=filter(filnum,filden,hilbert(BFinp(k,:))); % Signal plus Noise N(k,:)=filter(filnum,filden,hilbert(MFinp(k,:))); % Noise end; ynhat=Wcurrent.'*N; ynRhat=real(ynhat); y=Wcurrent.'*X; % y=ys(i)+yn(i) yR=real(y); num1=mean(X.*[yR;yR;yR;yR],2); num2=mean(N.*[ynRhat;ynRhat;ynRhat;ynRhat],2); den1=mean((yR.*yR)/2); den2=mean((ynRhat.*ynRhat)/2); 46 APPENDIX B SIGNAL POWER DEGRADATION D(S) =============================================================== This program generates Figure. 3.3. : Signal power degradation D(S) versus frequency offset amount ( ∆f ≠ 0 ) of the Maximin algorithm, assuming input SNR=20 dB. =============================================================== clear all;clc; A=1; T=1; delta_f=1/50*T; delta_T=1/delta_f; f=-4/T:delta_f:4/T; sft1=18; sft2=9; % Normalized Amplitude % Time index % Sample frequency % Sample Time % Frequency Domain deltaf0=0; Gf=(4*T/pi)*cos(2*pi*T*f)./(1-16*(f.^2)); Gff=Gf.*Gf; % Power Spectral Density at deltaf=0 Power_0=sum(Gff(3*delta_T+sft1:5*delta_T-sft2))/delta_T; % Total Power at deltaf=0 deltaf5=1/5*T; Gf5=(4*T/pi)*cos(2*pi*T*(f-deltaf5))./(1-16*(f-deltaf5).^2); Gffdeltaf5=Gf5.*Gf5; % Power Spectral Density at deltaf=1/5Tb Power_5=sum(Gffdeltaf5(3*delta_T+sft1:5*delta_T-sft2))/delta_T; % Total Power at deltaf=1/5Tb deltaf2=1/2*T; Gf2=(4*T/pi)*cos(2*pi*T*(f-deltaf2))./(1-16*(f-deltaf2).^2); Gffdeltaf2=Gf2.*Gf2; % Power Spectral Density at deltaf=1/2Tb Power_2=sum(Gffdeltaf2(3*delta_T+sft1:5*delta_T-sft2))/delta_T; % Total Power at deltaf=1/2Tb deltaf15=1/1.5*T; Gf15=(4*T/pi)*cos(2*pi*T*(f-deltaf15))./(1-16*(f-deltaf15).^2); Gffdeltaf15=Gf15.*Gf15; % Power Spectral Density at deltaf=1/1.5Tb Power_15=sum(Gffdeltaf15(3*delta_T+sft1:5*delta_T-sft2))/delta_T; % Total Power at deltaf=1/1.5Tb 47 APPENDIX B (continued) deltaf1=1/1*T; Gf1=(4*T/pi)*cos(2*pi*T*(f-deltaf1))./(1-16*(f-deltaf1).^2); Gffdeltaf1=Gf1.*Gf1; % Power Spectral Density at deltaf=1/1Tb Power_1=sum(Gffdeltaf1(3*delta_T+sft1:5*delta_T-sft2))/delta_T; % Total Power at deltaf=1/1Tb deltaf05=1/0.5*T; Gf05=(4*T/pi)*cos(2*pi*T*(f-deltaf05))./(1-16*(f-deltaf05).^2); Gffdeltaf05=Gf05.*Gf05; % Power Spectral Density at deltaf=1/0.5Tb Power_05=sum(Gffdeltaf05(3*delta_T+sft1:5*delta_T-sft2))/delta_T; % Total Power at deltaf=1/0.5Tb X=[deltaf0 deltaf5 deltaf2 deltaf15 deltaf1 deltaf05]; y2=[Power_0/Power_0 Power_5/Power_0 Power_2/Power_0 Power_15/Power_0 Power_1/Power_0 Power_05/Power_0]; Y2=10*log10(y2); figure(1); plot(f,Gff,f,Gffdeltaf5,f,Gffdeltaf2,f,Gffdeltaf15,f,Gffdeltaf1,f,Gffdeltaf05) xlabel('Frequency'); ylabel('Power spectrum of the MSK'); grid on; zoom on; axis([-1.5,2,0,1.8]); figure(2); plot(X,Y2) xlabel('Offset Frequency Ratio'); ylabel('Power Degradation'); grid on; zoom on; axis([0,1,0,7]); 48 APPENDIX C INCREASING ULA (M) AND COMPUTATIONAL FLOPS =============================================================== This program generates Figure. 3.5. : Computational real FLOPs versus omnidirectional uniform linear array (ULA) antenna (M) of Torrieri's Maximin algorithm at zero frequency offset. =============================================================== [Main Program] clear all; clc; warning off; for M=2:2:8; % Increase number of Antenna (M) [ Mul_Maximin(M)]=Maximin_Complex(M); end; figure(1); M=[2:2:8]; plot(M,Mul_Maximin(M)); xlabel('Number of Antenna(M)'); ylabel('Total # of Multiplication'); title('Number of Antenna vs Total # of Multiplications'); grid on; zoom on; axis([1,9,0,6000]); 49 APPENDIX C (continued) =============================================================== This program counts the FLOPs of multiplication and addition of the Maximin algorithm under increasing ULA of antennas ( M =2, 4, 6, 8 ). =============================================================== function [Complex_Maximin,Add_Maximin,Mul_Maximin] =Maximin_Complex(M) Initial conditions are the same as in APPENDIX A NOT=1; % Number of Trial for not=1:NOT if M==2 Wcurrent=[1 0]'; Wcurrent1=Wcurrent; pnprev=10; Rnn2=ones(2,2); Rss2=zeros(2,2); Rxx2=zeros(2,2); RSS2=zeros(2,2); elseif M==4 Wcurrent=[1 0 0 0]'; Wcurrent1=Wcurrent; pnprev=10; Rnn2=ones(4,4); Rss2=zeros(4,4); Rxx2=zeros(4,4); RSS2=zeros(4,4); % Number of Antenna (M) = 2 % Womni % Initialization value % Previous Interference plus noise output power % Initial Estimate Noise value % Initial Estimate of Signal auto-correlation matrix % Initial Estimate Signal value % Initial Estimate of Signal auto-correlation matrix during kth update % Number of Antenna (M) = 4 elseif M==6 % Number of Antenna (M) = 6 Wcurrent=[1 0 0 0 0 0]'; Wcurrent1=Wcurrent; pnprev=10; Rnn2=ones(6,6); Rss2=zeros(6,6); Rxx2=zeros(6,6); RSS2=zeros(6,6); 50 APPENDIX C (continued) else % Number of Antenna (M) = 8 Wcurrent=[1 0 0 0 0 0 0 0]'; Wcurrent1=Wcurrent; pnprev=10; Rnn2=ones(8,8); Rss2=zeros(8,8); Rxx2=zeros(8,8); RSS2=zeros(8,8); end; %%%%% Signal generation of -1 & 1 inpdata=2*round(rand(DR*THOP*NHOPS,1))-1; %%%%% MSK MODULATION No_Offset Function txop=mskmod_nooffset(inpdata,NITTER); % Zero Frequency Offset %%%%% RECEIVER for nhops=1:NHOPS % Number of hopping fprintf('\nNOT = %d\tNHOPS = %d\n',not,nhops); for iter=1:NITER % Number of iterations 1 to 8 k=(nhops-1)*NITER+iter; if M==2 % Number of Antenna (M) = 2 signal=steeringlinear2(theta,d,lambda)*txop(cntr:cntr+NSAMP-1 noiseB=sqrt(2/SNR)*randn(2,NSAMP); interf=sqrt(1/(2*SIR))*steeringlinear2(phi1,d,lambda)*ones(1,NSAMP) + sqrt(1/(2*SIR))*steeringlinear2(phi2,d,lambda)*ones(1,NSAMP); noiseM=sqrt(2/SNR)*randn(2,NSAMP); iim=sqrt(1/(2*SIR))*steeringlinear2(phi1,3e9/(3e9+.2e6)*d,lambda) *ones(1,NSAMP) + sqrt(1/(2*SIR))* steeringlinear2(phi2,3e9/(3e9+.2e6)*d,lambda)*ones(1,NSAMP); elseif M==4 % Number of Antenna (M) = 4 signal=steeringlinear4(theta,d,lambda)*txop(cntr:cntr+NSAMP-1); noiseB=sqrt(2/SNR)*randn(4,NSAMP); interf=sqrt(1/(2*SIR))*steeringlinear4(phi1,d,lambda)*ones(1,NSAMP) + sqrt(1/(2*SIR))*steeringlinear4(phi2,d,lambda)*ones(1,NSAMP); noiseM=sqrt(2/SNR)*randn(4,NSAMP); iim=sqrt(1/(2*SIR))*steeringlinear4(phi1,3e9/(3e9+.2e6)*d,lambda) *ones(1,NSAMP) + sqrt(1/(2*SIR)) *steeringlinear4(phi2,3e9/(3e9+.2e6)*d,lambda)*ones(1,NSAMP); 51 APPENDIX C (continued) elseif M==6 % Number of Antenna (M) = 6 signal=steeringlinear6(theta,d,lambda)*txop(cntr:cntr+NSAMP-1); noiseB=sqrt(2/SNR)*randn(6,NSAMP); interf=sqrt(1/(2*SIR))*steeringlinear6(phi1,d,lambda)*ones(1,NSAMP) + sqrt(1/(2*SIR))*steeringlinear6(phi2,d,lambda)*ones(1,NSAMP); noiseM=sqrt(2/SNR)*randn(6,NSAMP); iim=sqrt(1/(2*SIR))*steeringlinear6(phi1,3e9/(3e9+.2e6)*d,lambda) *ones(1,NSAMP) + sqrt(1/(2*SIR)) *steeringlinear6(phi2,3e9/(3e9+.2e6)*d,lambda)*ones(1,NSAMP); else % Number of Antenna (M) = 8 signal=steeringlinear8(theta,d,lambda)*txop(cntr:cntr+NSAMP-1); noiseB=sqrt(2/SNR)*randn(8,NSAMP); interf=sqrt(1/(2*SIR))*steeringlinear8(phi1,d,lambda)*ones(1,NSAMP) + sqrt(1/(2*SIR))*steeringlinear8(phi2,d,lambda)*ones(1,NSAMP); noiseM=sqrt(2/SNR)*randn(8,NSAMP); iim=sqrt(1/(2*SIR))*steeringlinear8(phi1,3e9/(3e9+.2e6)*d,lambda) *ones(1,NSAMP) + sqrt(1/(2*SIR)) *steeringlinear8(phi2,3e9/(3e9+.2e6)*d,lambda)*ones(1,NSAMP); end; % INPUT TO THE BASEBAND FILER BFinp=signal+noiseB+interf; % INPUT TO THE MONITOR FILTER MFinp=iim+noiseM; if M==2 [Num11,Den11,Num12,Den12,complex1,numofmulti1,numofadds1] =maximincomplex2(filnum,filden,BFinp,MFinp,Wcurrent1); rhohat1(k)=Den11/Den12; % SINR Value Wfuture1=Wcurrent1+(alpha1/rhohat1(k))*(Num11/Den11 – Num12/Den12); % WEIGHT VECTOR UPDATE mu1(k)=0.5*alpha1/(rhohat1(k)^2); W1=[W1 Wfuture1]; Wcurrent1=Wfuture1; elseif M==4 [Num11,Den11,Num12,Den12,complex1,numofmulti1,numofadds1] =maximincomplex4(filnum,filden,BFinp,MFinp,Wcurrent1); rhohat1(k)=Den11/Den12; % SINR Value Wfuture1=Wcurrent1+(alpha1/rhohat1(k))*(Num11/Den11 – Num12/Den12); % WEIGHT VECTOR UPDATE 52 APPENDIX C (continued) mu1(k)=0.5*alpha1/(rhohat1(k)^2); W1=[W1 Wfuture1]; Wcurrent1=Wfuture1; elseif M==6 [Num11,Den11,Num12,Den12,complex1,numofmulti1,numofadds1] =maximincomplex6(filnum,filden,BFinp,MFinp,Wcurrent1); rhohat1(k)=Den11/Den12; % SINR Value Wfuture1=Wcurrent1+(alpha1/rhohat1(k))*(Num11/Den11 – Num12/Den12); % WEIGHT VECTOR UPDATE mu1(k)=0.5*alpha1/(rhohat1(k)^2); W1=[W1 Wfuture1]; Wcurrent1=Wfuture1; else [Num11,Den11,Num12,Den12,complex1,numofmulti1,numofadds1] =maximincomplex8(filnum,filden,BFinp,MFinp,Wcurrent1); rhohat1(k)=Den11/Den12; % SINR Value Wfuture1=Wcurrent1+(alpha1/rhohat1(k))*(Num11/Den11 – Num12/Den12); % WEIGHT VECTOR UPDATE mu1(k)=0.5*alpha1/(rhohat1(k)^2); W1=[W1 Wfuture1]; Wcurrent1=Wfuture1; end; end; end; RHO1=[RHO1 rhohat1']; end; Rhohat1=mean(RHO1,2); % Total Number of Complexity for Maximin if M==2 Complex_Maximin=complex1; Add_Maximin=numofadds1; Mul_Maximin=numofmulti1; elseif M==4 Complex_Maximin=complex1; Add_Maximin=numofadds1; Mul_Maximin=numofmulti1; 53 APPENDIX C (continued) elseif M==6 Complex_Maximin=complex1; Add_Maximin=numofadds1; Mul_Maximin=numofmulti1; else Complex_Maximin=complex1; Add_Maximin=numofadds1; Mul_Maximin=numofmulti1; end; 54 APPENDIX C (continued) =============================================================== This program generates the ULA (M = 8) steering vector for the Maximin algorithm. The interelement distance is d = λ . 2 =============================================================== function [s]=steeringlinear8(theta,d,lambda); thetanew=theta*pi/180; steer=[1; exp(-sqrt(-1)*2*pi*sin(thetanew)*d/lambda); exp(-sqrt(-1)*2*pi*sin(thetanew)*2*d/lambda); exp(-sqrt(-1)*2*pi*sin(thetanew)*3*d/lambda); exp(-sqrt(-1)*2*pi*sin(thetanew)*4*d/lambda); exp(-sqrt(-1)*2*pi*sin(thetanew)*5*d/lambda); exp(-sqrt(-1)*2*pi*sin(thetanew)*6*d/lambda); exp(-sqrt(-1)*2*pi*sin(thetanew)*7*d/lambda); ]; =============================================================== This program generates the square (M = 4) array steering vector for the Maximin algorithm. The interelement distance is d = λ . =============================================================== function [steer]=steering(theta,d,lambda); thetanew=theta*pi/180; steer=[1; exp(-sqrt(-1)*2*pi*sin(thetanew)*d/lambda); exp(-sqrt(-1)*2*pi*sqrt(2)*cos(pi/4-thetanew)*d/lambda); exp(-sqrt(-1)*2*pi*cos(thetanew)*d/lambda);]; 55 APPENDIX D NORM OF WEIGHT VECTOR OF MAXIMIN VERSUS ITERATIONS =============================================================== This program generates Figure 3.6 : Norm of weight vector of Maximin algorithm versus iterations in the friendly interference and tone interference, Maximin algorithm's degradation under Friendly User, SNR=20 dB, ∆f=0, M=4 square array, ω(0)=[1,0,0,0], and convergence parameter of α=0.2. =============================================================== Initial conditions are the same as in APPENDIX A NHOPS=50; % Number of hops NOT=1; % Experiments trials for noe=1:NOT Wcurrent=[1 0 0 0]'; Wcurrent1=Wcurrent; Wcurrent2=Wcurrent; pnprev=10; Rnn2=ones(4,4); Rss2=zeros(4,4); Rxx2=zeros(4,4); RSS2=zeros(4,4); % Womni % Initialization value % Initialization value % Previous Interference plus noise output power % Generate of Initial Estimate Noise value % Generate of Initial Estimate of Signal autocorrelation matrix % Generate of Initial Estimate Signal value % Generate of Initial Estimate of Signal autocorrelation matrix during kth update %%%%% Signal generation of -1 & 1 inpdata=2*round(rand(DR*THOP*NHOPS,1))-1; % Signal is -1 or 1 %%%%% TRANSMITTED SIGNAL - MSK MODULATION txop=mskmod_nooffset(inpdata,Ns)'; %%%%% Friendly Interference for two DOA friendly1=mskmod_nooffset(inpdata,Ns)'; friendly2=mskmod_nooffset(inpdata,Ns)'; 56 APPENDIX D (continued) %%%%% RECEIVER for nhops=1:NHOPS % Number of hopping fprintf('\nNOT = %d\tNHOPS = %d\n',not,nhops); for iter=1:NITER % Number of iterations 1 to 8 k=(nhops-1)*NITER+iter; signal=steering(theta,d,lambda)*txop(cntr:cntr+NSAMP-1); % Generate signal using array steering vector %%%%% NOISE and INTERFERENCE Generation for Baseband Filter noiseB=sqrt(2/SNR)*randn(4,NSAMP); % Generate Noise standard deviation for Baseband Filter interf1=sqrt(1/(2*SIR))*steering(phi1,d,lambda) *friend1(cntr:cntr+NSAMP-1) + sqrt(1/(2*SIR))*steering(phi2,d,lambda) *friend2(cntr:cntr+NSAMP-1); interf2=sqrt(1/(2*SIR))*steering(phi1,d,lambda)*ones(1,NSAMP) + sqrt(1/(2*SIR))*steering(phi2,d,lambda)*ones(1,NSAMP); %%%%% NOISE and INTERFERENCE Generation for Monitor Filter noiseM=sqrt(2/SNR)*randn(4,NSAMP); % Generate Noise for Monitor Filter iim1=sqrt(1/(2*SIR))*steering(phi1,3e9/(3e9+.2e6)*d,lambda) *friend1(cntr:cntr+NSAMP-1) + sqrt(1/(2*SIR)) *steering(phi2,3e9/(3e9+.2e6)*d,lambda) *friend2(cntr:cntr+NSAMP-1); iim2=sqrt(1/(2*SIR))*steering(phi1,3e9/(3e9+.2e6)*d,lambda) *ones(1,NSAMP) + sqrt(1/(2*SIR)) *steering(phi2,3e9/(3e9+.2e6)*d,lambda)*ones(1,NSAMP); %%%%% INPUT TO THE BASEBAND FILER BFinp1=signal+noiseB+interf1; % Baseband Input for Friendly BFinp2=signal+noiseB+interf2; % Baseband Input for Tone %%%%% INPUT TO THE MONITOR FILTER MFinp1=iim1+noiseM; % Monitor Input for Friendly MFinp2=iim2+noiseM; % Moniter Input for Tone %%%%% Case 1 : Under Friendly Interference [Num11,Den12,Num13,Den14]= Maximin1(filnum,filden,BFinp1,MFinp1,Wcurrent1); den12(k)=Den12; den14(k)=Den14; rhohat1(k)=Den12/Den14; % SINR Value 57 APPENDIX D (continued) Wfuture1=Wcurrent1+(alpha1/rhohat1(k))*(Num11/Den12 – Num13/Den14); % WEIGHT VECTOR UPDATE W1=[W1 Wfuture1]; Wcurrent1=Wfuture1; %%%%% Case 2 : Under Tone Interference [Num21,Den22,Num23,Den24]= Maximin2(filnum,filden,BFinp2,MFinp2,Wcurrent2); den22(k)=Den22; den24(k)=Den24; rhohat2(k)=Den22/Den24; % SINR Value Wfuture2=Wcurrent2+(alpha1/rhohat2(k))*(Num21/Den22 – Num23/Den24); % WEIGHT VECTOR UPDATE W2=[W2 Wfuture2]; Wcurrent2=Wfuture2; end; end; RHO1=[RHO1 rhohat1']; RHO2=[RHO2 rhohat2']; end; % Friendly Interference % Tone Interference Rhohat1=mean(RHO1,2); Rhohat2=mean(RHO2,2); % Friendly Interference % Tone Interference wv1=abs(W1); for k=1:400 wv11(k)=sum(wv1(:,k))/4; end; % Norm of Interference Weight wv2=abs(W2); for k=1:400 wv22(k)=sum(wv2(:,k))/4; end; % Norm of Tone Weight % Legend for Figure 1: X axis - iterations; Y axis - SINR in dB; figure(1) n=[1:length(Rhohat1)]; plot(n,wv11,n,wv22); xlabel('Iterations'); ylabel('Norm of Weight Vector'); title('The Weight Vector Comparison'); grid on; zoom on; 58