Signal processing apparatus, digital filter and recording medium

Provided is a signal processing apparatus for compensating for a non-linear distortion of a digital signal, including: an analysis signal generating section that converts the digital signal into a analysis signal of a complex number, using a digital filter; and a compensation section that compensates for the analysis signal, using a compensation coefficient of a complex number corresponding to the non-linear distortion, where the digital filter divides data of the digital signal into “n” data sequences, assigns (n*L+k)th data of the digital signal to a k-th data sequence, performs filtering on each of the data sequences using a same filter coefficient, and combines each of the data sequences after the filtering, thereby generating an imaginary number portion of the analysis signal, where “n” is an integer equal to or greater than 2, L=0, 1, . . . , and k=1, 2, . . . , n.

BACKGROUND

1. Technical Field

The present invention relates to a signal processing apparatus, a digital filter, and a recording medium.

2. Related Art

A signal processing apparatus generates a compensating signal using a complex number signal of a digital signal when compensating a non-linear distortion of the digital signal. Hilbert transform is known as a method to convert a digital signal into a complex number signal. Hilbert transform is described in Patent Document No. 1.

A signal processing apparatus can perform Hilbert transform on a digital signal using a Hilbert filter that uses a digital signal processing circuit. The Hilbert filter is a type of band pass filter, whose frequency characteristic is defined according to the number of taps and the tap coefficient of the digital signal processing circuit, etc. So as to apply the Hilbert filter to various frequency bands, the number of taps should be increased, which unfavorably increases the circuit size.

SUMMARY

Therefore, it is an object of an aspect of the innovations herein to provide a signal processing apparatus, a digital filter, and a recording medium, which are capable of overcoming the above drawbacks accompanying the related art. The above and other objects can be achieved by combinations described in the independent claims. The dependent claims define further advantageous and exemplary combinations of the innovations herein.

According to an aspect related to the innovations herein, one exemplary signal processing apparatus for compensating for a non-linear distortion of a digital signal, includes: an analysis signal generating section that converts the digital signal into a analysis signal of a complex number, using a digital filter; and a compensation section that compensates for the analysis signal, using a compensation coefficient of a complex number corresponding to the non-linear distortion, where the digital filter divides data of the digital signal into “n” data sequences, assigns (n*L+k)th data of the digital signal to a k-th data sequence, performs filtering on each of the data sequences using a same filter coefficient, and combines each of the data sequences after the filtering, thereby generating an imaginary number portion of the analysis signal, where “n” is an integer equal to or greater than 2, L=0, 1, . . . , and k=1, 2, . . . , n.

According to an aspect related to the innovations herein, one exemplary digital filter for filtering a supplied digital signal divides data of the digital signal into “n” data sequences, assigns (n*L+k)th data of the digital signal to a k-th data sequence, performs filtering on each of the data sequences using a same filter coefficient, and combines each of the data sequences after the filtering, thereby generating an imaginary number portion of an analysis signal of the digital signal, where “n” is an integer equal to or greater than 2, L=0, 1, . . . , and k=1, 2, . . . , n.

According to an aspect related to the innovations herein, one exemplary recording medium has recorded therein a program to cause a computer to function as a signal processing apparatus for compensating for a non-linear distortion of a digital signal, including: an analysis signal generating section that converts the digital signal into a analysis signal of a complex number, using a digital filter; and a compensation section that compensates for the analysis signal, using a compensation coefficient of a complex number corresponding to the non-linear distortion, where the digital filter divides data of the digital signal into “n” data sequences, assigns (n*L+k)th data of the digital signal to a k-th data sequence, performs filtering on each of the data sequences using a same filter coefficient, and combines each of the data sequences after the filtering, thereby generating an imaginary number portion of the analysis signal, where “n” is an integer equal to or greater than 2, L=0, 1, . . . , and k=1, 2, . . . , n.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

FIG. 1shows a configuration of a signal processing apparatus100according to the present embodiment. The signal processing apparatus100compensates for a non-linear distortion of a digital signal. The signal processing apparatus100includes an analysis signal generating section200and a compensation section300. The analysis signal generating section200uses the digital filter20to transform a digital signal into an analysis signal of a complex number. The compensation section300uses a compensation coefficient of a complex number corresponding to a non-linear distortion to compensate for the analysis signal. The digital signal may be a signal resulting from performing digital conversion on an analog signal using an analog-digital converter.

