Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYNCHRONISATION USING PILOTS AND DATA
Document Type and Number:
WIPO Patent Application WO/2014/127407
Kind Code:
A1
Abstract:
A method for estimating a time offset of a transmitted signal which comprises pilot symbols and data symbols, the method comprising: receiving the transmitted signal to produce a received signal; and processing an optimising function of the received signal at a finite number of possible time offsets to produce an estimator of the time offset.

Inventors:
COWLEY WILLIAM GEORGE (AU)
MCKILLIAM ROBERT GEORGE (AU)
POLLOK ANDRE (AU)
Application Number:
PCT/AU2014/000139
Publication Date:
August 28, 2014
Filing Date:
February 19, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV SOUTH AUSTRALIA (AU)
International Classes:
H04L25/00; H04J3/00; H04L7/00; H04L27/00
Foreign References:
US20040081205A12004-04-29
US7027429B22006-04-11
US20040081205A12004-04-29
US7027429B22006-04-11
Other References:
See also references of EP 2959650A4
Attorney, Agent or Firm:
MADDERNS (Adelaide, South Australia 5001, AU)
Download PDF:
Claims:
CLAIMS

1. A method for estimating a time offset of a transmitted signal which comprises pilot symbols and data symbols, the method comprising:

receiving the transmitted signal to produce a received signal; and

processing an optimising function of the received signal at a finite number of possible time offsets to produce an estimator of the time offset.

2. The method of claim 1 , wherein the optimising function comprises a function of the received signal with a finite number of possible pilots.

3. The method of claim 1 or 2, wherein the optimising function comprises a functio of the received signal with a finite number of possible data symbols,

4. The method of claim 1, wherein the optimising function comprises a mathematical function, or equivalent, of SS(t) = Ζ(τ) + Υ(τ) where Z is a function of the received signal, the time offset and positions of a finite number of the data symbols, and Y is a function of the received signal, the time offset and positions of a finite number of possible pilot symbols.

5. The method of any one of claims 1 to 4, wherein the optimising function is processed at the finite number of possible time offsets T, , Γ, , ..., TK for some positive integer K where TM— t, = Δ , and Δ = Tic where T is the symbol period of the pilot symbols and data symbols, and C is a positi ve integer.

6. The method of claim 1, wherein the data symbols are complex numbers.

7. The method of claim 1 , wherein the data symbols are from a finite set on a complex unit circle.

8. The method of claim 7, wherein the data symbols are from a M-PSK constellations.

9. The method of claim 1, wherein the step of processing an optimising function comprises: computing ¾ for all k = 1 + cmin( u D),..., K + cmax(P D) , where P is set of indices describing positions of the pilots symbols, D is set of indices describing positions of the data symbols, K and C are positive integers; computing Zk = Z(rk ) , based on bk , for all k = 1 , ... , K , where Tk is an possible time offset; computing Yk = Y(Tk ) , based on ¾ , for all k = l,..., K , F(r. ) being a different function from Z( r.. ) ;

computing k e { 1 , , .. , K} that maximises Zk + Yk ;

computing an approximate time offset estimate, , based on k that maximises Zk + Yk ; applying a numerical optimisation procedure initialized with T to produce the estimator of the time offset.

10. The method of claim 9. wherein the step of computing an approximate time offset estimate comprises: computing f = i + A(k— 1) = Tmia + A(k— 1 ), where k is the ir that maximises Zk + Yk ,

Δ = Tic where T is the s^Tnbol period of the pilot symbols and data Symbols, and C is a positive integer.

1 1. A computer program product configurable to perform the method of 1 to 10.

12. A receiver configurable to perform the method of 1 to 10.

13. A communication system, comprising:

a transmitter for transmitting a transmitted signal which comprises pilot symbols and data symbols; and

a receiver configurable to perform the method of 1 to 1 .

Description:
SYNCHRONISATION USING PILOTS AND DATA PRIORITY DOCUMENT

