DIGITAL FILTER CIRCUIT AND SIGNAL PROCESSING METHOD
20220368572 · 2022-11-17
Assignee
Inventors
Cpc classification
H04L25/03019
ELECTRICITY
International classification
Abstract
A digital filter circuit is described. The digital filter circuit includes at least one signal input and at least one finite impulse response (FIR) filter associated with the at least one signal input. The at least one signal input is configured to receive an input signal, wherein the input signal includes a product of at least two input signal samples. The at least one FIR filter is established as a short-length FIR filter. Further, a signal processing method is described.
Claims
1. A digital filter circuit, the digital filter circuit comprising at least one signal input and at least one finite impulse response (FIR) filter associated with the at least one signal input, the at least one signal input being configured to receive an input signal, wherein the input signal is a product signal x(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a,), wherein the input signal comprises a product of at least two input signal samples, x(t.sub.α/T.sub.a), such that the input signal is given by x(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a)=Π.sub.α=0.sup.m−1x(t.sub.α/T.sub.a), wherein m is an integer greater than or equal to 2, wherein T.sub.a is a sampling time associated with the input signal, wherein the at least two input signal samples x(t.sub.α/T.sub.a) are taken at the same time or at different times t.sub.α, and the at least one FIR filter being established as a short-length FIR filter, wherein multiplications are replaced by decimated sub-filters in the short-length FIR filter.
2. The digital filter circuit of claim 1, wherein the input signal comprises a set of products of input signal samples.
3. The digital filter circuit of claim 1, wherein the product of the at least two input signal samples corresponds to a Volterra series diagonal.
4. The digital filter circuit of claim 1, wherein the digital filter circuit comprises several FIR filters and several signal inputs, each signal input being configured to receive a respective input signal comprising a product of at least two input signal samples, and each FIR filter being established as a short-length FIR filter.
5. The digital filter circuit of claim 4, wherein each input signal comprises a product of input signal samples corresponding to a different Volterra series diagonal, wherein each Volterra series diagonal is associated with a term of a Volterra series.
6. The digital filter circuit of claim 5, wherein a number of the FIR filters depends on at least one of a number of diagonals of the Volterra series and a maximum order of the Volterra series.
7. The digital filter circuit of claim 5, wherein the digital filter circuit comprises one FIR filter for a first order term of the Volterra series, or wherein the digital filter circuit comprises two FIR filters for a second order term of the Volterra series.
8. The digital filter circuit of claim 5, wherein the digital filter circuit comprises four FIR filters for a third order term of the Volterra series.
9. The digital filter circuit of claim 5, wherein the digital filter circuit comprises a summation circuit, the summation circuit being configured to sum output signals of the FIR filters.
10. The digital filter circuit of claim 1, wherein the at least one FIR filter comprises at least one of a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC).
11. The digital filter circuit of claim 1, wherein filter coefficients of the at least one FIR filter are established in a manner that the at least one FIR filter is configured to equalize a non-linear electronic system.
12. A signal processing method for processing a digital input signal, the method comprising: receiving at least one digital input signal, wherein the at least one digital input signal is a product signal x(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a), wherein the at least one digital input signal comprises a product of at least two input signal samples x(t.sub.α/T.sub.a), such that the at least one digital input signal is given by x(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a)=Π.sub.α=0.sup.m−1x(t.sub.α/T.sub.a), wherein m is an integer greater than or equal to 2, wherein T.sub.a is a sampling time associated with the at least one digital input signal, wherein the at least two input signal samples x(t.sub.α/T.sub.a) are taken at the same time or at different times t.sub.α; and processing the at least one input signal by at least one finite impulse response (FIR) filter to obtain an output signal; wherein the at least one FIR filter is established as a short-length FIR filter, and wherein multiplications are replaced by decimated sub-filters in the short length FIR filter.
13. The method of claim 12, wherein the input signal comprises a set of products of input signal samples.
14. The method of claim 12, wherein the product of at least two input signal samples corresponds to a Volterra series diagonal.
15. The method of claim 12, wherein the at least one input signal is processed by a Volterra filter circuit, wherein the Volterra filter circuit comprises the at least one FIR filter.
16. The method of claim 12, wherein several input signals are received and processed by several FIR filters, wherein each input signal comprises a product of at least two input signal samples, and wherein each FIR filter is established as a short-length FIR filter.
17. The method of claim 16, wherein output signals of the several Filters are summed in order to obtain the output signal.
18. The method of claim 16, wherein each input signal comprises a product of input signal samples corresponding to a different Volterra series diagonal.
19. The method of claim 16, wherein the input signal corresponding to a first order of the Volterra series is processed by means of one FIR filter, the input signals corresponding to a second order of the Volterra series are processed by two FIR filters, and/or the input signals corresponding to a third order of the Volterra series are processed by four FIR filters.
20. The method of claim 12, wherein the at least one FIR filter comprises at least one of a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC).
21. A digital filter circuit, the digital filter circuit comprising several signal inputs and several finite impulse response (FIR) filters associated with the several signal inputs, each signal input being configured to receive a respective input signal comprising a product of at least two input signal samples, each FIR filter being established as a short-length FIR filter, wherein each input signal comprises a product of input signal samples corresponding to a different Volterra series diagonal, wherein each Volterra series diagonal is associated with a term of a Volterra series, and each of the FIR filters being configured to determine a different term of the Volterra series associated with the different Volterra series diagonals.
Description
DESCRIPTION OF THE DRAWINGS
[0043] The foregoing aspects and many of the attendant advantages of the claimed subject matter will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
[0044]
[0045]
[0046]
[0047]
[0048]
DETAILED DESCRIPTION
[0049] The detailed description set forth above in connection with the appended drawings, where like numerals reference like elements, are intended as a description of various embodiments of the present disclosure and are not intended to represent the only embodiments. Each embodiment described in this disclosure is provided merely as an example or illustration and should not be construed as preferred or advantageous over other embodiments. The illustrative examples provided herein are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Similarly, any steps described herein may be interchangeable with other steps, or combinations of steps, in order to achieve the same or substantially similar result. Moreover, some of the method steps can be carried serially or in parallel, or in any order unless specifically expressed or understood in the context of other method steps.
[0050] In the foregoing description, specific details are set forth to provide a thorough understanding of exemplary embodiments of the present disclosure. It will be apparent to one skilled in the art, however, that the embodiments disclosed herein may be practiced without embodying all of the specific details. In some instances, well-known process steps have not been described in detail in order not to unnecessarily obscure various aspects of the present disclosure. Further, it will be appreciated that embodiments of the present disclosure may employ any combination of features described herein.
[0051]
[0052] In general, the electronic device 10 may be any kind of signal-processing electronic device or signal-generating electronic device. For example, the electronic device 10 may be established as a measurement instrument, as a broad-band amplifier, as an analog-to-digital converter, as a digital-to-analog converter, or as a signal generator. In some embodiments, the electronic device 10 may be established as an oscilloscope, vector analyzer, etc.
[0053] The non-linear electronic component 12 may be any electronic component that is configured to process an input signal x, thereby generating an output signal y. For example, the non-linear electronic component 12 may be an amplifier, an analog-to-digital converter, a digital-to-analog converter, etc.
[0054] Therein, the dependence of the output signal y on the input signal x is not linear, but comprises higher order terms. Accordingly, the output signal y is a function of the input signal x and can be written as follows
y=A.Math.x+O(x.sup.2),
[0055] i.e., as a linear term plus higher order terms. Therein, y=(y(n=0), y(n=1), . . . ).sup.T is a vector comprising the output signal samples y(n), and x=(x(n=0), x(n=1), . . . ).sup.T is a vector comprising the input signal samples x(n).
[0056] The non-linear terms may cause unwanted distortions of the output signal y.
[0057] In order to counteract these distortions, the equalizer module 14 is configured to equalize the output signal y, e.g., pre-distort a signal processed, such that the unwanted distortions are removed from the output signal y. For this purpose, the equalizer module 14 comprises a Volterra filter circuit or module 16 with filter coefficients that are adapted to remove the unwanted perturbations from the output signal y. The functionality of the Volterra filter module 16 will be described in more detail hereinafter.
[0058]
[0059] The electronic device 10 comprises a control circuit or module 18 that is configured to generate the input signal x, wherein the input signal x comprises instructions for the electronic component 12 to generate the output signal y. The equalizer module 14 may be interconnected between the control module 18 and the non-linear electronic component 12.
[0060] Accordingly, the equalizer module 14 or the Volterra filter module 16 is configured to adapt the input signal x such that the output signal y does not comprise any non-linear distortions. In other words, the Volterra filter module 16 is configured to pre-compensate, also called pre-distort, the non-linear distortions that would be caused by the non-linear electronic component 12.
[0061] Alternatively, the electronic device 10 of
[0062] The equalizer module 14 should be properly calibrated, i.e., the filter coefficients of the Volterra filter module 16 need to be properly set, such that the Volterra filter module 16 correctly equalizes the output signal y. The correct filter coefficients for the Volterra filter module can be obtained by a method for determining filter coefficients of the equalizer module 14. One example of such a method is described in the following with reference to
[0063] Without restriction of generality, the method is described in the following in the context of the electronic device 10 of
[0064] An input signal x is provided (step S1). In general, the input signal x is a calibration signal that is used in order to calibrate the equalizer module 14. Accordingly, the input signal x may have known properties, i.e. a known spectrum, known amplitudes and/or known phases.
[0065] The input signal x may be received from an external electronic device, for example from a signal generator or from a device under test. Alternatively, the input signal x may be generated by another internal electronic component of the electronic device 10.
[0066] The input signal x is processed by the non-linear electronic component 12, thereby generating the output signal y (step S2). A first mathematical model is provided, wherein the first mathematical model describes the non-linear electronic component 12 in terms of a first Volterra series.
[0067] In general, Volterra series can be used in order to describe non-linear systems that are frequency-dependent and independent of a signal level. The output signal y can then be written in terms of the input signal x as follows:
[0068] Therein, M is the maximum order of the Volterra series, h.sub.m(μ.sub.0, . . . ) are multi-dimensional impulse responses, and L.sub.m,μ is the length of the impulse response for the dimension μ and for the order m.
[0069] In other words, the non-linear electronic component 12 can be described as a Volterra filter, and may also be called Volterra system, wherein L.sub.m,μ is the length of the Volterra filter of order m for the dimension μ. This interpretation will be used in the following.
[0070] The filter coefficients h.sub.m(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a) of the Volterra system are ambiguous, as multiple filter coefficients lead to the same product signal
[0071] in equation (E.1). Therein, T.sub.a is the sampling time associated with the input signal x, i.e. ƒ.sub.a=1 /T.sub.a is the sampling frequency of the input signal x.
[0072] For example, the filter coefficients
{h.sub.2(t.sub.0/T.sub.a, t.sub.1/T.sub.a), h.sub.2(t.sub.1/T.sub.a, t.sub.0/T.sub.a)} (E.3)
[0073] of a Volterra system of order m=2 yield the same product signal x(t.sub.0/T.sub.a, t.sub.1/T.sub.a). Likewise, the following filter coefficients of a Volterra system of order m=3 yield the same product signal x(t.sub.0/T.sub.a, t.sub.2/T.sub.a):
[0074] Accordingly, there is a certain freedom of choice when describing the non-linear electronic component 12 in terms of the Volterra series of equation (E.1).
[0075] In some embodiments, the ambiguous filter coefficients h.sub.m may be chosen such that only one coefficient of a set of ambiguous coefficients is non-zero. Alternatively, the ambiguous filter coefficients may be chosen to be all equal to each other, such that a transfer function of the Volterra system has an additional symmetry.
[0076] The Fourier transform of equation (E.1) yields the spectrum Y of the output signal y:
[0077] Therein,
[0078] is the spectrum of the input signal x, and
[0079] is the transfer function of the Volterra system, i.e. the transfer function of the non-linear electronic component 12.
[0080] Moreover, N is the length of the Fourier transform, and δ.sub.1(ƒ/ƒ.sub.a) is a Kronecker-delta-operator, which operates with respect to its argument modulo 1:
δ.sub.1(ƒ/ƒ.sub.a)=δ(mod{ƒ/ƒ.sub.a, 1}) (E.8)
[0081] Transfer functions of real-valued Volterra systems have a complex conjugate symmetry:
[0082] If the impulse responses h.sub.m(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a) are symmetric, then transfer functions of Volterra systems of order m=2 have the additional symmetry
H.sub.2 (ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a)=H.sub.2(ƒ.sub.1/ƒ.sub.a, ƒ.sub.0/ƒ.sub.a) (E.10)
[0083] while the transfer functions of Volterra systems of order m=3 have the additional symmetry
[0084] In other words, the transfer functions are equal to each other at points where the individual frequencies ƒ.sub.μ/ƒ.sub.a are interchanged arbitrarily.
[0085] From equation (E.5) it can be seen that the sampling rate ƒ.sub.a associated with the input signal x is sufficient to characterize the non-linear electronic component 12 as a Volterra system. Accordingly, the sampling rate does not need to be enhanced, e.g., via an interpolation.
[0086] If the input signal x is established as a multi-frequency signal comprising a number N.sub.T of different signal components having different predefined frequencies ƒ.sub.μ/ƒ.sub.a, amplitudes A.sub.μ, and phases ϕ.sub.μ0 the input signal can be written as
[0087] In this case, the output signal spectrum Y is given by
[0088] It is noted that the multi-dimensional impulse responses of some Volterra systems, for example of low-noise amplifiers, are weakly occupied, i.e., most of the components of the multi-dimensional impulse responses are equal to zero.
[0089] If only filter coefficients of the main diagonal of the impulse responses are non-zero, the Volterra series may also be called a “memory polynomial”. If only few diagonals of the impulse responses are non-zero, the Volterra series may also be called an “extended memory polynomial”:
[0090] Therein, the term 2D.sub.m, μ+1 describes the number of diagonals of the impulse response of the Volterra system of order m with respect to dimension μ.
[0091] Based on the input signal x, the output signal y, and the first Volterra series, impulse responses and/or transfer functions of the non-linear electronic component 12 are determined (step S3).
[0092] In the following, two different embodiments are described with respect to the input signal that both allow for determining the impulse responses and/or transfer functions of the non-linear electronic component 12. It has turned out that restricting the analysis to the order M=3 is sufficient in both embodiments.
[0093] According to a first embodiment, the input signal x may be established as a broad-band noise signal.
[0094] Equation (E.1) can be rewritten in a matrix-vector-notation as follows:
y(t/T.sub.a)=X(t/T.sub.a).Math.h (E.15)
[0095] The vector
h=[h.sub.1(0), . . . , h.sub.1(L.sub.1−1), h.sub.2(0,0), . . . , h.sub.2(L.sub.2,0−1, L.sub.2,1−1), h.sub.2(0,0,0), . . . , h.sub.3(L.sub.3,0−1, L.sub.3,1−1, L.sub.3,2−1)].sub.T (E.16)
[0096] comprises all filter coefficients of the impulse responses of order m=1, 2, 3, wherein only one filter coefficient of each set of ambiguous filter coefficients is taken into account.
[0097] comprises vectors
[0098] that comprise the corresponding product signals of the filter coefficients. The vector
y(t/T.sub.a)=[y(t/T.sub.a), . . . , y(t/T.sub.a−N+1)].sup.T (E.19)
[0099] comprises the sample points of the output signal y of the non-linear electronic component 12.
[0100] In order to determine the impulse responses and/or transfer functions of the non-linear electronic component 12, a cost functional K is provided, wherein the cost functional K describes a mean error signal power:
K=ē.sup.2(t/T.sub.a)=[X(t/T.sub.a).Math.h−y(t/T.sub.a)].sup.T.Math.[X(t/T.sub.a).Math.h−y(t/T.sub.a] (E.20)
[0101] The cost functional is minimized by the following choice of filter coefficients:
h=[X.sup.T(t/T.sub.a).Math.X(t/T.sub.a)].sup.−1.Math.[X.sup.T(t/T.sub.a).Math.y(t/T.sub.a)] (E.21)
[0102] It is noted that the correlation matrix
C(t/T.sub.a)=[X.sup.T(t/T.sub.a).Math.X(t/T.sub.a)] (E.22)
[0103] needs to be inverted in order to determine the filter coefficients according to equation (E.21).
[0104] A broad-band noise signal comprises a lot of different frequencies. As can be seen in equation (E.13), several different signal components having different frequencies contribute to the same output signal frequency. In other words, there is a superposition of contributions from different input signal frequencies contributing to the same output signal frequency.
[0105] Such superpositions can occur within the same order m of the Volterra system and/or across different orders m of the Volterra system.
[0106] For example, within the order m=2, all frequencies {−ƒ.sub.in/ƒ.sub.a, +ƒ.sub.in/ƒ.sub.a} always superpose to give an output frequency of zero. Within the order m=3, the input frequencies {−ƒ.sub.in,0/ƒ.sub.a, +ƒ.sub.in,0/ƒ.sub.a, +ƒ.sub.in,1/ƒ.sub.a} always yield an output frequency ƒ.sub.out/ƒ.sub.a=ƒ.sub.in,1/ƒ.sub.a.
[0107] An example for such superpositions between different orders are input frequencies {0.15,0.15} for m=2 and {0.1,0.1,0.1} for m=3, which both yield an output frequency of ƒ.sub.out/ƒ.sub.a=0.3.
[0108] Thus, using a broad-band noise signal as input signal x leads to a systematically overdetermined computation problem.
[0109] It has turned out that that the correlation matrix defined in equation (E.22) has a rather high condition, i.e., a high amplification factor of errors, which further complicates the matrix inversion.
[0110] Moreover, the correlation matrix comprises expectation values of higher order, namely
[0111] More precisely, depending on the maximum order M of the Volterra system, the correlation matrix comprises expectation values of the orders
o={2, 3, . . . ,2M} (E.24)
[0112] These problems can be counteracted by enhancing the numeric precision for the matrix inversion and/or by enhancing the observation length N for determining the correlation matrix. However, this may considerably increase the necessary computation time.
[0113] According to a second embodiment, the input signal x may be established as a multi-frequency signal comprising a pre-defined number N.sub.T of signal components having different frequencies.
[0114] The output signal of the Volterra system then comprises spectral components having output frequencies
[0115] which are generated by groups of m input frequencies {ƒ.sub.in,0,α/ƒ.sub.a, . . . , ƒ.sub.in,m−1,α/ƒ.sub.a}, wherein frequencies within a group a may be partially or completely the same.
[0116] If the amplitudes and phases of the input signal x are known and the amplitudes and phases of the output signal y are determined, the transfer functions H.sub.m({ƒ.sub.in,0,α/ƒ.sub.a, . . . , ƒ.sub.i,m−1,α/ƒ.sub.a}) can be determined at the spectral positions {ƒ.sub.in,0,α/ƒ.sub.a, . . . , ƒ.sub.in,m−1,α/ƒ.sub.a} of the frequency group α.
[0117] As described above in the context of the input signal being established as a broad-band noise signal, different groups of input frequencies can contribute to the same output frequency.
[0118] Accordingly, several contributions associated with different transfer functions superpose, and the transfer functions may not be determinable at these spectral positions.
[0119] It has turned out that there are different classes of such ambiguities, namely
[0120] the ambiguities originate within a single order m of the Volterra system;
[0121] the ambiguities originate across different orders m of the Volterra system;
[0122] the ambiguities are systematic, i.e., they cannot be avoided by choosing another set of input frequencies; and
[0123] the ambiguities are non-systematic, i.e., they can be avoided by choosing another set of input frequencies.
[0124] Accordingly, the input frequencies of the input signal x are chosen such that only the systematic ambiguities remain and there are no non-systematic ambiguities. The correct input frequencies can, for example, be found by solving a corresponding optimization problem with an intelligent search technique.
[0125] It is noted that in order to fully characterize a Volterra system of maximum order M=3, a minimum number N.sub.T=3 of different signal components having different frequencies is required.
[0126] The transfer functions H.sub.m of the Volterra system (i.e. of the non-linear electronic component 12)
[0127] at the spectral positions {ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.m−1/ƒ.sub.a} out depend on the amplitude A.sub.out(ƒ.sub.out/ƒ.sub.a) and the phase ϕ.sub.out(ƒ.sub.out/ƒ.sub.a) of the output signal that are associated with the input frequencies {ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.m−1/ƒ.sub.a}.
[0128] Moreover, the transfer functions H.sub.m depend on the amplitudes A.sub.in(ƒ.sub.μ/ƒ.sub.a) and the phases ϕ.sub.in(ƒ.sub.μ/ƒ.sub.a) of the components of the input signal x.
[0129] In equation (E.26), the factor c(m) is a scaling factor that depends on the order m, wherein c(1)=1, c(2)=2, and c(3)=4.
[0130] The factor N.sub.comb is a combinatorial factor, wherein:
[0131] N.sub.comb(m=1)=1;
[0132] N.sub.comb(m=.sup.2, ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a) is equal to 1 if ƒ.sub.0=ƒ.sub.1 and is equal to 2 otherwise; and
[0133] N.sub.comb(m=.sup.3, ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a, ƒ.sub.2/ƒ.sub.a) is equal to 1 if all frequencies are identical, equal to 3 if two frequencies are identical, and equal to 6 if all frequencies are different from each other.
[0134] It has turned out that the transfer functions H.sub.m determined according to equation (E.26) are symmetric, and the associated impulse responses h.sub.m are axisymmetric.
[0135] Put differently, the transfer functions H.sub.m are sampled with the multi-frequency input signal x.
[0136] In some embodiments, the individual signal components of the input signal x are non-equidistant in frequency domain, i.e. the value of ƒ.sub.i−ƒ.sub.j is different for each pair of frequencies ƒ.sub.i, ƒ.sub.j of the input signal.
[0137] In order to determine the transfer functions H.sub.m according to equation (E.26), the amplitudes A.sub.μand phases ϕ.sub.μof the output signal y have to be determined.
[0138] The output signal y can be written as
[0139] Equation (E.27) can be re-written in matrix-vector-notation as follows:
y(t/T.sub.a)=X(t/T.sub.a).Math.h. (E.28)
[0140] The vector
h=[C.sub.0, D.sub.0, C.sub.0, D.sub.1, . . . , C.sub.N.sub.
[0141] comprises all amplitudes of the sine terms and of the cosine terms in equation (E.27). The matrix
[0142] comprises the vectors
x(t/T.sub.a)=[sin (2π.Math.ƒ.sub.0/ƒ.sub.a.Math.t/T.sub.a), cos(2π.Math.ƒ.sub.0/ƒ.sub.a.Math.t/T.sub.a), . . . , sin(2π.Math.ƒ.sub.N.sub.
[0143] which comprise the sample points associated with the sine terms and the cosine terms. N is the number of samples that is used for determining the amplitudes and phases.
[0144] The vector)
y(t/T.sub.a)=[y(t/T.sub.a), . . . , y(t/T.sub.a−N+1)].sup.T (E.32)
[0145] comprises the samples of the output signal y.
[0146] In order to determine the amplitudes C.sub.μand D.sub.μ, a cost functional K is provided, wherein the cost functional K describes a mean error signal power:
K=ē.sup.2(t/T.sub.a)=[X(t/T.sub.a).Math.h−y(t/T.sub.a)].sup.T.Math.[X(t/T.sub.a).Math.h−y(t/T.sub.a)] (E.33)
[0147] The cost functional is minimized by the following amplitude vector:
h=[X.sup.T(t/T.sub.a).Math.X(t/T.sub.a)].sup.−1.Math.[X.sup.T(t/T.sub.a).Math.y(t/T.sub.a)] (E.34)
[0148] The inverse of the correlation matrix
X.sup.T(t/T.sub.a).Math.X(t/T.sub.a) (E.35)
[0149] can be determined a priori, and may be saved in a memory for later usage.
[0150] The phases ϕ.sub.μ can then be determined from the equation
ϕ.sub.μ=atan(D.sub.μ/C.sub.μ) (E.36)
[0151] The amplitudes A.sub.μ can then be determined according to the equation
A.sub.μ=C.sub.μ/sin(ϕ.sub.μ) (E.37)
[0152] There are two special cases at ƒ/ƒ.sub.a=0 and ƒ/ƒ.sub.a=−1/2. In these cases, only the amplitude A.sub.μ has to be determined. Thus, in these cases the parameter D.sub.μ has to be set to zero in equations (E.27) and (E.29).
[0153] Optionally, the impulse responses h.sub.m of the non-linear electronic component 12 may be determined based on the determined transfer functions H.sub.m (step S4).
[0154] Equation (E.7) can be reformulated in matrix-vector notation as follows:
y=X.Math.h (E.38)
[0155] The vector
h=[h.sub.m(0, . . . ,0), . . . , h.sub.m(L.sub.m−1, . . . , L.sub.m−1)].sup.T (E.39)
[0156] comprises all impulse responses of the non-linear electronic component 12 (the impulse responses may also be called filter coefficients of the Volterra system representing the non-linear electronic component 12). The reference vector
y=[H.sub.m(ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.0/ƒ.sub.a), . . . , H.sub.m(ƒ.sub.N−1/ƒ.sub.a, . . . , ƒ.sub.N−1/ƒ.sub.a)].sup.T (E.40)
[0157] comprises the transfer functions H.sub.m of the non-linear electronic component 12, i.e. of the Volterra system. The matrix
[0158] comprises vectors
x(ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.m−1/ƒ.sub.a)=[e.sup.−j.Math.2π.Math.[ƒ.sup.
[0159] that comprise the exponential functions of the respective Fourier transforms.
[0160] The following cost functional K is provided, wherein the cost functional K describes a mean spectral error signal power:
K−Ē.sup.2=[X.Math.h−y].sub.T.Math.diag{W}.Math.[X.Math.h−y] (E.43)
[0161] Therein, the vector
W=[W(ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.0/ƒ.sub.a), . . . , W(ƒ.sub.N−1/ƒ.sub.a, . . . , ƒ.sub.N−1/ƒ.sub.a)].sup.T (E.44)
[0162] is a spectral weighting function. Via the spectral weighting function, the spectral quality of the Volterra system can be controlled. The cost functional K is minimized by the following filter coefficients (i.e. impulse responses) of the Volterra system:
h=[diag{W}.Math.X.sup.T.Math.X].sup.−1.Math.[diag{W}.Math.X.sup.T.Math.y] (E.45)
[0163] It has turned out that the minimization problem defined by equations (E.38) to (E.45) is not ambiguous, and that the correlation matrix
diag{W}.Math.X.sup.T.Math.X (E.46)
[0164] only has a small or moderate condition.
[0165] The inverse of the correlation matrix can be determined a priori, and may be saved in a memory for later usage.
[0166] The transfer functions H.sub.m do not have to be sampled in an equidistant manner However, the maximum frequency distance puts an upper boundary on the length L.sub.m of the impulse response h.sub.m(t.sub.0/T.sub.a, . . . , t.sub.m−1/T.sub.a):
[0167] It is noted that the minimization technique described in equations (E.38) to (E.47) can also be used for memory polynomials or otherwise pruned Volterra series. In that case, the impulse responses that are equal to zero have to be deleted from equation (E.39).
[0168] Filter coefficients of the Volterra filter module 16 are determined based on the determined transfer functions H.sub.m of the non-linear electronic component 12 (step S5).
[0169] In some embodiments, the filter coefficients of the Volterra filter module 16 are determined by a Pth order inverse technique, as will be described in more detail below.
[0170] In general, the Volterra filter module 16 is described by a second mathematical model, more precisely by a second Volterra series, analogously to equation (E.1).
[0171] First, the Pth order inverse technique will be described in time domain
[0172] The filter coefficients h.sub.eq,1 of order m=1 of the Volterra filter module 16 are defined by the following equation:
[0173] Therein, h.sub.m(k.sub.0, k.sub.1, . . . , k.sub.m−i) are the impulse responses of the Volterra system (i.e. of the non-linear electronic system 12) that have already been determined, while h.sub.eq,m are the desired impulse responses, i.e. the filter coefficients of the Volterra filter module 16.
[0174] In order for the output signal y(k) of the equalizer module 14 to be equal to the input signal x(k) of the non-linear electronic component 12, the condition
[0175] has to be fulfilled for μ.sub.0+α.sub.0=0, while the condition
[0176] has to be fulfilled for μ.sub.0+α.sub.0=D≠0. Equations (E.49) and (E.50) define a system of equations that can be solved by a minimum square error technique.
[0177] For the second order, i.e. m=2, the following condition has to be fulfilled:
[0178] This leads to the following expression for the second order filter coefficients of the Volterra filter module 16:
[0179] For the third order, i.e. m=3, the condition is that there should be no distortions of order m=3 at the output of the Volterra filter module 16. In a shortened notation, this condition can be expressed as
[0180] wherein K.sub.m represents the Volterra filter module 16 at order m, and wherein H.sub.m represents the Volterra system (i.e. the non-linear electronic component 12) at order m.
[0181] K.sub.1 and K.sub.2 have already been determined above, cf. equations (E.50) and (E.52).
[0182] The third order contribution of the Volterra filter module 16 is then given by
[0183] In the following, the explicit expressions for the terms T.sub.(μ) are given:
[0184] For the calculation of the impulse response h.sub.eo of the third order of the Volterra filter module 16, only product signals x(k.sub.0).Math.x(k.sub.1).Math.x(k.sub.2) with three sample values may contribute. It has turned out that terms that do not meet this condition completely cancel each other.
[0185] Accordingly, it holds
[0186] The result for the third order filter coefficients of the Volterra filter module 16 has two contributions, namely h.sub.eq,3.sup.(1) and h.sub.eq,3.sup.(2), which are given by
[0187] The third order filter coefficients of the Volterra filter module 16 are then given by
h.sub.eq,3(μ.sub.0, μ.sub.1, μ.sub.2)=h.sub.eq,3.sup.(1)(μ.sub.0, μ.sub.1, μ.sub.2)+h.sub.eq,3.sup.(2)(μ.sub.0, μ.sub.1, μ.sub.2) (E.58)
[0188] With the same technique, filter coefficients h.sub.eq,m(k.sub.0, k.sub.1, k.sub.2) of extended memory polynomials or pruned impulse responses can be determined. In this case, only sample times lying on the diagonals of the impulse responses h.sub.eq,m(k.sub.0, k.sub.1, k.sub.2) are considered. The determined impulse responses h.sub.eq,m(k.sub.0, k.sub.1, k.sub.2) may not be the final filter coefficients for the Volterra filter module 16. Instead, the determined impulse responses h.sub.eq,m(k .sub.0, k.sub.1, k.sub.2) may serve as reference impulse responses h.sub.eq,ref,m(k.sub.0, k.sub.1, k.sub.2) for determining the final filter coefficients of the Volterra filter module 16, as will be described in more detail below.
[0189] Alternatively to the time-domain technique described above, the filter coefficients of the Volterra filter module 16 can also be determined by a Pth order inverse technique in frequency domain.
[0190] First, equation (E.5) is formulated for the maximum order M=3, and the innermost summation is performed, resulting in
[0191] The condition for the first order of the Volterra filter module 16 is
Y(ƒ/ƒ.sub.a)=H.sub.eq,1(ƒ/ƒ.sub.a).Math.H.sub.1(ƒ/ƒ.sub.a).Math.X(ƒ/ƒ.sub.a)=X(ƒ/ƒ.sub.a) (E.60)
[0192] This immediately yields the following result for an arbitrary input signal spectrum X(ƒ/ƒ.sub.a):
[0193] The condition for the second order of the Volterra filter module 16 is
[0194] This yields the following result:
H.sub.eq,2(ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a)=−h.sub.eq,1(ƒ.sub.0/ƒ.sub.a+ƒ.sub.1/ƒ.sub.a mod 1).Math.H.sub.2(ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a).Math.H.sub.eq,1(ƒ.sub.0/ƒ.sub.a).Math.H.sub.eq,1(ƒ.sub.1/ƒ.sub.a) (E.63)
[0195] For the third order of the Volterra filter module 16, the frequency-domain analogues of the terms given in equation (E.55) are determined. The result is
[0196] For the calculation of the transfer function H.sub.eq,3 of the third order of the Volterra filter module 16, only product spectra X(ƒ.sub.0/ƒ.sub.a).Math.X(ƒ.sub.1/ƒ.sub.a).Math.X(ƒ.sub.2/ƒ.sub.a) with three frequencies may contribute. It has turned out that terms that do not meet this condition completely cancel each other.
[0197] Accordingly, it holds
[0198] The result for the third order transfer function of the Volterra filter module 16 has two contributions, namely H.sub.eq,3.sup.(1) and H.sub.eq,3.sup.(2), which are given by
[0199] The third order transfer function of the Volterra filter module 16 is then given by
H.sub.eq,3(ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a, ƒ.sub.2/ƒ.sub.a)=H.sub.eq,3.sup.(1)(ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a, ƒ.sub.2/ƒ.sub.a)+H.sub.eq,3.sup.(2)(ƒ.sub.0/ƒ.sub.a, ƒ.sub.1/ƒ.sub.a, ƒ.sub.2/ƒ.sub.a) (E.67)
[0200] With the technique described in equations (E.59) to (E.67), reference transfer functions H.sub.eq,ref,m(ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.m−1/ƒ.sub.a) are determined in the frequency domain.
[0201] Alternatively, the reference transfer functions may be determined based on the reference impulse responses h.sub.eq,ref,m(k.sub.0, k.sub.1, k.sub.2) by a Fourier transform.
[0202] The (final) filter coefficients h.sub.eq,m of the Volterra filter module 16 can then be determined by a minimum square technique as described in equations (E.38) to (E.47) applied to the reference transfer functions H.sub.eq,ref,m(ƒ.sub.0/ƒ.sub.a, . . . , ƒ.sub.m−1ƒ.sub.a).
[0203] Therein, a desired structure can be imposed on the filter coefficients h.sub.eq,m, e.g. a memory polynomial structure, an extended memory polynomial structure, or otherwise pruned impulse responses.
[0204] With the spectral weighting function W, the spectral quality of the Volterra filter module 16 can be controlled. It has turned out that a particular high equalization accuracy for equalizing unwanted non-linear disturbances is achievable this way.
[0205] It is to be understood that while the method above is described in the context of the single non-linear electronic component 12 causing the non-linear distortions, the method can readily be applied to several non-linear electronic components and/or to a whole non-linear electronic system comprising several non-linear electronic components that are interconnected.
[0206] Accordingly, filter coefficients of the Volterra filter module 16 may be adapted such that the equalizer module 14 is configured to equalize the non-linear electronic system. In other words, the Volterra filter module 16 processes the output signal y of the non-linear electronic component 12, thereby generating an equalized output signal y.sub.eg that corresponds to the output signal y of the non-linear electronic component 12, but with the non-linear distortions removed.
[0207]
[0208] The Volterra filter module 16 comprises several short-length finite impulse response (FIR) filters 20 that are arranged in parallel. In some embodiments, the FIR filters 20 each are established in hardware. For example, the FIR filters 20 each may comprise FPGAs and/or ASICs.
[0209] Each of the short-length FIR filters 20 is configured to receive signal samples that are associated with the output signal y of the non-linear electronic component 12 (the output signal of the y of the non-linear electronic component 12 is the input signal of the equalizer module 14).
[0210] In the following, the output signal y of the non-linear electronic component is denoted as “filter input signal”, and the equalized output signal y.sub.eg is denoted as “filter output signal”.
[0211] Each short-length FIR filter 20 receives a product of at least two filter input signal samples, i.e. the filter input signal associated with each short-length FIR filter 20 comprises a product of at least two filter input signal samples, i.e. a product
[0212] The short-length FIR filters 20 are each configured to determine one term of the second Volterra series as defined in equation (E.1) or (E.14), but with the impulse responses h being replaced by the determined filter coefficients h.sub.eq.
[0213] Therein, different FIR filters 20 are associated with different diagonals of the second Volterra series.
[0214] In general, the number of necessary FIR filters 20 depends on the maximum order M of the second Volterra series and on the number of non-zero diagonals of the second Volterra series.
[0215] As already explained above, the maximum order of the second Volterra series is M=3.
[0216] For example, the second Volterra series may comprise D.sub.2=D.sub.3=2 non-zero diagonals. In this case, one FIR filter 20 is necessary for determining the first order (m=1) term of the second Volterra series. Two FIR filters 20 are necessary for determining the second order (m=2) term of the second Volterra series. Four FIR filters 20 are necessary for determining the third order (m=3) term of the third order Volterra series. Thus, in the particular example shown in
[0217] Each FIR filters 20 determines one term of the second Volterra series based on the filter input signal y and based on the filter coefficients h.sub.eq. Thus, the output signal of each FIR filter 20 is associated with one term of the second Volterra series, i.e., with a certain diagonal of the second Volterra series. The output signals of all FIR filters 20 are summed by a summation circuit 22, thereby generating the equalized output signal y.sub.eq.
[0218] It has turned out that product signals as defined in equation (E.68) can be processed in a particularly resource-efficient manner by means of short-length FIR filters. Thus, the present disclosure provides a particularly resource-efficient equalizer module for equalizing non-linear systems.
[0219] In some embodiments, it has turned out that the equalizer module 14 described above is capable of equalizing the filter input signal y in real time, even at high sample rates up to several 10 GHz.
[0220] However, the equalizer module 14 comprising the several short-length FIR filters 20 is not restricted to the particular use for implementing a Volterra filter.
[0221]
[0222] The digital filter circuit is configured to process the filter input signal y, thereby generating a filter output signal y.sub.flit, wherein the filter input signal comprises a product of input signal samples as described in equation (E.68).
[0223] Thus, the filter input signal y is established as a product signal, i.e., the filter input signal y comprises the product of at least two input signal samples. Therein, the two input signal samples may be taken at the same time or at different times.
[0224] The filter input signal y may comprise a set of products of input signal samples. In general, the set of products may comprise different products, i.e., products of input signal samples taken at different times and/or with different numbers of factors. The different products may all be forwarded to a single short-length FIR filter 20 or to different short-length FIR filters 20 for further processing.
[0225] The output signals of the individual FIR filters 20 are summed by the summation circuit 22, thereby generating the filtered output signal y.sub.filt.
[0226] Certain embodiments disclosed herein, for example the respective module(s), utilize circuitry (e.g., one or more circuits) in order to implement standards, protocols, methodologies or technologies disclosed herein, operably couple two or more components, generate information, process information, analyze information, generate signals, encode/decode signals, convert signals, transmit and/or receive signals, control other devices, etc. Circuitry of any type can be used. It will be appreciated that the term “information” can be use synonymously with the term “signals” in this paragraph. It will be further appreciated that the terms “circuitry,” “circuit,” “one or more circuits,” etc., can be used synonymously herein.
[0227] In an embodiment, circuitry includes, among other things, one or more computing devices such as a processor (e.g., a microprocessor), a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a system on a chip (SoC), or the like, or any combinations thereof, and can include discrete digital or analog circuit elements or electronics, or combinations thereof. In an embodiment, circuitry includes hardware circuit implementations (e.g., implementations in analog circuitry, implementations in digital circuitry, and the like, and combinations thereof).
[0228] In an embodiment, circuitry includes combinations of circuits and computer program products having software or firmware instructions stored on one or more computer readable memories that work together to cause a device to perform one or more protocols, methodologies or technologies described herein. In an embodiment, circuitry includes circuits, such as, for example, microprocessors or portions of microprocessor, that require software, firmware, and the like for operation. In an embodiment, circuitry includes one or more processors or portions thereof and accompanying software, firmware, hardware, and the like. The present application may reference quantities and numbers. Unless specifically stated, such quantities and numbers are not to be considered restrictive, but exemplary of the possible quantities or numbers associated with the present application. Also in this regard, the present application may use the term “plurality” to reference a quantity or number. In this regard, the term “plurality” is meant to be any number that is more than one, for example, two, three, four, five, etc. The terms “about,” “approximately,” “near,” etc., mean plus or minus 5% of the stated value. For the purposes of the present disclosure, the phrase “at least one of A and B” is equivalent to “A and/or B” or vice versa, namely “A” alone, “B” alone or “A and B.”. Similarly, the phrase “at least one of A, B, and C,” for example, means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C), including all further possible permutations when greater than three elements are listed.
[0229] The principles, representative embodiments, and modes of operation of the present disclosure have been described in the foregoing description. However, aspects of the present disclosure which are intended to be protected are not to be construed as limited to the particular embodiments disclosed. Further, the embodiments described herein are to be regarded as illustrative rather than restrictive. It will be appreciated that variations and changes may be made by others, and equivalents employed, without departing from the spirit of the present disclosure. Accordingly, it is expressly intended that all such variations, changes, and equivalents fall within the spirit and scope of the present disclosure, as claimed.