The digital filter20may be a band pass filter constituted by the digital signal processing circuit. The digital filter20may be a Hilbert filter constituted by a FIR filter or the like. A band of a supplied digital signal may be any band, and so the signal pass band of the digital filter20should preferably be variable.

When the digital filter20is a FIR filter, the frequency characteristic of the digital filter20is determined by the sampling frequency (corresponding to twice the Nyquist frequency), the number of taps, and the tap coefficient of the inputted digital signal. When the digital filter20has a fixed number of taps, there will be a tradeoff between the signal eliminating band ripple and the signal pass bandwidth determined by the tap coefficient. Concretely, when the signal eliminating band ripple is reduced, the signal pass bandwidth becomes narrow.

For example, the frequency characteristic of the digital filter20has a transition region in the vicinity of the DC as well as in the vicinity of the Nyquist frequency of the input signal. When the signal eliminating band ripple is reduced, the transition region becomes more smooth, to narrow the signal pass band. For this reason, it is difficult to achieve both of the reduction in ripple of the signal eliminating band and the widening of the signal pass band, in adjusting the tap coefficient.

Therefore, the digital filter20according to the present example adopts a method of lowering the sampling frequency of a digital signal, to widen the low-frequency signal pass band as well as reducing the signal eliminating band ripple. However, by lowering the sampling frequency, the SN ratio will decrease by generation of folding. Moreover, the digital signal band obtained by the sampling will become narrow.

The digital filter20can widen the signal pass bandwidth by increasing the number of taps, without changing the signal eliminating band ripple. However, if the number of taps in the digital filter20increases, the size of the digital signal processing circuit will also increase, which is unfavorable. In particular, when a programmable device such as FPGA is functioned as the digital filter20, there will be a size restriction on its circuits, and so it is preferable to fix the number of taps.

In the signal processing apparatus100according to the present embodiment, the digital filter20will divide the data of a digital signal into n data sequences, where n is an integer equal to or greater than 2. Hereinafter, dividing data into n data sequences is referred to as “interleave of n channels.” For example, when the number of pieces of data of a digital signal is 256, the digital filter20performs interleave of two channels to divide the data into two data sequences so that each data sequence contains 128 pieces of data. The digital filter20may also perform 4 channel interleave to divide the data into four data sequences so that each data sequence contains 64 pieces of data.

The digital filter20performs filtering using a same filter coefficient on each data sequence. The digital filter20combines each data sequence having been filtered, to generate an imaginary number portion of an analysis signal. Furthermore, the digital filter20may delay the digital signal to generate a real number portion of the analysis signal.

The compensation section300generates a compensating signal based on the real number portion and the imaginary number portion of the analysis signal generated by the digital filter20. The compensation section300according to the present example includes a compensating signal generating section310and a subtraction section320. The compensating signal generating section310generates a compensating signal of a real number, based on an analysis signal of a complex number. The subtraction section320generates a signal whose non-linear distortion is compensated for, by subtracting the compensating signal outputted from the compensating signal generating section310, from the real number portion of the analysis signal outputted from the analysis signal generating section200.

FIG. 2shows an exemplary configuration of an analysis signal generating section200. In this drawing, the analysis signal generating section200includes a digital filter20and a delay section40. The digital filter20generates a signal of an imaginary number portion of an analysis signal. The delay section40generates a signal of a real number portion of an analysis signal. The delay section40receives a digital signal in parallel with the digital filter20, delays the digital signal by an amount of time corresponding to the delay time caused in the digital filter20, to generate a real number portion of the analysis signal.

The band controlling section30controls the number of data sequences “n” in the digital filter20. The band controlling section30controls the signal pass band of the digital filter20by means of the control.

The digital filter20includes 1stto Nth filter sections50(50-1,50-2,50-3, . . . ,50-N) provided in parallel, each filter section20assigned the same filter coefficient. The digital filter20includes a data input section62that receives data so that the data of (N*L+K)th data of a digital signal is sequentially inputted to the k-th filter section50-k, by distributing each piece of data of the digital signal to each filter section50. Furthermore, the digital fitter20includes a combining section64that combines the signals outputted from each filter section50.

For example, the data input section62, by sequentially receiving data of a digital signal in different filter sections50, divides the data of the digital signal into four data sequences, to input the divided data into a corresponding filter section50. At each sampling time corresponding to a sampling period of a digital signal, the data input section62cycles through the filter sections50to which a digital signal is inputted.

