The present disclosure is directed at a phase detector that generates a metric that is a function of a phase difference between a modulated carrier and a local carrier.
Wireless digital communications often involves transmission of symbols using a modulated carrier and the subsequent coherent demodulation of the modulated carrier by a receiver. One way to perform coherent demodulation is to synchronize the receiver's local carrier with the modulated carrier using a phase locked loop (PLL). PLLs attempt to eliminate the phase error between the modulated carrier and the local carrier. One component of a PLL is a phase detector.
In digital communications, and particularly in mobile digital communications, it is beneficial to employ circuitry that is fast, inexpensive, relatively simple, and power efficient. Accordingly, research and development continue into improving the designs of PLLs.
According to one aspect, there is provided a method for generating a metric that is a function of a phase difference between a modulated carrier and a local carrier. The method includes obtaining a baseband symbol from the modulated carrier that is modulated using the symbol according to a modulation whose constellation diagram has M-fold rotational symmetry, wherein M is a positive integer greater than or equal to 2; determining a received phase of the symbol; and generating the metric from the received phase, wherein possible metrics depend on possible received phases according to a base function that comprises a triangle wave having positively and negatively sloped linear segments whose slopes have identical absolute values and that is periodic with a period of 2π/M radians.
According to another aspect, there is provided a method for generating a metric that is a function of a phase difference between a modulated carrier and a local carrier. The method includes obtaining a baseband symbol from the modulated carrier that is modulated using the symbol according to a modulation order (M) equaling the number of distinct ideal symbol phases used to modulate the modulated carrier, wherein ideal symbol phases are uniformly distributed within any continuous phase interval spanning 2π radians; determining the phase of the symbol; and generating the metric from the phase, wherein possible metrics depend on possible phases according to a base function that comprises a triangle wave having positively and negatively sloped linear segments whose slopes have identical absolute values and that is periodic with a period of 2π/M radians, wherein the ideal symbol phases correspond to identically valued metrics located on the triangle wave.
The maxima and minima of the triangle wave may have identical absolute values.
The base function may have a value of zero at each of the ideal symbol phases.
The ideal symbol phases may correspond to identical values for the metric located along either the positively sloped linear segments or the negatively sloped linear segments.
The modulated carrier may be modulated according to QAM and, optionally, Rectangular QAM.
The number of modulation symbols may equal 2k, wherein k is a positive integer.
The modulated carrier may be modulated according to M-ary phase shift keying. Optionally, M may equal 2k, wherein k is a positive integer.
The modulation may be selected from the group consisting of BPSK, QPSK, 8-PSK, 16-PSK, Rectangular QAM-4, Rectangular QAM-16, Rectangular QAM-64, Rectangular QAM-256, Rectangular Offset-QAM-16, Rectangular Offset-QAM-64, Rectangular Offset-QAM-256, Offset-QP SK, Offset-8PSK, Offset-16PSK, and Minimum Shift Keying.
The received phase may be expressed as being between [−π,π) radians prior to generating the metric, and the base function may be implemented such that it spans only [−π,π) radians.
The received phase may be encoded using an encoding scheme that linearly encompasses substantially all of the possible received phases.
The metric may be generated as a function of a principal angle that is directly proportional to the received phase modulo (π/2M).
The principal angle may be normalized such that its supremum equals the absolute value of the maxima of the triangle wave.
The principal angle may include one or more of the least significant bits of the received phase.
Generating the metric may involve inverting the principal angle as a function of one or more bits of the received phase; and adding one of A, −A or 0 to the principal angle or its inverse as a function of two or more bits of the received phase, wherein A is the absolute value of the maxima of the triangle wave.
The encoding scheme may be one's complement, two's complement, or sign-magnitude encoding, the received phase may have b bits, and M may equal 2k, wherein k is a positive integer.
The principal angle may include a plurality of the most significant bits of bits [b−3−log 2M:0] of the received phase.
The principal angle may be proportional to a binary number that includes a plurality of the most significant bits of bits [b−3−log 2M:0] of the received phase.
Generating the metric may include inverting the principal angle as a function of one or more of the bits [b−1−log 2M:b−2−log 2M] of the received phase; and adding either A, −A or 0 to the principal angle or its inverse as a function of bits [b−1−log 2M:b−2−log 2M] of the received phase, wherein A is the absolute value of the maxima of the triangle wave.
According to another aspect, there is provided a phase detector for generating a metric that is a function of a phase difference between a modulated carrier and a local carrier. The phase detector includes a front end configured to obtain a baseband symbol from the modulated carrier that is modulated using the symbol according to a modulation whose constellation diagram has M-fold rotational symmetry, wherein M is a positive integer greater than or equal to 2; a phase determiner communicatively coupled to the front end and configured to determine a received phase of the baseband symbol; and a metric generator communicatively coupled to the phase determiner and configured to generate the metric from the received phase, wherein possible metrics depend on possible received phases according to a base function that comprises a triangle wave having positively and negatively sloped linear segments whose slopes have identical absolute values and that is periodic with a period of 2π/M radians.
According to another aspect, there is provided a phase detector for generating a metric that is a function of a phase difference between a modulated carrier and a local carrier. The phase detector includes a front end configured to obtain a baseband symbol from the modulated carrier that is modulated using the symbol according to a modulation order (M) equaling the number of distinct ideal symbol phases used to modulate the modulated carrier, wherein ideal symbol phases are uniformly distributed within any continuous phase interval spanning 2π radians; a phase determiner communicatively coupled to the front end and configured to determine the phase of the baseband symbols; and a metric generator communicatively coupled to the phase determiner and configured to determine the metric from the phase, wherein possible metrics depend on possible phases according to a base function that comprises a triangle wave having positively and negatively sloped linear segments whose slopes have identical absolute values and that is periodic with a period of 2π/M radians, wherein the ideal symbol phases correspond to identically valued metrics located on the triangle wave.
The maxima and minima of the triangle wave may have identical absolute values.
The base function may have a value of zero at each of the ideal symbol phases.
The ideal symbol phases may correspond to identical values for the metric located along either the positively sloped linear segments or the negatively sloped linear segments.
The modulated carrier may be modulated according to QAM and, optionally, Rectangular QAM.
The number of modulation symbols may equal 2k, wherein k is a positive integer.
The modulated carrier may be modulated according to M-ary phase shift keying and, optionally, M may equal 2k, wherein k is a positive integer.
The modulation may be selected from the group consisting of BPSK, QPSK, 8-PSK, 16-PSK, Rectangular QAM-4, Rectangular QAM-16, Rectangular QAM-64, Rectangular QAM-256, Rectangular Offset-QAM-16, Rectangular Offset-QAM-64, Rectangular Offset-QAM-256, Offset-QPSK, Offset-8PSK, Offset-16PSK, and Minimum Shift Keying.
The phase determiner may be configured to express the received phase as being between [−π,π) radians, and the base function may be implemented such that it spans only [−π,π) radians.
The phase determiner may be configured to encode the received phase using an encoding scheme that linearly encompasses substantially all of the possible received phases.
The metric generator may be configured to determine for the received phase a principal angle that is directly proportional to the received phase modulo (π/2M) and to determine the metric as a function of the principal angle.
The metric generator may be configured to normalize the principal angle such that its supremum equals the absolute value of the maxima of the triangle wave.
The phase determiner may encode the received phase such that the principal angle comprises one or more of the least significant bits of the phase.
The phase determiner may encode the received phase such that one or more bits (inversion control bits) of the received phase indicate whether to invert the principal angle and such that two or more bits (selection bits) of the received phase indicate whether to add A, −A or 0 to the principal angle or its inverse, wherein A is the absolute value of the maxima of the triangle wave, and the metric generator may include inverting hardware having (i) a data input to which the principal angle is input; (ii) an inversion control input to which the inversion control bits are input; and (iii) a data output that outputs the inverse of the principal angle when the inversion control bits indicate the principal angle is to be inverted and otherwise outputs the principal angle; data selection hardware having (i) data inputs to which A, −A or 0 is input; (ii) a data selection input to which the selection bits are input; and (iii) a data output that outputs either A, −A or 0 in accordance with which one of the data inputs of the data selection hardware is selected by the selection bits; and adding hardware having (i) data inputs communicatively coupled to the data outputs of the inverting hardware and the data selection hardware; and (ii) a data output that outputs the sum of signals at the data inputs of the adding hardware.
The inverting hardware may include a first XOR gate configured to receive the inversion control bits and an array of XOR gates each having one input to receive one bit of the principal angle, wherein the output of the first XOR gate is communicatively coupled to another input of each of the XOR gates in the array. The data selection hardware may include a multiplexer. The adding hardware may include an adder.
A may be 1.
The phase determiner may encode the received phase such that a principal angle precursor includes one or more of the least significant bits of the received phase, and the principal angle may be directly proportional to the principal angle precursor.
The phase determiner may encode the received phase such that one or more bits (inversion control bits) of the received phase indicate whether to invert the principal angle precursor and such that two or more bits (selection bits) of the received phase indicate whether to add A, −A or 0 to the principal angle or its inverse, wherein A is the absolute value of the maxima of the triangle wave, and the metric generator may include inverting hardware comprising (i) a data input to which the principal angle precursor is input; (ii) an inversion control input to which the inversion control bits are input; and (iii) a data output that outputs the inverse of the principal angle precursor when the inversion control bits indicate the principal angle precursor is to be inverted and otherwise outputs the principal angle precursor; data selection hardware having (i) a data input to which A, −A and 0 are input; (ii) a data selection input to which the selection bits are input; and (iii) a data output that outputs either A, −A or 0 in accordance with which one of the data inputs of the data selection hardware is selected by the selection bits; amplification hardware having (i) a data input communicatively coupled to the data output of the inverting hardware; and (ii) a data output that outputs the amplification of the signal at the data input; and adding hardware having (i) data inputs communicatively coupled to the data outputs of the amplification hardware and the data selection hardware; and (ii) a data output that outputs the sum of signals at the data inputs of the adding hardware.
The phase determiner may encode the received phase in one's complement, two's complement, or sign-magnitude encoding. The received phase may have b bits and M may equal 2k wherein k is a positive integer, and the principal angle may include a plurality of the most significant bits of bits [b−3−log 2M:0] of the received phase.
The phase determiner may encode the received phase such that one or more of bits [b−1−log 2M:b−2−log 2M] (inversion control bits) of the received phase indicate whether to invert the principal angle and such that bits [b−log 2M−1:b−log 2M−2] (selection bits) of the received phase indicate whether to add A, −A or 0 to the principal angle or its inverse, wherein A is the absolute value of the maxima of the triangle wave, and the metric generator may include inverting hardware having (i) a data input to which the principal angle is input; (ii) an inversion control input to which the inversion control bits are input; (iii) a data output that outputs the inverse of the principal angle when the inversion control bits indicate the principal angle is to be inverted and otherwise outputs the principal angle; data selection hardware having (i) data inputs to which A, −A or 0 are input; (ii) a data selection input to which the selection bits are input; and (iii) a data output that outputs either A, −A or 0 in accordance with which one of the data inputs of the data selection hardware is selected by the selection bits; and adding hardware having (i) data inputs communicatively coupled to the data outputs of the inverting hardware and the data selection hardware; and (ii) a data output that outputs the sum of the data outputs of the inverting hardware and the data selection hardware.
The inverting hardware may be a first XOR gate configured to receive the inversion control bits and an array of XOR gates each having one input to receive one bit of the principal angle, wherein the output of the first XOR gate is communicatively coupled to another input of each of the XOR gates in the array. The data selection hardware may be a multiplexer. The adding hardware may be an adder.
A may be 1.
The phase determiner may encode the received phase in one's complement, two's complement, or sign-magnitude encoding, wherein the received phase may have b bits and M may equal 2k wherein k is a positive integer. The principal angle may be proportional to a principal angle precursor that includes a plurality of the most significant bits of bits [b−3-log 2M:0] of the received phase.
The phase determiner may encode the received phase such that one or more of the bits [b−1−log 2M:b−2−log 2M] (inversion control bits) of the received phase indicates whether to invert the principal angle precursor and such that bits [b−log 2M−1:b−log 2M−2] (selection bits) of the received phase indicate whether to add A, −A or 0 to the principal angle or its inverse, wherein A is the absolute value of the maxima of the triangle wave, and the metric generator may include inverting hardware having (i) a data input to which the principal angle precursor is input; (ii) an inversion control input to which the inversion control bits are input; and (iii) a data output that outputs the inverse of the principal angle precursor when the inversion control bits indicate the principal angle precursor is to be inverted and otherwise outputs the principal angle precursor; data selection hardware having (i) a data input to which A, −A and 0 are input; (ii) a data selection input to which the selection bits are input; and (iii) a data output that outputs either A, −A or 0 in accordance with which one of the data inputs of the data selection hardware is selected by the selection bits; amplification hardware having (i) a data input communicatively coupled to the data output of the inverting hardware; and (ii) a data output that outputs the amplification of the signal at the data input; and (d) adding hardware having (i) data inputs communicatively coupled to the data outputs of the amplification hardware and the data selection hardware; and (ii) a data output that outputs the sum of signals at the data inputs of the adding hardware.
The inverting hardware may include a first XOR gate configured to receive the inversion control bits and an array of XOR gates each having one input to receive one bit of the principal angle precursor, wherein the output of the first XOR gate is communicatively coupled to another input of each of the XOR gates in the array. The data selection hardware may include a multiplexer. The amplification hardware may include a bit shifter. The adding hardware may include an adder.
According to another aspect, there is provided a phase detector for generating a metric that is a function of a phase difference between a modulated carrier and a local carrier. The phase detector includes selecting means for selecting one of A, −A or 0 in response to selection bits; inverting means for inverting a principal angle in response to inversion control bits; and adding means, communicatively coupled to outputs of the selecting means and the inverting means, for adding one of A, −A or 0 to the principal angle or its inverse to generate the metric, wherein the modulated carrier is modulated using a symbol according to a modulation order (M) equaling the number of distinct ideal symbol phases used to modulate the modulated carrier, wherein ideal symbol phases are uniformly distributed within any continuous phase interval spanning 2π radians, and wherein the principal angle is modulo (π/2M) of the phase of the symbol, normalized to have a supremum of A.
According to another aspect, there is provided a phase detector for generating a metric that is a function of a phase difference between a modulated carrier and a local carrier. The phase detector includes selecting means for selecting one of A, −A or 0 in response to selection bits; inverting means for inverting a principal angle in response to inversion control bits; and adding means, communicatively coupled to outputs of the selecting means and the inverting means, for adding one of A, −A or 0 to the principal angle or its inverse to generate the metric, wherein the modulated carrier is modulated using a symbol according to a modulation whose constellation diagram has M-fold rotational symmetry, wherein M is a positive integer greater than or equal to 2, and wherein the principal angle is modulo (π/2M) of the phase of the symbol, normalized to have a supremum of A.
The modulation may be selected from the group consisting of BPSK, QPSK, 8-PSK, 16-PSK, Rectangular QAM-4, Rectangular QAM-16, Rectangular QAM-64, Rectangular QAM-256, Rectangular Offset-QAM-16, Rectangular Offset-QAM-64, Rectangular Offset-QAM-256, Offset-QPSK, Offset-8PSK, Offset-16PSK, and Minimum Shift Keying.
According to another aspect, there is provided an apparatus for evaluating a base function. The apparatus includes a front end configured to obtain a baseband symbol from a modulated carrier that is modulated using the symbol according to a modulation; a phase determiner communicatively coupled to the front end and configured to determine a received phase of the baseband symbol; and a metric generator communicatively coupled to the phase determiner and configured to generate the metric from the received phase, wherein possible metrics depend on possible received phases according to a base function that comprises a triangle wave having positively and negatively sloped linear segments whose slopes have identical absolute values and that is periodic with a period of 2π/N radians, wherein N is a positive integer greater than 1.
In the accompanying drawings, which illustrate one or more exemplary embodiments:
Carrier phase error elimination in M-PSK receivers is usually achieved via one of two methods. The first technique uses a feedforward phase estimator to estimate the phase error, and that estimate is then used to demodulate the received and modulated signal. The second technique is the use of feedback, namely the removal the carrier phase error using a Phase Locked Loop (PLL) that attempts to cancel the phase error between the local and received carriers.
Carrier synchronization Phase Lock Loops (PLLs) obtain an estimate of the phase error via a carrier Phase Detector (PD). There are two general types of PDs: Non Data Aided (NDA) and Decision Directed (DD). One common problem with the DD and NDA detectors is that their gain is strongly dependent upon the input signal levels and the AGC (Automatic Gain Control) circuit's operating point and performance. If the PD's gain is variable with one or both of signal level and AGC performance, this means that the carrier PLL's characteristics will vary accordingly, which means that a non-optimal AGC causes a similar non-optimality of the performance of the carrier PLL.
The following embodiments are directed at NDA phase detector structures for carrier synchronization for M-PSK or other modulations. These detectors allow the carrier PLL to become nearly independent of the AGC and signal levels while enjoying relatively good performance. Unlike conventional phase detectors, some of the following embodiments can be implemented relatively compactly, allowing them to be practically deployed using devices such as an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit). Additionally, the following embodiments allow multiple modulations to be supported by the same receiver with relatively little added complexity in order to support multiple modulations. The phase detector includes a metric generator into which is input the recovered instantaneous phase of a symbol used to modulate the modulated carrier. The metric generator generates a metric that is a function of a phase difference between a modulated carrier and a local carrier.
A simplified diagram of the front-end of a receiver under discussion is shown in
The modulated signal 100 that is present at the output of the receiver's intermediate frequency (IF) downconversion stage is Re[m(t)exp(jωit+j+θi)]n(t), where n(t) is the noise process, with ωi being the received IF carrier frequency in radians/sec, and θi (in radians) being the phase of the received IF carrier. In alternative embodiments the receiver may not have an intermediate frequency, or may have several intermediate frequencies, in which case appropriate modifications need to be made to the exemplary embodiments. Hence, the description of the exemplary embodiments should not be construed as limiting.
Alternative embodiments can be conceived in order to handle modulations that are related to M-PSK, such as O-MPSK (Offset MPSK), D-O-MPSK (Differential Offset MPSK), MSK (Minimum Shift Keying), GMSK (Gaussian Minimum Shift Keying), π/M-MPSK, D-π/M-MPSK (Differential π/M-MPSK), FQPSK (Feher's QPSK), 3π/M-8PSK, D-3π/M-8PSK (Differential 3π/M-8PSK), QAM (Quadrature Amplitude Modulation), OQAM (Offset QAM), PAM-PSK (Pulse Amplitude Modulation Phase Shift Keying), Offset-PAM-PSK, CPM (Continuous Phase Modulation) and its variants, and Trellis Coded Modulation (TCM) and its variants.
In the following, for the purpose of describing the exemplary embodiment, unless otherwise stated the description of the exemplary embodiment assumes an M-PSK signal wherein M is a positive integer power of 2, i.e. M equals 2k, wherein k is a positive integer. However alternative embodiments are possible for other modulation types, as mentioned above.
The matched filters' 120, 135 response is p*(−t) (where “*” denotes complex conjugation), θo (radians) is the phase of the receiver local carrier 165, and ωo=ωi+Δω (radians/sec) is the local carrier frequency (Δω is the frequency error between the received and local carriers in radians/sec). A quadrature receiver front end is assumed for the demodulator of the exemplary embodiment, i.e. multiplication by multipliers 105, 110 by the local carrier and its quadrature which is generated by passing the local carrier through a 90 degree phase shifter 115. Alternative embodiments may use other types of receiver front ends and, accordingly the exemplary embodiment presented here should not be construed as limiting. The local oscillator 165 in the exemplary embodiment is controlled by the output of the loop filter 162 which has as its input the output of the carrier phase detector 160. However, in alternative embodiments the oscillator may be controlled or may be free running, depending on the receiver architecture, and, moreover, the receiver structure may be implemented in analog, digital, or mixed logic, etcetera. Moreover, the phase detector may be used in embodiments employing feedback or feed-forward architectures or combinations thereof. For the purposes of describing this embodiment, symbol timing synchronization is assumed, and the Nyquist criterion for zero ISI is assumed obeyed at the outputs of the matched filters 120, 135. Optionally, amplifiers 125, 140 are included after the matched filters 120, 135. The quantity K for the amplifiers 125, 140 may be a true amplification or it may be a mathematical equivalent (preferably AGC-controlled) I-Q arm gain. In many receivers, K is a slow function of time, and is controlled by the AGC in order to attain the desired signal level at the inputs of the I and Q samplers so that they are not saturated yet their full dynamic range is utilized. The I(t) and Q(t) signals are sampled by samplers 130, 145, which operate at a rate of preferably at least 1/T Hertz, from which the relevant samples spaced 1/T seconds apart (corresponding to optimal sampling instances for each symbol) are extracted for the structures of this embodiment. In an alternative embodiments the sampling rate could be higher than 1/T Hertz. In such cases, the samples that correspond to the baseband symbols are extracted, preferably either via sample selection, or via interpolation, or both; the samples that are used ideally, but do not necessarily, correspond to the ideal sampling instances for the received symbols. These ideal sampling instances are usually determined via a symbol sampling synchronization or determination circuit that is contained within the receiver. In yet other embodiments, the sampling rate may be less than 1/T. In such cases, the structures presented herein would operate upon a subset of the received symbols, which is also possible.
The notations nI(t) and nQ(t) refer to the noise present before the (actual or equivalent) amplifiers 125, 140 in the I and Q arms, respectively. In many systems, this noise signal's source is an Additive White Gaussian Noise (AWGN) that is present in the channel, an assumption that is made for the purposes of describing this embodiment.
Following sampling, I(n)=K(2ES·cos(−Δω·T+θe+φn)+nI(nT)) 150 and Q(n)=K(2ES·sin(−Δω·T+θe+φn)+nQ(nT)) 155 are generated, with θe≡θi−θo and nI(nT),nQ(nT)˜N(0,2N0ES), where
is the symbol energy and N0/2 is the AWGN power spectral density. The phase of the received (complex) baseband symbol rn≡I(n)+j·Q(n) is φn≡tan−1(Q(n)/I(n)), which as discussed in more detail below is the instantaneous phase of the received baseband symbol 405 (“received phase”). In polar coordinates, rn=|rn|exp(jφn).
Without loss of generality, for mathematical convenience it can be assumed that ∀n , φn=0, whereupon:
The received phase φn 405 is independent of the value of K of the amplifiers 125, 140, as can be seen by the fact that K does not appear in (1). Since the exemplary embodiments rely on operations upon φn 405, this means that the embodiments herein do not depend upon K nor upon the AGC's control of K. This is advantageous, since the AGC is usually non-ideal and the value of K usually does fluctuate. The only dependence on the AGC is indirect and weak, and will manifest itself if the AGC is so bad that I(t) 128 and Q(t) 142 are either overdriven or underdriven, which will cause one or more of the effects known by those skilled in the art as saturation, compression, and quantization noise to be significant. However, usually the AGC can easily be made to be sufficiently robust in order to prevent frequent occurrences of overdriving and underdriving, so that the independence of the exemplary embodiment from K is a real and substantial advantage in practice.
Let:
Δφn≡φn−(−ΔωnT+θe) (2)
Since it has been assumed for mathematical convenience in a non-limiting manner that ∀n,φn=0, the physical meaning of Δφn is clear: it is the phase error in the received phase of any one of the received baseband symbols, φn 405, relative to the symbol's ideal phase φn, that can be attributed to noise, nI(nT) and nQ(nT) (to see this, substitute nI(nT)=nQ(nT)=0 in the expressions for 1(n) and Q(n), and then φn=tan−1(Q(n)/I(n))=−ΔωnT+θeΔφn=φn−(−ΔωnT+θe)=0). Δφn as defined in (2) is distributed as a Rician phase pdf (probability distribution function) given by:
where −π≦Δφ≦π.
Implementation of the Phase Determiner 400
A phase determiner 400 in the form an inverse tangent function is used to generate φn 405. Although in the depicted embodiments the inverse tangent function is used to implement the phase determiner 400, in alternative embodiments (not depicted) the phase determiner 400 may be implemented in a different manner, and not necessarily using the inverse tangent function. The phase determiner 400 can be the same one used for determining the signal phase for subsequently making decisions upon the received symbols (a common task in demodulators). Moreover, φn 405 can be used elsewhere in the receiver regardless of the value of M. Therefore, if structures are implemented for various Ms in the same receiver, such as in a receiver that has support for several modulations, the receiver may use one instance of the phase determiner 400. This reduces the resources needed and is another advantage of the exemplary embodiment. The inverse tangent in the exemplary embodiment is one whose range is [−π,π), that is, it takes into account the quadrant in which rn is present. For example, it behaves similarly to the function a tan 2 in the program Matlab™.
For some modulations, such as some instances of circular QAM and some instances of PAM-PSK (Pulse Amplitude Modulation Phase Shift Keying), the modulation may have two or more-fold rotational symmetry and the distinct ideal symbol phases of the modulation may be uniformly distributed. It may be possible to use multiple values of M when evaluating the base function gM(θ) for such modulations. For example, the modulation may have M-fold rotational symmetry where M is a first value, and the modulation's constellation diagram may have M distinct ideal symbol phases, where M is a second value that differs from the first value. For example, this is true for certain constellations of circular QAM and PAM-PSK. For such modulations, it is within the purview of a skilled person to select which value of M is better to use when determining the appropriate base function gM(θ).
A useful attribute of the triangular phase detector is that with clever implementation that takes advantage of the linear characteristic of the curves of gM(•), the implementations of certain embodiments of gM(θ) can be made to consume relatively few hardware resources. As already noted, the phase determiner 400 can be the same one used for decisions upon the received symbols, and therefore by using these phase detectors a relatively efficient implementation can be achieved, especially when multiple modulations are desired.
As a preliminary step, for the exemplary embodiment, the phase θ is encoded using a suitable encoding such as two's complement encoding which is b bits wide, in the exemplary embodiment from bits b−1 (the MSB (Most Significant Bit)) to 0 the LSB (Least Significant Bit). In the exemplary embodiment the MSB is the sign bit. The notation θ[x] is used in order to refer to significant bit number “x” in the binary representation of θ. “x” is not necessarily the bit with index “x” counting from the right (as is the case in two's complement, starting with bit 0 as the LSB); in general, θ[0] would refer to the LSB, θ[1] would refer to the bit which is of the least significance except for the LSB, θ[2] would refer to the bit that is of the least significance except for θ[1] and θ[0], etcetera. For example, for the exemplary embodiment, θ[b−1] is the sign bit and MSB, and θ[0] is the LSB. The notation θ[x:y] is used to denote the binary number formed by the sequence of bits θ[x], θ[x−1], θ[x−2], . . . , θ[y]. For example, θ[3:0] signifies the binary number composed of the bits θ[3], θ[2], θ[1], θ[0] (e.g., if the code representing θ is 11110011 then θ[3:0]=0011 in this case). Additionally, the codes are assigned to linearly encompass the entire angular range, i.e. [−π,π) radians. That is, the lowest possible code (=the most negative code) represents the angle −π radians, and the highest possible encoding (=the most positive code) represents π−ε radians, where ε=π/(2b-1). To give a few examples, if there are b=8 bits in the code, the code “10000000” represents the angle −π, the code “10000001” represents the number −π−π/128, “10000010” represents the angle −π2π/128 and so on; the code “00000000” represents the angle 0, the code “00000001” represents the angle π/128, the code “00000010” represents the angle 2π/128, and so on, and the highest code 01111111 represents the angle 127π/128=π−π/128=π−π/(2b-1). The purpose of this encoding is twofold. First, it maximizes the dynamic range utilization of the binary representation; since the angular range is [−π,π) radians, the binary encoding encompasses this range and no codes are wasted. Hence quantization noise is minimized and the dynamic range of the binary representation is fully utilized. Secondly, as shall be seen below this is one way in which a relatively efficient implementation of ghd M(•) can be obtained. Other encodings, such as one's-complement and sign-magnitude encoding can also similarly be used in other embodiments to attain similar efficiencies; the chosen encoding may, but does not need to, linearly encompass substantially all of the possible phases. It is also noted that the position of the LSB (which is the least significant) and MSB (which is the most significant) within the code word, as well as the position of the intermediate bits may depend on the encoding scheme used, which may vary from embodiment to embodiment. Additionally, for convenience the concatenation operation is defined as <x,y> which signifies the concatenation of the binary numbers x and y. For example, <0101,1111> is the binary number 01011111.
To see how it is possible to efficiently implement gM(•), note the linear characteristic of the base function gM(•) at each interval of length π(2M), e.g. for BPSK the intervals are [π, −3π/4), [−3π/4, −2), [−π/2, −/4), [−π/4,0), [0,π/4), [π/4,π/2), [π/2,3π/4), [3π/4,π), as can be seen in
First, a principal angle is defined as:
Note that the “mod” (modulo) function is defined such that the value of θP is positive and is between 0 and 1, i.e. its range is [0,1). That is, the infimum of θP is 0 and the supremum of θP is 1. An example of θP for BPSK can be seen in
Now, tables of the value of g2(θ) as a function of θP and g4 (θ) as a function of θP are constructed, as shown below.
For a compact hardware implementation, note that, in two's complement notation of b bits, up to an inaccuracy of the LSB, in order to compute the phase detector (assuming the MSB is bit b−1 and the LSB is bit 0):
In this way, multiplications and any other complicated operations can be avoided, and there is no need for lookup tables. The base function can be implemented using elementary gates, multiplexers, and additions. Moreover, the overhead for generating a phase detector for a different modulation is quite minimal, since no new computation of θ is necessary.
A schematic illustration of the efficient hardware implementation for computation of gM(θ) for an exemplary embodiment is shown in
This implementation of gM(•), the metric generator 410, is the one that is used in order to generate the metric gM(φn) 415, where φn 405 is the input to that function block as used in the exemplary embodiment, as shown in
For the exemplary embodiment, even though the input of gM(θ) by convention signified the range [−π,π), the output by convention spans the range [−1,1). However, this is not necessarily the case in alternative embodiments. The range which the numerical encodings span is defined according to the designer's choice; for other embodiments, the output of gM(θ) could span other ranges than [−1,1).
A SystemVerilog implementation of gM(•) for various values of M, which requires no multiplications or other complicated operations, nor any significantly size lookup table, is shown in
Although in the exemplary embodiment a signed two's complement notation is used, other numerical representations can be used, including but not limited to one or more of floating point and other fixed point or variable point notations, and non-binary encodings.
Strictly speaking obtaining the negative of a number in two's complement notation, i.e. obtaining −x for a number x, is performed via (˜x)+1, where “˜” represents bitwise inversion. The procedure described above and in
Implementation of gM (•) for Alternative Embodiments
In general, for alternative embodiments, a proportionality constant and modulo function ranges are chosen so that θP is between 0 and A, i.e. the range of θP is [0,A), where A is the absolute value of the maximum of the function gM(•). That is, the infimum of θP is 0 and the supremum of θP is A. The normalization in such cases would be
For example, for BPSK:
Similar tables can be constructed for other values of M and other modulations. These tables allow us to reach a relatively efficient implementation for the metric generator, as follows.
For a compact implementation for the exemplary embodiment, note that, in two's complement notation of b bits, up to an inaccuracy of the LSB (Least Significant Bit), in order to compute the base function (again, assuming the MSB (Most Significant Bit) is the bit of index b−1 and the LSB is the bit of index 0):
Also, for convenience, the “principal angle precursor” is defined as <0,θ[b−3−log2 M:0]> for two's complement notation. In this case, it is clear from the above definitions that θP is B multiplied by the principal angle precursor. In embodiments in which B equals one and the principal angle precursor is accordingly not amplified, the principal angle precursor and the principle angle are equal, as is the case for the embodiment described in relation to Tables 1 and 2, above. “Amplification” in the context of this disclosure does not necessarily mean that the amplitude increases; “amplification” by B in the context of this disclosure could also mean a reduction in amplitude (if B is less than 1) or no change in amplitude (if B equals 1).
A schematic illustration of an efficient implementation for computation of gM(θ) for such embodiments is shown in
In alternative embodiments, where in the various exemplary embodiments the bits θ[b−3−log2 M:0] are used, it is possible to use a plurality of the most significant bits of those bits, for example θ[b−3−log2 M:0] (all the most significant bits of θ[b−3−log2 M:0], as is done in the exemplary embodiments), or θ[b−3−log2 M:1] (all the most significant bits of θ[b−3−log2 M:0] except the LSB), or θ[b−3−log2 M:2] (all the most significant bits of θ[b−3−log2 M:0] except the two least significant bits), etc. In an embodiment that differs from the exemplary embodiment wherein not all the most significant bits of θ[b−3−log2 M:0] are used, appropriate modifications are made to other parts of the receiver to accommodate the number of bits used. Such embodiments may be useful when a further reduction in resources is desired; however, such embodiments may be more susceptible to quantization noise.
The S-curve of the phase detector is computed via a Fourier series representation of gM(φn):
(note the implicit dependence upon χ through φn). Now, using:
Given that:
where In(•) is the n-th order modified Bessel function of the first kind, the following results:
As a useful approximation, using the fact that
Then approximately at high SNR:
Expression (11) is useful for calculations at high SNR, since in some numerical programs such as Matlab™ the calculation of Bessel functions is sometimes not sufficiently accurate at high SNRs. The gain of the phase detector is:
At high SNR:
This can be verified graphically from the S-curve. The normalized gain of the phase detector is defined as:
A graph of αM,χ is shown in
The normalized equivalent loop noise at θe≈0 is defined as:
which is:
The PD's self noise is defined as:
ξM,χ≡2·χ·var(NM,χ(n)) (18)
Substituting results in:
One of the most widely accepted performance metrics of a phase detector is the phase-error variance var(θe) (or equivalently, the loop-SNR ρ≡1/var(θe)) of a PLL that uses that phase detector. This is due to the fact that the phase-error variance has an important role in determining the cycle-slip rate of the carrier synchronization PLL and the SER (Symbol Error Rate). Determination of Var(θe) via computer simulations is done using nonlinear models.
To evaluate the performance of the foregoing embodiments of the phase detector, computer simulations are used in order determine var(θe) for various types of phase detectors. In
All the structures presented in this document have been implemented in practice and proven to work by the inventor using a Terasic DE2-115 board with an Altera Cyclone IV FPGA.
The FPGA was also used to implement the phase detector disclosed in Y. Linn, “Robust M-PSK phase detectors for carrier synchronization PLLs in coherent receivers: theory and simulations,” IEEE Trans. Commun., vol. 57, no. 6, pp. 1794-1805, June 2009, as a point of comparison. In order to attain the comparison, several documents that calculate the equivalent gate count for FPGA structures were used as sources. These are documents Altera Inc. Application Note 110: Gate Counting Methodology for APEX 20K Devices, September 1999, Xilinx Inc. Application XAPP 059: Gate Count Capacity Metrics for FPGAs, February 1997 and M. H. Rais, “Efficient Hardware Realization of Truncated Multipliers using FPGA,” International Journal of Engineering and Applied Sciences, vol. 4, no. 2, 2009. From those sources, the following approximate gate equivalences are obtained:
Estimation of the number of gates from FPGA structures is an imprecise science, and those gate counts will differ from ASIC gate counts. Nonetheless, the values in Table 4 are useful for the purpose of making comparisons.
In the Altera Cyclone IV FPGA in the DE2-115 board used for tests, the following resource usage data was measured:
Comparing the results, the total number of required gates has decreased substantially, by about 74.96%, i.e. only about 25% of the logic resources are required as compared to prior art (131272 equivalent gates as opposed to 524328 for prior art). This also allows for a similar and corresponding reduction in power consumption and circuit area for the embodiment as compared to prior art.
As can be seen, the advantage of the present structures increases as the number of supported modulation increases, i.e. the advantage would be even greater if 5 or 6 modulations (e.g. also 32-PSK and 64-PSK) were implemented as well.
The above comparisons were done in a fair manner, that is, the chosen quantization for the present structures and those of the prior art were chosen so that both would have roughly the same performance.
As discussed above, in some of the foregoing embodiments of the phase detector, clever coding of the numerical representation of the symbol phases allows the phase detector to be implemented relatively compactly. Moreover, the foregoing embodiments allow for multiple modulations to be supported by the carrier PLL, requiring relatively few additional resources when adding support for additional modulations. This is advantageous over conventional phase detectors.
The performance of the embodiments described herein in terms of phase-error variance (the most widely used metric used by those skilled in the art) may be described in best-in-class. Moreover, the foregoing embodiments provide phase detection which is relatively independent from AGC performance and of signal levels. This is advantageous over many conventional phase detectors.
In addition to the hardware implementations discussed above, the foregoing embodiments may be encoded on to a computer readable medium that is readable by a processor so as to configure the receiver to have the functionality described above. The computer readable medium may be flash memory, RAM, any other suitable disc or semiconductor based memory, or any other suitable computer readable medium. Using software to implement the foregoing embodiments may be suitable when an embodiment of the base function is used that does not lend itself to a relatively efficient hardware implementation, or when the power consumption advantages of hardware are immaterial, for example.
For the sake of convenience, the example embodiments above are described as various interconnected functional blocks, which may be implemented using one or both of distinct hardware and software modules. This is not necessary, however, and there may be cases where these functional blocks or modules are equivalently aggregated into a single logic device, program or operation with unclear boundaries. In any event, the functional blocks, software, and hardware modules can be implemented by themselves, or in combination with other operations in one or both of hardware and software, or via any other suitable implementation method.
While particular example embodiments have been described in the foregoing, it is to be understood that other embodiments are possible and are intended to be included herein. It will be clear to any person skilled in the art that modifications of and adjustments to the foregoing example embodiments, not shown, are possible.
This application is entitled to the benefit of and incorporates by reference essential subject matter disclosed in International Patent Application No. PCT/CA2011/001217 filed on Nov. 1, 2011 and U.S. Patent Application No. 61/409,544 filed Nov. 3, 2010.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CA2011/001217 | 11/1/2011 | WO | 00 | 5/1/2013 |
Number | Date | Country | |
---|---|---|---|
61409544 | Nov 2010 | US |