Demodulation of a frequency-modulated received signal by means of a Viterbi algorithm

Information

  • Patent Application
  • 20050190860
  • Publication Number
    20050190860
  • Date Filed
    February 14, 2005
    19 years ago
  • Date Published
    September 01, 2005
    18 years ago
Abstract
Apparatus for demodulation of a signal which is frequency-modulated with a data symbol sequence {dk}, having a zero crossing detector (1), a generator (2) for production of a sequence {zi}, with zi being calculated from zero crossings ti and ti+1, and having a unit (3) for reconstruction of the data symbol sequence {dk}, which is characterized by a minimum Euclidean distance between the sequence {zi} and an auxiliary sequence, with each sequence element in the auxiliary sequence being formed from convolution of the data symbol sequence {dk} with a sequence {hi,k} relating to the index k, and with the sequences {hi,k} being functions of the times ti.
Description
FIELD OF THE INVENTION

The invention relates to an apparatus and a method for demodulation of an analog received signal which is transmitted by a radio and was frequency-modulated at the transmitter end with a data symbol sequence.


BACKGROUND OF THE INVENTION

The apparatus and the method to which the invention relates are preferably components of cordless digital communications systems, which are based on the Bluetooth Standard, the DECT Standard, WDCT Standard or a similar Standard.


In communications systems such as these, traditional signal processing methods are used at the receiver end for demodulation of the frequency-modulated received signal and for signal detection. One method which is often used is based on the so called limiter discriminator FM demodulator, in which the frequency-modulated signal is demodulated, for example by means of an analog coincidence demodulator, with corresponding signal detection, after hard limiting of the generally complex bandpass signal.


Furthermore, receiver concepts are known in which the intermediate frequency signal is converted to the digital domain by means of an analog/digital converter, and the signal detection is carried out using digital signal processing methods. One such method is described, by way of example, in the document DE 101 03 479.2. Methods such as these admittedly allow high quality signal detection to be achieved, but they have the disadvantage of a complex analog/digital converter.


SUMMARY OF THE INVENTION

The object of the invention is thus to specify an apparatus and a method for demodulation of a digitally frequency-modulated received signal, by means of which high performance can be achieved with a low level of implementation complexity at the same time.


The apparatus according to the invention is used for demodulation of an analog received signal which has been frequency-modulated at the transmitter end with a data symbol sequence {dk}. For this purpose, the apparatus has a detector for zero crossings, a sequence generator and a calculation unit. The detector is used to detect the zero crossings in the received signal. The sequence generator produces a sequence {zi} from the times associated with the zero crossings. Two successive zero crossings are respectively in each case processed such that the difference ti+1−ti between the associated times ti and ti+1 is formed, and a sequence element zi in the sequence {zi} is calculated from the difference ti+1−ti. The object of the calculation unit is to reconstruct the data symbol sequence {dk}. In this case, the sought data symbol sequence {dk} must be selected from the possible data symbol sequences. One sequence can in each case be calculated by means of coefficients hi,k from each of the possible data symbol sequences. The sought data symbol sequence {dk} is distinguished by the sequence that is calculated from it being at the minimum Euclidean distance from the sequence {zi} in comparison to the other calculated sequences. The sequence elements in a calculated sequence are obtained from convolution of the respective data symbol sequence {dk} with the coefficient sequence {hi,k} for the index k. This means that the index i for the coefficient sequence {hi,k} is fixed for the calculation of a sequence element in the calculated sequence. In order to calculate the next sequence element, the index i is incremented. The coefficient sequences {hi,k} are obtained from the times ti. The sequential indexes i and k may, by way of example, extend over natural numbers.


In comparison to conventional apparatuses that are used for the same purpose, the apparatus according to the invention is advantageous since it allows the frequency-modulated received signal to be demodulated particularly reliably and with particularly little effort.


The minimization task which has been described above and which must be carried out in the calculation unit can be carried out particularly advantageously by means of a Viterbi algorithm. A description of the Viterbi algorithm can be found, by way of example, in the document WO 01/13524 A1.