The data input section62inputs the first data of the first data sequence into the filter section50-1. After elapse of the sampling time, the data input section62inputs the second data of the second data sequence into the filter section50-2. After elapse of the further sampling time, the data input section62inputs the third data of the third data sequence into the filter section50-3. Likewise, the data input section62inputs the fourth data of the fourth data sequence into the filter section50-4. Next, the data input section62inputs the fifth data of the first data sequence into the filter section50-1, etc.

According to the repetition of the switching operation for each sampling time by the data input section62, each filter section50receives data at each time corresponding to “sampling time multiplied by the number of channels,” to perform filtering according to the data input. The combining section64generates an imaginary number portion of an analysis signal, by obtaining, from each filter section50, the data sequences resulting after filtering, and combining the obtained data sequences. The combining section64may cycle through the filter sections50to obtain the data, in synchronization with the data input section62. The combining section64may select the same filter section50as selected by the data input section62, or may select a filter section50different in number from the number of the filter section50selected by the data input section62by a predetermined number.

FIG. 3shows a frequency characteristic of a digital filter20when n=1 (when not performing interleave).FIG. 4shows a frequency characteristic of a digital filter20when n=2.FIG. 5shows a frequency characteristic of a digital filter20when n=4.

In each of the above-stated drawings, the lateral axis represents a frequency, and the longitudinal axis represents a gain (dB) of the digital filter20. Fs/2 in the lateral axis indicates ½ frequency of the sampling frequency. When n=1, it is shown that the first Nyquist region between the frequencies of 0 and Fs/2 corresponds to the signal pass band.

ComparingFIG. 3toFIG. 4, when n=2, the signal pass band is shifted towards the lower frequencies compared to the case of n=1. Although the signal pass band has shifted towards the lower frequencies, the sampling frequency stays unchanged. Therefore, when n=2, the filter allows, to pass, both of a predetermined fundamental component and a signal of lower frequencies. ComparingFIG. 4toFIG. 5, it is shown that the signal pass band can be further controlled by setting n=4.

FromFIG. 3throughFIG. 5, as the number (the number of interleaved channels) “n” increases, the rising edge and the falling edge of the transition region in the signal pass band becomes more precipitous. For example when n=4, the change in gain of the digital filter20is more precipitous than the change when n=1. As a result, the frequency not contained in the signal pass band when n=1 is contained in the signal pass band when n=4. In other words, the band controlling section30controls the number “n,” to control the low-frequency cutoff frequency of the signal pass band in the digital filter20.

The band controlling section30can control the number “n” so that the low-frequency cutoff frequency of the signal pass band in the digital filter20will be lower than the frequency of the fundamental waves of the digital signal. For example, when the low-frequency cutoff frequency is 1 MHz for the digital filter20having n=1, this digital filter20does not allow, to pass, a digital signal having a fundamental wave frequency of 100 KHz. If, however, the digital filter20is controlled to have a low-frequency cutoff frequency to be 50 KHz by setting the number “n” to be 4, it can allow a digital signal having a fundamental wave frequency of 100 KHz to pass.

As explained above, the digital filter20according to the present embodiment can control the number “n” of data sequences, to widen the pass band of a signal as well as to control the low-frequency cutoff frequency of the signal pass band, without increasing the number of taps. Consequently, the digital filter20according to the present embodiment can set the signal pass band suitable for a digital signal, without the need to increase the size of the digital signal processing circuit.

Also as explained above with reference toFIG. 1, the signal processing apparatus100only uses the imaginary number portion of an analysis signal in generating a compensating signal in the compensating signal generating section310, and does not use the imaginary number portion of an analysis signal in compensation performed by the subtraction section320. Therefore, it is sufficient that the digital filter20allow a fundamental component of a digital signal to pass, and does not have to allow the harmonic component thereof to pass (or may allow it to pass). Therefore, as shown inFIG. 4andFIG. 5, even when the higher frequency band becomes comb-like due to enlargement of the lower frequencies of the signal pass band according to the fundamental wave frequency of a digital signal, it does not affect the operation of the signal processing apparatus100.

FIG. 6shows a concrete exemplary configuration of an analysis signal generating section200according to the present embodiment. The analysis signal generating section200includes a digital filter20and a delay section40. The digital filter20is a FIR filter having M taps.

The multiplier70-xmultiplies the data of the digital signal inputted to the corresponding tap x by the filter coefficient to calculate a multiplication value. The delay section80-xis provided between each taps (e.g. between tap x and tap x+1), and delays the data transmitted between taps by a predetermined amount of delay.

