You are on page 1of 19

US00809006OB2

(12) United States Patent (10) Patent No.: US 8,090,060 B2


Brannstr0m et al. (45) Date of Patent: Jan. 3, 2012

(54) DEMODULATION TECHNIQUE FOR GFSK (56) References Cited


AND DPSK
U.S. PATENT DOCUMENTS
(75) Inventors: Fredrik Brannstrom, Mountain View, 5,268,695 A 12/1993 Dentinger et al.
CA (US); Andrea Goldsmith, Menlo 5,729,558 A * 3/1998 Mobin .......................... 714.795
Park, CA (US); Farrokh Farrokhi, San 6,035,007 A 3/2000 Khayrallah et al.
6,081,700 A 6/2000 Salvi et al.
Ramon, CA (US); Behrooz Rezvani, 6,351,499 B1 2/2002 Paulraj et al.
San Ramon, CA (US) 6,470,047 B1 10/2002 Kleinerman et al.
6,477,208 B1 * 1 1/2002 Huff .............................. 375,265
(73) Assignee: Quantenna Communications, Inc., 6,477,213 B1 1 1/2002 Miyoshi et al.
6,484.285 B1 11/2002 Dent
Sunnyvale, CA (US)
(Continued)
(*) Notice: Subject to any disclaimer, the term of this FOREIGN PATENT DOCUMENTS
patent is extended or adjusted under 35
WO WO-2007021159 2, 2007
U.S.C. 154(b) by 1006 days.
(Continued)
(21) Appl. No.: 11/800,357 OTHER PUBLICATIONS
(22) Filed: May 4, 2007 Giallorenzi et al., Noncoherent Sequence Demodulation for Trellis
Coded M-DPSK, 1991, Military Communicatios Conference, 1991.
(65) Prior Publication Data MILCON 91, Conference Record, Military Communications in a
US 2007/O268980 A1 Nov. 22, 2007 Changing World. IEEE, vol. 3, pp. 1023-1027.*
(Continued)
Related U.S. Application Data
(60) Provisional application No. 60/797.956, filed on May Primary Examiner — Tesfaldet Bocure
Assistant Examiner — Lawrence Williams
4, 2006, provisional application No. 60/810,036, filed
on May 31, 2006. (57) ABSTRACT
(51) Int. C. A technique for low-complexity high-performance coherent
H04L27/06 (2006.01) demodulation of GFSK signals involves utilizing a novel
H04L27/38 (2006.01) phase and frequency tracking mechanism coupled with a
H04L27/4 (2006.01) trellis search technique to track signal memory in the
H03M, 3/03 (2006.01) demodulation process. A method according to the technique
may include modeling modulation based upon a trellis. The
(52) U.S. C. ......... 375/341; 375/330; 375/336; 714/792 method may further include estimating unknown parameters,
(58) Field of Classification Search .................. 375/261, selecting a maximum likelihood path through the trellis, and
375/262, 265,269, 272-273, 279, 283, 303, mapping the maximum likelihood path to an output bit
375/308,323,329,334, 340, E1.028, 274, sequence. The technique is also applicable to DSPK and other
375/330,336,341; 714/786, 792, 794, 795, applicable known or convenient protocols.
714/E11.057; 329/300, 304
See application file for complete search history. 18 Claims, 9 Drawing Sheets
100 -

Model modulation based upon a trels

stimate unknown parameters


16

108
US 8,090,060 B2
Page 2

U.S. PATENT DOCUMENTS OTHER PUBLICATIONS


