Next Article in Journal
Conflict Data Fusion in a Multi-Agent System Premised on the Base Basic Probability Assignment and Evidence Distance
Next Article in Special Issue
Optimal Passive Source Localization for Acoustic Emissions
Previous Article in Journal
Three-Factor Kinetic Equation of Catalyst Deactivation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Kurtosis-Based Symbol Timing and Carrier Phase/Frequency Tracking

Electrical and Computer Engineering Department, Utah State University, Logan, UT 84322, USA
*
Author to whom correspondence should be addressed.
Entropy 2021, 23(7), 819; https://doi.org/10.3390/e23070819
Submission received: 25 May 2021 / Revised: 23 June 2021 / Accepted: 23 June 2021 / Published: 27 June 2021

Abstract

:
Kurtosis is known to be effective at estimating signal timing and carrier phase offset when the processing is performed in a “burst mode,” that is, operating on a block of received signal in an offline fashion. In this paper, kurtosis-based estimation is extended to provide tracking of timing and carrier phase, and frequency offsets. The algorithm is compared with conventional PLL-type timing/phase estimation and shown to be superior in terms of speed of convergence, with comparable variance in the matched filter output symbols.

1. Introduction

In [1], a method was introduced for burst-mode symbol timing estimation and carrier phase estimation based upon complex and real kurtosis, respectively, of the received signal. The method involves computing kurtosis at several different parameter values (for both delay and phase) and is thus computationally expensive and more suited to offline computation than real-time implementations or parameter tracking. In this paper, kurtosis-based methods are extended to algorithms that track timing and phase. The carrier estimation is also extended to include both carrier phase and carrier frequency offset. As tracking algorithms (rather than burst-mode algorithms, which obtain one estimate for an entire burst), these algorithm are potentially amenable to real-time tracking application. In one development, tracking is accomplished by moving downhill on an objective function surface that operates without derivatives in a manner analogous to the Nelder–Mead simplex algorithm in one dimension [2]. In another development, a gradient descent algorithm is employed for phase/frequency estimation. The gradient descent method has higher complexity than the non-derivative method but has an otherwise similar performance. As shown in simulations, the kurtosis-based algorithms typically converge in fewer symbols than conventional PLL-type timing and phase tracking methods.
While [1] applied this kurtosis-based method only to QPSK constellations, in fact, it is agnostic with respect to signal constellation. Conventional synchronization algorithms typically employ knowledge of the signal constellation using training symbols and/or in a decision-directed mode (see, e.g., [3]). In some settings, such as in cognitive radio radio settings, in which an “intelligent receiver … adapt[s] itself to a specific transmission context and blindly estimate[s] the transmitter parameters for self-reconfiguration purposes” [4], signals with unknown signal constellations may be employed. It would be helpful to be able to perform symbol and carrier sync without knowledge of the constellation, following which constellation identification may be more readily undertaken. The algorithms presented here serve that purpose. In addition, many detection problems require the symbols to be appropriately scaled, which often requires the use of automatic gain control (AGC) loops as part of the synchronization process. It may be advantageous to decouple the AGC loop from symbol timing and phase estimation, which the kurtosis-based approach provides. The relatively fast convergence of the estimators may also make this useful in short blocklength scenarios for low latency communication systems.
The paper [1] did not contemplate the problem of residual carrier frequency offset, assuming instead that the Fourier transform-based approach to removing carrier offset is completely effective. In this paper, we account for residual carrier frequency offset.
Since kurtosis involves fourth powers of the data, outliers can have a significant effect that can lead an estimate astray or can result in higher variance of the estimated symbols. Another contribution of this paper is to introduce the use of a Huber function [5] to make the estimation more robust.
Kurtosis-based estimation has also been used for blind source separation [6,7,8], where the kurtosis is used as a measure of non-Gaussianity [9] (Section 8.2). Negentropy is also used as a measure of non-Gaussianity, where the negentropy of a random variable y is defined as [9] (Section 8.3)
J ( y ) = H ( y gauss ) H ( y )
where y gauss is a Gaussian random variable with the same covariance as y. When the negentropy is approximated using higher-order cumulants, the negentropy can be expressed as
J ( y ) 1 12 E [ y 3 ] 2 + 1 48 kurt ( y ) 2 .
For a zero-mean variable with symmetric distribution, the negentropy is thus essentially equivalent to the kurtosis. This relationship between an entropy-related quantity and the kurtosis is what suggested this article as a venue of publication.
Parameter estimation for communication systems has been widely studied. Textbooks on this topic include [10,11,12,13,14,15,16]. Parameter estimation for communication is also covered in conventional digital communication textbooks, e.g., [3,17,18]. See also [19]. What distinguishes this work from all of these references is the use of complex and real kurtosis as a primary tool for adaptation toward the parameter estimates, which enables the parameter estimators to operate agnostic of the signal constellation. While there are some methods that can be applied without knowing the transmitted signal, such as taking powers of the received data to remove digital symbol information, those methods work only with some constellations. By contrast, the kurtosis-based methods are more general. As shown below, they can converge quickly to parameter estimates, more quickly than, for example, PLL-based methods. This suggests the possibility of kurtosis-based phase estimation to be used in phase acquisition and, where the constellation is known, switching over to a PLL-type technique for tracking.
This paper focuses on single-carrier linearly modulated digital communication signals. Extension to multicarrier signals is a topic for future research.

2. Signal Model