A filter may advantageously be the basis for a model of the frequency modulation of the analog received signal. A filter convolves an input variable with filter coefficients and thus produces an output variable. In the frequency-modulation model, the input side of the filter is fed with the data symbol sequence {dk}. The data symbol sequence {dk} is convolved with the coefficient sequences {hi,k} in the filter. The sequence {zi} is emitted on the output side of the filter as the result of the convolution operations. The coefficient sequences {hi,k} are specified for the filter, in order to allow the convolution operations to be carried out.


One particularly preferred refinement of the invention provides for the minimization task that has to be carried out in the calculation unit to be carried out by means of a modified Viterbi algorithm.


Conventional fields of use for the Viterbi algorithms are the equalization of a received signal which has been distorted by multipath interference during transmission, and the decoding of a channel coded received signal. During the processing of the Viterbi algorithm, recursive means are used to determine the so called shortest path through a state diagram which, for example, reflects the decoding rule and is referred to as the trellis diagram. In the case of decoding, the process of determination of this shortest path through the trellis diagram is equivalent to the reconstruction of the data symbol sequence which was supplied to the coder at the transmitter end.


In the present case, it is intended to use the Viterbi algorithm in order to reconstruct the data symbol sequence {dk} from the measured sequence {zi}. Since this is done using the filter model described above as the basis, the nodes in the trellis diagram in this case represent the filter states.


However, the application of the Viterbi algorithm to the filter model results in a difficulty. When the Viterbi algorithm is used in the conventional way, the number of steps carried out per data symbol is constant and this number is generally equal to the ratio of the sample rate to the symbol rate. In the present case, the measured values from which the data symbol sequence {dk} is intended to be reconstructed are the times of the zero crossings in the received signal. However, the frequency modulation means that the zero crossings do not result in an equidistant sequence. Furthermore, the frequency of the zero crossings depends on the data symbols dk. In consequence, the Viterbi algorithm must be appropriately modified.


The trellis diagram that is used in the present case provides for the nodes to represent the filter states and for nodes which are located vertically one above the other to relate to the same symbol clock cycle boundary. This means that the states which are represented by the nodes differ in the horizontal direction by a discrete time, specifically the symbol time period, which is used to define the symbol clock rate.


The processing of a conventional Viterbi algorithm comprises essentially three computation procedures per time step: the calculation of the branch metric values in the trellis diagram, the conduct of the ACS (ADD COMPARE SELECT) operations, and the traceback operation for the determination of a previous data symbol.


The Viterbi algorithm which has been developed in order to solve the present problem also includes the three computation procedures described above. However, the procedures for calculation of the branch metric values and of the ACS operations have been modified in comparison to conventional Viterbi algorithms.


In contrast to a conventional Viterbi algorithm, the calculation unit does not calculate the branch metric values at the times which are defined by the symbol clock, but at the times at which the received signal zero crossings occur. In this case, it should be noted that the time interval between two zero crossings is shorter than the symbol time period.


The calculation unit in consequence calculates branch metric values for at least two state transitions relating to the time ti+1 for each filter state, each of which state transitions leads from a possible predecessor state for the time ti to the destination state under consideration for the time ti+1. The calculated branch metric values are added to the already calculated branch metric values which lead to the respective predecessor state for the time ti.


If the times ti and ti+1 occur in the same symbol clock cycle, no state transition takes place in the trellis diagram. In consequence, only ADD operations, but no COMPARE or SELECT operations, are carried out in this case for the time ti+1.


If there is a symbol clock cycle boundary between the times ti and t+1, that is to say if the times ti and ti+1 do not occur in the same symbol clock cycle, that state transition which leads with the minimum accumulated branch metric from one of the possible predecessor nodes to the destination node under consideration located between the times ti and ti+1 is determined for the nodes for the symbol clock cycle boundary under consideration in order to carry out a respective node transition. In consequence, ADD, COMPARE and SELECT operations are carried out for the time ti+1 in this case.


The modified Viterbi algorithm which has been explained above can be used at the receiver end for simple demodulation of a frequency-modulated analog received signal to which noise has been added during transmission via the air interface.