6,642,904 B2 11, 2003 Yokoshima et al. Hong et al., Detection of Amplitude-Phase Modulated Signals Over
6,807.404 B2 10, 2004 Meijer Frequency Nonselective Rayleigh Fading Channels With Adaptive
6,871,052 B2 3, 2005 Spencer et al. Symbol-Aided Channel Estimation, 1996, Vehicular Technology
6,967,598 B2 11/2005 Mills
7,035,343 B2 * 4, 2006 Chi et al. .... 375,265 Conference, 1996. Mobile Technology for the Human Race'. IEEE
7,058,422 B2 * 6, 2006 Learned et al. 455,526 46th, vol. 2, pp.983-987.*
7,076,263 B2 T/2006 Medvedev et al. International Search Report, PCT/US07/10845, (Jul 28, 2008).
7,194,237 B2 3, 2007 Sugar et al. Ratifai et al., IEEE Custom Integrated Circuit Conference, P-41
7,224,743 B2 5/2007 Holmes et al. 1:357-361 (2005).
7,298,798 B1 * 11/2007 Chao et al. .............. 375,341 Ratifai et al., IEEE Journal of Solid State Circuits, 42(6): 1291-1299
7,321,636 B2 1, 2008 Harel et al. (2007).
7,400,872 B2 T/2008 Kogure Ratifai et al., IEEE Custom Integrated Circuit Conference, pp.
7,415,079 B2 8, 2008 Cameron et al. 41-1:357-361 (2005).
7,450,657 B2 11, 2008 Paulrajetal. Ratifai et al., IEEE Journal of Solid State Circuits, 42(6): 1291-1299
7,533,327 B2 5/2009 Heiman et al. (2007).
7,564,931 B2 * 7/2009 Venkataramani et al. ... 375,341 International Search Report of PCT/US07/10845 dated Jul. 28, 2008,
7,623,836 B1 11/2009 Finkelstein pp. 1-3.
2002fO163879 A1 11, 2002 Li et al. Written Opinion of PCT/US07/10845 dated Jul. 28, 2008, pp. 1-7.
2003,0003863 A1 1, 2003 Thielecke et al. International Search Report of PCT/US2008/01 1965 dated Mar. 25,
2003/0O81701 A1 5/2003 Picket al. 2009, pp. 1-3.
2003/0O87673 A1 5/2003 Walton et al. Written Opinion of PCT/US2008/01 19655 dated Mar. 25, 2009, pp.
2003/014 1938 A1 * 7/2003 Poklemba et al. 332,103 1-6.
2003. O157954 A1 8, 2003 Medvedev et al. Co-pending U.S. Appl. No. 1 1/653,135, filed Jan. 11, 2007.
2003/O185309 A1 10, 2003 Pautler et al. Final Office Action Mailed May 11, 2010 in Co-pending U.S. Appl.
2004, OO13209 A1 * 1/2004 Zehavi et al. 375,334 No. 1 1/653,135, filed Jan. 11, 2007.
2004/O153679 A1 8, 2004 Fitton et al. Non-Final Office Action Mailed Dec. 31, 2009 in Co-pending U.S.
2004/0234012 A1 11, 2004 Rooyen Appl. No. 1 1/653,135, filed Jan. 11, 2007.
2004/0240486 A1 12, 2004 Venkatesh et al. Non-Final Office Action Mailed Jun. 8, 2009 in Co-pending U.S.
2005.0053172 A1 3, 2005 Heikkila Appl. No. 1 1/653,135, filed Jan. 11, 2007.
2005/0O85269 A1 4, 2005 Buljore et al. Co-pending U.S. Appl. No. 1 1/800,378, filed May 4, 2007.
2005.0099937 A1 5/2005 Oh et al. Co-pending U.S. Appl. No. 12/299.470, filed Mar. 19, 2009.
2005.0113041 A1 5/2005 Polley et al. Co-pending U.S. Appl. No. 1 1/872,700, filed Oct. 15, 2007.
2005/O130694 A1 6, 2005 Medvedev et al. Co-pending U.S. Appl. No. 12/288,569, filed Oct. 20, 2008.
2005/0170839 A1 8, 2005 Rinne et al. Non-Final Office Action Mailed Aug. 5, 2010, in co-pending U.S.
2005/O192019 A1 9, 2005 Kim et al. Appl. No. 1 1/872,700, filed Oct. 15, 2007.
2005/O195784 A1 9, 2005 Freedman et al. Giallorenzi et al., “Noncoherent Sequence Demodulation for Trellis
2005/0220057 A1 10, 2005 Monsen Coded M-DPSK”. Military Communications Conference, 1991,
2005.02452O1 A1 11/2005 Ella et al. MILCOM 91. Conference Record, Military Communication in a
2005/0265470 A1 12, 2005 Kishigami et al. Changing World, IEEE, vol. 3, Nov. 1991, pp. 1023-1027.
2005/0276361 A1 12, 2005 Kim et al. Hong et al., “Detection of Amplitude-Phase Modulated Signals Over
2006.0034217 A1 2, 2006 Kwon et al. Frequency Nonselective Rayleigh Fading Channels with Adaptive
2006.0034221 A1 2, 2006 Karaoguz et al. Symbol-Aided Channel Estimation', 1996, Vehicular Technology
2006/0O83290 A1 * 4, 2006 Shin et al. ............... 375,131 Conference, 1996, Mobile Technology for the Human Race, IEEE
2006/0094385 A1 5, 2006 Rafati 46th, vol. 2, pp.983-987.
2006/0223487 A1 10, 2006 Alam et al. Office Action mailed May 4, 2011 from U.S. Appl. No. 1 1/653,135
2006/0270427 A1 11, 2006 Shida et al. filed Jan. 11, 2007.
2006/0276227 A1 12, 2006 Dravida Office Action mailed Dec. 7, 2010 from U.S. Appl. No. 1 1/800,378
2007. O136446 A1 6, 2007 Rezvani et al. filed May 4, 2007.
2007/O153924 A1 7/2007 Ling et al. Notice of Allowance mailed Mar. 17, 2011 from U.S. Appl. No.
2007/02028.18 A1 8, 2007 Okamoto 1 1/800,378 filed May 4, 2007.
2007/0230638 A1 10, 2007 Griniasty Office Action mailed Jan. 26, 2011 from U.S. Appl. No. 12/299.470
2007/0258534 A1 * 11/2007 Schmidt .................. 375,262 filed Mar. 19, 2009.
2008/O139123 A1 6, 2008 Lee et al. Office Action mailed Feb. 15, 2011 from U.S. Appl. No. 1 1/872,700
2008. O1591.23 A1 T/2008 Tehrani et al. filed Oct. 15, 2007.
2010/009 1891 A1 4, 2010 Calando et al. Notice of Allowance mailed May 23, 2011 from U.S. Appl. No.
FOREIGN PATENT DOCUMENTS 1 1/872,700 filed Oct. 15, 2007.
WO WO-2007 130578 11, 2007 * cited by examiner
U.S. Patent Jan. 3, 2012 Sheet 1 of 9 US 8,090,060 B2

1 OO

Start

102

Model modulation based upon a trellis


104

Estimate unknown parameters

106

Select a maximum likelihood path through the trellis

108

Map the maximum likelihood path to an output bit sequence

F.G. 1
U.S. Patent Jan. 3, 2012 Sheet 2 of 9 US 8,090,060 B2

200 - a

State 0 O O

State 1 O O

State i

State J

State 2p O O

Stage n-1 Stage in

FIG. 2
U.S. Patent Jan. 3, 2012 Sheet 3 of 9 US 8,090,060 B2

3O O

Start

302

Sample signal

304

Update estimates for phase parameters

306

Compute function associated with bits received up to the Current time

308

Find trellis State that maximizes metric

31 O

Determine the estimate for the transmitted data based on the trellis state
that maximizes the metric

FG. 3
U.S. Patent Jan. 3, 2012 Sheet 4 of 9 US 8,090,060 B2

400A - a

402

Initialize trellis stage to i = -1

404

Increment trellis stage by +1


405 4O7

Sample and average the Estimate time-varying phase


received signal parameters
409

Update complex data functions

410

Compute a metric based on recursive updates of the complex data


functions and the time-varying phase parameters
412

Determine Survivor branch into


each trellis State
Y

s Y Demodulate bits for Survivor


Metrico > Metric path into state 0 at time L-1

Demodulate bits for Survivor


path into state 1 at time L-1

FIG. 4A
U.S. Patent Jan. 3, 2012 Sheet 5 Of 9 US 8,090,060 B2

400B - a

452

Initialize trellis stage to i = -1

456 454

Sample and average the


received signal
458 459

Estimate time-varying phase