Digital information is transmitted at a rate of 1 / T s symbols per second according to the complex bandpass representation
s ( t ) = k s k p ( t k T s ) e j ω 0 t ,
where p ( t ) is a unit-energy, pulse-shaping function satisfying the Nyquist zero ISI theorem (e.g., a square-root raised cosine, SRRC [3] (Appendix A)), s k = a k + j b k is a complex point from the signal constellation, and ω 0 is the carrier frequency. The pulse p ( t ) is assumed to be symmetric so that the matched filter is the same as p ( t ) . The received signal is
r ( t ) = s ( t τ ) + n ( t )
where τ is delay resulting from transmission through the channel and n ( t ) is noise, assumed to be 0 mean. At the receiver, the signal is bandpass filtered and basebanded using a frequency ω 1 ω 0 . The resulting complex (nearly) basebanded signal is denoted as
u ( t ) = e j ω 1 t r ( t ) = k s k p ( t k T s τ ) e j ( ω off t + ϕ ) + n ( t ) ,
where ω off = ω 0 ω 1 is the residual carrier frequency offset and ϕ accounts for the time delay and changes in index reference at the receiver.
This signal is rotated by an estimate of the offset frequency ω ^ off and passed through a matched filter with estimated delay τ ^ to produce the signal x ( t ) = e j ω ^ off t ( u ( t ) p ( t τ ^ ) ) , where * denotes convolution. The matched filter output can be expressed in terms of the pulse autocorrelation function
x ( t ) = e j ( ϕ + ( ω off ω ^ off ) t ) k s k r p ( t k T s ( τ τ ^ ) ) + z ( t ) .
where z ( t ) represents the noise filtered through the matched filter and r p is the pulse autocorrelation function
r p ( t ) = p ( λ ) p ( λ t ) d λ .
The representation in (1) is accurate provided that the frequency offset does not exceed about 5% of the symbol rate [16] restriction was pointed out by a reviewer).
In modern practice, of course, the processing steps described above are implemented in discrete time and filters must be truncated to finite length. The signal u ( t ) is sampled at a rate of P (an integer) samples per symbol. Using T = T s / P , we write the basebanded sampled signal as u [ n ] = u ( t ) t = n T . The pulse-shaping function p ( t ) is truncated to finite duration, which we take to be ( Q 1 ) T , where Q is an odd integer and T is the sampling interval. The pulse-shaping function is thus represented by Q samples, p ( n T ) . Different authors employ different conventions for the pulse shaping function, representing it either as a noncausal signal, centered around 0, or as a causal signal. We use a notation that accommodates both convention. If the pulse p ( t ) is centered around t = 0 , then there are ( Q 1 ) / 2 samples before and after n = 0 and the peak of r p ( n T ) is at n = 0 . If p ( t ) and its matched filter are causal, then the samples of interest of p ( t ) occur at indices for n = 0 , 1 , , Q 1 . In this case, the peak of the autocorrelation function occurs at time t = ( Q 1 ) T , corresponding to sample n = ( Q 1 ) . In either case, let O (“offset”) be the index offset at which the peak sample of r p occurs: O = 0 for the pulse centered around the origin and O = Q 1 for the causal pulse.
Due to the zero-ISI property, samples of the autocorrelation at shifts of multiples of T s are 0:
r p ( O T + T s ) = 1 = 0 0 0 .
Let the downsampled signal be indexed so that the sample at n = 0 corresponds to the full matched filter response of the first symbol. That is, for the causal pulse-shaping function and its matched filter, x [ n ] = x ( t ) t = ( O + n ) T and z [ n ] = z ( t ) t = ( O + n ) T . This results in
x [ n ] = e j ( ( ω off ω ^ off ) n T + ϕ ) k s k r p ( O T + n T k T s ( τ τ ^ ) ) + z [ n ] .
Thus, x [ 0 ] corresponds to the symbol s 0 , etc. In what follows, the noise terms z [ n ] is omitted for brevity. (The phase change due to the difference in O was absorbed here into the phase  ϕ .)
The matched filter output is downsampled to the symbol rate, taking samples at indices n = P , = 0 , 1 , . The downsampled matched filter output is
y [ ] = x [ P ] = e j ( ( ω off ω ^ off ) P T + ϕ ) . k s k r p ( O T + ( k ) T s ( τ τ ^ ) )
This can be decomposed into the term k = and the other terms are
y [ ] = e j ( ( ω off ω ^ off ) P T + ϕ ) s r p ( O T ( τ τ ^ ) ) + e j ( ( ω off ω ^ off ) k P T + ϕ ) k s k r p ( O T + ( k ) T s ( τ τ ^ ) ) ISI .
If τ ^ = τ , then the second sum, representing intersymbol interference (ISI), disappears and the downsampled matched filter output is y [ ] = s e j ( ( ω off ω ^ off ) P T + ϕ ) , a single rotated (and rotating) symbol output. On the other hand, when τ ^ τ , the sample is corrupted by the terms in the ISI sum. The goal of the timing delay estimation problem is to determine τ ^ to eliminate the ISI. The goal of the phase/carrier offset problem is to eliminate the complex rotation factor e j ( ( ω off ω ^ off ) P T + ϕ ) .

3. Review of Kurtosis-Based Estimation