The band controlling section30controls the delay amount in the delay section80based on the value resulting from multiplying the sampling period of a digital signal by the number “n.” Concretely, when the amount of delay corresponding to one sampling period of a digital signal is represented by z−1, the band controlling section30sets the amount of delay of each delay section80to be zn. Here, “zn” is equal to a delay time corresponding to “n” times the sampling period of the digital signal. Therefore, the amount of delay in one delay section80corresponds to a time period obtained by multiplying a switching time in the data input section62and the combining section64inFIG. 5by the number of filter sections50.

InFIG. 6, the digital signal is inputted to the multiplier70-1and the delay section80-1in parallel. The multiplier70-1multiplies the data of the inputted digital signal by the filter coefficient determined for each tap, to calculate a multiplication value. The multiplier70-1outputs the data after multiplication to the adder90-2at the later-stage tap.

The delay section80-1delays the data of the inputted digital signal by the amount of delay z−n. The delay section80-1outputs the delayed data to the multiplier70-2and the delayer80-2at the later-stage tap. The adder90-2adds the data outputted from the multiplier70-1at the previous-stage tap and the data outputted by the multiplier70-2at the same tap. The digital filter20repeats the explained multiplication, delaying, and adding to all the taps, to generate an imaginary number portion of an analysis signal from the signal outputted by the adder90-M.

The delay section40delays the digital signal based on the number of taps M and the number n at the digital filter20, to generate a real number portion of the analysis signal. For example, the delay section40delays the signal inputted to the digital filter20, by a delay time z−n(M−1)/2that corresponds to half the delay time z−n(M−1), to generate the real number portion of the analysis signal.

As stated above, the digital filter20according to the present embodiment controls the amount of delay in each delay section80to change the number of the divided digital signals. Concretely, the digital filter20sets the amount of delay in each delay section80, to correspond to the amount resulting from multiplying the sampling period by the number of divided digital signals. As a result, the digital filter20can widen the pass band of a signal as well as controlling the low-frequency cutoff frequencies of a signal pass band, without increasing the number of taps.

Note in the example explained with reference toFIG. 2, each filter section50has the same configuration as that of the digital filter20shown inFIG. 6. Note that each filter section50has n=1 inFIG. 2. Meanwhile, the digital filter20in the present example controls the amount of delay between taps, to realize an interleavable filter by means of one circuit of the filter section50. This helps reduce the circuit size.

FIG. 7shows a modification example ofFIG. 6. In the present drawing, the data of the inputted digital signal is simultaneously inputted to respective multipliers70. The multiplier70-1outputs, to the delay section80-1, the multiplication value obtained by multiplying corresponding data by a predetermined coefficient. The other multipliers70outputs the respective multiplication values to the adder90of the same tap.

Each adder90adds the data outputted from the delay section80in the previous tap, and the multiplication value outputted by the multiplier70in the same tap. The multiplier70, the delay section80, and the adder90in each tap sequentially repeat the same processing, to cause the adder90-M to output the data of the imaginary number portion of the digital signal.

FIG. 8shows a digital filter20according to another embodiment. In this drawing, the digital filter20uses a symmetrical property of the coefficient, to set the number of taps to be M/2 of the number of taps of the digital filter20ofFIG. 6andFIG. 7, to reduce half of the number of multipliers70.

The digital filter20sequentially propagates the data of the inputted digital signal from the delay section80-1to the delay section80-(M/2-1), by delaying the data in each delay section80by the amount of delay of z−n. The delay section80-(M/2-1) sequentially outputs the delayed data to the multiplier70-M/2, and simultaneously outputs it to the delay section80-M/2. The digital filter20sequentially propagates the data inputted to the delay section80-M/2 up to the delay section80-(M−2).

The adder90provided in each tap adds data outputted from any delay section80from the delay section80-1to the delay section80-(M/2-1) connected to each tap, and data outputted from any delay section80from the delay section80-M−2 to the delay section80-(M−2) connected to each tap.

Each multiplier70outputs, to the adding section110, a multiplication value obtained by multiplying the data outputted from the adder90of the same tap by a predetermined coefficient. For example, the multiplier70-1outputs, to the adding section110, a multiplication value obtained by multiplying the data outputted from the adder90-1by a predetermined coefficient. The adding section110generates an imaginary number portion of an analysis signal by adding the multiplication values outputted from the respective multipliers70.