parameters
460

Compute a metric based on recursive updates of the complex data


functions and the time-varying phase parameters
462

Determine Survivor branch into each trellis state

464 466

Metric > Metric? Demodulate bit associated with


survivor path into state 0
N
468 470
Demodulate bit associated with
survivor path into state 1

End Demodulate any remaining bits


along the survivor path

FIG. 4B
U.S. Patent Jan. 3, 2012 Sheet 6 of 9 US 8,090,060 B2

500 -

Survivor Path
into State O
arv at time L-1
b(0)=0
State o Canaen AL-l) > AL-1)
(ML trellis path)

State 1 C

Survivor Path
into State
at time -1

F.G. 5
U.S. Patent Jan. 3, 2012 Sheet 7 Of 9 US 8,090,060 B2

600 -a

A.
State O G- e---' all-te
1
4-oli)1 Y
1.
/
Y
State 1 G-6)

FIG. 6
U.S. Patent Jan. 3, 2012 Sheet 8 of 9 US 8,090,060 B2

700A - a

702

Initialize trellis stage to i = -1


704

Increment trellis stage by +1

708

Sample and average the received signal

709

Update real data functions


710

Compute a metric based on recursive updates of the real data functions


and the time-varying phaseparameters
712

Determine survivor branch into


each trellis State
Y
716 718

o Y Demodulate bits for Survivor


Metric > Metric path into state 0 at time L-1

Demodulate bits for Survivor End


path into state 1 at time L-1

FIG. 7A
U.S. Patent Jan. 3, 2012 Sheet 9 Of 9 US 8,090,060 B2

700B -a

752

Initialize trellis stage to i = -1

754

Increment trellis stage by +1

756 758

Sample and average the Update real data functions


received signal
760

Compute a metric based on recursive updates of the real data functions


and the time-varying phase parameters
762

Determine Survivor branch into each trellis State

764 766
Y Demodulate bit associated with
Metric > Metric Survivor path into state 0

770
Demodulate bit associated with N
survivor path into state 1
Y