With this communication notation in place, we are now in a position to describe kurtosis-based parameter estimation. The kurtosis of a real zero mean random variable y is defined as [20,21]
K r ( y ) = E [ y 4 ] 3 E [ y 2 ] 2 ,
The kurtosis of a complex random variable is [21]
K c ( y ) = E [ | y | 4 ] 2 E [ | y | 2 ] 2 | E [ y 2 ] | 2 .
The kurtosis (either real or complex) has the following key properties: (1) If y and z are independent random variables, then for constants a and b, K ( a y + b z ) = | a | 4 K ( y ) + | b | 4 K ( z ) , and (2) the kurtosis of a Gaussian random variable is 0. For non-Gaussian random variables, the kurtosis may be greater than zero or less than zero. Random variables representing points drawn from a symbol constellation have negative kurtosis (that is, they are sub-Gaussian).
For a stationary (or nearly stationary) sequence of random variables ( y [ 1 ] , y [ 2 ] , , y [ N kurt ] ) , the kurtosis may be estimated by using sample averages instead of expectations. Thus,
K ^ c ( y ) = 1 N kurt n = 1 N kurt | y ( n ) | 4 2 1 N kurt n = 1 N kurt | y ( n ) | 2 2 1 N kurt n = 1 N kurt y ( n ) 2 2 ,
and, analogously, an estimate K ^ r is computed for the real kurtosis. Note that K ^ c ( y ) accepts an entire sequence of data as its argument, over which the averaging occurs to estimate the kurtosis.
The complex kurtosis of a sequence of matched filter outputs y [ ] may be used to determine τ ^ as follows. Considering the matched filter output in (2), when τ ^ τ , by the central limit theorem, the sum of terms due to ISI causes y [ ] to tend toward having a Gaussian distribution, which has small absolute kurtosis. On the other hand, when τ ^ = τ , y [ ] consists only of the phase-rotated point from the signal constellation. Since the phase rotation does not affect the complex kurtosis, this y [ ] has negative kurtosis. This concept is used in [1] to synchronize a communication burst of many symbols (e.g., on the order of 100 symbols) using a method portrayed in Figure 1a. The received signal passes through a bank of N τ matched filters, each having a different delay. (The burst-mode synchronization operation implies that the matched filtering is computed over the entire received sequence.) The delays τ 0 , τ 1 , , τ N τ 1 uniformly sample the range [ 0 , T s ) . The kurtosis of each of the downsampled matched filter outputs is computed, and the signal having the lowest (most negative) kurtosis is selected. That is,
τ ^ = arg min τ K ^ c ( u [ n ] p ( n T τ ) )
Since complex magnitudes are employed in the complex kurtosis, a lack of knowledge about phase and carrier offset does not affect the estimation of the delay. By contrast, in conventional time and phase estimation (e.g., [3]), timing and phase are jointly estimated in a joint computational structure, so the convergence of one estimate affects the convergence of the other.
The paper [1] recommends determining carrier frequency offset ω off using Fourier transform techniques. This is still recommended when using the methods described in this paper when the carrier frequency offset exceeds the ability of the algorithm to track. However, even after removing the carrier frequency offset using Fourier transform techniques, some residual carrier may remain to be tracked, which we still refer to as ω off . The method presented below reliably perform such offset frequency tracking.
For the moment, however, assume that the frequency offset is removed, so that, when the symbol timing is correctly estimated, the matched filter output is y [ ] = s e j ϕ . In terms of real and imaginary parts, y [ ] = y r [ ] + j y i [ ] and s = a + j b . By stacking these components, the rotation can be written, and using
= a b G ( ϕ ) = c ( ϕ ) s ( ϕ ) s ( ϕ ) c ( ϕ ) and c ( ϕ ) = cos ( ϕ ) s ( ϕ ) = sin ( ϕ ) ,
the rotated symbols can be written as
y = y r [ ] y i [ ] = G ( ϕ ) = c ( ϕ ) a s ( ϕ ) b s ( ϕ ) a + c ( ϕ ) b .
According to (5), the rotation G ( ϕ ) produces a linear combination of the real and imaginary components of the symbol. Computing the kurtosis (separately) on the real and imaginary components y r [ ] and y i [ ] , the kurtosis is smaller (nearer to zero) when ϕ 0 due to the mixture of a and b . Remarkably, even though y r and y i are mixtures of only two random variables, the presence of the mixture can be detected using kurtosis.
A phase estimate ϕ ^ is selected and minimizes the sum of the kurtosis of the real and imaginary parts:
ϕ ^ = arg min ϕ ( K ^ r ( y r ) + K ^ r ( y i ) )
The phase offset can be removed by computing the product y rot [ ] = e j y [ ] . This can be expressed in matrix/vector form by stacking real and imaginary parts, leading to
y , rot = G ( ϕ ^ ) y = G ( ϕ ϕ ^ ) s .
When ϕ ^ = ϕ , the components of y , rot are not mixed, so that the sum of the real kurtosis of the real and imaginary parts are maximally negative.
This kurtosis-based estimation is applied as shown in Figure 1b. There are N ϕ different rotations which span [ 0 , 2 π ) . The time-synchronized matched filter output y [ ] is rotated by each rotation, and the sum of the kurtosis of the real part and the kurtosis of the imaginary part are computed. The symbol having is determined from the kurtosis that is smallest (most negative) kurtosis.

4. Symbol Timing Tracking: Discrete Downhill Minimization

The kurtosis-based methods portrayed in Figure 1, representing the method in [1], require evaluation using N τ different matched filters in the symbol timing sync, followed by the same number of kurtosis computations, or N ϕ phase rotations, followed by the same number of kurtosis computations, where the kurtosis was computed using data over an entire burst. In [1], the expense of these computations is ameliorated by the fact that these computations are performed only once per burst. However, there is no provision in [1] to re-estimate or track the parameters. For this reason, the method is referred to as a “burst mode” algorithm, suitable for one-time estimation on a burst, without adaptation. The present paper computes only two kurtosis values for each symbol and computes the kurtosis over smaller segments of the signal, which reduces computational complexity (for each kurtosis). The authors found it surprising that, even using rather short segments to estimate the kurtosis (resulting in noisy estimates of the kurtosis), these kurtosis estimates were able to be used to estimate the timing and phase parameters.
This section describes how to use two kurtosis values computed for each symbol using a method that “slides downhill” toward the most negative kurtosis to estimate the timing offset. Only two kurtosis values are computed per symbol (as opposed to evaluating at N τ different values). This adaptive downhill slide is able to track changes in the parameters.
Let the (ostensibly) basebanded signal be denoted as u [ n ] . It is assumed that it is available over the necessary length of indices (such as by buffering).
Let the sampled N τ delayed matched filters be denoted as follows:
p i [ n ] = p ( n T τ i ) , n = 0 , 1 , , Q 1 , i = 0 , 1 , , N τ 1 .
The index i must be in the range 0 , 1 , , N τ 1 . To ensure that is the case, we use the notation p i % N τ [ n ] , where i % N τ denotes i mod N τ . In (6), the range of n is for causal pulses, in which case, O is Q 1 , as discussed above. For 0-centered pulses, n = ( Q 1 ) / 2 , , 0 , , ( Q 1 ) / 2 , and O = 0 .
In this paper, instead of evaluating kurtosis at N τ different timing offsets, at each symbol time, kurtosis is evaluated at two timing estimates. Let i 1 and i 2 be the indices of delay of the matched filters being used at the present time, where the indices refer to the delay estimates τ i 1 and τ i 2 . In order to produce the downsampled matched filter outputs used to estimate kurtosis, L = Q + ( N kurt 1 ) P input symbols are convolved with the matched filters p i 1 and p i 2 , resulting in the matched filter outputs
x m [ n ] = u [ n : N + L 1 ] p i m % N τ [ n ] , m = 1 , 2 ,
where * denotes convolution. The downsampled matched filter samples are indexed so that the first retained matched filter sample is at n = 0 are
y m = x m [ O : P : O + ( N kurt 1 ) P ] , m = 1 , 2 .
Let
K m = complexkurtosis ( y m ) , m = 1 , 2 ,
denote the complex kurtosis estimated from the sequence y m [ n ] , computed as in (4).
The minimization algorithm seeks to minimize the kurtosis K m over a series of symbol times. The minimization operates analogous to a one-dimensional Nelder–Mead algorithm [2], rolling downhill toward minimum kurtosis by moving in the direction of smaller kurtosis. This is referred to as discrete downhill minimization. It has been found by experimentation on communications data that the kurtosis is, in fact, a convex function of the delay.
At some symbol time of the two kurtoses K 1 and K 2 , computed using p i 1 and p i 2 , the lower (closer to ) kurtosis is retained, the downsampled matched filter output is saved in y best , and the index of the other delay is adjusted by n τ steps to attempt to move toward lower kurtosis. The operation is detailed in Figure 2 and the logic is explicitly described in lines 48–60 of Algorithm 1 below. After execution of the steps, i 1 indexes the delay with lower kurtosis and i 2 is ready to be tested at the next time step. For example, in Case 1, since K 1 > K 2 , i 1 is set to the value i 2 and i 2 is adjust by some number of steps n τ . n τ is a small integer, say 2 or 3, indicating how fast to adapt. The other cases in Figure 2 correspond to other configurations of the kurtosis as a function of the delay indices i 1 and  i 2 .
If i 1 already indexes the delay of minimum kurtosis, i 2 bounces back and forth between i 1 n τ and i 1 + n τ , leaving i 1 at the delay τ i 1 , producing the lowest kurtosis. The descent algorithm moves at n τ at each step, so that the average number of steps to converge is N τ / ( 2 n τ ) .
The sequence of matched filter outputs selected with the lowest kurtosis is referred to as y best .
The number of steps of adjustment, n τ , is adjusted to provide a variable stepsize algorithm. The variance in the changes in index values is computed. When the variance is below a threshold (suggesting that the estimate is converging to a steady value) n τ is decremented, provided that it is > 1 . This reduces the jitter of the estimate in steady state. This dynamic encourages rapid convergence. Tuning of the algorithm can be performed by adjusting the decision thresholds. (While not totally satisfying, this is not so different from a PLL-based estimator, for which tuning may be required to obtain a desired performance.)
When an index falls outside the range 0 , 1 , , N τ 1 , it should be reduced modulo N τ . However, in order to preserve the directional ordering between i 1 and i 2 , this modulo reduction occurs only when both indices fall outside this range. Then both indices are reduced. These operations are described in lines 69–77 of Algorithm 1.