According to one advantageous refinement of the invention, the sequence elements zi in the sequence {zi} are calculated from the time differences ti+1−ti, and the sequence elements hi,k in the coefficient sequences {hi,k} are derived from the times ti such that the following equation is satisfied:
zi=k=-dk·hi,k(1)


The sequence elements zi are preferably defined by:
zi=1-2ω0π·(ti+1-ti)(2)


In equation (2), ω0 indicates the carrier frequency of the unmodulated signal.


The coefficients hi,k are preferably defined by:

hi,k=2η·[q(ti+1−k·T)−q(ti−k−T)]  (3)


In this case, η is the modulation index, T is the symbol time period, and q(t) is the integral over the elementary pulse shape g(t).


The modulation index η and the integral q(t) over the elementary pulse shape g(t) are defined by the following equations, where Δω denotes the modulation shift:
η=Δω·Tπ(4)q(t)=1T-tg(τ)τ(5)


It is advantageous for the apparatus and the transmitter which is transmitting the frequency-modulated signal to have already been synchronized when the apparatus carries out the steps required for demodulation. For this purpose, the apparatus and the transmitter in particular have units for symbol synchronization.


The signal to be transmitted is preferably modulated at the transmitter end by means of the CPFSK (Continuous Phase Frequency Shift Keying) method.


The apparatus according to the invention can particularly advantageously be integrated in cordless digital communications systems which are designed for signal transmission over distances of only a few meters. In the case of short transmission paths such as these, the signal is mainly subject to interference from noise rather than by multipath interference. In particular, communications systems such as these may be based on the Bluetooth Standard, the DECT Standard or the WDCT Standard.


The method according to the invention is used for demodulation of an analog received signal which is frequency-modulated at the transmitter end with a data symbol sequence {dk}. In a first method step, zero crossings in the received signal are detected. In a second method step, a sequence {zi} is generated. A sequence element zi in the sequence {zi} is in this case based on a function of the difference ti+1−ti between the times ti and ti+1 associated with two successive zero crossings. In a third method step, the data symbol sequence {dk} is reconstructed. This is done by selecting from the possible data symbol sequences that data symbol sequence as the sought data symbol sequence {dk} for which the Euclidean distance between the sequence {zi} and a sequence calculated at the receiver end is a minimum. Each sequence element in the calculated sequence is formed from convolution of the data symbol sequence {dk} with a coefficient sequence {hi,k} for the index k. The coefficient sequences {hi,k} are obtained from the times ti.


The method according to the invention has the advantage that it allows particularly reliable and low complexity demodulation of the received signal.




BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be explained in more detail in the following text, in an exemplary manner, with reference to the drawings, in which:



FIG. 1
a shows an illustration of an unmodulated carrier oscillation;



FIG. 1
b shows an illustration of a digitally frequency-modulated carrier oscillation;



FIG. 1
c shows an illustration of the symbol clock cycles of the carrier oscillations from FIGS. 1a and 1b;



FIG. 1
d shows an illustration of the method of operation of a detector for zero crossings; and



FIG. 2 shows a schematic illustration of one exemplary embodiment of the apparatus according to the invention.




DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION


FIG. 1
a shows an unmodulated carrier oscillation. FIG. 1b shows the carrier oscillation as shown in FIG. 1a after frequency modulation. FIGS. 1a and 1b correspond to the upper part of Figure 11.2.3 on page 385 of the book “Nachrichtenübertragung” [Information Transmission] by K. D. Kammeyer, which appeared in B. G. Teubner Verlag, Stuttgart, 2nd Edition, 1996.


The modulation type in the example shown in FIG. 1b is two stage discrete frequency modulation (FSK; Frequency Shift Keying), that is to say frequency shift keying between two defined frequencies on the basis of a two level data symbol. In the present example, a data symbol can assume the values −1 and 1. FIG. 1b shows four symbol clock cycles with a data symbol sequence [1 1 1 1]. Each symbol clock cycle has a symbol time period T. The symbol clock cycle boundaries are plotted against the time t in FIG. 1c.