FIG. 7B
US 8,090,060 B2
1. 2
DEMODULATION TECHNIQUE FOR GFSK Gaussian frequency shift keying (GFSK) modulation is a
AND DPSK modulation whereby the information bits are embedded in the
frequency or phase of the transmitted signal, which makes the
CROSS-REFERENCE TO RELATED signal less Susceptible to amplitude nonlinearities introduced
APPLICATIONS by the channel and/or receiver hardware. GFSK is typically
implemented as a form of frequency modulation (FM), in
This application claims priority to U.S. Provisional Appli which case it is a modulation format with memory. GFSK is
cation 60/797,956, entitled Multimedia Cell Platform, filed typically demodulated incoherently to reduce receiver com
May 4, 2006, and to U.S. Provisional Application 60/810, plexity, but this can result in a 2-3 dB degradation in perfor
036, entitled Time Multiplexing Antenna Diversity System, 10
mance relative to a coherent demodulation where the phase
filed May 31, 2006, both of which are incorporated herein by and frequency of the signal is tracked. A technique for low
reference. complexity high-performance coherent demodulation of
BACKGROUND GFSK signals involves utilizing a novel phase and frequency
15 tracking mechanism coupled with a trellis search technique to
Phase-shift keying (PSK) is a digital modulation scheme track signal memory in the demodulation process.
that conveys data by changing, or modulating, the phase of a A method according to the technique may include model
reference signal (the carrier wave). Any digital modulation ing modulation based upon a trellis. The method may further
scheme uses a finite number of distinct signals to represent include estimating unknown parameters, selecting a maxi
digital data. PSK uses a finite number of phases. The demodu mum likelihood path through the trellis, and mapping the
lator, which is designed specifically for the symbol-set used maximum likelihood path to an output bit sequence.
by the modulator, determines the phase of the received signal
and maps it back to the symbol it represents, thus recovering
the original data. This requires the receiver to be able to BRIEF DESCRIPTION OF THE DRAWINGS
compare the phase of the received signal to a reference signal 25
Such a system is termed coherent. Embodiments of the inventions are illustrated in the fig
Alternatively, instead of using the bit patterns to set the ures. However, the embodiments and figures are illustrative
phase of the wave, the bit patterns can instead be used to rather than limiting; they provide examples of the inventions.
change the phase of the wave by a specified amount. The FIG. 1 depicts a flowchart of an example of a method for
demodulator then determines the changes in the phase of the 30
detecting transmitted data with low complexity.
received signal rather than the phase itself. Since this scheme
depends on the difference between successive phases, it is FIG. 2 depicts an example of a trellis diagram for GFSK
termed differential phase-shift keying (DPSK). DPSK can be with 2p states.
significantly simpler to implement than ordinary PSK since FIG.3 depicts a flowchart of an example of a demodulation
there is no need for the demodulator to estimate the reference 35
process based on phase/frequency tracking and a trellis
signal to determine the exact phase of the received signal (it is search.
a non-coherent scheme). In exchange, it sometimes produces
more erroneous demodulations. The exact requirements of FIGS. 4A and 4B depict flowcharts of examples of methods
the particular scenario under consideration determine which for reducing ML detector complexity through per-survivor
scheme is used. 40 processing.
Gaussian Frequency Shift Keying (GFSK) is a type of FIG.5 depicts a diagram of an example of mapping an ML
Frequency Shift Keying modulation that utilizes a Gaussian path to bit estimates.
filter to Smooth positive/negative frequency deviations, FIG. 6 depicts a diagram of an example of a trellis and
which represent a binary 1 or 0. GFSK and DPSK are used in Survivor path computation between the i-1th and ith stage.
Bluetooth radios. GFSK is also used in the cordless Digital 45
Enhanced Cordless Telecommunications (DECT) phone FIGS. 7A and 7B depict flowcharts of examples of methods
standard and the cellular Global System for Mobile Commu for reducing ML detector complexity through per-survivor
nications (GSM) standard, along with the GSM enhance processing.
ments for High Speed Circuit Switched Data (HSCSD) and
Enhanced Data Rates for GSM Evolution (EDGE). GFSK is 50
DETAILED DESCRIPTION
also used by Cypress Wireless USB, Nordic Semiconductor,
and Z-wave devices.
The foregoing examples of the related art and limitations In the following description, several specific details are
related therewith are intended to be illustrative and not exclu presented to provide a thorough understanding of embodi
ments of the invention. One skilled in the relevant art will
sive. Other limitations of the related art will become apparent 55
recognize, however, that the invention can be practiced with
to those of skill in the art upon a reading of the specification
and a study of the drawings. out one or more of the specific details, or in combination with
other components, etc. In other instances, well-known imple
SUMMARY mentations or operations are not shown or described in detail
60 to avoid obscuring aspects of various embodiments of the
The following embodiments and aspects thereof are invention.
described and illustrated in conjunction with systems, tools, In GFSK, past bit transmissions are embedded in the signal
and methods that are meant to be exemplary and illustrative, phase associated with the current bit period T. Specifically,
not limiting in Scope. In various embodiments, one or more of the transmitted signal at time t has constant amplitude and a
the above-described problems have been reduced or elimi 65 phase equal to 0 (ta) 27tfit--p(t,a), where f is the carrier
nated, while other embodiments are directed to other frequency and (p(t,a) is the information carrying phase given
improvements. by
US 8,090,060 B2
3 4
For example, the modeling may take place beforehand, and
the remaining modules (104-108) of the flowchart 100 may
take place in real-time or near-real-time.
In the example of FIG. 1, the flowchart 100 continues to
module 104 where unknown parameters are estimated. In an
for h the modulation index, aile{+1.-1} the polar represen illustrative embodiment, it is assumed that both the phase
tation of the binary data bits, L the length of the signal offset (po and/or the frequency offset A in the received signal
memory, T the bit period, and q(t) the phase response. The are unknown. Let (po and Afdenote the estimates for the phase
memory in the information carrying phase is of length L-1, 10
offset (po and frequency offset Af, respectively. These esti
since at timet the phase depends on the current data bit as well mates may be obtained from estimation algorithms applied to
as the previous L-1 data bits. The phase response is the training sequences or preambles in the data prior to demodu
integral of the frequency response g(t), i.e. lation, data-driven estimation as described later with refer
ence to FIGS. 3, 4A, 4B, 7A, and 7B, or using other applicable
15 known or convenient estimation techniques.
A modulation index may or may not need to be approxi
mated. For example, the modulation index could be either
explicit, approximated, or obviated. In an illustrative embodi
where g(t) u(t)h(t) is the convolution of a rectangular pulse ment, a state trellis search is based on Some approximations
u(t) and a Gaussian pulse h(t). that allow a simple characterization, and hence detection, of
If the signal is down converted using a frequency the transmitted signal. For example, where kandpare relative
primes a modulation index hk/p can be approximated.
Advantageously, as described later, restricting the modula
tion index to these values allows coherent maximum-likeli
25 hood demodulation through a recursive updating of just a few
parameters. As an example of a way to simplify the expres
then the complex baseband received signal becomes r(t)=S(t) sion for the signal phase, q(2T)=0.5 can also be approxi
e'+n(t)=e'e'+n(t), where s(t) is the complex base mated. With these approximations p(t) corresponds to
band transmitted signal, n(t) is the complex baseband noise of 30
exactly 2p possible signals and we can write the phase over a
the received signal, p(t,b) is the demodulated phase of the given bit time in terms of the current and past bits as
signal given by
f(t +(n-1)T, b) = 2ith(dn - 2 + (o(t, bn - 1), bn)),
35 where
-2
for bi = 0.5 (ai + 1) e {0, 1} dIn -2 = R. bi e {0, 1, ... , p - 1},
O

the binary representation of the data, and p(t)=(po-2TArt is the 40


for Ric the modulo p operator and
time-varying phase offset of the received signal, which co(t, bn - 1), bn) = 2bn - 14(t + T) + 2bnq(t)+
depends on a fixed phase offset (po and a frequency offset Af,
and is thus independent of the data.
The complex baseband transmitted signal can be written as
45
In the example of FIG. 1, the flowchart 100 continues to
L. module 106 where a maximum-likelihood path through a
s(t) =X pn ( - iT),
i=0
trellis is selected. Note that there are only four different values
for co(t,bn-1bn) and also that the phase is slightly differ
where 50 ent over the first bit time and the last bit time due to the lack
of a previous bit for the first bit time and the lack of a subse
O otherwise quent bit for the last bit time. The phase of a received signal
over any bit period (n-1)Tst<nT depends only on dIn-2,
bn-1, and bin, i.e. on the current and immediately previous
A technique for detecting transmitted data with low com 55 data bit values (when present) as well din-2, which captures
plexity involves estimating unknown parameters and then the n-2 bit values prior to bn-1. Since din-2 has p possible
using them in a trellis search to estimate the transmitted data. values and bin-1 has two possible values, we can simplify
The trellis may or may not be a reduced state trellis. detection by modeling the transmitted bit sequence as a path
FIG. 1 depicts a flowchart 100 of an example of a method through a trellis with 2p states (corresponding to the possible
for detecting transmitted data with low complexity. The 60 joint values of dn-2 and bn-1) at the nth trellis stage.
method is organized as a sequence of modules in the flowchart Since the trellis state corresponds to the values of dIn-2 and
100. However, it should be understood that these and modules bn-1, it captures all the memory of past bit transmissions in
associated with other methods described herein may be reor the current bit transmission bn. The transition from the
dered for parallel execution or into different sequences of trellis state at the (n-1)th stage to the nth stage is determined
modules. In the example of FIG. 1, the flowchart 100 starts at 65 by whether brn is a 0 or 1 bit, as depicted in FIG. 2. Thus,
module 102 with modeling modulation based upon a trellis. given a path through the trellis that is selected as the maxi
The modeling may or may not be accomplished in real time. mum-likelihood path based on the received signal, the maxi
US 8,090,060 B2
5 6
mum-likelihood bit decision b|n) is determined by the tran
sition from Stage n-1 to Stage n. L.

In the example of FIG. 1, the flowchart 100 continues to AL - 1 = R{ riotile of Af on).


i O
module 108 where the maximum likelihood pathis mapped to
an output bit sequence. Having provided low complexity
detection of transmitted data, the flowchart 100 ends. where prih, denotes the complex conjugate of prin.
FIG. 2 depicts an example of a trellis diagram 200 for It should be noted that, in an illustrative embodiment, met
GFSK with 2p states. The number of states (i.e., 2p) is based rics are computed at each stage, but the bit decisions can be
upon dn-2 and bin-1, as described previously. 10
made at each stage, or the decision can be delayed until all of
FIG.3 depicts a flowchart 300 of an example of a demodu the computations, at each stage, have been made. Waiting
lation process based on phase/frequency tracking and a trellis until the end to maximize the metric and output the corre
search. In the example of FIG. 3, the flowchart 300 starts at sponding bits introduces delay, but can result in a more opti
module 302 with sampling a signal. In an illustrative embodi mal path, which tends to improve performance. Performing
ment, the received signal is sampled N times over a bit period, 15 the maximization at each time i and outputting the bits asso
where N is a design parameter with a minimum value of 1 (1 ciated with the trellis path with the maximum metric at time i.
sample per bit period). For the received signal over the ith bit on the other hand, has the advantage of reduced delay and
period, these samples are averaged to obtain lower memory requirements.
In the example of FIG.3, the flowchart 300 ends at module
310 where an estimate for the transmitted databased on the
trellis state that maximizes the metric is determined. In an
illustrative embodiment, fin, is mapped for i=1,. . . . . L to
bO), . . . , b|L-1). The detected data is thus a Sequence
bO), ..., b|L-1) that maximizes the maximum-likelihood
In the example of FIG. 3, the flowchart 300 continues to 25 metric Ai for each time i, or at time L-1 at the end of the
module 304 where estimates for phase parameters are sequence of bit transmissions.
updated. The phase parameters may include, by way of FIGS. 4A and 4B depict flowcharts of examples of methods
example but not limitation, phase and frequency offsets. The for reducing ML detector complexity through per-survivor
demodulation process for a sequence of L transmitted bits processing. The complexity and memory requirements of the
proceeds as follows. Over each bit time iT the received signal 30
ML detector corresponding to the metric, AL-1, can be
is used to computeri and obtain estimates for the phase and Substantially reduced through per-survivor processing. This
frequency offsets, do i and Ali), respectively. These esti reduces the number of states in the trellis of FIG. 2 from 2p to
mates may be obtained, by way of example but not limitation, 2.
from a preamble prior to bit transmission, through maximum 35 FIG. 4A is intended to show per-survivor processing where
likelihood or maximum a posteriori estimation, or through a output is at the end of the process. In the example of FIG. 4A,
recursive updating at each bit time based on prior estimates the flowchart 400A starts at module 402 where a trellis stage
and the received signal over the ith bit period. The recursive is initialized to -1.
update can be simplified by making it a function of ri instead In the example of FIG. 4A, the flowchart 400A continues to
of the entire received signal over the ith bit time. 40 module 404 where the trellis stage is incremented. Over the
In the example of FIG. 3, the flowchart 300 continues to ith bit time we compute di-2 based on past bit decisions up
module 306 where a function associated with bits received up until time i-2. If di-2 is fixed then the current bit decision
to the current time is computed. A sampled average for pm, only depends on this fixed value and the 2 possible values for
(t) over the ith bit period is given by the previous bit value bi-1. Hence the trellis to determine
45 bi has just 2 states, which we will denote as states 0 and 1.
For this trellis let Lile {0,1} denote the start state of the
pnil =
1 survivor path in trellis section i that ends in state ye{0,1}.
N4 O In the example of FIG. 4A, the flowchart 400A continues to
module 405 where the received signal is sampled and aver
50 aged. For the received signal over the Rh bit period, the
Note that pm, can be rewritten as samples are averaged to obtain