According to the described configuration, the digital filter20can constitute an interleavable filter, by means of half the number of the multipliers70used in the digital filters20shown inFIG. 6andFIG. 7. As a result, the signal processing apparatus100can reduce the circuit size of the digital filter20.

FIG. 9shows a modification example ofFIG. 8. In this drawing, the data of the inputted digital signal is simultaneously inputted to each multiplier70. The multiplier70at each tap outputs a multiplication value obtained by multiplying corresponding data by a predetermined coefficient, to the adder90at the same tap.

The adder90adds the data outputted from the multiplier70connected to each tap and data outputted from the delay section80positioned between the current-stage tap and the previous-stage tap. Each delay section80delays the data inputted from the previous-stage adder90by the delay amount of z-n, and outputs the result to the later-stage adder90. The data inputted to the delay section80-1is sequentially propagated up to the delay section80-(M−2), before being outputted to the adder90-M. The adder90-M adds the data outputted from the multiplier70-1at the same tap and the data outputted from the delay section80-(M−2), to generate an imaginary number portion of the analysis signal.

FIG. 10shows a configuration of a digital filter20according to another embodiment. The digital filter20according to the present embodiment sequentially sets the multiplication value obtained according to the filter coefficient in each tap, according to the order of the tap. The band controlling section30reverses the order of the multiplication value to each tap, thereby controlling the signal pass band in the digital filter20.

Specifically, the configuration of the digital filter20shown inFIG. 10is the same as the configuration of the digital filter20shown inFIG. 6, except that the coefficient of the multiplier70in each tap is different. For example, the coefficient used for the multiplier70-1inFIG. 10is the same as the coefficient used for the multiplier70-M inFIG. 6. The coefficient used for the multiplier70-M inFIG. 10is the same as the coefficient used for the multiplier70-1inFIG. 6. According to this configuration, the digital filter20can switch the signal pass band to the second Nyquist region. This example has a basis on the configuration of the digital filter20shown inFIG. 6, with the reversed order of the multiplication values. Alternatively, it is possible to use as a basis the configuration of any of the digital filters20shown inFIG. 7throughFIG. 9, with the reversed order of the multiplication values.

FIG. 11shows frequency characteristics of a digital filter20shown inFIG. 6and of a digital filter20shown inFIG. 10. In this drawing, the broken line shows the frequency characteristic of the digital filter20ofFIG. 6. The solid line shows the frequency characteristic of the digital filter20inFIG. 10. Each digital filter20has the frequency characteristic where a signal pass band and a signal eliminating band alternate. According to the configuration of the present embodiment, the digital filter20can easily switch the region to pass a signal to either the first Nyquist region or the second Nyquist region, according to a signal under measurement.

FIG. 12shows a configuration of a signal processing apparatus100according to another embodiment. The digital filter20can control a signal pass band according to the number “n” of data sequences. Therefore, the number “n” of data sequences can be determined according to the frequency of the signal to be analyzed, in designing the digital filter20.

When analyzing an analog signal, the signal processing apparatus100converts the analog signal into a digital signal by means of an analog/digital converter, to input a digital signal after conversion to the digital filter20. So as to enable analysis of an analog signal of a wide frequency band, the sampling frequency in the analog/digital converter is selected according to the maximum frequency of the inputted analog signal.

Therefore, when analyzing an analog signal having a frequency lower than the maximum frequency, the sampling frequency is unreasonably high. When the sampling frequency is high, the operating frequency of the digital filter20also becomes high, which unfavorably increases power consumption and radiation noise.

Therefore, the signal processing apparatus100according to the present embodiment further includes a decimation section350in addition to the signal processing apparatus100shown inFIG. 1. The decimation section350reduces the number of pieces of data of a digital signal, and inputs the result to the digital filter20. For example, the decimation section350may perform selection on the pieces of sampling data of a digital signal at a predetermined interval, and input the selected pieces of data to the digital filter20. According to this configuration, the digital filter20can constitute the filter operating at an optimal sampling frequency according to the frequency of a signal to be analyzed.

FIG. 13shows a configuration of a signal processing apparatus100according to another embodiment. The compensation section300in this drawing includes a compensating signal generating section310and a subtraction section320. The compensating signal generating section310generates a compensating signal for compensating a non-linear distortion of a digital signal, based on a compensation coefficient and a signal resulting from exponentiating the analysis signal. The subtraction section320compensates for the non-linear distortion by subtracting each compensating signal from the digital signal.