5. Carrier Frequency and Phase Tracking: Discrete Downhill Minimization

In this section, a minimization technique is developed for carrier frequency and phase tracking, similar to that used in the previous section for timing synchronization. This allows the algorithm to track these parameters.
The phase is estimated to have one of N ϕ different values ϕ 0 , ϕ 1 , , ϕ N ϕ , which uniformly sample the range [ 0 , 2 π ) . Let Δ ϕ denote the increment in phase between adjacent steps, e.g., Δ ϕ = ϕ 1 ϕ 0 .
Phase is estimated by rotating y best using two values of phase indexed by j 1 and j 2 and an estimate of ω off , then by estimating the real kurtosis on the real and imaginary parts of the signal, and by using this information to move downhill. The rotating signals are produced by
y ϕ 1 = e j ( ω ^ ( 0 : N kurt ϕ 1 ) + ϕ j 1 % N ϕ ) y best
y ϕ 2 = e j ( ω ^ ( 0 : N kurt ϕ 1 ) + ϕ j 2 % N ϕ ) y best ,
where ⊙ denotes element-by-element multiplication. The real kurtosis is computed as
J 1 = realkurtosis ( ( y ϕ 1 ) ) + realkurtosis ( ( y ϕ 2 ) )
and similarly for J 2 .
The frequency is estimated as follows. Let j last denote the phase index of the best phase at the previous time. The change in phase from the last to the current time is Δ ϕ = ( δ ϕ ) ( j 1 j last ) . With an index changes of 0 or ± 1 , Δ ϕ may be thought of as a discrete-time point process taking values 0 and ± δ ϕ . The average value of this point process is the frequency estimate ω ^ . The frequency estimate ω ^ taken as the output of a single-pole lowpass filter with unit DC gain and with input Δ ϕ . The pole of the filter is denoted by α . The filtering is computed according to ω ^ = Δ ( 1 α ) + α ω ^ last , ω ^ last = ω ^ .
The following pseudocode (Algorithm 1) summarizes the timing and phase estimation algorithms.    
Algorithm 1: Kurtosis-based timing and phase tracking
1 function [mfout,cumwraptime ] = tracker(u,n)
2 Internal (persistent or class) data:
3     P = number of samples per symbol (integer)
4     N kurt = number of symbols used to estimate kurtosis
5     Q = number of samples in each SRRC pulse
6     L = Q + ( N kurt 1 ) P = number of samples used in convolution
7   Variables for time estimation
8     N τ = number of delay steps to consider
9     τ i = array of N τ delays in the range [ 0 , T s )
10     i 1 , i 2 = indices into τ i array 0-based indexing is used. Init: i 1 = 0 , i 2 = N τ / 2
11   Stored values of the delayed SRRC pulse p i [ n ] = p ( n T τ i ) ,
               for n = ( 0 , 1 , , Q 1 ) and i = ( 0 , 1 , , N τ 1 )