W 1 N
pn; i2hvi tly j2thu(kTIN v; (2) v; (3) 55

for V, V, 1,V2.V,3-di-2.bi-1.bi. Thus, we can In the example of FIG. 4A, the flowchart 400A continues to
express pm, in terms of the ith data bit and the state of the module 407 where time-varying phase parameters are esti
trellis shown in FIG. 2 at stage i. 60 mated. The time-varying phase parameters may include, by
In the example of FIG. 3, the flowchart 300 continues to way of example but not limitation, the phase offset and/or
module 308 where a trellis state that maximizes the metric is frequency offset. Thus, in an illustrative embodiment, over bit
found. Assuming the time-varying phase offset p(t) over bit period iT the phase and frequency offsets (poli and Aril a
time iT is accurately estimated by (p(t)-poi-2TArit, we estimated. It may be noted that the time-varying phase param
approximate the maximum-likelihood (ML) detector for the 65 eters are not affected by data values, but rather by hardware
L transmitted data bits by, at time i, choosing the fin, (or, variations, temperature, propagation environment, and/or
equivalently, the trellis path at time i) to maximize the metric other factors.
US 8,090,060 B2
7 8
In the example of FIG. 4A, the flowchart 400A continues to sponds to the ML trellis path at time L-1. After the bits for the
module 409 where complex data functions are updated. survivor path are demodulated, the flowchart 400A ends.
In the example of FIG. 4A, the flowchart 400A continues to FIG. 4B illustrates per-survivor processing with output at
module 410 where a metric is computed based on recursive each stage of the trellis. This reduces memory requirements
updates of data functions and the time-varying phase param and delay by outputting the bit associated with the survivor
eters. The total metric for the branch ending in state y after path at time i for the state xile {0,1} with the largest metric
trellis section i can then be updated recursively as Ai Ai. Specifically, at time i, the flowchart traces back some K
max, to A,i-1]+ i), where - il is the branch met of stages in the trellis and outputs the bit bi-K correspond
ric for the branch going from state X to state y intrellis section 10 ing to the path for statexile{0,1} with the largest metric Ail
i. This recursive update indicates that there will be only one at time i. Typically, 1sKsL.
surviving path into each state ye0,1} of the trellis at stage i,
which will correspond to the path between X and y for the X In the example of FIG. 4B, the modules 452-462 are quite
achieving the maximum Ali). The branch metric ... [i] is similar to modules 402-412, so they are not re-described here.
given by In the example of FIG. 4B, the flowchart 400B continues from
15
the module 462 to the decision point 464 where it is deter
mined whether a metric 0 greater than a metric 1. If it is
A....(i)= Recipline of 'v'.") determined that the metric 0 is greater than the metric 1, then
the flowchart 400B continues to module 466 where the bit
bi-K) for the survivor path associated with State 0 at time i
is output. If, on the other hand, it is determined that the metric
0 is less than the metric 1, then the flowchart 400B continues
for c-Li-1 and to module 468 where the bit bi-K) for the survivor path
associated with State 1 at time i is output.
T 25 In the example of FIG. 4B, the flowchart 400B continues to
so 2), (3) - "e?sertiere at
O
decision point 470 where it is determined whether i=L-1. If it
is determined that izL-1 (470-N), then the flowchart 400B
returns (recursively) to module 454 and continues as
Note that di-2I-R di-1-1,i-1]. described previously. Thus, the process is repeated over each
In the example of FIG. 4A, the flowchart 400A continues to 30
bit time. When it is determined that i=L-1 (470-Y), the recur
module 412 where a survivor branch into each trellis state is sion ends.
determined. The calculation of the surviving branch entering
each trellis state at Stage i, i.e. the branch maximizing the In the example of FIG. 4B, the flowchart 400B continues to
metric Aily-0.1 is based on values for ri), di-1].u,i-1]. module 472 where any remaining bits along the Survivor path
and Ai-1, X-0.1. Once the surviving branch into each state 35 with the maximum metric are demodulated. For example, if
ye{0,1} at stage i is determined, the starting state ui is you go back K stages, then you output Kbits. In an illustrative
updated based on the start state of the Surviving branch, and embodiment, the bits bL-K to bL-1 are output. After
based on this value the parameter di) is updated according to module 472, the flowchart 400B ends. FIG. 5 depicts a dia
di-RIdi-1+x). gram 500 of an example of mapping an ML path to bit esti
In the example of FIG. 4A, the flowchart 400A continues to 40 mates.
decision point 414 where it is determined whether i=L-1. If it In an alternate technique, you could trace back some ran
is determined that izL-1 (414-N), then the flowchart 400A dom number K of stages in the trellis until the 2 bit values
returns (recursively) to module 404 and continues as corresponding to both Surviving paths in the trellis at time i
described previously. Thus, the process is repeated over each are the same. This results in a random delay in the bit outputs.
bit time until the final cumulative metric A-1 correspond 45
FIG. 6 depicts a diagram 600 of an example of a trellis and
ing to all L. bit transmissions is obtained for x=0,1. When it is
determined that i=L-1 (414-Y), the recursion ends. Survivor path computation between the i-1th and ith stage. In
In the example of FIG. 4A, the flowchart 400A continues to the example of FIG. 6, solid branches correspond to surviving
decision point 416 where it is determined whether a metric 0 paths (note there is only one entering each state at any trellis
(e.g., A) is greater than a metric 1 (e.g., A). If it is deter 50 stage) and dashed branches corresponds to not yet decided
mined that the metric 0 is greater than the metric 1, then the survivor path entering State 0 at trellis stage i. If A (i-1)+
flowchart 400A continues to module 418 where the L-1 bits Woi>Aoi-1+wo oil, the Surviving branch entering
for the survivor path into State 0 at time L-1 are demodulated. State 0 in trellis section i starts in State 1 and ends in State 0.
In other words, if AL-1DAIL-1, the Surviving path into With the selection of this lower dashed branch as the surviv
State 0 at time L-1 is assumed to be the ML path. If, on the 55
ing branch of the ML path, the parameters for the ML metric
other hand, it is determined that the metric 0 is less than or associated with the ith trellis stage are updated according to
equal to the metric 1, then the flowchart 400A continues to Lloi=1, di-Radi-1)+0), Aoi Ali-1+... oil. These
module 420 where the L-1 bits for the survivor path into State parameters only depend on their previous values, i.e., a buffer
0 at time L-1 are demodulated. In other words, the surviving of size two for each parameter is enough.
path into State 1 at time L-1 is assumed to be the ML path. 60
The bit sequence b|O), ..., b|L-1) is demodulated based on As stated earlier, the phase is slightly different over the first
the states xi along that ML pathas bixi, i.e. at time i, the and last bit times since the phase over the first bit time does
bit bi corresponding to the survivor path into State 0 is not have memory associated with the previous bit, and the
Li+1 and the bit corresponding to the Survivor path into phase over the last bit time does not have memory associated
State 1 is Li+1. The bit sequences up to time i-1 corre 65 with a Subsequent bit. We denote the phases corresponding to
sponding to the Survivor paths at time i are updated at each these first and last bit periods as co(t.bO) and (p(t,bL-1),
time interval and the demodulated bit sequence then corre respectively. We similar define
US 8,090,060 B2
9 10
where again aile{+1.-1} is the polar representation of the
T binary data. Then pme"lz(ai-1].ail).
seto)- I eitheat
O Let us denote the phase estimate at time i by qi. We can
obtain this estimate based on averaging over the current and
and
last sample as
T
(b.L - 1) ? j2thu(t,b|L-1)) e'-qi FC.gi-1)+(1-C)rip*m, where OsCs1 is the for
O getting factor for the previous sample. Similarly, letus denote
the frequency offset estimate at time i by
so that we can express the metrics for the first trellis stage as 10

