The invention concerns to a method and an apparatus for zero-mixing spectrum analysis.
For example from U.S. Pat. No. 5,736,845 a spectrum analyzer with two step down conversion to the base band is known. In a first down conversion stage with a variable first local oscillator and a first mixer the input signal is transferred to an intermediate frequency. At a second stage with a constant second local oscillator and a second mixer the intermediate frequency is transferred to the base band. This configuration of spectrum analyzer is widely used. However, the two mixer stages are costly and thus it is desirable to have a spectrum analyzer with only one mixer stage. Such a concept is known as zero-mixing concept, which means that the input signal is directly converted to the base band.
The problem in frequency spectrum analyzers using the zero-mixing concept is the problem that surging occurs when the local oscillator frequency approaches the center frequency of one of the lines within the input signal. The envelope of the spectrum of the input signal has to be reconstructed. The central peak, i. e. the amplitude of the signal beyond the resolution filter when the frequency of the local oscillator equals one of the center frequencies of the lines of the input signal, strongly depends on the phase difference between the input frequency component and the sweep signal of the local oscillator. Thus no linear interpolation can reconstruct the spectrum envelope near the central peak.
In WO 03/069359 A1 it is proposed to reconstruct the envelope of the spectrum of the input signal by the use of an estimated amplitude at an estimated center frequency of each line of the input signal, whereby the estimated amplitude and the estimated center frequency are calculated from the time of occurrence, the duration and the maximum value of several halfwaves (wavelets) of the filtered base band signal. In the vicinity of the center frequency of each of the lines of the input signal, the signal outputted from the resolution filter is a surging signal which can be divided into several halfwaves (wavelets). For several halfwaves (wavelets) in the vicinity of the center frequency (when the frequency of the local oscillator approaches or leaves the center frequency) the time of occurrence, the duration and the maximum value of each halfwave are evaluated. It has been found that from the time of occurrence, the duration and the maximum value of several halfwaves an estimated center frequency and an estimated amplitude at the center frequency can be calculated. If the center frequency and the amplitude at the center frequency of each line of the input signal are known, the envelope of the input signal can be reconstructed near the center frequency.
It is a disadvantage of the method and apparatus know from WO 03/069359 A1 that the method is only performed for the reel component of the complex base band signal. Thus, the number of halfwaves (wavelets) is restricted. Thus, for a sufficient accuracy of this method the sweep velocity must be limited.
It is the object of the present invention to improve the known method and the known apparatus in a manner to provide further halfwaves (wavelets) in order to speed up the procedure of reconstructing the envelope.
The object is solved by the features of claim 1 as concerns the method and by the features of claim 9 as concerns the apparatus. The dependent claims comprise further developments of the invention.
According to the invention only the reel component of the base band signal is filtered with the resolution filter and the imaginary component is generated from the reel component of the filtered base band signal by performing a Hilbert transform.
The reconstruction of the envelope of the spectrum of the input signal can then preferably be done on the basis of the reel component and on the basis of the imaginary component generated with the Hilbert transform.
Preferably the reel component of the filtered base band signal is delayed by a delay time equivalent to the processing time of the Hilbert transform in order to enable synchronised further processing of the reel component and of the imaginary component. Preferably the amplitude values of the imaginary component generated by performing the Hilbert transform are corrected by an estimation on the basis of the neighbouring amplitude values of the reel component.
The Hilbert transform can be performed in a Hilbert filter, which can be a digital finite impulse response filter (FIR-filter) having specific coefficients as outlined in the dependent claims.
The concept and the advantages of the present invention can be better understood from an embodiment of the invention which is explained vis-à-vis the state of art embodiment with reference to the drawing. In the drawing
For a better understanding of the differences and improvements of the present invention vis-à-vis the state of art known from WO 03/069359 A1
x(t)=sin(ωx·t+φ) (1)
In general, however, the input signal is a superposition of several spectral lines. For each spectral line of the spectrum of the input signal there is a center frequency ωx,i. For the present simplified case there is only one center frequency ωx. φ is a phase shift with respect to the signal s(t) provided by a local oscillator 3 and fed to mixer 2. The signal s(t) of the local oscillator 3 can be expressed as a function of time t as follows:
s(t)=sin(ωs(t)·t) (2)
The circle frequency ωs of the local oscillator 3 is not constant but a function of time t as the local oscillator is swept from a start circle frequency ωstart to a stop circle frequency ωstop within the sweep time Tsweep. The actual circle frequency ωs(t) of the local oscillator 3 can be expressed as a function of time t as follows:
As already explained in the opening part of the description, the concept is related to the zero-mixing concept. This means that mixer 2 does not convert the input signal x(t) to an intermediate frequency, but the input signal x(t) is directly converted to the base band. Base band signal z(t) is transferred to the resolution filter 4 having the resolution filter frequency response R(ω).
The output signal y(t) of the resolution filter 4 is transferred to absolute value means 5, which outputs the absolute values |y(t)| of the filtered base band signal y(t). The absolute values of the filtered base band signal |y(t)| are transferred to envelope reconstruction means 6 for reconstructing the spectrum envelope E(ω) of the input signal.
However, only on the basis of the absolute values of a filtered base band signal |y(t)| would the reconstruction of the envelope be rather inaccurate in the vicinity of the center frequency ωx, which will be explained later on with respect to
For a better understanding
ωx=ωs(t=ti)+{tilde over (ω)}y,i sweep is approaching ωx (4)
ωx=ωs(t=ti)−{tilde over (ω)}y,i sweep is leaving ωx (5)
The equation (4) is true when the sweep is approaching center frequency ωx (ωs<ωx). Equation (5) is true when the sweep is leaving ωx (ωs>ωx).
An attempt can be made to reconstruct the envelope of the spectrum of the input signal by fitting an envelope function e(ω) through the absolute maxima yi of the absolute values |y| of the filtered base band signal y as shown in
The same effect appears to be true for the fast sweep situation shown in
An estimation of the center frequency ωx and of the amplitude yx at the center frequency ωx is made on the basis of the time of occurrence (“offset”) ti, the duration (“width”) ΔTi and the maximum absolute value yi of several halfwaves (wavelets) i . i is the index of the halfwave ti, ΔTi and yi are indicated for one of the halfwaves in
The duration (“width”) ΔTi of the halfwave (wavelet) is half of the period and thus is related to the actual frequency {tilde over (ω)}y,i of base band signal y by
Inserting equation (6) in equations (4) and (5) leads to
An estimated value for the center frequency {circumflex over (ω)}x,i is obtained by equation (7) from the time of occurrence (“offset”) ti and the duration (“width”) ΔTi for each evaluated halfwave (wavelet) i individually.
Since the resolution filter frequency response R(ω) is known, an estimated amplitude value ŷx,i can be obtained from the absolute maximum value (peak) y′i of the evaluated halfwave (wavelet) i and the duration (“width”) ΔTi of the evaluated halfwave i by
From formulas (7) and (8) an estimated value of the center frequency {circumflex over (ω)}x,i and an estimated amplitude value ŷx,i at the center frequency are obtained for each evaluated halfwave (wavelet) individually. The different values obtained from the different halfwaves have to be averaged. Preferably not all values of all evaluated halfwaves are included in the averaging procedure.
Only the estimated values of distinguished halfwaves (wavelets) are used for averaging. To select the suitable values, the frequency range is divided into intervals 11a, 11b as shown in
In
The remaining step is to reconstruct the spectrum envelope E(ω). In the frequency range FR3 around center frequency ωx and partly in the frequency ranges FR2 and FR4 the known resolution filter frequency response R(ω) is used.
In the frequency ranges FR1 and FR5 far from center frequency ωx the envelope e(ω) of the spectrum is reconstructed by using the maximum absolute values y′i of the filtered base band signal y as shown in
E(ω)=R(ω)·WR(ω)+e(ω)·We(ω) (11)
and is additionally shown in
If the input signal x(t) contains more than one spectral line the above described procedure has to be repeated for each spectral line.
In the above concept, polarity of a wavelet was assumed by comparing its peak with the peak of a previous wavelet. If it was greater, formula (4) for approaching was used, if it was smaller, formula (5) for leaving was used. The same information can be gained by comparing the width of the wavelet with the previous one. Preferably both of these heuristics are used to achieve the best possible noise resistance.
In the state of art embodiment the signal y(t) beyond resolution filter 4 is only the in-phase component I of the complex signal. The quadrature component Q of the base band signal is not available. This reduces the accuracy of the method.
The inventive improvement is related to the generation of the quadrature component Q to be additionally used for the envelope reconstruction. If not only the wavelets of the reel in-phase component I of the filtered base band signal y(t) filtered by the resolution filter 4 but also the imaginary quadrature phase component Q of the filtered base band signal y(t) is available, the total number of wavelets which can be used for reconstructing the envelope is significantly increased. Thus, the accuracy of the method is increased. On the other hand, with a given accuracy which is to be reached the sweep velocity can be increased because even if the sweep velocity is doubled the same total amounts of useable wavelets is obtained compared to the state of the art method in which only the reel component I is evaluated.
As shown in
As shown in
According to the invention the Hilbert transformation is used to generate the imaginary quadrature component Q from the reel in-phase component I. The Hilbert transformation is carried out in Hilbert filter 21. Preferably Hilbert filter 21 is realised as a finite impulse response digital filter FIR-filter.
As shown in
It should be noted that in the preferred embodiment resolution filter 4 and all elements downstream of the resolution filter 4 are in the digital regime and are realised by digital signal processing. Thus, as shown in
The coefficients hn of Hilbert filter 21 shown in
Equation (12) shows that Hilbert transformation is not causal. Thus, an approximation has to be used. Preferably an approximation by FIR-filter with linear phase is used. The impulse response is symmetrically truncated to finite length and its delay is half of this length. As shown in
Choosing an odd number of taps causes half of the coefficients to be null. This optimizes the realization of this filter 21. Some variables have to be defined for further description as follows: fr is the frequency related to resolution bandwidth. Spp is the sampling frequency to resolution bandwidth ratio (typically 13.33).
For frequencies that are passed through the resolution filter 4 the Hilbert filter 21 has some ripple. Less taps of the Hilbert filter cause smaller ripple. Thus, a Hilbert filter 21 that has only 7 taps can be used. This helps to implement this filter for higher sampling rates and greater resolution bandwidths. The suppression of higher frequencies including noise is still insignificant.
The following text contains some terms which are defined as follows: Resolution trace I is the waveform of the signal y(t) beyond the resolution filter 4 created by sweeping over a single frequency (see I-component in
The block diagram of signal process with Q-correction is shown in
The easiest method for Q-correction is to multiply the whole Q wavelet, so that its peak is the average of the I peaks beside it in logarithm scale, as shown in
Unfortunately signal processing is made in linear scale, so numerous mathematic operations are necessary. Thus, this method is not preferred for real-time signal processing.
Hilbert filter frequency response is known. As there is an exact relation between wavelet width and relative frequency offset, we can find a multiplying correction coefficient for each Q wavelet. It is
wherein
fr is the relative frequency
Spp is the sampling frequency to resolution bandwidth ratio
n is the Q wavelet width.
Further, it is
coef=H(fr) (15)
wherein
coef is the multiplying coefficient
H(fr) is the Hilbert filter frequency response.
There are only a few possible valid wavelet widths (preferably 2-32). Thus, it is helpful to prepare a correction table with two items n and coef. It is not necessary to correct wavelets greater than 32 samples. These wavelets are close to the signal, where frequency nears zero (ωx−ωs→0). If it is sufficiently precise to compute Q-component by a Hilbert filter 21 with a small number of tabs, additional correction of the peak is needed as described later on.
Because there is a small set of wavelet widths, that means also a small set of multiplying correction coefficients, the accuracy of this method is not sufficient. For the best results we have to combine both methods described above.
Each wavelet is multiplied by a coefficient according to a second method. Then the difference between the actual maximum and expected maximum is computed in linear scale by
and finally this difference ACoef is added to all samples of the wavelet. This simplification is allowable because the difference is small and it has practically no effect on the outputted envelope E(ω). This method is illustrated in
The next step of the signal processing is computing the envelope E(ω) of the complex signal (I, Q′) by the known cordic algorithm. This is accomplished in the envelope reconstruction unit 27. The cordic algorithm computes the magnitude and phase angle of a complex signal with the reel component I and the imaginary component Q′. The magnitude represents the envelope E(ω).
A block diagram of the second part of the signal processing is shown in
Fuzzy peak correction unit 26 replaces envelope reconstruction unit 6 in
Peak correction is an algorithm detects frequency components from the resolution traces and then reconstructs respective parts of the envelope with the known shape of resolution filter R(ω).
For the following explanation the following terms have to be defined: Wavelet polarity is the sign of frequency offset. It is positive when the sweep approaches wx. It is negative when the sweep leaves wx. Wavelet detection range is the range of frequency offset at which wavelets are detected and taken valid for further processing. It matches the range of wavelet widths. Wavelet cumulation factor is the number of consequent half-waves in the resolution trace which compose the stream of wavelets. Nominal wavelet count is the theoretical number of wavelets that can be detected in an ideal resolution trace in a particular wavelet detection range. The k-factor is the relative sweeptime. The k-factor is defined by
Width of the wavelet relates to the relative frequency offset by equation (18):
Wavelets from a certain detection range have to be detected with wavelet detector 23. This means that only wavelets are needed that have their width in defined boundaries. This wavelet validation is made by wavelet detector 23 on both traces I and Q′. For further processing it is useful to have the same number of wavelets over different sweep conditions (Spp, k-factor).
Average wavelet width {overscore (n)} over the detection range can be computed by:
The number of samples n12 over the detection range is equal to:
n12=k·Spp·(fr2−fr1) (20)
It follows that the nominal wavelet count NWC can be calculated by
It is not easy to find the boundaries fr1 and fr2 of the detection range to get the same nominal wavelet count NWC for different k. Best results are achieved by recursive computing as follows: The closest relative frequency of the detection range is chosen to be for example fr1=0.3. There are no wavelets or wrong wavelets for frequencies below this limit.
The frequency offset in samples is
n0=k·Spp·fr1 (22)
nm with
is counted M=NWC·Cumulation times. The frequency offset is
Now the minimum and maximum width can be computed by
For the next processing it is desirable to have enough wavelets that are not too small. The polarity is generated by a polarity predictor. This predictor compares the width of present and previous wavelet and uses the knowledge of the resolution filter frequency response to estimate whether the sweep signal approaches or leaves the frequency component ωx of the input signal.
Of course the amount of detected wavelets will be smaller in cases where the signal has a low s/n (signal/noise) ratio or where two close frequency components in comparison with resolution bandwidth are included.
Each wavelet can be transformed in wavelet translation unit 24 to give information about the input signal frequency component that caused its occurrence. The width of the wavelet relates to immediate frequency of resolution trace by equation (26):
We can assume that:
fx=fs(t=offset)+fy for positive wavelets (27)
fx=fs(t=offset)−fy for negative wavelets (28)
wherein
fx is the searched frequency
fs is the immediate sweep frequency
It is needed to process positive and negative wavelets separately. Once we have the streams of translated wavelets, we need a mechanism that will sum up these pieces of information to produce reliable description of emerging frequency components.
This is accomplished by projecting the wavelets into discrete frequency classes in the form of intervals 11a, 11b and by thresholding.
The frequency classes are composed of intervals 11a and 11b used in wavelet classification unit 25 which are preferably overlapped by 50% to preserve the homogeneity of the frequency axis. Class width and threshold must be determined experimentally. It is preferred that the width of each class in samples is equal to 2·Spp. Well working threshold appears to be more than 8 wavelets.
By this process one frequency class (e.g. interval 11c) is selected. By averaging of all projected wavelet positions we can get the exact position where the peak correction should be applied. Together with this position we also have the count of projected positive or negative wavelets. This information is used to recognize whether there is an isolated peak or whether the peak is close to another peak and one type (approaching or leaving) of wavelets dominates or if the signal is noisy which results in less wavelets.
Now the Fuzzy peak correction performed in the correction unit 26 is described. At this part of the signal processing we have the envelope trace and accurate position of the needed correction. Now we have to compute the regular shape of the correction. The envelope trace is not replaced by this correction shape directly. Some fuzzy rules that improve the result can be used.
For the correction we need the levels of the envelope trace for the times when frequency offset is equal to±0.5 RBW and±1 RBW. RBW is the resolution bandwidth of resolution filter 4. Difference 0.5 RBW in samples can be computed by:
Because the envelope trace is not ideal the levels in given times as the average of several samples have to be calculated. For example four numbers L(−1.0), L(−0.5), L(0.5), L(1.0) are received as shown in
Once all five levels are obtained, the regular shape of the corrected envelope can be created. These five points divide the correction shape into four parts as shown in
For the best approximation of the envelope and correction shape and for the better interpolation of noisy signals preferably weighting functions as shown in
The weights are preferably computed by
w−=min(8, PositiveWaveletCount)/8 (30)
w+=min(8, NegativeWaveletCount)/8 (31)
Also other conditions have effect on the weights. Less than two negative wavelets decrease weight w−. On the other hand less than two positive wavelets decrease weight w+. Weight w0 is computed as the maximum of both weights w− and w+ computed above.
In
Number | Date | Country | Kind |
---|---|---|---|
EP 04 022 986.6 | Sep 2004 | EP | regional |