12   cumwraptime = cumulative wrap count. Init = 0
13   Variables for variable stepsize algorithm
14    n τ = number of steps. Init = 2 or 3
15    L hist = length of τ 1 history (a circular buffer)
16   hist τ = buffer history of i 1 (length = L hist )
17    k τ = index into hist τ . Init = 0
18    N hist = number of elements in hist τ . Init = 0
19    σ τ = variance of elements in hist τ
20    thresh τ = variance threshold to reduce stepsize
21   Variables for phase/frequency estimation
22    N ϕ number of phase steps to consider
23    ϕ j = array of N ϕ phases in [ 0 , 2 π )
24    δ ϕ = 2 π / ( N ϕ 1 ) = phase step size
25    ϕ stepsize = number of index steps to move in phase adaptation. Init = 1
26    j 1 , j 2 = indices into ϕ j array. Init: j 1 = 0 , j 2 = N ϕ / 2
27    last j = last value of j 1 or j 2 . Init=0
28   cumwraphphase = cumulative phase wrap count. Init = 0
29   Variables for frequency estimation
30    ω ^ = frequency offset estimate. Init = 0
31   lastomega = previous value of ω ^ . Init = 0
32    α = pole location of single-pole LPF. α 0.95
33 Inputs:
34   u = received basebanded signal (function uses L samples in u [ n : n + L 1 ] )
35   n = starting sample of s [ n ] at this iteration (n increased by P before each call)
36 Output:
37   mfout = synched/rotated matched filter output
38   cumwraptime = total number of timing wraparounds
39   (Timing estimation)
40     x 1 = u [ n : N + L 1 ] p i 1 % N τ    (MF outputs (* = convolution))
41    x 2 = u [ n : N + L 1 ] p i 2 % N τ
42    y 1 = x 1 [ Q 1 : P : Q 1 + L ]
43   (downsampled ( N kurt symbols out))
44    y 2 = x 2 [ Q 1 : P : Q 1 + L ]
45    K 1 = complexkurt( y 1 )    (Compute kurtosis using (4))
46    K 2 = complexkurt( y 2 )
47   (Move downhill toward best delay:)
48   if K 2 < K 1 and i 1 < i 2    (Case 1)
49       i 1 = i 2 ; K 1 = K 2 ; i 2 += n τ
50       y best = y 2    (assign the entire sequence)
51   elseif K 1 K 2 and i 2 < i 1    (Case 2)
52       i 2 = i 1 + n τ
53       y best = y 1
54   elseif K 2 < K 1 and i 2 < i 1    (Case 3)
55       i 1 = i 2 ; i 2 −= n τ ; K 1 = K 2
56       y best = y 2
57   elseif K 1 < K 2 and i 1 < i 2    (Case 4)
58       i 2 = i 1 n τ
59       y best = y 1
60   end
61   (Adjust the step size)
62   tauhist [ k τ ] = i 1
63    k τ = ( k τ + 1 ) % L hist
64    N hist = min( N hist +1, L hist )
65   if( N hist == L hist )
66       σ τ = ( tauhist )
67      if( σ τ < thresh τ and n τ > 2 ) n τ −= 1
68   end
69    (If both delays N τ or both < 0 , wrap around:)
70    wrap = 0
71    if i 1 N τ and i 2 N τ
72        i 1 = N τ ; i 2 = N τ
73       wrap = 1
74    elseif i 1 < 0 and i 2 < 0
75        i 1 += N τ ; i 2 += N τ
76       wrap = −1
77    end
78   (At this point, y best is an array containing
79    N kurt time-aligned MF outputs)
80   (Carrier offset/frequency estimation)
81   despin1 = e j ( ϕ j 1 % N ϕ + ω ^ ( 0 : N kurt 1 ) )    (array with N kurt elements)
82   despin2 = e j ( ϕ j 2 % N ϕ + ω ^ ( 0 : N kurt 1 ) )
83    y ϕ 1 = y best despin 1    (De-rotate the matched filter outputs)
84    y ϕ 2 = y best despin 2
85    J 1 = realcomplexkurt ( y ϕ 1 )    (∑ kurtosis on real & imag)
86    J 2 = realcomplexkurt ( y ϕ 2 )
87   (Move downhill toward best phase:)
88   if J 2 J 1 and j 1 < j 2
89       j 1 = j 2 ; K 1 K 2 ; j 2 += ϕ stepsize
90       mfout = y ϕ 2 [ 0 ]    (save matched filter output)
91   elseif J 1 J 2 and j 2 < j 1
92       j 2 = j 1 + ϕ stepsize
93       mfout = y ϕ 1 [ 0 ]
94   elseif J 2 J 1 and j 2 < j 1
95       j 1 = j 2 ; K 1 = K 2
96       j 2 = ϕ stepsize
97       mfout = y ϕ 2 [ 0 ]
98   elseif K 1 < K 2 and j 1 < j 2
99       j 2 −= ϕ stepsize
100       mfout = y ϕ 1 [ 0 ]
101   end
102    Δ j = j 1 last j ;    (phase difference in counts)
103    Δ ϕ = ( Δ j ) ( δ ϕ )    (phase difference in rads)
104   wrap = 0    (Do phase wrap around)
105   if j 1 N ϕ and j 2 N ϕ
106        j 1 −= N ϕ ; j 2 −= N ϕ ;
107         wrap = 1 ;
108   elseif j 1 < 0 and j 2 < 0
109        j 2 += N ϕ ; j 2 += N ϕ ;
110         wrap = 1
111   end
112    last j = j 1
113    cumwrapphase += wrap
114   Estimate the frequency by smoothing Δ ϕ
115    ω ^ = Δ ϕ ( 1 α ) + α lastomega
116    lastomega = ω ^
117   Adjust the phase adjustment step size
118    ϕ stepsize = | ω ^ | / ( δ ϕ ) + 1
119 end function

6. Huber Loss Function

The fourth moments computed in the kurtosis open the algorithm to the vulnerability that outlier events unduly affect the estimate. This effect can be mitigated by employing a Huber loss function [5], which is commonly used for robust estimation. This function is defined as follows:
H δ H ( a ) = 1 2 a 2 if | a | δ H , δ H ( | a | 1 2 δ H ) otherwise .
H δ H ( a ) behaves quadratically for small values of a (when | a | δ H ) and linearly for larger values of a, with the transition defined such that the transition from quadratic behavior to linear behavior at | a | = δ H is continuous and continuously differentiable. The real kurtosis of (3) is approximated using the Huber function by
K r H ( y ) = E [ H δ H ( H δ H ( y ) ) ] 3 H δ H ( E [ H δ H ( y ) ] )
In complex kurtosis, for the terms involving the magnitude | y | , the Huber function can be applied directly. For the term involving y 2 , the Huber function is applied to the magnitude, leaving the phase quadratically varying. The complex Kurtosis is approximated using the Huber function as follows:
K c H ( y ) = E [ H δ H ( H δ H ( | y | ) ) ] 2 H δ H ( E [ H δ H ( | y | ) ] ) H δ H E [ H δ H ( | y | ) e j 2 y ] .
This is estimated from a sequence of observations:
K ^ c H ( y ) = 1 N kurt n = 1 N kurt H δ H ( H δ H ( | y ( n ) | ) ) 2 H δ H 1 N kurt n = 1 N kurt H δ H ( | y ( n ) | ) H δ H 1 N kurt n = 1 N kurt H δ H ( | y ( n ) | ) e j 2 y ( n ) .
Huber functions can be used in Algorithm 1 by simply replacing the computations of K 1 and K 2 at lines 45 and 46 with the complex Huber function, and the computations of J 1 and J 2 at lines 85 and 86 with the real Huber function.

7. Gradient Descent for Phase Estimation