In the present case, the carrier frequency is ω0=2.5·2·π/T and the modulation index is η=1. The oscillation phase has a continuous profile (CPFSK). If the data symbol changes at the symbol clock cycle boundaries, then a discrete sudden frequency change takes place. The present example relates to two level data symbols, to which the frequency ω0−Δω is assigned for the value −1, and the frequency ω0+Δω is assigned for the value 1. In most cases, the modulation is band limited, so that the sudden frequency changes are not in the form of a square wave, but are extended over time. One example of this is Gaussian Minimum Shift Keying (GMSK).


The following CPFSK signal model may be used as the basis for a frequency-modulated bandpass signal x(t) transmitted by a transmitter:

x(t)=Re{s(te0t}  (6)


In this case, s(t) is the equivalent low pass signal:

s(t)=a·ejφ(t)   (7)


The instantaneous phase φ(t) is calculated from the integral over the instantaneous frequency ωi(t):
ϕ(t)=-tωi(t)t(8)ωi(t)=Δω·k=-dk·g(t-k·T)(9)


In equation (9), g(t) denotes the elementary pulse shape. For a GMSK signal or a GFSK (Gaussian Frequency Shift Keying) signal:
g(t)=12{erf(α·t+T2T)-erf(α·t-T2T)}(10)


The function erf( ) represents the Gaussian error function.


The factor α depends on the time duration/bandwidth product:
α=2ln2·π·f3dB·T(11)


If one considers the equation for the modulation index η
η=Δω·Tπ(12)

and the integral q(t) over the elementary pulse shape g(t):
q(t)=1T-tg(τ)τ,(13)

then the instantaneous phase Φ(t) becomes:
ϕ(t)=πη·k=-dk·q(t-k·T)(14)


The elementary pulse shape g(t) is generally normalized such that the integral q(t), which is also referred to as the phase elementary pulse, has the limit value 1 after L symbol clock cycles. The so called influence length L indicates the number of symbol clock cycles over which the elementary pulse extends. In consequence:
q(t)={0fort01fortL·T(15)


For a subsequent predetermined time interval:

T≦t<(1+1)·T   (16)

then:
ϕ(t)=ϕ1+πη·k=1-L+11dk·q(t-k·T),(17)

where Φ1 is defined as follows:
ϕ1=πη·k=-1-Ldk·q(t-k·T)(18)


The principle of the present invention is based on measuring the zero crossings of the received signal by means of a zero crossing detector. In the CPFSK signal model described above, zero crossings in the quadrature components Re{x(t)} and Im{x(t)} occur at the times ti (i=0, 1, 2, . . . ) when the following condition is satisfied:
ω0·ti+ϕ(ti)=i·π2(19)



FIG. 1
d shows the zero crossings of the frequency-modulated carrier oscillation illustrated in FIG. 1b. In the example shown in FIG. 1, the symbol clock cycles which include the data symbol 1 each have six zero crossings, while symbol clock cycles which include the data symbol −1 each have four zero crossings. This means that the zero crossings do not always occur at equal time intervals. For demodulation purposes, the time intervals between the zero crossings can thus be determined and can be used for detection of the digital data symbols.


According to the invention, a sequence {zi} is calculated from the times ti of the zero crossings for demodulation of the frequency-modulated received signal. Each sequence element zi in the sequence {zi} is in this case calculated from the difference ti+1−ti between the times ti and ti+1 of two successive zero crossings. The following signal model can be derived from the equations (6) to (19):
zi=k=-dk·hi,k(20)


In this case, the data symbol sequence {dk} indicates the sequence of the data symbols dk with which the carrier oscillation is frequency-modulated at the transmitter end. A sequence element zi is obtained, according to equation (20), from convolution of the data symbol sequence {dk} with a coefficient sequence {hi,k}, with the index i being fixed for one convolution. The indexes i and k are in each case natural numbers.


The equation (20) on which the present signal model is based is satisfied when the coefficients hi,k and the sequence elements zi assume, by way of example, the following forms:
hi,k=2η·[q(ti+1-k·T)-q(ti-k·T)](21)zi=1-2ω0π·(ti+1-ti)(22)


Since the elementary pulse shape g(t) has a compact carrier [0,L·T], the coefficients hi,k are limited with respect to the index k.


According to the model, the equations (20) to (22) can be interpreted in such a way that the sequence elements zi are each obtained by a filter operation from the data symbols dk, with the coefficients hi,k being the filter coefficients. The coefficients hi,k are in this case not fixed, but vary with time.


If the bandpass signal x(t) is transmitted between the transmitter and receiver via the air interference without any interference, equation (20) is always satisfied. However, if the bandpass signal x(t) is subject to interference during transmission, then values which do not satisfy equation (20) result at the receiver end for the sequence elements zi. In order nevertheless to make it possible to determine the transmitted data symbol sequence {dk}, a minimization process is carried out in accordance with the following wall, in the sense of the least-squares criterion:
zi-k=-dk·hi,k2=i=-zi-k=-dk·hi,k2->min(23)


In consequence, it is necessary to find from the possible data symbol sequences that data symbol sequence {dk} for which the term (23) is a minimum.


The Viterbi algorithm is used in a modified form in order to efficiently solve this minimization problem. The nodes in the trellis diagram are in this case located at the symbol clock cycle boundaries. The branch metric values are, however, not calculated for the symbol clock cycle boundaries but for the times ti. Only ADD operations are carried out for transitions between the times ti and ti+1 for which both times ti and ti+1 are within one symbol clock cycle, after calculation of the branch metric values. COMPARE and SELECT operations are carried out in addition to the ADD operations only when a symbol clock cycle boundary is passed over.


In FIG. 1d, the zero crossings of the frequency-modulated received signal as measured by the zero crossing detector are numbered for the first two symbol clock cycles. The procedure according to the invention can be understood on the basis of these zero crossings. Branch metric values are calculated for the times t2 to t6, and only ADD operations are then carried out, since the associated zero crossings are all within one symbol clock cycle. The symbol clock cycle boundary is not passed over between the first and the second symbol clock cycle until the transition to the time t7. In consequence, branch metric values are calculated, ADD, COMPARE and SELECT operations are carried out, for the time t7. Branch metric values are calculated, and then only ADD operations are carried out, for the times t8 to t10.



FIG. 2 shows a schematic illustration of one exemplary embodiment of the apparatus according to the invention. A detector 1, a sequence generator 2 and a calculation unit 3 are connected in series in the stated sequence. The detector 1 is fed with a frequency-modulated received signal and detects the times ti of the zero crossings in the received signal. The sequence generator 2 generates the sequence {zi} from the times ti, from which the calculation unit reconstructs (by means of the modified Viterbi algorithm as described above) the data symbol sequence {dk} which has been used at the transmitter end for modulation of the transmission signal.

Claims
  • 1. An apparatus for demodulation of an analog received signal which is frequency-modulated at the transmitter end with a data symbol sequence {dk}, said apparatus comprising: a detector for zero crossings of the received signal, a sequence generator for production of a sequence {zi}, with a sequence element zi being a function of the difference ti+1−ti between the times ti and ti+1 associated with two successive zero crossings, and a calculation unit for reconstruction of the data symbol sequence {dk}, with that data symbol sequence being chosen from the possible data symbol sequences as the sought data symbol sequence {dk} for which the Euclidean distance between the sequence {zi} and a sequence which is calculated at the receiver end is a minimum, with each sequence element in the calculated sequence being formed from a convolution of the data symbol sequence {dk} with a coefficient sequence {hi,k} for the index k, wherein the coefficient sequences {hi,k} are obtained from the times ti.
  • 2. An apparatus according to claim 1, wherein a Viterbi algorithm is implemented in the calculation unit.
  • 3. An apparatus according to claim 2, wherein the frequency modulation of the analog received signal with the data symbol sequence {dk} is understood as the data symbol sequence {dk} being fed into a filter in which the coefficients hi,k are present, and which generates the sequence {zi} on the output side by convolutions of the data symbol sequence {dk} with the coefficient sequences {hi,k}.
  • 4. An apparatus according to claim 3, wherein the calculation unit includes a trellis diagram whose nodes represent the filter states, with nodes located vertically one above the other in the trellis diagram relating to a same symbol clock cycle boundary, the calculation unit calculates transmission metric values, and carries out ADD operations but no COMPARE or SELECT operations for a time ti+1 when the times ti and ti+1 are in the same symbol clock cycle, and the calculation unit calculates transmission metric values and carries out ADD, COMPARE and SELECT operations at a time ti+1 when a symbol clock cycle boundary is crossed between the time ti and the time ti+1.
  • 5. An apparatus according to claim 1, wherein the sequence elements zi in the sequence {zi}, and the sequence elements hi,k in the coefficient sequences {hi,k} are defined in such a way that
  • 6. An apparatus according to claim 5, wherein the sequence elements zi are given by the function
  • 7. An apparatus according to claim 1, wherein the apparatus and the transmitter which transmits the frequency-modulated signal are synchronized and, in particular, have units for symbol synchronization.
  • 8. An apparatus according to claim 1, wherein the frequency-modulated received signal is a CPFSK signal.
  • 9. A cordless digital communications system based on the Bluetooth Standard, the DECT Standard or the WDCT Standard, having an apparatus according to claim 1.
  • 10. A method for demodulation of an analog received signal which is frequency-modulated at the transmitter end with a data symbol sequence {dk}, said method comprising: (a) detection of zero crossings in the received signal; (b) generation of a sequence {zi}, with a sequence element zi being a function of the difference ti+1−ti between the times ti and ti+1 associated with two successive zero crossings, and (c) reconstruction of the data symbol sequence {dk}, with that data symbol sequence being chosen from the possible data symbol sequences as the sought data symbol sequence {dk} for which the Euclidean distance between the sequence {zi} and a sequence which is calculated at the receiver end is a minimum, with each sequence element in the calculated sequence being formed from a convolution of the data symbol sequence {dk} with a coefficient sequence {hi,k} for the index k, wherein the coefficient sequences {hi,k} are obtained from the times ti.
  • 11. A method according to claim 10, wherein a Viterbi algorithm is carried out in method step (c).
  • 12. A method according to claim 11, wherein the frequency modulation of the analog received signal with the data symbol sequence {dk} is understood as the data symbol sequence {dk} being fed into a filter in which the coefficients hi,k are present, and which generates the sequence {zi} on the output side by convolutions of the data symbol sequence {dk} with the coefficient sequences {hi,k}.
  • 13. A method according to claim 12, wherein a trellis diagram whose nodes represent the filter states is used for reconstruction of the data symbol sequence {dk}, said nodes located vertically one above the other in the trellis diagram relating to a same symbol clock cycle boundary, branch metric values are calculated and ADD operations are carried out, but not COMPARE or SELECT operations, for a time ti+1 when the times ti and ti+1 are in the same symbol clock cycle, and branch metric values are calculated and ADD, COMPARE and SELECT operations are carried out for a time ti+1 when a symbol clock cycle boundary is crossed between the time ti and the time ti+1.
  • 14. A method according to claim 10, wherein the sequence elements zi in the sequence {zi}, and the sequence elements hi,k in the coefficient sequences {hi,k} are defined in such a way that
  • 15. A method according to claim 14, wherein the sequence elements zi are given by the function
  • 16. A method according to claim 10, wherein before carrying out the method steps (a) to (c), the transmitter which is transmitting the frequency-modulated signal and the receiver which is receiving the frequency-modulated signal are synchronized.
  • 17. A method according to claim 10, wherein the frequency-modulated received signal is a CPFSK signal.
Priority Claims (1)
Number Date Country Kind
10237867.3 Aug 2002 DE national
CROSS-REFERENCE TO RELATED APPLICATION OR PRIORITY

This application is a continuation of co-pending International Application No. PCT/DE2003/002543 filed Jul. 29, 2003 which designates the United States, and claims priority to German application number DE10237867.3 filed Aug. 19, 2002.

Continuations (1)
Number Date Country
Parent PCT/DE03/02543 Jul 2003 US
Child 11057554 Feb 2005 US