[00011 The present application claims priority from:

Australian Provisional Patent Application No. 2013900552 titled "Synchronisation using pilots and data" and filed on 19 February 20 3.

The content of this application is hereby incorporated by reference in its entirety. INCORPORATION BY REFERENCE

[0002] The following patent application is referred to in the following description:

[0003] PCT/AU2013/001464 entitled "Carrier phase and amplitude estimatio for phase shift keying using pilots and data" filed on 13 December 2013, claiming priority from Australian Provisional Patent Application No. 2012905489.

[0004] The content of this application is hereby incorporated by reference in its entirety. TECHNICAL FIELD

[0005] The present inventio relates to communication systems. In particular, the present invention relates to estimation of time offset of a received signal in a communication system.

BACKGROUND

[0006] In passband communication systems, a transmitted signal typically undergoes time offset (delay), phase shift, and attenuation (amplitude change). These effects must he compensated for at the receiver.

[0007| Estimation of time offset is critical for good receiver performance. The ability to improve the estimation accuracy for this time offset can be translated into a number of valuable benefits, including increased receiver sensitivity, increased power efficiency, a reduction in the amount of overhead required for pi lot/traini g sequences.

[0008 J A transmitted signal contains pilot symbols and data symbols. Signalling constellations that have symbols on the complex unit circle such as binary phase shift keying (BPS ), quaternary phase shift keying (QPSK) and M -ary phase shift keying ( M -PSK) are often used* but more generally, quadrature amplitude modulated (QAM) constellations can also be used.

[0009] The problem of estimating time offset has undergone considerable prior research. Traditional approaches involve analogue phase-lock-loops and digital implementations motivated by phase-lock- loops. These approaches focus on estimating t 0 modulo the symbol period T , that is, if

r„ = 0 + i {] T where i n e Z and γ η e [—772 , 772) , then an estimator of y n is given. This estimate may be used to drive a sampling device applied to the received signal (usually after matched filtering) Some other method must then be used to align the samples, i.e., to estimate ¾ . The problem of estimating γ 0 is usually called symbol synchronisation, while the second problem of estimating ¾ is usually called frame synchronisation.

[0010] More recently iterative methods attempting to exploit the error correcting code used by the transmitter have appeared. These estimators typically apply the expectation maximisation (EM) algorithm under a Gaussian assumption regarding the noise w(f) . A ke problem is that the EM algorithm converges correctly only if initialised at some T sufficiently close to r 0 . Methods for efficiently obtaining a ΐ close to T 0 are still required.

SUMMARY

[0011] According to a first aspect of the present invention, there is provided a method for estimating a time offset of a transmitted signal which comprises pilot symbols and data symbols, the method comprising: receiving the transmitted signal to produce a received signal; and processing an optimising function of the received signal at a finite number of possible time offsets to produce an estimator of the time offset.

[0012] In one form, the optimising functio comprises a function of the received signal with a finite number of possible pilots.

[0013] In one form, the optimising function comprises a functio of the received signal with a finite number of possible data symbols.

[0014] In one form, the optimising function comprises a mathematical function, or equivalent, of SS(x) = Ζ(τ) + Υ(τ) where Z is a function of the received signal, the time offset and positions of a finite number of data symbols, and Y is a function of the received signal, the time offset and positions of a finite number of possible pilot symbols.

[0015] In one form, the optimising function is processed at the finite number of possible time offsets T. . Γ, .— 1 ' K for some positive integer K where T M — T l = A , and Δ = Tic where T is the symbol period of the pilot symbols and data symbols, and C is a positive integer.

[0016] In one form, the data symbols are complex numbers.

[0017] In one form, the data symbols are from the complex unit circle.

[0018] In one form, the data symbols are from a -PS constellation.

[0019] In one form, the step of processing an optimising function comprises: computing b k for all k = 1 + cmin(Pu D)... ,, K+ cmax(Pu D) , where Pis set of indices describing positions of the pilots symbols, D is set of indices describing positions of the data symbols, K and C are positive integers; computing Z k = Z( T k ) , based on b k , for all k = 1 , . .. , K , where T k is an possible time offset; computing Y k = Y(T k ) , based on b k , for all k = l ,..., K , Y(T k ) being a different function from Z(T k ) ; computing k e { 1 , ... , K} that maximises Z k + Y k ; computing an approximate time offset estimate, f , based on k that maximises Z t + Y t ; and applying a numerical optimisation procedure initialized with 7 to produce the estimator of the time offset.

[0020] In one form, the step of computing an approximate time offset estimate comprises: computing —T ] + Δ(1 - 1 ) = mm + A(k - 1 ), where k is the k that maximises Z t + Y k ,A = Tc where T is the symbol period of the pilot symbols and data symbols, and C is a positive integer.

[0021] According to second aspect of the present invention, there is provided a computer program product configurable to perform the method of the first aspect, and/or its various forms.

[0022] According to third aspect of the present invention, there is provided a receiver configurable to perform the method of the first aspect, and/or its various forms.

[0023] According to fourth aspect of the present invention, there is provided a communication system, comprising: a transmitter for transmitting a transmitted signal which comprises pilot symbols and data symbols; and a receiver configurable to perform the method of the first aspect, and/or its various forms.

BRIEF DESCRIPTION OF DRAWINGS

[00241 A preferred embodiment of the present invention will be discussed with reference to the accompanying drawings wherein:

[0025| Figure 1 depicts a block diagram illustrating one embodiment of the present invention;

[0026] Figure 2 depicts one embodiment of the function SS(x) of figure 1 ;

[0027] Figure 3 summarises steps involved in performing the present invention;

[0028] Figure 4 depicts steps which present the novel time offset estimation algorithm of one embodiment of the present invention ;

[0029] Figure 5 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \B = 5 and root-raised cosine (RRC) pulse with roil-off ;

[0030] Figure 6 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \ = 10 and root-raised cosine (RRC) pulse with roll-off y ;

[0031] Figure 7 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \ f = 20 and root-raised cosine (RRC) pulse with roll-off - ;

[0032] Figure 8 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \ = 100 and root-raised cosine (RRC) pulse with roll-off ;

[0033] Figure 9 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with = 5 and root-raised cosine (RRC) pulse with roll-off ;

[0034] Figure 10 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \P = 10 and root-raised cosine (RRC) pulse with roll-off -^- ; [0035] Figure 1 1 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \P\ = 20 and root-raised cosine (RRC) pulse with roll-off ; and

[0036} Figure 12 depicts Mean Square Error (MSE) versus Signal to Noise Ratio (SNR) with \F[ = 100 and root-raised cosine (RRC) pulse with roll-off .

[0037] In the following description, like reference characters designate like or corresponding parts throughout the figures.

DESCRIPTION OF EMBODIMENTS

A. Overview

[0038J The present invention relates to estimating the time offset of a transmitted signal, and the description of the present invention treats the phase shift and attenuation of a transmitted signal as nuisance parameters. However, the present invention can be readily applied to any system or receiver which also considers phase shift and attenuation of a transmitted signal together with the time offset.

[0039] A transmitted signal may take the (complex baseband) form where g( f) is the transmit pulse, 7 is the symbol period, s t e C is the i th symbol, and C is the set of complex numbers. Some of the transmitted symbols are pilot symbols known to the receiver and the remainder are information carrying data symbols, w r ith phase that is unknown to the receiver. So,

, where ; is t he set of indices describing the position of the pilot symbols p t , and D i s a set of indices describing the position of the data symbols (/. . The sets F and D are disjoint, i.e.

Pn D = 0 and the union f u D contains all those indices where the transmitter is active. The total number of symbols transmitted L = + . The transmitted signal can be rewritten as: where are the pilot and data portions of the transmitted signal.

[0040] t ean be assumed that the received signal undergoes time and phase offset, is attenuated by some amount and is also subjected to additive noise. One possible model for the analogue received signal is, i{t) = a 0 x{t - T 0 ) + w{t)

where ¾ 6 is a complex number representing both attenuation and phase offset, T 0 is the time offset and ½(t) is a continuous noise process.

[0041 1 The problem of time offset estimation is made difficult b the fact that the receiver does not know the complex amplitude os 0 nor the data symbols.

[0042] In practice it is often necessary to also estimate the complex amplitude 0 . Given an accurate estimate of time offset (such as the nov el estimate in accordance with one or more aspects of the present invention), one can use existing techniques known to a person skilled in the art to estimate or 0 after applying a matched filter.

[ 0043] The setting described herein involves a finite number of transmitted symbols, represented by the indices in P u D . This has been known to a person skilled i the art as packet data transmission or hurst-mode transmission. An alternative setting, continuous data transmission, assumes that

F u D - Z , but that the receiver only wishes to process the received signal r(f) inside some .finite window of time. The novel estimator described herein can be used in either of these settings. However, for the sake of a clear exposition, only packet data transmission is explained in the description below. Extension to other settings is straightforward for someone skilled in the art.

[0044] The estimator described herein also combines frame synchronisation and symbol

synchronisation into a single operation that estimates the time offset.

[0045] f igure 1 depicts a block diagram 1 illustrating one embodiment of the present invention. This is an overview only and detailed implementations will.be presented later. An analogue received signal f (t), which is provided by a receiver (not shown), is sampled by switch 3 to become the digital signal ΐ α . The digital signal r n is then processed by processing block 5 using a function SS(t) where τ takes the value of a finite number of possible time offsets. For example, the finite number of possible time offsets are Γ, , ,,... , T K for some positive integer A ' where τ ί — T, = A , and Δ = 77c where T is the symbol period of the pilot symbols and data symbols, and C is a positive integer. The function SS(T) is often known as an optimising function, and it can be a minimiser or a maximiscr. The optimising function of SS(T) over Ί λ , τ 2 , ... , τ κ produces an approximation of the true estimator f . To obtain T from Γ , a further refinement process by processing block 7 is in place. However, it is possible that further refinement process by processing block 7 is not necessary depending on the requirement of the accuracy of the time offset. In other words, the approximation f may be sufficiently accurate and a further refinement process by processing block 7 is not required.

[0046] Figure 2 depicts a diagram 1 1 showing one embodiment of the functio SS(T) of figure h I this embodiment, the digital signal r n is processed by functions Y(t) 13 and Z(t) 15. Function Y(r) 13 is computed at T x , T 2 , .. . , T K . For example, Υ(τ) 13 can be a correlation of r n and a finite number of possible pilot symbols. Z(t) 15 is computed at f t , T 2 , . . ., T K . For example, Z(t) 15 can be a correlation of r n and a finite number of possible data symbols . In one embodiment as shown, the output of function Y(t) 1 is further processed by processing block 17 to produce a modulus of the output of function Υ(τ). The modul us is then combined by combiner 19 with the output of function Ζ(τ) 15 to produce T . In another embodiment, the output of function Υ(τ) 13 can be combined with the output of function Ζ(τ) 15 to produce t . In a general form, maximising a linear combination of Υ(τ) 13 and Ζ(τ) 15 produces T .

[0047] Figure 3 summarises steps involved in performing the present invention. In particular, to estimate a time offset of a transmitted signal which comprises both pilot symbols and data symbols, the present invention includes step 31 of firstly receiving the transmitted signal to produce a received signal. This is then followed by step 33 of processing an optimising function of the received signal at a finite number of possible time offsets to produce an estimator of the time offset.

[0048] A receiver which includes the functions described with respect to Figure 1 can take various forms deemed suitable by a person skilled in the art. The receiver can also be part of a communication system, which also includes a corresponding transmitter. Further, the functions may be stored as instructions in a computer readable medium, such as a non-transitory processor readable medium (e.g. hard disk, Flash memory, optical disk (CDROM, DVD), etc.) for causing processor to implement the functions. [0049] Those of skill in the art would understand that information and signals may be represented using any of a variety of technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips may be referenced throughout the above description may be represented by voltiiges, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0050] Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this inter-changeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.

Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. A person skilled in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. For example, the invention herein described may be implemented in ground-satellite communication, mobile device communications etc. In fact, cost aside, the invention described herein can be applied to any form of communication equipment.

[0051] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. For a hardware implementation, processing may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. A central processing unit (CPU) may be used, containing an Input/Output Interface, an Arithmetic and Logic Unit (ALU) and a Control Unit and Program Counter element which is in communication with input and output devices or modules through the Input/Output interface, and a memory. Software modules, also known as computer programs, computer codes, or instructions, may contain a number number of source code or object code segments or instructions, and may reside in any computer or processor readable medium such as a RAM memory, flash memory, ROM memory, EPROM memory, registers, hard disk, a removable disk, a CD-ROM, a DVD-ROM or any other form of computer readable medium, in the alternative, the computer readable medium may be integral to the processor. The processor and the computer readable medium may reside in an ASIC or related device. The software codes may be stored in a memory unit and executed by a processor. The memory unit may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.

[0052] The newly devel oped estimator of the time offset of a transmitted communications signal contains both pilot symbols, known to the receiver, and data symbols, unknown to the receiver. A number of different algorithms is derived for computing the estimator, that work under the assumption that the transmit pulse has finite duration. Faster algorithms are available if the symbol rate is rationally related to the sample rate, and even faster algorithms exist if the data symbols are arranged in a small number of contiguous blocks. Some of the algorithms require a number of operations that grows only l inearly with the number of transmitted symbols. Monte Carlo simulations with the new r estimator are also presented. The simulations show that the new- estimator performs substantially better than the estimator that correlates the received signal with the pilot signal, ignoring the data symbols. The simulations also suggest that when the signal to noise ratio is sufficiently high, the new estimator performs similarly to the estimator that results when all of the transmitted symbols are known a priori at the receiver. The new estimator performs favourably when compared to the estimator that combines the symbol timing estimator of "Oerder-Meyr" (see M. Oerder and H. Meyr, "Digital Filter and square timing recovery", IEEE Trans. Commun., vol. 36, no. 5, pp. 605 - 612, May 1988) with the frame synchronisation algorithm of "Massey" (see J. L. Massey, "Optimum frame synchronization", IEEE Trans. Commun., vol. 20, no. 2, pp. 1 5 - 1 19, 1 72). This is particularly the case with bandwidth efficient transmit pulses, such as root raised cosine with small roll-off.

B. The estimator

[0053] The received signal is sampled to obtain

w B + a a jiT s n- Ti- T 0 )s. (1)

where n is an integer and Γ 5 is the sampling period and { u . , n& Z} is a sequence of noise variables. This model for the sampled signal assumes instantaneous sampling. This is a reasonable

approximation for highly oversampled signals, i.e. when 4- is large compared to the bandwidth of g( t) . If this instantaneous sampling assumption is not valid, but the sampling device can be reasonably modelled by a linear time-invariant system with impulse response g (t) , then the effect of sampling can be included by replacing gif) with the convolution of g(t) and g s (t) , i.e., by replacing g(t) with

[0054] The objective function is defined as

SS(T) = Υ{τ)+ Ζ(τ) where and where the inner product r(tXg(t- iT- T)) =∑r(nT s )g * (Tji- Ti- T)

and * denotes complex conjugates and where t\, f 2 , g l and gi are functions that are free to be chosen. The algorithms described herein apply for any choice of t\, fz, g< and gi, but to keep the notation clean and the discussion simpler, it is set

(4) in what follows, where \ denotes the complex magnitude. n this case and

This choice is motivated by least squares statistical methodology, but it may be that other choices of t[, f 2 , gi and g 2 are good in certain situations. The present invention applies for all functions /i, f 2 , g \ and

[0055] The estimator operates on the sampled signal directly. There is no need for resampling or interpolation as commo in known 'all-digital' receiver implementations. The process of 'interpolation' is built into the inner products in (7) to be described. What is assumed is that the transmit pulse, i.e. the function g ". P (-> P , is known, and computable at the receiver. If it is computationally complex to compute g{t) for any given t then it may be advantageous to pre-compute g on a fine grid, and store the values in a lookup table. Simple interpolation (for example linear interpolation) can then be used based on the values in the table. This ca be made as accurate as desired by appropriately choosing the size of the lookup table.

C. Computing the estimator

[0056] in this section, practical algorithms for computing the minimiser of SS given the discrete received sequence {r r ,, n& Z} from (1) are described. To compute SS( ) for a particular T , it is necessary to compute both Y(l) and Z(r) . Both Y and Z contain inner products of the form

{r(t),git-iT- T)) =∑r(nT s )g (T s n and these infinite sums cannot be computed in practice. To alleviate this, it is assumed that the transmit pulse g(f) has finite duration, that is, g(i) is nonzero only for t in some interval [t m

In this case the inner product can be computed by the finite sum where

G = {tie Z I 7 - Ti- te [i min , / ma J} . [0057] This assumption is reasonable in practical systems that make use of truncated transmit pulses.

[0058] Another assumption made is that the time offset T 0 is known to lie in some compact interval [T jjjj ,, , f max ] of P , This estimator is then the minimiser of SS( ) over this interval, f = ars max S(.z).

1

1 imn ' max 1

[0059] A result of these assumptions is that the receiver only requires those values of r p within which the signal can reside. That is, only for D satisfying A < n < B where

and where min( u D) and max( u D) denote the minimum and maximum symbol indices, and P ~ | and [_· J denote the smallest integer greater than or equal to, and the largest integer less than or equal to their arguments. In this way, the receiver only need observe a finite number of elements {r , A≤n≤ B} .

[0060] To compute 7 , SS is first computed on a finite uniform grid of values > ^2 ' * * * ? κ for some positive integer K w r here M - T } = Δ , and Δ = 77 c is a fraction of the symbol period, and C is a positive integer. Then so that the grid is spaced over the interval [T mm , r max ] and f0061j Efficient algorithms for computing all of SS(T X )...., SS(T K ) will be described. Provided that Δ is chosen sufficiently small (equivalently C is chosen sufficiently large) the grid point that minimises SS , denoted by ΐ , is a good approximation of the true minimiser . An optimisation procedure, initialised at T , can then be used to obtain f . Practical optimisation procedures are discussed in section G. For now, the focus is on computing the approximation f .

[0062] To compute all of SS(T T }, . , . , SS{T K ) one needs to compute all of Υ(τ ι ),, .. , Y( K ) and all of Z(r, ),. , ., Ζ{τ κ ) . A naive approach is to directly compute Yfc ),... , Υ(τ κ ) and Z(r t ), Ζ(τ κ ) using formula (5) and (6) (or (2) and (3) for general f \ , f 2 , gi and gi).

[0063] The following sections describe a much faster algorithm for computing all of

, . . , SS(T K ) . This algorithm requires that the sample period T S is rationally related to the symbol period T, i.e., T = - TVhere /;> and g re relatively prime integers. This assumption can always be made an accurate approximation by an appropriate choice of p and q. The algorithm is described under the assumption that }, ?, g[ and g% are chosen according to (4), however it is trivial to modify the algorithms so that they work for any choice of the functions j , / 2 , g \ and g 2 .

Dl. Computing , . , Ζ(τ κ )

T fa

[0064] Write A =— =·— T s where a and b are relatively prime positive integers such that

c pc a

- pct. = . For 1 = 0,..., 0-1 , let

&. 0 = g i-^-^^ -^+iO

so that

[0065] Let

be a zero filled version of r„ and let

[0066] Put Z k = Z(T k ) so that,

where the last line follows since z a = 0 whenever n is not a multiple of <3. Now,

∑|¾.J>

where

is the convolution of the sequence {Z ; „, 7GZ} with the sequence {g ( n ,ne Z} and h-l

(12) f=-0

[0067J A person skilled in the art familiar with multi-rate systems and filter banks will recognise (9) to (10) as similar to the derivation of a polyphase filter. The I A corresponds with the indi vidual filter banks. The computational complexity of our algorithms do depend on the fraction— , but this structure ensures that the complexity will not depend on the magnitude of either p or q individually. This is desirable. It is not desirable for the algorithms to be fast when, say ^ = , but slow when, say JL = l ot

q 4000 -

[0068 j To compute all of Z ] , , . , , Z K the values of b k for k = 1 + cmm(D) y . , . , K+ craax(fl) are required, where max(ZT) and misi(D) are the largest and smallest elements in D . To compute each b k the value of 1 - k for έ ' = 0, , .. , q— 1 is required. Methods for computing h k are considered in subsections D3. The required values of b k can be computed and stored so that accessing any b k requires constant time.

[0069] In many practical scenarios it is the case that the data symbols occur in a small number of contiguous blocks, and in this case a faster algorithm exists. The algorithm for the case when the data symbols occur in a single contiguous block will be described, that is

D = {min( D), m (D) + 1 , ... , ax(D)}.

[0070J For each k = 0, ... , c—\ one can compute Z k = J ¾+d l using O(j-D|) operations and, because the data symbols are in a contiguous block, k\-c{ l) \ and so Z k , Z t^ „, Z i+2r , ... satisfy the recursion

7

= 7 - l />

k + mc. k+ :mm(17) i ir+mt-t-irmax( Z?) + [0071] Each of Z l , ... , f _ j can be computed using (5) and the remaining elements Z,.,... , Z K can be computed using the recursion above. A similar approach applies when the data symbols occur in a small number of contiguous blocks. A similar recursive procedure (not described here) can be readily developed by a person skilled in the art if the data symbols occur in a small number of separate contiguous blocks,

D2. Computing Υ{τ λ ), .. , , Υ(τ κ )

[0072J Let b k be defined as in (12) and put Y k = Y(t k ) . By working analogous to that from (9) to (10),

Y k =∑p (r(t), g(t iT- T t ))

=∑/¾-«·

[0073] To compute all of Y K we require b k for k = l + cmm(P , ..., K+ cmax(P) . As in the previous subsection, the required values of b k can be computed and stored so that accessing them requires constant time.

D3. Computing b k and h, k

[0074] During the previous subsections it is assumed that certain values of b k had already been computed, and this subsection describes how to perfonn these computations efficiently. To compute b k it is necessary to compute:

[0075] Since g(t) is nonzero only when | t mh . , ,,,,., ] then g,. n is nonzero only if - (n- Y)A - T 1 + i T s G [i mm , ^ , that is, only if A < n≤ B where A = \ - tm + Tl +- and B = \- · + - Δ b and— T— ~ . Now h t k can be expressed as the finite sum

ah where G = [n \ A < k - n < B } . Since z, n = is nonzero only for those integers n satisfying bn + £≡ 0(mod a) , the sum above can be further simplified to where G = \n& G j bn + i = 0(mod a)} . Since a and b are relatively prime, there exist integers ./¾ and m 0 such that bn 0 + am n = 1. Both ¾ and ¾ can be computed using the extended Euclidean algorithm. Now £bn 0 ≡ £ mod a) and

G = {ma-£i \ m = B , B + l ,..., A } where

E. Summar of the Algorithm

[0076| Figure 4 depicts the following steps which present the novel time offset estimation algorithm of one embodiment of the present invention. The maximisation in Step 4 is straightforward, and the optimisation in Step 6 can use any one of a number of numerical optimisation procedures that are known to someone skilled in the art. One particular example is given in Section F.

[0077) STEP 1: Compute and store the value of b k for all

A' = 1+ cmin(Pu D),..., K+ cmax(Pu D). Each b k can be efficiently computed using (12) and the algorithm described in subsection D3.

[0078] STEP 2: Compute and store Z k = Z(T k ) for all k = l,..., K using either the direct or recursive procedures described in subsection Dl .

[0079] STEP 3: Compute and store Y k = Y(T k ) for all k = 1 ,, .. , K using the procedures described in subsection D2.

[0080] STEP 4; Find the ke { \, K} that maximises Z k + Y k , that is, compute k = arg max (Z t + YA.

[008 J J STEP 5: Compute the approximate estimate t = T l + A(k- l) = T mm + A{k - l ).

[0082] STEP 6; Apply a numerical optimisation procedure to SS(T) initialized with f to find the minimiser . Section G describes an implementation of Brent's method for this purpose (see R. P. Brent, Algorithms for Minimization without Derivatives, Prentice-Hall, Englewood Cliffs, New Jersey, 1973).

F. Obtaining f from T

[0083] In the previous section methods for computin f , the minimiser of SS over the grid

T r , . . . , T K are described. This serv es as an approximation of , the true minimiser of SS . Methods for obtaining from are now discussed. Many approaches could be taken. For example, the Newton-

Raphson method, or gradient ascent could be employed with Γ as a starting point, in one embodiment, Brent's method is used. This has the advantage of not requiring the derivatives of SS( T )

. Brent's method requires three initialisation points, A. , y and z , such that f e [A, z] and

SS( ) < SS( z) and SS( y) < SS(x) . f and it's adjacent grid points are used for initialisation, that is, x= T—A ., y= T and z= T + A .

G. Numerical Results [[00008844]] RReessuullttss ooff MMoonnttee CCaarrlloo ssiimmuullaattiioonnss wwiitthh oouurr nneeww eessttiimmaatotorr ((tthhee mmiinniimmiisseerr ooff 5555 )) aarree pprreesseenntteedd,, wwiitthh tthhee eessttiimmaattoorr aassssuummiinngg aallll ssyymmbboollss aarree kknnoowwnn (({{DD|j == 00 aanndd ||PP|| == LL,, LL bbeeiinngg tthhee ttoottaall nnuummbbeerr ooff ssyymmbboollss)),, aanndd tthhee eessttiimmaattoorr tthhaatt oonnllyy uusseess tthhee ppiilloott ssyymmbboollss ((jjDDii == 00)).. SSiimmuullaattiioonnss wwiitthh tthhee eessttiimmaattoorr m thaatt ccoommbbiinneess tthhee OOeerrddeerr--MMeeyyrr ''ssqquuaarree aanndd f fiilltteerr ssyymmbbooll'' ttiimmiinngg eessttiimmaattoorr ((sseeee M M.. OOeerrddeerr aanndd HH.. MMeeyyrr,, ""DDiiggiittaall FFiilltteerr aanndd ssqquuaarree ttiimmiinngg.. rreeccoovveerryy"",, IIEEEEEE TTrraannss.. CCoommmmuunn..,, vvooll.. 3366,, nnoo.. 55,, pppp.. 660055 -- 661122,, M Maayy 11998888)) wwiitthh t thhee ""hhiigghh SSNNRR'' ffrraammee ssyynncchhrroonniissaattiioonn aallggoorriitthhmm ooff MMaasssseeyy aarree aallssoo pprreesseenntteedd.. FFoorr tthhee ssiimmuullaattiioonnss tthhee nnooiissee {{ »» }} iiss ccoommpplleexx GGaauussssiiaann wwiitthh zzeerroo mmeeaann aanndd iinnddeeppeennddeenntt rreeaall aanndd iimmaaggiinnaarryy ppaarrttss hhaavviinngg vvaaririaannccee ii77 "" .. IInn tthhiiss sseettttiinngg tthhee eessttiimmaattoorr tthhaatt aassssuummeess aallll ssyymmbboollss aarree k knnoowwnn iiss tthhee m maaxxiimmuumm lliikkeelliihhoooodd eessttiimmaattoorr.. TThhee ssiiggnnaall ttoo nnooiissee rraattiioo ((SSNNRR)) iiss ddeeffiinneedd aass

EE,,

SSNNRR ==—— ~~ wwhheerree ££ 55 == TTJJTT iiss tthhee aavveerraaggee eenneerrggyy ppeerr ssaammppllee.. I Inn tthhiiss ccaassee,, iitt iiss sseelleecctteedd tthhaatt 22<<77~~

pp == 33 aanndd qq== \\ ll ssoo tthhee ssaammppllee ppeerriioodd iiss ΓΓ ¾¾ ==——·· .. TThhee ttiimmee ooffffsseett sseeaarrcchh iinntteerrvvaall iiss

[[rr mmii ,, rr iiJJiiaaxx ]] == [[4400,,7700]] ,, aanndd cc == 1122 ,, ssoo tthhaatt ΔΔ == ~~ ■■ == ~ .. TThhiiss ccoorrrreessppoonnddss ttoo tthhee ggrriidd

4400,, 4400 ++ ., 4400 ++ ¾¾.... ...... ,, 7700 - - j ½ ,7700 tthhaatt iiss sseeaarrcchheedd iinn oorrddeerr ttoo pprroovviiddee tthhee aapppprrooxxiimmaattee eessttiimmaattee TT .. BBrreenntt''ss mmeetthhoodd iiss uusseedd ttoo rreefifinnee TT ttoo w wiitthhiinn 1100 "" '' ooff ff .. MMoonnttee CCaarrlloo ssiimmuullaattiioonnss aarree rruunn ffoorr SSNNRR bbeettwweeeenn --1177ddBB ttoo 2233ddBB iinn sstteeppss ooff 11..55ddBB.. TThhee nnuummbbeerr ooff rreepplliiccaattiioonnss uusseedd ppeerr eexxppeerriimmeenntt iiss NN == 22000000.. NN eessttiimmaatteess ll tt NN iiss oobbttaaiinneedd,, aanndd tthhee mmeeaann ssqquuaarree eerrrroorr ((MMSSEE)) iiss ccoommppuutteedd aaccccoorrddiinngg ttoo i j ^^j } (f„n ~~ ττ οοΫΫ■■ FF°° rr eeaacc hh rreepplliiccaattiioonn tthhee ppiilloott ssyymmbboollss aanndd ddaattaa ssyymmbboollss aarree uunniiffoorrmmllyy rraannddoommllyy ggeenneerraatteedd QQPPSSKK ssyymmbboollss,, tthhee ccoommpplleexx aammpplliittuuddee 00 hhaass mmaaggnniittuuddee oonnee aanndd pphhaassee uunniiffoorrmmllyy rraannddoommllyy ggeenneerraatteedd oonn [[00,,22 )) ,, aanndd tthhee ttiimmee ooffffsseett ff 00 iiss uunniiffoorrmmllyy rraannddoommllyy ggeenneerraatteedd oonn tthhee iinntteerrvvaall [[rr BBllllttll ++ 11 ,, rr mm::ii .. -- II ]] == [[4411 ,,6699]] ..

110000885511 SSiimmuullaattiioonnss ffoorr LL == 4400 aanndd LL == 440000 aarree ppeerrffoorrmmeedd.. FFiigguurreess 55 ttoo 88 ddiissppllaayy tthhee rreessuullttss wwiitthh tthhee nnuummbbeerr ooff ppiilloottss ssyymmbboollss || f i-jj == 55,, 1100,,2200 wwhheenn LL == 4400 aanndd JJffjj == 55,, 1100,,2200,, 110000 wwhheenn LL == 440000 aanndd w whheenn tthhee ttrraannssmmiitt ppuullssee iiss a a rroooott--rraaiisseedd ccoossiinnee ((RRRRCC)) wwiitthh rroollll--ooffff 44-- aanndd ppeerriioodd 77 == 11 .. TThhee ppuullssee iiss ttrruunnccaatteedd aatt tthhee 1155tthh zzeerroo oonn tthhee ppoossiittiivvee aanndd nneeggaattiivvee rreeaall aaxxiiss.. TThheessee zzeerrooss ooccccuurr aatt

tt == ++tt gg «« 11 11..663355663399 ssoo tthhee ppuullssee iiss sseett ttoo zzeerroo oouuttssiiddee tthhee i inntteerrvvaall [[—- it 00 ,, tt 00 ]] .. TThhiiss ttrruunnccaatteedd ppuullssee iiss tthheenn nnoorrmmaalliisseedd ttoo hhaavvee eenneerrggyy 11.. IInn aallll ccaasseess tthhee ppiilloott ssyymmbboollss aarree aarrrraannggeedd iinn aa ccoonnttiigguuoouuss bblloocckk wwiitthh iinnddiicceess PP == {{ 11 ,, ...... ,, || ffjj}} aanndd tthhee ddaattaa ssyymmbboollss aarree aarrrraannggeedd iinn aa ccoonnttiigguuoouuss bblloocckk wwiitthh iinnddiicceess

DD == {{II PP ++ 11 ,, ...... ,, * .. AAss eexxppeecctteedd,, tthhee eessttiimmaattoorr uussiinngg oonnllyy tthhee ppiilloott ssiiggnnaall wwoorrkkss bbeetttteerr wwhheenn tthheerree are more pilot symbols. This estimator performs poorly compared to the other estimators when the number of pilots is small. The performance of our new estimator is poor until the SNR is sufficiently large, a threshold effect is then observed, after which, the performance is not far from the estimator that results when all of the symbols are known in advance. The value of SNR where the threshold occurs appears to depend largely on the number of pilots, and little on the total number of symbols L .

[0086] Figures 9 to 12 display result under the same conditions as in Figures 5 to 8 but where the transmit pulse is now a root-raised cosine with roll-off and period 7 = 1 . The pulse is now truncated at the 30th zero on the positive and negative real axis. These zeros occur at

t = ±t Q ~ 29.59077 and the pulse is set to zero outside the interval [— i 0 , f 0 ] . This truncated pulse is then normalised to have energy 1. In this setting the MSE of the estimator based on the Oerder-Meyr symbol timing estimator and Massey's frame synchroniser is larger than that when the roll-off was .

This is due to the Oerder-Meyr synchroniser being less accurate when the roll-off is small. The behaviour is studied in M. Oerder and H. Meyr, "Digital Filter and square timing recovery", IEEE Trans. Commun., vol. 36, no. 5, pp. 605 - 612, May 1988, where it is shown that the variance of the

Oerder-Meyr synchroniser is inversely proportional to the energy of the signal at frequency j .

That is, if

is T) j . The value of J P( 1 / T) can be observed to decrease with the roll-off, making the Oerder-Meyr synchroniser less accurate. By contrast, the new estimator described herein appears to be minimally affected by the change in roll-off.

[0087] Throughout the specification and the claims that follow, unless the context requires otherwise, the words "comprise" and "include" and variations such as "comprising" and "including" will be understood to imply the inclusion of a stated integer or group of integers, but not the exclusion of any other integer or group of integers.

[0088] The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement of any form of suggestio that such prior art forms part of the common general knowledge. [0089] It will be appreciated by those skilled in the art that the invention is not restricted in its use to the particular application described. Neither is the 'present invention restricted in its preferred embodiment with regard to the particular elements and/or features described or depicted herein. It will be appreciated that tire invention is not limited to the embodiment or embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the scope of the invention.