Ao(0) = Rer Ol:(0)e joio),


A (O) = Retri0): (1)eolo), 15
where pipi-1)+(1-3)rip fin, prinri-1, and
Os3s 1 is the forgetting factor. The branch metric for trellis
section i in (6) can now be approximated by Ji-Re{rip
where e' is the initial phase estimate. In an implementa rin, qi-1}, where qi is the combined phase and frequency
tion, the preamble processing will often take care of the first offset estimate according to
bit transmission and also provide an estimate of the phase
offset (po. In this case Z(O) and Z(1) will never be used.
After updating AIL-1 for ye{0,1} according to above, qi = (aqi - 1 + (1 - a)rio
pi- 1
the tail of the signal need to be added using Z(y) as (iii)), i.

Ao L - 1 = Ao L - 1 + Re(L):0eleolt-lar (-)-ory.
25 Define also 8,i-hdi-1] and uil-ripin-rile 7"
1JZ*(ai-lai). These calculations require multiplications
ALL - 1 = AL - 1 + Re{r(L):(1 e-jao(L-1)+2. Af Il-4-try. of complex numbers, which can be simplified to additions of
real numbers as follows. Letze-1,+1) denote the angle of the
complex number Z divided by i, such that Ze'". Further,
The decisions on the lastinformation bit is b|L-1-X ifAL 30 define ruqip, such that r=e".u=e",qe"p=e". This
1PAL-1 and the remaining bit decisions are made accord means that ui-ri-Öi-1-Z(ai-1].ai), Wi-cos(t(ui
qi-1)).
ing to bil-Llti--1 for i=0,1,2,..., L-2. However, some further modifications are needed for the
There are several techniques that can be used to obtain the updates of the phase and frequency offset estimation qi.
time-varying phase estimate q(t)=(po-2TArt, including esti 35 Consider two complex-valued numbers with unit amplitude,
mation algorithms applied to training sequences or preambles
in the data prior to demodulation, data-driven estimation that e?" and e" for-1 sas+1 and -1sbs +1. The weighted
is updated at each symbol time, or other techniques. Since the Sum of these numbers can then be approximated according to
branch metric calculation described above can be updated
ye"+(1-y)e"-et"("-ol", where parameter 0sys1
based on the previous values of Ail, di), ui, a low com acts as a weighting factor and b-al-'-mod(b-a-1,2)-1,
plexity algorithm would have the property that the phase 40 which means that the number inside the brackets is wrapped
estimation algorithm can be updated based only on the values around within -1,+1). This is easily implemented in fixed
from the previous stage of the branch metric calculation, i.e. point arithmetic by using one bit for the integer part and the
if oil denotes the phase offset estimate at time i, it is desir rest of the bits for the fractional part together with wrapping
able from a low-complexity perspective that this estimate instead of saturation, e.g., 0.5+0.7'-0.8. This also
depend only on (poi-1]. and similarly the frequency offset 45 means that the modulo p operator RIc is no longer needed.
According to this approximation the recursive updates for the
estimate at time i, Ari should depend only on Ari-1]. phase and frequency offset estimation can be simplified to
FIGS. 7A and 7B depict flowcharts 700A and 700B of
examples of methods for reducing ML detector complexity
through per-survivor processing. The flowcharts 700A and
700B are similar to the flowcharts 400A and 400B (FIGS. 4A
50 pi-pi-1)+(1-3)ui-ui-1-pi-1''''. Note also
and 4B), though different exemplary computations may be in that the normalization of p is no longer necessary, since the
order at certain of the steps. Notably, FIGS. 7A and 7B operations are performed in phase domain.
respectively refer to real data functions at modules 709, 710 The updates of Ail, Öi), ui, ui, qil, pil through the
and 758, 760. Advantageously, the use of real data functions, trellis and the decisions on the bits bican be explained by the
instead of complex data functions, can significantly reduce 55 following pseudo code:
the complexity of the computations.
In an illustrative embodiment, a transmitted phase can be
expressed as a function of the accumulated bits and the last for i = 1 : L (for all trellis sections)
two bits as (p(t+(n-1)Ta) than-2+2 thc)(t,an-lan), 60 for y = 0: 1 (for all ending states)
where din-2 and ()(t.an-lan) are redefined as for X = 0: 1 (for all starting states)
u", = f(i) - 8,i-1]- Z(x,y) '
A = Ai - 1 + cos(JI (u' - qi-1))
end
2
if A' > Ao (finding the winning starting state)
aico(t, an - 1), an) = an - 1a(t+T) -- ang(t). |Ii = 1
i O 65
US 8,090,060 B2
11 12
-continued -continued
u(i) = u
g(l)=q (i-1)+(1 - C), -gi (i-1)+p,[i-1]-.
pi) = p(i-1)+ (1 - B)ui-ui - 1-p (i-1)* ''
else
|Ii = 0 where t is the unknown propagation delay, A is the unknown
8,i) = &oi-1] – hi' frequency offset, 0=(pO-2At is the unknown phase offset,
A = Ao and n(t) is the additive white Gaussian noise with two sided
ui = uo
gll-goi-1)+ (1 - gull-gi-lit poli-ill
pi) = poi-1)+ (1 - (3) ui-uoi-1-poi-1]. I')." 10
power spectral density
end
end
if Ali > Aoi (trace back decision by K=1 and normalization of metric) No
Aoi = Aoi - Ali 2.
A (i) = A(i) - A (i) = 0
bi- 1 = Li 15
else DPSK modulation can be modeled by a trellis with Mstates
Ali = Ali - Aoi y–0, 1,..., M-1, where the reference symbol going into State
Aoi = Aoi - Aoi = 0 y is
bi- 1) = |loi
end
end
2y

Note that the above parameters only depend on their pre


vious values, i.e., a buffer of size two for each parameter is There may or may not be unknown parameters associated
enough. Only u(i) needs to be saved for all ye{0,1} and i=1, with, for example, the signal. The DPSK signal can be
2,..., L-1 to be able to track the Surviving path through the 25 demodulated by finding the maximum likelihood path
entire trellis, but on the other hand, ui only contains 1 bit. through the trellis associated with the received signal, as has
The normalization of the metric Ai is just to keep it from been described previously for GFSK (e.g., with reference
overflowing. The length of the trace back Kto make decisions FIG. 1).
on the data bits can also be made longer than one symbol In an illustrative embodiment, the transmit pulse can be
which may lead to Some performance benefit. 30 truncated by using a window w(t) that is non-Zero except N
In DPSK (also referred to as D-MPSK) the transmitted symbol intervals centered around Zero
complex symbols are given by si-si-1 le" where pieS
is the data phase carrying the m-log2(M) information bits
35
h(t) = ent
O
- NTelsewhere
f2 is is NT/2.
2k
Se{}, k = 0, 1,... , M - 1. Using h(t) as the transmit pulse, the received signal becomes
In an illustrative embodiment, the information bits are 40
mapped to the phases using Gray mapping. The first symbol
sOe" is transmitted with an arbitrary phase (p Ole-1,+
1). The transmitted symbols can also be written as si
e'''“D=e"Ple"Pl, where dileS denotes the coherent This signal is averaged over the ith bit period to obtain
data phases with 45