Before the operation of the compensation section300is explained, the overview of the compensation algorithm of the non-linear distortion is explained.FIG. 14shows a generation model of a non-linear distortion. The input signal in this model is assumed to have a frequency f0, and so that d=Cos(2πθf0t+θ0) having a phase of θ0. Since the analog circuit400has a gain of M0, x=M0Cos(2πθf0t+θ0) is outputted to the analog circuit402.

Next, the analog circuit402outputs, to a later-stage analog circuit404, a signal to which distortion attributed to the non-linearity of the analog circuit402is superimposed. Since the analog circuit404has a gain of G, the output signal from the analog circuit404will be y=G(A1*x+A2*x2+A3*x3).

FIG. 15shows a conceptual diagram of a spectrum of a harmonic distortion contained in an output signal y of an analog circuit404. f0represents a fundamental component, 2f0represents a second harmonic component, and 3f0represents a third harmonic component. The amplitude H2of the second harmonic component and the amplitude H3of the third harmonic component are calculated as follows.

H2=(GM0⁢A1)22·A2GA12=(H1)22⁢A~2H3=(GM0⁢A1)34·A2G2⁢A13=(H1)34⁢A~3
Accordingly, the compensation coefficients of the second harmonic component and the third harmonic component can be calculated as follows.

The signal processing apparatus100uses the compensation coefficients obtained in the above manner, to generate a compensating signal for compensating a non-linear distortion contained in a signal y as in the following Expression 1.

Here, H(y) represents data resulting from converting the signal y into a complex number, θ2represents the phase of a second harmonic wave, and θ3represents the phase of a third harmonic wave.

The signal processing apparatus100can obtain an analysis signal without any distortion, by subtracting a compensating signal from a signal y. Specifically, if the approximation is performed as follows:
y≈GA1x,
the signal after compensation is expressed as follows.

y-(A~2·y2+A~3·y3)≈⁢y-(A2GA12·(GA1⁢x)2+A3G2⁢A13·(GA1⁢x)3)=⁢y-(GA2⁢x2+GA3⁢x3)=⁢GA1·x
This means that an analysis signal without any distortion has resulted.

The digital filter20uses a Hilbert filter to generate complex number conversion data of a signal y contained in Expression (1). The compensation section300uses the data of the real number portion and the data of the imaginary number portion generated by the digital filter20in the operation shown in Expression (1), to generate the compensating signal. The subtraction section320subtracts the compensating signal outputted from the compensation section300from the real number portion outputted from the digital filter20, to generate a signal whose non-linear distortion has been compensated for.

FIG. 16shows experimental data on a spectrum of a digital signal as well as a frequency characteristic of a digital filter20when interleave processing is not performed (n=1).FIG. 17shows experimental data of a spectrum of a signal outputted from the signal processing apparatus100. In both of the drawings, the lateral axis represents a frequency, and the longitudinal axis represents a gain (dB) of the digital filter20. The sampling frequency Fs is 100 Msps, a fundamental wave frequency of the digital signal is 60 MHz, and the number of samples is 8192.

FIG. 16shows, together with a fundamental component of a digital signal, a harmonic component (i.e. folded signal component of a harmonic wave) which causes a waveform distortion. The fundamental wave frequency of the digital signal, however, is contained in the signal eliminating band of the digital filter20. Therefore, the compensation section300cannot obtain the digital signal from the digital filter20. As a result, the compensation section300cannot generate a compensating signal, and it is impossible to remove the harmonic component of the digital signal, from the signal outputted from the signal processing apparatus100, as shown inFIG. 17.

FIG. 18shows experimental data on a spectrum of a digital signal as well as a frequency characteristic of a digital filter20when interleave processing is performed (N=2).FIG. 19shows experimental data of a spectrum of a signal outputted by a signal processing apparatus100. The digital filter20ofFIG. 18performs interleave and so has a signal pass band characteristic different from that of the digital filter20ofFIG. 16, which has the fundamental wave frequency of the digital signal contained in the signal pass band of the digital filter20.

Since the fundamental wave frequency of the digital signal is contained in the signal pass band of the digital filter20, the compensation section300can obtain the digital signal from the digital filter20. This allows the compensation section300to generate a compensating signal from the digital signal. Consequently, a harmonic component of the digital signal can be removed from the signal outputted from the signal processing apparatus100, as shown inFIG. 19.