As an alternative to optimizing over a fixed number of alternatives, gradient descent may also be employed. We illustrate the method here for phase estimation; this can be modified for timing estimation.
Let the real and imaginary components of the rotated signal be denoted as
y r , r o t y i , r o t = c ( ϕ ^ ) y r + s ( ϕ ^ ) y i s ( ϕ ^ ) y r + c ( ϕ ^ ) y i
where c ( ϕ ^ ) = cos ( ϕ ^ ) and s ( ϕ ^ ) = sin ( ϕ ^ ) . The objective function is the sum of the real kurtoses of the real and imaginary parts. Expanding this and identifying the moment terms using the variables A through D, we find
J ( ϕ ^ ) = K r ( y r , r o t ) + K r ( y i , r o t ) = E [ ( c ( ϕ ^ ) y r + s ( ϕ ^ ) y i ) 2 ] 3 ( E [ ( c ( ϕ ^ ) y r + s ( ϕ ^ ) y i ) 2 ] 2 + E [ ( s ( ϕ ^ ) y r + c ( ϕ ^ ) y i ) 2 ] 3 ( E [ ( s ( ϕ ^ ) y r + c ( ϕ ^ ) y i ) 2 ] 2 = c ( ϕ ^ ) 4 E [ y r 4 ] 3 E [ y r 2 ] 2 + 4 E [ y i 4 ] 3 E [ y i 2 ] 2 A + c ( ϕ ^ ) 3 s ( ϕ ^ ) × 4 E [ y r 3 y i ] 4 E [ y r y i 3 ] 12 E [ y r 2 ] E [ y r y i ] + 12 E [ y i 2 ] E [ y r y i ] B + c ( ϕ ^ ) 2 s ( ϕ ^ ) 2 12 E [ y r 2 y i 2 ] 12 E [ y r 2 ] E [ y i 2 ] C + c ( ϕ ^ ) s ( ϕ ^ ) 3 × 4 E [ y r y i 3 ] 12 E [ y r y i ] E [ y i 2 ] 4 E [ y r 3 y i ] + 12 E [ y r 2 ] E [ y r y i ] D + s ( ϕ ^ ) 4 E [ y i 4 ] + E [ y r 4 ] 3 E [ y i 2 ] 2 3 E [ y r 2 ] E [ y i 2 ] A
The gradient of J ( ϕ ^ ) is
J ( ϕ ^ ) = A ( 4 s ( ϕ ^ ) 3 c ( ϕ ^ ) 4 c ( ϕ ^ ) 3 s ( ϕ ^ ) ) + B ( c ( ϕ ^ ) 4 3 s ( ϕ ^ ) 2 c ( ϕ ^ ) 2 ) + C ( 2 c ( ϕ ^ ) s ( ϕ ^ ) 3 + 2 c ( ϕ ^ ) 3 s ( ϕ ^ ) ) + D ( 3 c ( ϕ ^ ) 2 s ( ϕ ^ ) 2 s ( ϕ ^ ) 4 )

8. Experimental Results

Kurtosis-based estimation was compared with the PLL-based timing and phase synch algorithms of [3] (Sections 7.4 and 8.4.4). In these algorithms, the timing interpolator is governed by the fractional symbol μ . The phase estimate is represented by the DDS (direct digital synthesizer) value. Two examples are presented here, one with ω off = 0 and one with ω off = 0.01 .
Example 1.
QPSK, SNR = 10 dB, excess bandwidth = 0.2. ω o f f = 0 . Algorithm parameters: N k u r t = 20 , N τ = 60 , N ϕ = 40 , Q = 101 . ω-filtering parameter α = 0.99 .
Figure 3a shows the results of the delay estimation. The inset in the figure shows the first 30 samples, illustrating that convergence has occurred in about 10 symbols periods. Figure 3b shows the phase estimation. The phase estimate (top, in radians) shows the phase estimate. The inset shows that the phase estimate has converged in less than 10 symbols. The Δ -phase (middle) shows Δ ϕ . The bottom plot shows the estimate of ω .
By comparison, Figure 4a shows the PLL-based estimates, with a filter time-bandwidth product B N T = 0.01 . The top plot shows the fractional symbol μ , demonstrating convergence somewhere around 200 symbols. The bottom plot shows the phase converges in about 100 symbols.
As another method of comparing performance, the matched filter outputs were clustered (according to nearest signal constellation point) and the average variance of the clusters was computed. This variance was compared with the variance that would occur if the only source of noise were the AWGN. These variance results are shown in Table 1. In the column labeled “Noise Var”, the variance due to the AWGN at that SNR is shown. For example, in the first row where E b / N 0 = 10 dB, the noise variance is 0.05. The column labeled “No Offsets” shows the result of estimating the variance of the clustered matched filter outputs when there are no phase or timing offsets. When E b / N 0 = 10 dB, this is 0.05. This value should be close to the “Noise Var.” The columns labeled “ δ H ” and “Grad μ ” indicate the settings for the parameters. “ δ H ” set to a value indicates that the Huber function was used. “Grad μ ” set to a value indicates that gradient descent was used. The column labeled “Kurtosis” indicates the variance of the clustered matched filter outputs for the various kurtosis-based estimation algorithms after convergence. For example, the first row with δ H = 0.5 shows that the variance is 0.061. This can be compared with the variance in the “No Offsets” column, indicating that using the estimate does, in fact, increase the variance of the matched filter outputs compared to not having to estimate the parameters at all. The column labeled “PLL-based“ shows the variance of the clustered matched filter outputs for the PLL-based estimators. For E b / N 0 = 10 dB , this variance is 0.06. Finally, the column “dB(Kurt/PLL)” shows the comparison (in dB) between the kurtosis and PLL-based estimators, where negative numbers indicate superiority of kurtosis-based vs. PLL-based. For example, in the first row, kurtosis-based estimation is 0.06 dB worse (in variance) than PLL-based estimation.
As Table 1 shows that the variance performance between kurtosis-based and PLL-based estimation is generally quite close.
Example 2.
This example shows behavior typical of the kurtosis-based phase estimate. In this case, N ϕ = 100 , and SNR = 24 dB. Figure 5 demonstrates an example of the phase estimate. After convergence, the estimator tends to jitter around the bottom of the kurtosis “bowl”, because the kurtosis is only estimated. The phase variance thus largely determined by the steps size, essentially 2 π / N ϕ .
Example 3.
QPSK, SNR = 10 dB, excess bandwidth = 0.2. ω o f f = 0.02 . Algorithm parameters: N k u r t = 20 , N τ = 60 , N ϕ = 40 . ω-filtering parameter α = 0.95 .
Figure 6a shows the results of the delay estimation. The inset in the figure shows the first 30 samples, illustrating that convergence occurred in less than 20 symbols. Figure 6b shows the phase estimation. The phase estimate (top, in radians) shows the phase estimate. The inset shows that the phase estimate converged in less than 10 symbols. The Δ -phase (middle) shows Δ ϕ . The bottom plot shows the estimate of ω .
Figure 7 shows results for the PLL-based methods in this setting. While the phase tracking appears smoother in the PLL-based estimate, as the results for Example 3 in Table 1 show, there is less variance around the constellation points at the matched filter outputs for the kurtosis-based methods than the PLL-based methods when step descent is used. Interestingly, the gradient descent performs significantly worse than PLL-based estimation at all SNRs.
Figure 8 shows results for the gradient descent estimation of the phase. The convergence time is about the same as the step descent, but there is higher variance on the estimate of ω .

9. Comparison with Modified Cramer–Rao Lower Bound

Evaluating the performance in terms of how the recovered signal points are clustered, as in Table 1, is a natural way to evaluate the performance of these estimation algorithms, since it demonstrates how all of the estimators work together to achieve what is desired in the receiver: good signal detection. Another way of evaluating performance of estimators is to compare the estimator variance against lower bounds such as the Cramer–Rao lower bound (CRLB) or modified CRLB. The modified CRLB provides a bound when the observed data depends on multiple parameters, but only one parameter at a time is estimated [22]. The modified CRLB is, in general, lower than the CRLB.
The modified CLRB for the estimate of ϕ is [22] (Equation (31))
M C R B ( ϕ ) = B L T s E s / N 0
In [22], B L = 1 / ( 2 L T s ) , where L T s is the length of window over which the estimator operates. The modified CLRB for the estimate of τ is [22] (Equation (32)
M C R B ( τ ) = B L T s 4 π 2 ξ T s 2 E s / N 0
where
ξ = T s 2 f 2 | P ( f ) | 2 d f | P ( f ) | 2 d f ,
where P ( f ) is the Fourier transform of the pulse-shaping function p ( t ) .
The kurtosis is computed over N kurt symbols (matched filter outputs). The first matched filter output occurs at sample Q T s / P , with symbol outputs occuring every T s seconds thereafter. Thus, the duration over which a kurtosis is computed is Q T s / P + ( N kurt 1 ) T s . We take this as the value of B L T s over which the estimate is computed. Since the estimator steps over several symbol times to converge, this does not apply initially but should be applicable after convergence.
Figure 9a shows the variance of estimate of τ using the kurtosis-based method (red) and the conventional (loop-based) method (yellow) compared with the modified CRLB (blue), as a function of E b / N 0 . The variance of the kurtosis-based method was obtained by computing the variance of τ ^ after convergence, such as seen in Figure 3a, averaged over 10 independent runs. The variance of the loop-estimated variance was computed as the variance of μ (the fractional timing offset in the synchronization algorithm [3]), averaged over 10 runs. The kurtosis-based method performs significantly better than the loop-based method and demonstrates variance decreases with SNR. However, it does not decrease as fast as the modified CRLB. Additionally, it appears that the kurtosis-based method meets the modified CRLB, which is unexpected. It may be that the value for B L T s used to compute the bound in (7) is larger than it should be.
Figure 9b shows the variance of the estimate of ϕ using kurtosis (red) and PLL (yellow) compared with the modified CRLB (blue). The variance of the kurtosis-based method was obtained by computing the variance of ϕ ^ after convergence, such as seen in Figure 3b, averaged over 10 independent runs. The variance of the kurtosis method hardly changes with SNR (although it can be seen to vary slightly). The continued variation is due to the fixed step size, and the fact that the kurtosis estimate has some variance associated with it causing jitter in the indices. Depending on the value of N ϕ , this can achieve variances less than those of the PLL-based method. This suggests that a variable N ϕ algorithm would be useful: use a larger step size to converge quickly, then reduce the step size to reduce the variance.
(These plots were performed using QPSK, Q = 101 , P = 3 , α = 0.2 , and N kurt = 40 and using the Hubert function to estimate the kurtosis.)

10. Discussion and Conclusions

We demonstrated that kurtosis-based methods can be applied to symbol timing and phase estimation. These offer potential advantages such as being able to synchronize without knowledge of the signal constellation in a scale-invariant way and, generally, convergence as fast as or faster than PLL-based methods. The experiments showed that the variance of the matched filter outputs for kurtosis-based methods is about the same as or slightly better than PLL-based methods. The gradient descent phase estimation, however, does not generally perform as well as discrete minimization methods. We made the following observations:
  • Using the Huber function instead of the full kurtosis reduces the variance of the estimators.
  • For lower SNRs, the gradient-based method performs significantly worse than the discrete minimization.
  • The gradient-based method has a higher complexity than the discrete minimization.
  • Kurtosis-based methods converge more quickly than PLL-based methods. The number of steps is determined primarily by N τ , N ϕ , and n τ . (There is a secondary effect due to the bandwidth of the lowpass filter for ω ^ off .)
The fast convergence time suggests that these kurtosis-based methods may be useful in situations where short packets are used, such as in the Internet of Things.

Author Contributions

Conceptualization, T.K.M. and J.H.G.; methodology, T.K.M. and J.H.G.; software, T.K.M.; validation, T.K.M.; formal analysis, T.K.M.; writing—original draft preparation, T.K.M.; writing—review and editing, T.K.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Not Applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gunther, J.H.; Moon, T.K. Burst mode synchronization of QPSK on AWGN channels using kurtosis. IEEE Trans. Comm. 2009, 57, 2453–2462. [Google Scholar] [CrossRef]
  2. Nelder, J.A.; Mead, R. A Simplex Method for Function Minimization. Comput. J. 1965, 7, 308–313. [Google Scholar] [CrossRef]
  3. Rice, M. Digital Communications: A Discrete-Time Approach, 2nd ed.; Prentice Hall: Hoboken, NJ, USA, 2017; ISBN 9781790588545. [Google Scholar]
  4. Marazin, M.; Gautier, R.; Burel, G. Dual Code Method for Blind Identification of Convolutional Encoder for Cognitive Radio Receiver Design. In Proceedings of the 2009 IEEE Globecom Workshops, Honolulu, HI, USA, 30 November–4 December 2009; pp. 1–6. [Google Scholar] [CrossRef]
  5. Huber, P.J. Robust Estimation of a Location Parameter. Ann. Math. Statist. 1964, 35, 73–101. [Google Scholar] [CrossRef]
  6. Delfosse, N.; Loubaton, P. Adaptive blind separation of convolutive mixtures. In Proceedings of the 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing Conference Proceedings, Atlanta, GA, USA, 9 May 1996; pp. 2940–2943. [Google Scholar]
  7. Hyvarinen, A. Fast and robust fixed-point algorithms for independent component analysis. IEEE Trans. Neural Netw. 1999, 10, 626–634. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  8. Hyvarinen, A.; Oja, E. A fast fixed-point algorithm for independent component analysis. Neural Comput. 1997, 9, 1483–1492. [Google Scholar] [CrossRef]
  9. Hyvarinen, A.; Karhunen, J.; Oja, E. Independent Component Analysis; Wiley: New York, NY, USA, 2001. [Google Scholar]
  10. Viterbi, A. Principles of Coherent Communication; McGraw-Hill: New York, NY, USA, 1966. [Google Scholar]
  11. Stiffler, J. Theory of Synchronous Communication; Prentice-Hall: Englewood Cliffs, NJ, USA, 1971. [Google Scholar]
  12. Lindsey, W. Synchronization Systems in Communication and Control; Prentice-Hall: Englewood Cliffs, NJ, USA, 1972. [Google Scholar]
  13. Lindsey, W.; Simon, M. Telecommunication Systems Engineering; Prentice-Hall: Englewood Cliffs, NJ, USA, 1973. [Google Scholar]
  14. Gardner, F. Phaselock Techniques; Wiley: New York, NY, USA, 1979. [Google Scholar]
  15. Meyr, H.; Asheid, G. Synchronization Techniques in Digital Communications; Wiley: New York, NY, USA, 1990. [Google Scholar]
  16. Mengali, U.; D’Andrea, A. Synchronization Techniques for Digital Receivers; Springer Science+Business Media: New York, NY, USA, 1997. [Google Scholar]
  17. Proakis, J.G. Digital Communications; McGraw Hill: New York, NY, USA, 1995. [Google Scholar]
  18. Barry, J.R.; Lee, E.A.; Messerschmitt, D.G. Digital Communication, 3rd ed.; Kluwer Academic: Boston, MA, USA, 2004. [Google Scholar]
  19. Franks, L. Carrier and Bit Synchronization in Data Communication—A Tutorial Review. IEEE Trans. Comm. 1980, 28, 1107–1121. [Google Scholar] [CrossRef]
  20. Ding, Z.; Li, Y. Blind Equalization and Identification; Marcel Dekker: New York, NY, USA, 2001. [Google Scholar]
  21. Shalvi, O.; Weinstein, E. New criteria for blind deconvolution of non-minimum phase systems. IEEE Trans. Info. Theory 1990, 36, 312–321. [Google Scholar] [CrossRef]
  22. D’andrea, A.; Mengali, U.; Reggiannini, R. The Modified Cramer-Rao Bound and Its Application to Synchronization Problems. IEEE Trans. Comm. 1994, 42, 1391–1399. [Google Scholar] [CrossRef]
Figure 1. Block diagram of burst-mode kurtosis-based estimation.
Figure 1. Block diagram of burst-mode kurtosis-based estimation.
Entropy 23 00819 g001
Figure 2. Discrete downhill minimization of kurtosis function.
Figure 2. Discrete downhill minimization of kurtosis function.
Entropy 23 00819 g002
Figure 3. Example 1: Kurtosis-based timing and phase estimation.
Figure 3. Example 1: Kurtosis-based timing and phase estimation.
Entropy 23 00819 g003
Figure 4. Example 1: PLL-based timing and phase estimation.
Figure 4. Example 1: PLL-based timing and phase estimation.
Entropy 23 00819 g004
Figure 5. Example 2: Illustration of phase estimate jitter, N ϕ = 100 .
Figure 5. Example 2: Illustration of phase estimate jitter, N ϕ = 100 .
Entropy 23 00819 g005
Figure 6. Example 3: Kurtosis-based estimates.
Figure 6. Example 3: Kurtosis-based estimates.
Entropy 23 00819 g006
Figure 7. Example 3: PLL-based timing and phase estimation.
Figure 7. Example 3: PLL-based timing and phase estimation.
Entropy 23 00819 g007
Figure 8. Example 3: Kurtosis-based estimates and phase estimation gradient descent.
Figure 8. Example 3: Kurtosis-based estimates and phase estimation gradient descent.
Entropy 23 00819 g008
Figure 9. Variance of parameter estimates compared with modified CRLB.
Figure 9. Variance of parameter estimates compared with modified CRLB.
Entropy 23 00819 g009
Table 1. Cluster variances.
Table 1. Cluster variances.
Example E b / N 0 (dB)Noise VarNo Offsets δ H Grad μ KurtosisPLL-BaseddB(Kurt/PLL)
1-9 1100.050.050.50.0610.060.06
0.077 1.08
0.50.010.054 −0.47
1-980.0790.0790.50.0860.94−0.38
0.105 0.48
0.50.010.128 −0.60
1-960.1260.1240.50.130.15−0.47
0.15 −0.016
0.50.010.127 −0.64
1-940.20.190.50.190.22−0.55
0.22 0.056
0.50.010.19 −0.62
1-9 2100.050.050.50.0570.6−0.20
0.058 −0.07
0.50.20.21 5.4
1-980.0790.0790.50.0850.093−0.42
0.088 −0.28
0.23 3.91
1-960.0790.0790.50.130.15−0.49
0.15 0.16
0.25 2.3
1-940.20.190.50.20.22−0.51
0.2 −0.49
0.28 1.04
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Moon, T.K.; Gunther, J.H. Kurtosis-Based Symbol Timing and Carrier Phase/Frequency Tracking. Entropy 2021, 23, 819. https://doi.org/10.3390/e23070819

AMA Style

Moon TK, Gunther JH. Kurtosis-Based Symbol Timing and Carrier Phase/Frequency Tracking. Entropy. 2021; 23(7):819. https://doi.org/10.3390/e23070819

Chicago/Turabian Style

Moon, Todd K., and Jacob H. Gunther. 2021. "Kurtosis-Based Symbol Timing and Carrier Phase/Frequency Tracking" Entropy 23, no. 7: 819. https://doi.org/10.3390/e23070819

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop