At least one of the present embodiments generally relates to a method in a communication system, the communication system comprising a transmitter and a receiver communicating through a communication channel. The communication channel being modeled as a succession of a first linear filter, a non-linear function and a second linear filter, the method is for determining the first linear filter, the non-linear function and the second linear filter. At least one of the present embodiments also relates to a device, e.g., a transmitter or a receiver, configured to implement the method.
In a communication system, a transmitter is coupled to a receiver by way of a communication channel. The transmitter usually comprises an encoder configured to encode the input data into symbols. These symbols are then transmitted over the communication channel to the receiver. The receiver comprises a decoder configured to decode the received symbols into output data. In case of satellite communications, the communication channel comprises a satellite transponder.
In order to compensate for these effects due to non-linearities introduced by the HPA, a well-known approach comprises pre-distorting the signal transmitted by the transmitter 10. Therefore, as depicted on
Classically, the non-linear channel 18 is modelled using a Wiener-Hammerstein model as depicted on
It is thus desirable to find a method for estimating the non-linear channel that is less complex than the method based on the Volterra model.
At least one of the present embodiments generally relates to a method in a communication system comprising a transmitter and a receiver communicating through a communication channel comprising a high power amplifier, e.g. in a satellite transponder. The communication channel is modeled as a succession of a first linear filter of size L1, a non-linear function and a second linear filter of size L2, L1 and L2 being positive integers. The method comprises:
Advantageously, the method makes it possible to estimate and simulate the non-linear channel with a lower number of coefficients than with the Volterra model. Consequently, the complexity of a predistortion at the transmitter side may be decreased.
In a specific embodiment, the first pilot sequence belongs to a codebook of first pilot sequences and the method further comprises, after step b), comparing an error ∥w1−{circumflex over (r)}*x1∥ with a threshold value and going back to step a) with a next first pilot sequence of the codebook in the case where ∥w1−{circumflex over (r)}*x1∥ is above a threshold value and continuing to step c) otherwise.
In a specific embodiment, estimating r responsive to the first pilot sequence x1 and the first received sequence w1 comprises determining {circumflex over (r)} as follows using a least square method:
where x1H denotes the conjugate transpose of x1.
In a specific embodiment, determining a plurality of candidates for the first linear filter responsive to the estimated {circumflex over (r)} comprises:
In a specific embodiment, the non-linear function c( ) being defined as follows: c(ui(n))=Σk=1Kγ(k)uik(n), where K is a positive integer, determining the non-linear function and selecting one candidate for the first linear filter among the plurality candidates responsive to the second pilot sequence and the second received sequence comprises:
At least one of the present embodiments generally relates to a predistortion method comprising:
At least one of the present embodiments generally relates to a transmitting method comprising predistorting a signal by applying a predistortion function before transmission, wherein the predistortion function is adapted according to the predistortion method.
At least one of the present embodiments generally relates to a transmitter in a communication system comprising a receiver, the transmitter and the receiver communicating through a communication channel comprising a high power amplifier, e.g. in a satellite transponder. The communication channel is modeled as a succession of a first linear filter of size L1, a non-linear function and a second linear filter of size L2, L1 and L2 being positive integers. The transmitter is configured to:
At least one of the present embodiments generally relates to a receiver in a communication system comprising a transmitter, the transmitter and the receiver communicating through a communication channel comprising a high power amplifier, e.g. in a satellite transponder. The communication channel is modeled as a succession of a first linear filter of size L1, a non-linear function and a second linear filter of size L2, L1 and L2 being positive integers. The receiver is configured to:
At least one of the present embodiments generally relates to a computer program product comprising program code instructions that can be loaded in a programmable device, the program code instructions causing implementation of the method according to any one of the previous embodiments when the program code instructions are run by the programmable device.
At least one of the present embodiments generally relates to a storage medium storing a computer program comprising program code instructions, the program code instructions causing implementation of the method according to any one of the previous embodiments when the program code instructions are read from the storage medium and run by a programmable device.
The characteristics of the invention will emerge more clearly from a reading of the following description of at least one example of embodiment, said description being produced with reference to the accompanying drawings.
The present embodiments may be implemented in a communication system such as the satellite communication system 1 depicted on
Following the notations of
The non-linear function can be modelled as a polynomial of order K as follows:
Moreover, assuming that this function is linear when the amplitude ∥u(n)∥ is small enough, i.e. /u(n)/<μ, c(u(n)) can be rewritten as follows:
This assumption holds as most amplifiers HPA exhibit a linear amplifying characteristic when the amplitude of the input signal is not too high, i.e. is inferior to a threshold value μ. The value μ depends on the HPA used. As an example, the “Input Back-Off” (IBO) is often taken as the difference between the amplifier's saturation level and μ. In some cases, the characteristic with small amplitude may only be quasi-linear in which case c(u(n))=γ(1)u(n)+ϵ, meaning that the impact of the residual non-linearity is treated as a noise term ϵ.
When the amplitude ∥u(n)∥ is small enough, e.g., /u(n)/<μ, the signal is said to have a low peak amplitude.
The output of the second linear filter g is Σi=0L
Finally, the output of the system is w(n)=e(n)+Σi=0L
In a step S40, the transmitter 10 sends a first pilot sequence x1 and the receiver 14 receives a first sequence w1. The first pilot sequence x1 of length N is chosen such that u=x1*h has low peak amplitude, i.e. such that u has a peak amplitude lower than a value μ or at least such that u exceeds μ with low frequency. Using a first pilot sequence of low peak amplitude makes it possible to avoid, at least partly, the non-linear part of the amplifier. In one embodiment, x1 is wideband in order to identify the relevant spectrum of h.
The first pilot sequence x1 can for instance be chosen as a sum of K sinusoids such as:
in the case of real signals or
in the case of complex signals
where pk is the power associated with the sinusoid of index k, θk is the phase and T is the period of the periodic signal x1.
The phase θk is chosen such that the peak amplitude is minimized. For real signals, determining the phase θk can be done for instance as disclosed in the document from Schroeder entitled “Synthesis of low-peak-factor signals and binary sequences with low autocorrelation” published in IEEE Trans. Inf. Theo., Vol 16, No 1, January 1970. This document considers the problem of how to adjust the phase angle of a periodic signal with a given power spectrum to minimize its peak-to-peak amplitude. A formula for the phase angles is thus derived that yields generally low peak factors. For complex signals, determining the phase θk can be done as disclosed in the document from Chu entitled “Polyphase codes with good periodic correlation properties” published in vol. 18, no. 4, pp. 531-532, July 1972. If the filter h has a linear phase, the peak amplitude of u is the same as the one of x1.
In another embodiment, the first pilot sequence x1 can for instance be chosen as a pseudo white random pilot sequence.
In the following, r is defined as the convolutional product of the filter h and g, i.e. r=h*g. In order to obtain an estimate the linear filter r with a given accuracy the length N of the sequence x1 may be determined, for example, as disclosed in the document from Rabiner et al. entitled “FIR System Modeling and Identification in the Presence of Noise and with Band-Limited Inputs” published in August 1978. In this document, the quality of the estimate is assessed via the following Q measure:
where Δr2(n)=(r(n)−{circumflex over (r)}(n)), with {circumflex over (r)}(n) the coefficients of the estimated filter.
With a least square method, the Q measure can be approximated as follows
with the SNR in dB. Therefore,
The SNR is the ratio between the average power of the signal x1 and the average power of the signal e(n). Q is fixed by the user. The quality of the channel estimation depends on the value of Q.
In a step S42, the linear filter r=h*g is estimated responsive to x1 and w1 using a least square method. More precisely, the impulse response of the filter r is estimated using the least square method as follows:
where x1H denotes the conjugate transpose of x1, i.e. x1H=
In a step S44, given the estimated filter {circumflex over (r)}, Nb candidates hi are computed for h, where Nb is a positive integer. The maximum number of candidates Nbmax is given by the binomial coefficient
In the z-domain, R(z)=H(z)G(z). Consequently, the roots of the polynomial R(z) come either from H(z) or G(z). As a result, H(z) is obtained from one of the combinations of L1 roots among the L1+L2 roots of R(z).
This step is detailed on
As an example, considering the roots z1 and z2, H(z)=(z−z1)(z−z2)=z2−(z1+z2)*z+z1*z2. In this case, the coefficients of the candidate filter hi are [1;z1+z2; z1*z2]. To each candidate hi corresponds a unique gi. Indeed, in the case where R(z)=(z−z1)(z−z2)(z−z3)(z−z4), once H(z) is set to be equal to (z−z1)(z−z2), then G(z)=(z−z3)(z−z4). Therefore, the coefficients of the filter gi are [1;z3+z4; z3*z4].
In a specific embodiment, a priori information on the filter h is considered to reduce the number of candidates, i.e. Nb<Nbmax. For instance, the following information may be used:
Indeed, if the estimated filter h is known to be a low-pass filter or a high-pass filter, the roots cannot take some values. This eliminates directly some roots for R and consequently some candidates hi.
If there are some symmetries, some roots are grouped and thus belongs either to H(z) or to G(z).
Moreover, the filter sizes L1 and L2 can be chosen shorter than their true values (i.e. the values of the filters to be estimated) to reduce the complexity if needed, as done in the Volterra approach.
In a step S45, the transmitter 10 sends a second pilot sequence x2 and the receiver 14 receives a second sequence w2. The second pilot sequence x2 is defined such that its peak amplitude is higher than the peak amplitude of x1. More precisely, x2 is defined such that u=x2*h has a high peak amplitude, i.e. such that u has a peak amplitude greater than μ or at least such that such that u exceeds μ with high frequency.
In a step S46, the non-linearity c(.) is determined and one candidate hi among the set of Nb candidates computed at step S42 is selected responsive to x2 and w2. Consequently, one gi is also determined since a unique gi corresponds to each candidate hi. This step is further detailed on
The steps S42 to S46 may be implemented in the transmitter 10 or in the receiver 14.
In one embodiment, the receiver 14 knowing x1, x2, w1 and w2 implements the steps S42 to S46 to estimate h, c and g. Then, the receiver 14 may transmit estimated h, c and g to the transmitter 10 using a reliable return channel, or coefficients representing the predistortion function if applicable, said coefficients being obtained responsive to the estimated h, c and g. The transmitter 10 is then responsible for adapting the considered predistortion function f′( ) or selecting a predistortion function responsive to the estimated h, c and g. In this latter case, each predistortion function in the codebook is for example defined by a look-up table.
In a variant, in the case where a codebook of predistortion functions is used, the receiver 14 may select an appropriate pre-distortion function in the codebook responsive to the estimated h, c, g and then transmits to the transmitter 10 an index identifying the selected predistortion function.
In another variant, the receiver 14 estimate h, c and g and, then applies an equalization function whose weights are adapted responsive to the estimated h, c and g. The equalization function replaces the predistortion applied on the transmitter side.
In another embodiment, the receiver 14 transmits w1 and w2 back to the transmitter 10 using a reliable return channel. In this case, the transmitter 10 knowing x1, x2, w1 and w2 implements the steps S42 to S46 to estimate h, c and g and then adapts the predistortion function f′( ) from estimated h, c and g or select a predistortion function in a codebook of predistortion functions responsive to the estimated h, c and g. The transmitter 10 is then able to apply the pre-distortion function f′( ) on each signal to be transmitted.
In all embodiments, h, c and g may be estimated once and for all before any transmission of a relevant signal. In a variant, h, c and g may be re-estimated regularly. Each time h, c and g are estimated, the predistortion function is adapted or a new predistortion function is selected. In an embodiment, the sequences x1 and x2 may be uniquely defined in a standard.
In a variant, illustrated by
Steps S40 to S42 applies with a first sequence x1 of the codebook.
After S42, the receiver 14 compares, at step S43, an error ∥w1−{circumflex over (r)}*x1∥ with a threshold value μ. In the case where the error ∥w1−{circumflex over (r)}*x1∥ is above the threshold value, the receiver 14 either requests the transmitter 10 to select and then send a next sequence x1 of the codebook or selects itself a next sequence x1 in the codebook and requests the transmitter 10 to send the selected pilot sequence x1 in order to obtain a corresponding w1.
The steps S40 to S42 are thus repeated until a sequence x1 is selected in the codebook whose error ∥w1−{circumflex over (r)} *x1∥ is below the threshold value. This latter pilot sequence x1 is then used with x2 for estimating h, c and g.
In another variant, the receiver 14 sends the error ∥w1−{circumflex over (r)}*x1∥ back to the transmitter 10. The transmitter 10 then selects a next pilot sequence x1 in the codebook and transmits the selected pilot sequence x1 to the receiver 14 to obtain a corresponding w1. The steps S40 to S42 are thus repeated until a sequence x1 is selected in the codebook whose error ∥w1−{circumflex over (r)}*x1∥ is below the threshold value. This latter pilot sequence x1 is then used with x2 for estimating h, c and g.
At a step S460, an index i is first initialized to a first value i0, e.g. i0=0.
At a step S462, a corresponding unique gi is computed from hi. Indeed, G(z)=R(z)/Z(hi). As an example, in the case where R(z)=(z−z1)(z−z2)(z−z3)(z−z4), once H(z) is set to be equal to (z−z1)(z−z2), then G(z)=(z−z3)(z−z4). Therefore, the coefficients of the filter gi are [1;z3+z4; z3*z4]. Also, ui=x2*hi is computed.
In the Hammerstein model, w2 is obtained from ui as follows:
Therefore, at a step S464, the coefficients g′i of the Hammerstein model, i.e. c*g, are determined from the couple (ui, w2) via least square method as follows:
where ϕ(ui)=[ui, ui2, . . . , uiK].
At a step S466, the coefficients γi(k) are then computed from g′i and gi by averaging the estimates as follows:
At a step S468, the corresponding w2,i is computed with the estimated model (hi, γi) as follows: w2,i=ci(x1*hi)*gi, where ci is defined from γi by (Eq. 1).
At a step S470, (i−i0) is compared with Nb−1 in the case where (i−i0)<Nb−1, i is incremented by one at S472 and the method continues at S462. Otherwise, the method continues at S474.
At the step S474, the pair (hi, γi) leading to the smallest value ∥w2,i−w2∥ is selected. After the step S474, h, g and c are thus completely defined. More precisely, h is the hi selected at step S474, g is the gi corresponding to the selected hi and c( ) is defined from the γi computed at step S466 and from (Eq. 1).
The transmitter 10 comprises, connected by a communication bus 110: a processor or CPU (acronym of “Central Processing Unit”) 101; a random access memory RAM 102; a read only memory ROM 103; a storage unit 104 such as an hard disk or such as a storage medium reader, e.g. a SD (acronym of “Secure Digital”) card reader; and at least one set of communication interfaces COM 105 enabling the transmitter 10 to transmit and receive data.
The processor 101 is capable of executing instructions loaded into the RAM 102 from the ROM 103, from an external memory (such as an SD card), from a storage medium (such as the HDD), or from a communication network. When the transmitter 10 is powered up, the processor 101 is capable of reading instructions from the RAM 102 and executing them. These instructions form a computer program causing the implementation, by the processor 101, of the methods described in relation to
The methods described in relation to
The receiver 14 comprises, connected by a communication bus 210: a processor or CPU (acronym of “Central Processing Unit”) 201; a random access memory RAM 202; a read only memory ROM 203; a storage unit 204 such as an hard disk or such as a storage medium reader, e.g. a SD (acronym of “Secure Digital”) card reader; and at least one set of communication interfaces COM 205 enabling the receiver 14 to transmit and receive data.
The processor 201 is capable of executing instructions loaded into the RAM 202 from the ROM 203, from an external memory (such as an SD card), from a storage medium (such as the HDD), or from a communication network. When the receiver 14 is powered up, the processor 201 is capable of reading instructions from the RAM 202 and executing them. These instructions form a computer program causing the implementation, by the processor 201, of the method described in relation to
The method described in relation to
Number | Date | Country | Kind |
---|---|---|---|
21306924.8 | Dec 2021 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/023872 | 6/8/2022 | WO |