FIG. 20shows a frequency characteristic of a digital filter20when the number of interleaved channels is set to be 6.FIG. 21shows an enlarged view of a low frequency region ofFIG. 20. InFIG. 20andFIG. 21, the fundamental wave frequency of the digital signal is 1 MHz corresponding to 1/100 of the sampling frequency of 100 Msps. According to the increase in the number of interleaved channels in the digital filter20, the low-frequency cutoff frequency is sufficiently lower than the fundamental wave frequency of the digital signal. As a result, the fundamental wave frequency of the digital signal is contained in the signal pass band of the digital filter20, as shown in the drawing.

As explained above, in the signal processing apparatus100according to the present embodiment, the compensation section300generates a compensating signal using the complex number component data of the analysis signal generated by the analysis signal generating section200, to eliminate a non-linear distortion. In particular, the digital filter20changes the number of data sequences, i.e., the number of interleaved channels, to be able to change the frequency characteristic of the filter without changing the number of taps. Therefore, the signal processing apparatus100can compensate for the digital signal, after adjusting the filter characteristic to be optimal according to the characteristics such as a frequency of an analysis signal.

FIG. 22shows an exemplary hardware configuration of a computer1900constituting a signal processing apparatus100according to another embodiment.FIG. 23shows an exemplary operational flowchart of a signal processing apparatus100according to the present embodiment. The computer1900according to the present embodiment is equipped with a CPU periphery that includes a CPU2000, a RAM2020, a graphics controller2075, and a display apparatus2080which are mutually connected by a host controller2082. The computer1900is also equipped with an input/output unit having a communication interface2030, a hard disk drive2040, and a CD-ROM drive2060which are connected to the host controller2082via an input/output controller2084, and a legacy input/output unit having a ROM2010, a flexible disk drive2050, and an input/output chip2070which are connected to the input/output controller2084.

The host controller2082connects the RAM2020with the CPU2000and the graphics controller2075which access the RAM2020at a high transfer rate. The CPU2000operates according to programs stored in the ROM2010and the RAM2020, thereby controlling each unit. The graphics controller2075obtains image data generated by the CPU2000or the like on a frame buffer provided in the RAM2020, and causes the image data to be displayed on the display apparatus2080. Alternatively, the graphics controller2075may contain therein a frame buffer for storing image data generated by the CPU2000or the like.

The input/output controller2084connects the host controller2082with the communication interface2030, the hard disk drive2040, and the CD-ROM drive2060, which are relatively high-speed input/output apparatuses. The communication interface2030communicates with other apparatuses via a network. The hard disk drive2040stores a program and data used by the CPU2000within the computer1900. The CD-ROM drive2060reads the program or the data from the CD-ROM2095, and provides the hard disk drive2040with the program or the data via the RAM2020.

The ROM2010, and the flexible disk drive2050and the input/output chip2070which are relatively low-speed input/output apparatuses are connected to the input/output controller2084. The ROM2010stores therein a boot program executed by the computer1900at the time of activation, a program depending on the hardware of the computer1900, or the like. The flexible disk drive2050reads the programs or data from a flexible disk2090, and provides the hard disk drive2040with the programs or data via the RAM2020. The input/output chip2070connects a flexible drive2050to an input/output controller2084, and connects various input/output apparatuses via a parallel port, a serial port, a keyboard port, a mouse port, and the like to the input/output controller2084.

A program to be provided for the hard disk drive2040via the RAM2020is provided by a user by being stored in such a recording medium as the flexible disk2090, the CD-ROM2095, and an IC card. The program is read from the recording medium, installed into the hard disk drive2040within the computer1900via the RAM2020, and executed in the CPU2000.

A program that is installed in the computer1900and causes the computer1900to function as a signal processing apparatus100causes the computer1900to function as an analysis signal generating section200that converts a digital signal into a complex number analysis signal using a digital filter20, and a compensation section300that compensates for the analysis signal using a complex number compensation factor corresponding to the non-linear distortion, and causes the digital filter20to divide the data of the digital signal into N data sequences (“n” is an integer equal to or greater than 2), assign the (n*L+k)th data (L=0, 1, . . . ) of the digital signal to the k-th data sequence (k=1, 2, . . . , n), perform filtering on the respective data sequences using a same filter coefficient, and generate an imaginary number portion of the analysis signal by combining the respective data sequences after the filtering. The program or module acts on the CPU2000, to cause the computer1900to function as any of the signal processing apparatuses100explained above with reference toFIG. 1throughFIG. 21.

