The following signal examples have been theoretically tested for MIMO SONAR system applications.
Although most of the literature conducts definition and examination of different signals in the continuous time-domain most of the below-mentioned waveforms will be defined in the discrete domain. However an application to the continuous domain is straight-forward.
Further information can be found here:
Bandpass-filtered noise
Bandpass-filtered Noise
The reference wave form for the following analysis is bandlimited noise because of its great correlation properties. Nevertheless in a real application these signal types are not optimal because of the channels influence and restrictions on the hardware.
For generating gaussian (or at least nearly gaussian) distributed pseudo-random numbers a Mersenne Twister is first used to generate uniform distributed pseudo-random numbers. These are feed to the Ziggurat method for generating random variables of desired distribution (in this case: gaussian). See (Mat98) and (Mar00) for more in-depth description on how these algorithms perform.
The generated pseudo-noise sequence is depicted by \(s_{\text{noise}}(n)\). A bandpass-filter with desired cut-off frequencies (\(h_{\text{bp}}(n)\)) according to the desired center-frequency (\(f_c\)) and bandwidth (\(\text{BW}\)) is created and the pseudo-noise sequence filtered. The bandpass-filtered noise signal will be termed by:
\begin{equation*} s_{\text{bl,noise}}(n) = s_{\text{noise}}(n) * h_{\text{bp}}(n), \end{equation*}
where \(*\) depicts the convolution. The DA coverted signal is defined by:
\begin{equation*} s_{\text{bl,noise}}(t) = \text{DA}\big( s_{\text{bl,noise}}(n) \big). \end{equation*}
A general analysis of the signal is depicted below.
References
(Mat98) | M. Matsumoto and T. Nishimura: Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator, ACM Transactions on Modeling and Computer Simulations: Special Issue on Uniform Random Number Generation, Vol. 8, No. 1, pp. 3-30, 1998 | |
(Mar00) | G. Marsaglia and W. W. Tsang: The Ziggurat Method for Generating Random Variables, Journal of Statistical Software, Vol. 5, No. 8, pp. 1-7, 2000 |
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auto- and Cross-Ambiguity Functions
Barker
Modulated Barker Sequences
In modulated Barker Sequences Type I (phase-coded modulated barker sequences) a phase-shift of either \(0\) or \(180\) degree (\(0, \pi\) radians) is applied to the basic sinusoid of the desired center frequency (\(f_c\)): \begin{equation*} \tilde{s}_{\text{Barker,I}}(n)\,=\,\text{sin}\big(2\pi\,n\,\frac{f_c}{f_s}\,+\,\phi(n)\big),\,\,\,\,\,\,\,\text{with}\,\,\,\, \phi(n)\,=\, \begin{cases} 0, & \text{for}\, b^{(K,M)}_c(n) = -1\\(2mm) \pi & \text{else}. \end{cases} \end{equation*} \(f_s\) describes the sample frequency, \(b^{(K,M)}_c(n)\) an up-sampled version of a combination of different barker codes with length \(K\) and \(M\) which are depicted below.
The modulated Barker Sequence Type II (chirp-coded modulated barker sequences) is defined as follows. For this signal type either an up- or a down-chirp is chosen depending on the value of the concatenated and up-sampled sequence \(b_c(n)\) where the whole bandwidth is used. The momentary phase \(\phi(n)\) is achieved by sampling the continuous phase \(\phi(t)\) with \(f_s\). In general \(\phi(t)\) is defined as follows: \begin{equation*} \phi(t) = 2\pi ~ \int_{t'=0}^t f(t')\,dt'. \end{equation*} In this example a HFM-chirp is chosen which yields: \begin{equation*} \tilde{s}_{\text{Barker,II}}(n)\,=\,\text{sin}\left(\phi(n)\right),\,\,\,\,\,\,\, \phi(n)\, = \, \begin{cases} 2\pi f_0 \frac{\beta_0^{n/f_s} - 1}{\text{ln} \beta_0}, \,\,\,\,\,\,\,\text{for } b^{(K,M)}_c(n) = -1 \\ 2\pi f_1 \frac{\beta_1^{n/f_s} - 1}{\text{ln} \beta_1}, \,\,\,\,\,\,\,\text{else.} \end{cases} \end{equation*} For \(\beta_0 = \frac{f_1}{f_0}^{1/Tp}\) and \(\beta_1 = \frac{f_0}{f_1}^{1/Tp}\). More sophisticated coding (i.e. choosing up-/down-chirps from different sub-bandwidths depending on the barker codes) would lead to better results. And is an open topic for future work.
A combination and up-sampling of the initial Barker codes is necessary in order to achieve the desired amount of samples according to the overall signal-length of \(L_p = \left \lceil{T_p \, f_s}\right \rceil\). Let the original Barker-Codes be defined by: \begin{eqnarray} {\bf B}^{(2)} \,\, &=& \,\, (1,\, 1)^{\textrm{T}}, \nonumber \\ {\bf B}^{(3)} \,\, &=& \,\, (1,\, 1,\, -1)^{\textrm{T}}, \nonumber \\ {\bf B}^{(4)} \,\, &=& \,\, (1,\, -1,\, 1,\, 1)^{\textrm{T}}, \nonumber \\ {\bf B}^{(5)} \,\,&=& \,\, (1,\, 1,\, 1,\, -1,\, 1)^{\textrm{T}}, \nonumber \\ {\bf B}^{(7)} \,\, &=& \,\, (1,\, 1,\, 1,\, -1,\, -1,\, 1,\, -1)^{\textrm{T}}, \nonumber \\ {\bf B}^{(11)} \,\, &=& \,\, (1,\, 1,\, 1,\, -1,\, -1,\, -1,\, 1,\, -1,\, -1,\, 1,\, -1)^{\textrm{T}}, \nonumber \\ {\bf B}^{(13)} \,\, &=& \,\, (1,\, 1,\, 1,\, 1,\, 1,\, -1,\, -1,\, 1,\, 1,\, -1,\, 1,\, -1,\, 1)^{\textrm{T}}. \nonumber \end{eqnarray} In the following they will be referred to by \(B^{(K)}\) with \(K \in \left( 2, 3, 4, 5, 7, 11, 13 \right)\) where each original code has the length \(N_{B,K} = K\). An individual element of the code \(K\) is referred to as \(b^{K}_i\) with \(i \in \left(0, 1, ..., K-1 \right)\). A combination of two codes \(B^{(K)}\) and \(B^{(M)}\) is defined by \(B^{(K,M)}\) and performed as follows: \begin{equation*} b^{(K,M)}_k = b^{(K)}_{\text{div}(k,N)} ~ b^{(M)}_{\text{mod}(k, N)}, \end{equation*} with \(k \in \left(0, 1, ..., (K\,M)-1\right)\) and such of length \(N_{B,(K,M)} = (K\,M)-1\). \(~\text{div}(x, y)\) denotes division without remainder of \(x\) by \(y\) and \(\text{mod}(x, y)\) the modulo operation \(x\) modulo \(y\). This calculation is referred to as \(B^{(K,M)} = \text{comb}(B^{(K)}, B^{(M)})\). A combination of e.g. three codes is achieved by combining the conversion of two codes with another one like: \begin{equation*} B^{(K,M,O)} = \text{comb}(\text{comb}(B^{(K)}, B^{(M)}), B^{(O)}) = \text{comb}(B^{(K,M)}, B^{(O)}). \end{equation*} An application to more than three codes is straight forward.
There are two principles to get the correct code-length and such \(b^{(K,...)}_c(n)\) to apply to either phase-coding or chirp-coding:
- For \(N_{B,(K,...)} \ge L_p\) reject the last \(N_{B,(K,...)} - L_p\) samples.
- For \(N_{B,(K,...)} < L_p\) repeat the individual values.
The generated sequence (either \(\tilde{s}_{\text{Barker,I}}(n)\) or \(\tilde{s}_{\text{Barker,II}}(n)\)) below depicted as \(\tilde{s}_{\text{Barker,(I,II)}}(n)\) is now filtered by a bandpass \(h_{\text{bp}}(n)\) according to the desired center frequency (\(f_c\)) and Bandwidth (\(\text{BW}\)): \begin{equation*} s_{\text{Barker,(I,II)}}(n) = \tilde{s}_{\text{Barker,(I,II)}}(n) * h_{\text{bp}}(n). \end{equation*} A general analysis of \(s_{\text{Barker,I}}(n)\) is depicted below for a combination of three times the original barker-codes \(B^{(13)}\), i.e. \(B^{(13,13,13)}\). The individual Barker-Code elements are repeated.
References
(Bar53) | R. H. Barker: Group Synchronizing of Binary Digital Systems, Communication Theory, England, London, Butterworth Scientific Publications, pp. 273-287, 1953 | |
(Oks15) | S. O. Omar, F. Kassem, M. Saleh: A Novel Barker Code Algorithm For Resolving Range Ambiguity In High PRF Radars, Proceedings of the 12th European Radar Conference, 9-11 Sept. 2015, Paris France |
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
BPSK
Modulated Binary Phase Shift Keying (BPSK)
The good correlation properties of noise can be exploited by using noise as random phase coding for a signal that merges a number of subpulses.
These subpulses contain of sine signals that have the phase of their belonging code elements. Noise is generated and its magnitude is normalized
to the magnitudes maximum to get values between zero and one. All values that are greater than the mean are said to be the phase \(\phi=\pi\) and all
values that are less than the mean are said to be the phase \(\phi=0\):
\begin{equation*}
s(t)\,=\,\text{sin}(2\pi\,t\,f_c\,+\,\phi(t)),\,\,\,\,\,\,\,
\phi(t)\,=\,
\begin{cases}
0 & \text{for}\,n(t)\,\leq\,0.5\\
\pi & \text{for}\,n(t)\,>\,0.5.
\end{cases}
\end{equation*}
\(f_c\) is the carrier frequency and \(n(t)\) the noise sequence.
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
Chirp
Chirp
A simple chirp is a frequency modulated sines signal and is defined as:
\begin{equation*}
s(t)\,=\,\text{sin}\Big(2{\pi}\,\int_{t'=0}^tf(t')\,dt'\Big).
\end{equation*}
The frequency modulation can be chosen as linear and hyperbolic. For the linear case f(t) can be determined by:
\begin{equation*}
f(t)\,=\,f_0\,+\,k\,t.\end{equation*}
\(f_0\) is the start frequency. The chirprate \(k\) is defined by the chirps bandwidth \(BW\) and the chirps duration \(T\):
\begin{equation*}
k\,=\,\frac{BW}{T}.\end{equation*}
In this example the frequency modulation is rising. For a descending frequency modulation the sign of the chirprate has to become negative and \(f_0\) has to be the stop frequency. For the hyperbolic frequency modulation \(f(t)\) is calculated as the following:
\begin{equation*}
f(t)\,=\,f_0\,\cdot\,\beta^t.\end{equation*}
The constant \(\beta\) for a rising hyperbolic frequency modulation can be determined by:
\begin{equation*}
\beta\,=\,\frac{f_1}{f_0}^{\frac{1}{t_1}}.\end{equation*}
\(f_1\) is the stop frequency and \(t_1\) is the end time. For a descending frequency modulation \(\beta\) would be calculated as:
\begin{equation*}
\beta\,=\,\frac{f_0}{f_1}^{\frac{1}{t_1}}.\end{equation*}
In this example the band range of each chirp depends on the number of chirps you want to realize since the bandwidth of the whole system is fix.
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
Costas
Costas Codes
The principle of the coding by Costa is based on primitive roots. Every potency of the primitiv root can be an element oft the prime residue class.
This property is exploited by Costas Coding, that consists of elements that are calculated by a modulo operation:
\begin{equation*}
\textbf{a}\,=\,g^{\textbf{b}}\,\text{mod}\,p.
\end{equation*}
Vector \(a\) includes a sequence of numbers that are used for coding. \(g\) is an arbritary number and \(\textbf{b}\) is a vector conaisting
of \(\textbf{b}\in[1,...,N]\). Modulo operator \(p\) is set to \(P=N+1\) with \(N\) being the number of subpulses. Every element of \(a\) gets assigned
to one subpulse.
There are two ways to use Costas Coding. One option is to apply it to a CW signal.
Therefore every element of \(a\) stands for a certain carrier frequency. These carrier frequencies will be assigned to their belonging subpulses, which
consist of a sinusoid with that certain frequency. The carrier frequencies are generated by:
\begin{equation*}
\textbf{f}\,=\,f_0\,+\textbf{a}\,\cdot\,{\Delta}f.
\end{equation*}
\(f_0\) is the lowest carrier frequency of the system. It is determined by the substraction of the center frequency \(f_c\) with
half of the bandwidth \(BW\) of the system. \({\Delta}f\) is defined by:
\begin{equation*}
{\Delta}f\,=\,\frac{BW}{N}.
\end{equation*}
By using the modulo operation the carrier frequencies don't increase linearly and therefore the correlation properties will improve.
The second option is to use Costas Coding for FM signals. Instead of using vector \(a\) for a mixed positioning of carrier frequencies it is now used
for a mixed positioning of frequency ranges. The previous calculated carrier frequencies are now assigned to be the start frequencies of the chirps.
The end frequencies can be determined by:
\begin{equation*}
\textbf{f}_e\,=\,\textbf{f}\,+{\Delta}f\,-\,x
\end{equation*}
\(x\) is a sefety distance to avoid frequency overlapping. This approach is defined for up-chirps. For generating down-chirps the start and stop
frequencies have to be changed.
For generating more signals \(g\) has to get individual values for each signal.
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
Cut FM
Cut FM
The CutFM signal consits of a multiplication of a LFM-Chirp with a cutter signal. The so called cutter signal cuts out particular parts of the LFM-Chirp to achieve a higher doppler sensitivity by the gaps in the frequency spectrum. The CutFM is defined as:
\begin{equation*}s(t)\,=\,s_{LFM}(t)\,\cdot\,s_{cut}(t).\end{equation*}
\(s_{LFM}(t)\) is a windowed version of a LFM chirp that can be determined by:
\begin{equation*} s_{LFM}(t)\,=\,w(t)\,\cdot\,\text{exp} \bigg(j\,2{\pi}\Big(f_0\,t\,+\,\frac{BW\,t^2}{2\,T}\Big)\bigg).\end{equation*}
Constant \(BW\) is the bandwidth, \(f_0\) is the start frequency, \(T\) is the pulse duration and \(w(t)\) is a window function.
For this example a Hann-window is used.
The cutter signal \(s_{cut}\) is a periodic signal:
\begin{equation*}
s_{cut}(t)\,=\,\sum_{m=1}^Ms_s\Big(t\,-\,m\,T_r\Big).
\end{equation*}
\(s_s(t)\) are subpulses with a duration of \(T_r\). \(M\) is the number of subpulses and is determined by \(M=T/T_r\). The subpulses contain of a part that holds a window and a part that is set to be zero.
\begin{equation*}s_s(t)\,=\,
\begin{cases} c(t), &\text{for}\,\,0\,\le\,t\,\le\,T_c,\\[2mm] 0, &\text{else.} \end{cases}
\end{equation*}
\(c(t)\) is a window function for those parts of the signal that shall consist. For this examples a Hann-window is chosen again. \(T_c\) is the duration of the window. In this example the choice is \(T_c=T_r/2\).
References
[Noe15] | M. Noemm, P. A. Hoeher: CutFM SONAR Signal Design, Applied Acoustics, vol. 90, pp. 95-110, April 2015 |
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
CW
Constant Wave (CW)
This signal is a simple sine sequence with its common definition:
\begin{equation} s(t) \,\,=\,\, A\,\sin(2\pi \, f_c \, t). \label{eq_mimo_sonar_signals_cw_01} \nonumber \end{equation}
\(f_c\) depends on the center frequency of the SONAR system and the number of sine components you want to generate. For the creation a signal with just one sine component \(f_c\) will be the center frequency. For more than one sine component
\begin{equation} s(t) \,\,=\,\, \sum\limits_{i\,=\,0}^{N-1}A_i\,\sin(2\pi \, f_{c,i} \, t) \label{eq_mimo_sonar_signals_cw_02} \nonumber \end{equation}
the frequencies will be shifted from the center frequency depending on the band width and number of sine sequences \(N\) to be generated. The more sine components you create, the worse the cross correlation between different signals will get.
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
Micro Chirps
Micro Series
The micro sequences use a random coding to get good correlation properties. They received their name because they consist of
very short subpulses of the duration \(T_P\). The principle of the micro sequences is to generate signals that consist of subpulses
that have different frequency ranges. The bandwidth of each subpulse \(BW_P\) is defined by:
\begin{equation}
\begin{aligned}
T_P&=\,\frac{T}{N}\\
BW_P&=\,\frac{1}{T_P}\\
N_{PBW}&=\,\frac{BW}{BW_P}
\end{aligned}
\end{equation}
To make sure that the bandwidth of all subpulses is completely exploited there will be \(N_{PBW}\) different frequency ranges that will be repeated
and then assigned to the \(N\) subpulses.
Micro sines series
For the micro sines the subpulses contain sinusoids with different carrier frequencies. There are \(N_{PBW}\) possible carrier frequencies that
are repeated, randomly mixed and then assigned to the subpulses. The distance between these carrier frequencies is \({\Delta}f=BW_P\). The
carrier frequencies \(f_n\) can be frequencies in the range of \(f_n\,\in[f_c-BW/2,f_c+BW/2]\). \(F_c\) is the center frequency and \(BW\) is the bandwidth
of the system.
Micro chirp series
Instead of using subpulses that contain sinesoids with different center frequencies chirps with different frequency ranges can be used.
\(N_{PBW}\) possible up- and down- chirps of frequency ranges with the bandwidth \(BW_P\) are repeated, randomly mixed and then assigned to
the \(N\) subpulses.
The definitions of the sinusoids can be looked up in the description of the CW signal and the definition of the chirps can be found in the
description of the Chirp.
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions
Cox Comb
Cox Comb
The cox comb signal is a superposition of multiple sinusoids and is defined as:
\begin{equation*}
s(t)\,=\,\sum_{m=1}^{M}\text{exp}\Big(j\,2{\pi}\,f_m(t\,+\,\alpha)\Big).
\end{equation*}
The changing carrier frequency \(f_m\) is generated by:
\begin{equation*}
f_m\,=\,
\begin{cases}
f_c\,-\,BW/2,\,&\text{for}\,m\,=\,1,\\
f_{m-1}\,+r^{m-2}\,{\Delta}f,\,&\text{for}\,m\,\in\{2,...,M\}
\end{cases}
\end{equation*}
\(M\) ist the number of superpositions and \(\alpha\) is an arbitrary, very small parameter for achieving a better Peak-to-Average-Power-Ratio. For these
examples it is set to \(\alpha=0.1\). \(r\) is slightly greater than one to get unequal frequency steps between the carrier frequencies.
Time-Domain Analysis
Frequency-Domain Analysis
Time-Frequency Analysis
Auto- and Cross-Correlation Analysis
Auot- and Cross-Ambiguity Functions