50

Note that pi-di-di-1, for i=1,2,..., L. The transmitted Assuming perfect timing, the demodulation can be performed
baseband analog signal is given by by a trellis search on a fully connected trellis with Mstates for
the symbol Zil that maximizes the maximum likelihood met
55 ric AL-1 for L-1 symbols given by
L. L.
Sih(t - iT) = elitoy eilh(t-iT),
i=l L

60
AL - 1 = R{ rtistilla).
where h(t) is the transmit pulse shaping and T is the data
symbol duration. The received base band signal is
Using the same notation as for GFSK, described previously,
define z.ru.dp, such that Ze're".u=e",qe"p=e"P
which means thatz(y)–2y/M)''.
65 The updates of Ali, ui, ui, qi, pi through the trellis
and the decisions on the phases oil can be explained by the
following pseudo code.
US 8,090,060 B2
13 14
2. A method comprising:
for i = 1:L (for all trellis sections) in a signal receiver, demodulating a received signal by
for y = 0:M - 1 (for all ending states) sampling the signal over a bit period;
for X = 0:M - 1 (for all starting states) updating time-variable phase parameters by using a
u = ri) - Z(y)"; weighted addition of real numbers and without using
A = Ai-1)+cos(t(u, - q i-1)) multiplication of a complex number;
end computing a branch metric function associated with bits of
x = argmax A (winning starting state) the received signal received up to a current time;
X
10 finding a trellis state that maximizes a branch metric of the
Hyli) = x" trellis, wherein the branch metric is based on said branch
Ayi = A. metric function; and
uyi) = u determining an estimate for the transmitted databased on
the trellis state that maximizes the branch metric.
15
3. The method of claim 2, further comprising initializing a
trellis stage.
end 4. The method of claim 2, further comprising, recursively,
y' = argmax
y
Ayli) (winning ending state) incrementing a trellis stage;
for y = 0:M - 1 (normalize the metric to prevent overflow) sampling and averaging the received signal;
Ayi = Ayi - Ayil updating data functions; and
end computing a metric based on recursive updates of the data
for k = i :-1:i-K (trace back in the trellis) functions and the time-variable phase parameters.
1 = mody" - uyi (k), M) 25 5. The method of claim 4, wherein the data functions
y = uylk) include real data functions and not complex data functions.
end 6. The method of claim 4, further comprising, recursively
di-K) = Z[l] estimating time-varying phase parameters.
end 30 7. The method of claim 4, further comprising, recursively
estimating phase offsets and frequency offsets.
Ke0 is the trace back length that will also affect the delay 8. The method of claim 4, further comprising:
of the decision. To even further reduce the complexity the determining, recursively, a Survivor branch into each trellis
starting state X can be put to the winning ending state from the State;
previous trellis section, i.e., 35
determining whether the branch metric is greater for a first
state or a second state;
x = argmax
y
Ayi - 1). demodulating bits for a survivor path into the first state if
the branch metric is greater for the first state than for the
40 second state;
That will reduce the innermost for-loop with a factor of M. demodulating bits for a Survivor path into the second state
As used herein, the term "embodiment’ means an embodi if the branch metric is not greater for the first state than
ment that serves to illustrate by way of example but not for the second state.
limitation. 9. The method of claim 4, further comprising, recursively:
45
It will be appreciated to those skilled in the art that the
preceding examples and embodiments are exemplary and not determining a Survivor branch into each trellis state;
limiting to the scope of the present invention. It is intended determining whether the branch metric is greater for a first
that all permutations, enhancements, equivalents, and state or a second state;
improvements thereto that are apparent to those skilled in the 50
demodulating a bit associated with a Survivor path into the
art upon a reading of the specification and a study of the first state if the branch metric is greater for the first state
drawings are included within the true spirit and scope of the than for the second state;
present invention. It is therefore intended that the following demodulating a bit associated with a Survivor path into the
appended claims include all Such modifications, permuta second state if the branch metric is not greater for the
tions and equivalents as fall within the true spirit and scope of 55 first state than for the second state.
the present invention.
10. The method of claim 9, further comprising demodulat
What is claimed is: ing any remaining bits along the Survivor path into the first
1. A method comprising: State.
demodulating a received signal in a signal receiver by 11. The method of claim 1, wherein the unknown param
determining estimates of unknown parameters of the 60
eters comprise a parameter that is a function of a phase of the
received signal by using a weighted addition of real received signal or a parameter that is a function of a frequency
numbers and without performing an operation on a com of the received signal.
plex number,
Selecting a maximum likelihood path through a trellis 12. The method of claim 11, wherein the received signal is
based on the estimates; and 65 a GFSK signal or a DPSK signal.
mapping the maximum likelihood path to an output bit 13. The method of claim 1, wherein the unknown param
Sequence. eters comprise a phase offset and a frequency offset.
US 8,090,060 B2
15 16
14. A method comprising: 16. The method of claim 15, wherein the received signal is
in a signal receiver, determining an estimate of an unknown a GFSK signal or a DPSK signal.
parameter of a received signal by using a weighted addi 17. The method of claim 14, wherein the unknown param
tion of real numbers and without performing an opera eter comprises a phase offset or a frequency offset.
tion on a complex number, and 18. The method of claim 9, further comprising demodulat
demodulating the received signal based on the estimate. ing any remaining bits along the Survivor path into the second
15. The method of claim 14, wherein the unknown param State.
eter comprises a parameter that is a function of a phase of the
received signal or a parameter that is a function of a frequency
of the received signal.

You might also like