Concretely, according to the program, the computer1900divides the data of the inputted digital signal into n data sequences in a predetermined order (S101). Next, the computer1900uses the same filter coefficient in performing filtering across one data sequence (S102). Next, the computer1900combines the data of each data sequence after the filtering, to generate the data of the imaginary number portion of the analysis signal (S103).

The computer1900further generates a compensating signal using the data of the imaginary number portion of the generated analysis signal, the data of the real number portion of the analysis signal, and the compensation coefficient having been calculated in advance (S104). The computer1900may generate a signal whose non-linear distortion has been compensated for, by subtracting the generated compensating signal from the data of the real number portion of the analysis signal (S105).

The information processing described in these programs is read into the computer1900, to function as the analysis signal generating section200and the compensation section300, which are the concrete means as a result of cooperation between the software and the above-mentioned various types of hardware resources. Moreover, the signal processing apparatus100for the usage is constituted by realizing the operation or processing of information in accordance with the usage of the computer1900of the present embodiment by these concrete means.

For example when communication is performed between the computer1900and an external apparatus and the like, the CPU2000executes a communication program loaded onto the RAM2020, to instruct communication processing to a communication interface2030, based on the processing described in the communication program. The communication interface2030, under control of the CPU2000, reads the transmission data stored on the transmission buffering region provided in the recording apparatus such as a RAM2020, a hard disk drive2040, a flexible disk2090, or a CD-ROM2095, and transmits the read transmission data to a network, or writes reception data received from a network to a reception buffering region or the like provided on the recording apparatus. In this way, the communication interface2030may exchange transmission/reception data with the recording apparatus by a DMA (direct memory access) method, or by a configuration that the CPU2000reads the data from the recording apparatus or the communication interface2030of a transfer destination, to write the data into the communication interface2030or the recording apparatus of the transfer destination, so as to transfer the transmission/reception data.

In addition, the CPU2000causes all or a necessary portion of the file of the database to be read into the RAM2020such as by DMA transfer, the file or the database having been stored in an external recording apparatus such as the hard disk drive2040, the CD-ROM drive2060(CD-ROM2095), the flexible disk drive2050(flexible disk2090), to perform various types of processing onto the data on the RAM2020. The CPU2000then writes back the processed data to the external recording apparatus by means of a DMA transfer method or the like.

In such processing, the RAM2020can be considered to temporary store the contents of the external recording apparatus, and so the RAM2020, the external recording apparatus, and the like are collectively referred to as a memory, a storage section, or a recording apparatus, and so on in the present embodiment. In the present embodiment, various types of information such as various types of programs, data, tables, and databases are stored in the recording apparatus, to undergo information processing. Note that the CPU2000may also retain a part of the RAM2020, to perform reading/writing thereto on the cache memory. In such an embodiment, too, the cache is considered to be contained in the RAM2020, the memory, and/or the recording apparatus unless noted otherwise, since the cache memory performs part of the function of the RAM2020.

The CPU2000performs various types of processing, onto the data read from the RAM2020, which includes various types of operations, processing of information, condition judging, search/replace of information, described in the present embodiment and designated by an instruction sequence of programs, and writes the result back to the RAM2020. For example, when performing condition judging, the CPU2000judges whether each type of variables shown in the present embodiment is larger, smaller, no smaller than, no greater than, or equal to the other variable or constant, and when the condition judging results in the affirmative (or in the negative), the process branches to a different instruction sequence, or calls a sub routine.

In addition, the CPU2000can search for information in the file or database or the like in the recording apparatus. For example when a plurality of entries, each having an attribute value of a first attribute is associated with an attribute value of a second attribute, are stored in a recording apparatus, the CPU2000searches for an entry matching the condition whose attribute value of the first attribute is designated, from among the plurality of entries stored in the recording apparatus, and reads the attribute value of the second attribute stored in the entry, thereby obtaining the attribute value of the second attribute associated with the first attribute satisfying the predetermined condition.

The above-explained program or module can be stored in an external recording medium. Exemplary recording medium include a flexible disk2090, a CD-ROM2095, as well as an optical recording medium such as a DVD or a CD, a magneto-optic recording medium such as a MO, a tape medium, and a semiconductor memory such as an IC card. In addition, a recording apparatus such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a recording medium, thereby providing the program to the computer1900via the network.