The present invention relates to a method for processing a digital input signal by a finite impulse response, fir, filtering means, comprising partitioning the digital input signal at least partly in the time domain to obtain at least two partitions of the digital input signal; partitioning the fir filtering means in the time domain to obtain at least two partitions of the fir filtering means; fourier transforming each of the at least two partitions of the digital input signal to obtain fourier transformed signal partitions; fourier transforming each of the at least two partitions of the fir filtering means to obtain fourier transformed filter partitions; performing a convolution of the fourier transformed signal partitions and the corresponding fourier transformed filter partitions to obtain spectral partitions; combining the spectral partitions to obtain a total spectrum; and inverse fourier transforming the total spectrum to obtain a digital output signal.
|
20. A computerized method for processing a signal comprising:
partitioning a digital input signal in a time domain into a plurality of time domain partitioned input signals;
delaying the plurality of time domain partitioned input signals to generate a plurality of delayed time domain partitioned input signals;
fourier transforming, with at least one processor, the plurality of time domain partitioned input signals into a plurality of fourier transformed signal partitions, wherein a first portion of the time domain partitioned input signals is fourier transformed during a same cycle to generate a first plurality of fourier transformed signal partitions;
applying consecutive delays to a second portion of the plurality of fourier transformed signal partitions to generate a second plurality of fourier transformed signal partitions;
time partitioning a finite impulse response (fir) filter in the time domain into a plurality of time domain partitioned fir signals;
fourier transforming, with the at least one processor, the plurality of time domain partitioned fir signals into a plurality of fourier transformed filter signal partitions, where the plurality of fourier transformed signal partitions and the plurality of fourier transformed filter signal partitions have a same bandwidth; and
convoluting the plurality of fourier transformed signal partitions and the plurality of fourier transformed filter signal partitions with one another to provide a plurality of convoluted partitioned output signals.
1. A signal processing system comprising:
a converter adapted to convert a digital input signal to provide a plurality of fourier transformed signal partitions comprising a first and a second plurality of fourier transformed signal partitions, where the converter comprises:
an input time partitioner adapted to partition the digital input signal in a time domain into a plurality of time domain partitioned input signals;
a first plurality of delay lines adapted to receive the plurality of time domain partitioned input signals to generate a plurality of delayed time domain partitioned input signals;
a plurality of fourier transform processors respectively associated with each of the first plurality of delay lines to generate the first plurality of fourier transformed signal partitions corresponding to the time domain partitioned input signal of the input time partitioner; and
a second plurality of delay lines connected to one of the plurality of fourier transform processors and adapted to generate the second plurality of fourier transformed signal partitions;
a filter signal source adapted to provide a plurality of fourier transformed filter partitions, the filter signal source comprising:
a filter time partitioner adapted to partition an fir filter in the time domain into a plurality of time domain partitioned filter signals; and
a filter fourier transform processor adapted to provide the plurality of fourier transformed filter partitions corresponding to the time domain partitioned filter signals of the filter time partitioner; and
a convolution processor adapted to provide a plurality of convoluted partitioned output signals corresponding to a convolution of the partitions provided by the converter and the filter signal source.
3. A signal processing system comprising:
a first time partitioner adapted to partition a digital input signal in a time domain into a plurality of time domain partitioned input signals;
a first plurality of delay lines adapted to receive the plurality of time domain partitioned input signals to generate a plurality of delayed time domain partitioned input signals;
a plurality of fourier transform processors respectively associated with each of the first plurality of delay lines to generate a first plurality of fourier transformed signal partitions corresponding to the time domain partitioned input signal provided by the first time partitioner;
a second plurality of delay lines connected to one of the plurality of fourier transform processors and adapted to generate a second plurality of fourier transformed signal partitions;
a second time partitioner adapted to partition a finite impulse response (fir) filter in the time domain into a plurality of time domain partitioned fir signals;
a fourier transform processor adapted to provide a plurality of fourier transformed filter partitions corresponding to the plurality of time domain partitioned fir signals;
a convolution processor adapted to provide a plurality of convoluted partitioned output signals corresponding to a convolution of the partitions provided by the plurality of fourier transform processors and the second plurality of delay lines and the fourier transform processor; and
where the first time partitioner divides the input signal into blocks in the time domain and the convolution processor executes an overlap-save block convolution of the partitions provided by the plurality of fourier transform processors and the second plurality of delay lines and second fourier transform processors.
33. A signal processing system comprising:
a time partitioner adapted to partition a digital input signal in a time domain into a plurality of time domain partitioned input signals;
a first plurality of delay lines adapted to receive the plurality of time domain partitioned input signals to generate a plurality of delayed time domain partitioned input signals;
a plurality of fourier transform processors respectively associated with each of the first plurality of delay lines to generate a first plurality of fourier transformed signal partitions corresponding to the time domain partitioned input signal provided by a first time partitioner, during a same cycle;
a second plurality of delay lines connected to one of the plurality of fourier transform processors and adapted to generate a second plurality of fourier transformed signal partitions;
memory storage comprising a plurality of fourier transformed filter partitions corresponding to a plurality of time domain partitioned fir signals of an fir filter;
a convolution processor adapted to provide a plurality of convoluted partitioned output signals corresponding to a convolution of the first and second pluralities of fourier transformed signal partitions and the plurality of fourier transformed filter partitions, where the convolution processor executes an overlap-save block convolution of the first and second pluralities of fourier transformed signal partitions and the plurality of fourier transformed filter partitions;
a combiner adapted to combine the plurality of convoluted partitioned output signals to obtain an output signal corresponding to a total spectrum output signal; and
an inverse fourier transform processor adapted to perform an inverse fourier transform operation on the total spectrum output signal to obtain a digital output signal.
12. A signal processing system comprising:
a first time partitioning means for partitioning a digital input signal in a time domain into a plurality of time domain partitioned input signals;
a first plurality of delay lines adapted to receive the plurality of time domain partitioned input signals to generate a plurality of delayed time domain partitioned input signals;
a first plurality of fourier transform means respectively associated with each of the first plurality of delay lines for transforming the plurality of time partitioned input signals into a first plurality of fourier transformed signal partitions;
a second plurality of delay lines connected to one of the plurality of fourier transform means and adapted to generate a second plurality of fourier transformed signal partitions;
a second time partitioning means for partitioning a finite impulse response (fir) filter in the time domain into a plurality of time domain partitioned fir signals;
a second fourier transform means for transforming the plurality of time domain partitioned fir signals into a plurality of fourier transformed filter partitions; and
convolution means for convoluting the first and second pluralities of fourier transformed signal partitions and the plurality of fourier transformed filter partitions to provide a plurality of convoluted partitioned output signals; where
the first time partitioning means partitions a first portion of an input signal x[n] to obtain T partitions xT[n] and a second portion of the input signal x[n] to obtain S partitions xS[n], where S and T are both integers;
the first plurality of fourier transform means transforms the input signal partitions xT[n] to obtain T fourier transformed signal partitions XT(ω) as the first plurality of fourier transformed signal partitions and transforms input signal partitions xS[n] to obtain S fourier transformed signal partitions XS(ω) as the second plurality of fourier transformed signal partitions;
the second time partitioning means partitions a first portion of a fir filter into T time domain partitioned fir signals FIRT[n] and partitions a second portion of the fir filter into S time domain partitioned fir signals firs[n]; and
the second fourier transform means transforms the T time domain partitioned fir signals FIRT[n] to obtain corresponding fourier transformed filter partitions FIRT(ω) and transforms the S time domain partitioned fir signals FIRT[n] to obtain corresponding fourier transformed filter partitions firs(ω).
28. A non-transitory computer readable storage medium having stored therein data representing instructions that are executable by a processor for processing a signal, the computer readable storage medium comprising instructions operative for:
partitioning a digital input signal in a time domain into a plurality of time domain partitioned input signals;
delaying the plurality of time domain partitioned input signals to generate a plurality of delayed time domain partitioned input signals;
fourier transforming the plurality of time domain partitioned input signals into a plurality of fourier transformed signal partitions, wherein a first portion of the time domain partitioned input signals is fourier transformed during a same cycle to generate a first plurality of fourier transformed signal partitions;
applying consecutive delays to a second portion of the plurality of fourier transformed signal partitions to generate a second plurality of fourier transformed signal partitions;
time partitioning a finite impulse response (fir) filter in the time domain into a plurality of time domain partitioned fir signals;
fourier transforming the plurality of time domain partitioned fir signals into a plurality of fourier transformed filter partitions; and
convoluting the plurality of fourier transformed signal partitions with the plurality of fourier transformed filter partitions to provide a plurality of convoluted partitioned output signals; where:
the partitioning of the digital input signal in the time domain includes partitioning the first portion of a digital input signal x[n] to obtain T partitions xT[n] and the second portion of the digital input signal x[n] to obtain S partitions xS[n], where S and T are both integers;
the fourier transforming of the plurality of time domain partitioned input signals includes fourier transforming partitions xT[n] to obtain T fourier transformed signal partitions XT(ω) and transforming a input signal partitions xS[n] to obtain S fourier transformed signal partitions XS(ω);
the time partitioning of a fir filter includes partitioning a first portion of the fir filter into T time domain partitioned fir signals FIRT[n] and partitioning a second portion of the fir filter into S time domain partitioned fir signals firs[n]; and
the fourier transforming of the plurality of time domain partitioned fir signals includes transforming the T time domain partitioned fir signals FIRT[n] to obtain corresponding fourier transformed filter partitions FIRT(ω) and transforming the S time domain partitioned fir signals FIRT[n] to obtain corresponding fourier transformed filter partitions firs(ω).
2. The signal processing system of
4. The signal processing system of
5. The signal processing system of
6. The signal processing system of
7. The signal processing system of
8. The signal processing system of
9. The signal processing system of
the first time partitioner is adapted to partition a first portion of an input signal x[n] to obtain T partitions xT[n] and a second portion of the input signal x[n] to obtain S partitions xS[n], where S and T are both integers;
the plurality of fourier transform processors are adapted to transform input signal partitions xT[n] to obtain T fourier transformed signal partitions XT(ω) as the first plurality of fourier transformed signal partitions and to transform input signal partitions xS[n] to obtain S fourier transformed signal partitions XS(ω) as the second plurality of fourier transformed signal partitions;
the second time partitioner is adapted to provide T time domain partitioned fir signals firT[n] corresponding to a first portion of the fir filter and S time domain partitioned fir signals firS[n] corresponding to a second portion of the fir filter; and
the fourier transform processor is adapted to transform the T time domain partitioned fir signals firT[n] to obtain corresponding fourier transformed filter partitions firT(ω) and to transform the S time domain partitioned fir signals firT[n] to obtain corresponding fourier transformed filter partitions firS(ω).
10. The signal processing system of
11. The signal processing system of
13. The signal processing system of
14. The signal processing system of
15. The signal processing system of
16. The signal processing system of
17. The signal processing system of
18. The signal processing system of
19. The signal processing system of
21. The method of
22. The method of
23. The method of
24. The method of
25. The method of
the partitioning of the digital input signal includes partitioning the first portion of a digital input signal x[n] to obtain T partitions xT[n] and the second portion of the digital input signal x[n] to obtain S partitions xS[n], where S and T are both integers;
the fourier transforming of the plurality of time domain partitioned input signals includes fourier transforming partitions xT[n] to obtain T fourier transformed signal partitions XT(ω) and transforming partitions xS[n] to obtain S fourier transformed signal partitions XS(ω);
the time partitioning of the fir filter includes partitioning a first portion of the fir filter into T time domain partitioned fir signals firT[n] and partitioning a second portion of the fir filter into S time domain partitioned fir signals firS[n]; and
the fourier transforming of the plurality of time partitioned fir signals includes transforming the T time domain partitioned fir signals firT[n] to obtain corresponding fourier transformed filter partitions firT(ω) and transforming the S time domain partitioned fir signals firT[n] to obtain corresponding fourier transformed filter partitions firS(ω).
26. The method of
27. The method of
29. The non-transitory storage medium of
30. The non-transitory storage medium of
31. The non-transitory storage medium of
32. The non-transitory storage medium of
34. The signal processing system of
|
This application claims the benefit of priority from EP 06014253, filed Jul. 10, 2006, and to EP 07011621, filed Jun. 13, 2007, both of which are incorporated herein by reference.
The present disclosure relates to a signal processing system and, more particularly, to a signal processing system that employs time and frequency domain partitioning.
Signal processing systems are used in a wide range of applications. One set of applications includes speech signal processing/recognition, where the signal processing system may be used to enhance the intelligibility of the speech signals. Another such application is the enhancement of the quality of signals transmitted and/or received in a communication system. Wired and/or wireless communication between two parties may be carried out where one or both of the parties are present in a noisy background environment. One example of such a communication environment is a hands-free voice communication and/or command system in a vehicle. Signal processing in such communication systems may be used to reduce background noise and to enhance the intelligibility of the speech signals.
Other problems also exist in such communication environments. For example, the signals of one party may be emitted by a loudspeaker in the receiving party's environment. These omissions may be picked up by the microphone used by the remote party. If picked-up by the microphone, transmissions from the remote party may include unpleasant echoes that may affect the quality and intelligibility of the voice conversation. In certain circumstances, acoustic feedback may lead to a complete breakdown of communication.
To overcome such echo/feedback problems, the communication system may include a signal processing system that is configured as an echo canceller. In an echo canceller, a replica of the acoustic feedback response may be synthesized and a compensation signal may be obtained from the received signal at the loudspeaker. This compensation signal may be subtracted from the signal of the microphone to generate the signal that is transmitted from the remote party.
Communication systems, speech processing/recognition systems, and other systems may also use one or more equalization filters to enhance the quality of the subject speech signal as well as the transmitted and/or received signals. The equalization filters operate on the acoustic signals by boosting or attenuating the signals over a pre-determined frequency range. The equalization filter may include one or more shelving filters for selectively boosting/attenuating either the low or high frequency range. The equalization filter may also include one or more peaking filters for boosting/attenuating signals with the center frequency, bandwidth in-band and out-of-band gains being separately adjustable. Still further, the equalization filter may be in the form of a parametric equalizer that combines one or more shelving filters and peaking filters.
The filters used in such signal processing systems may include digital filters that are implemented in hardware and/or software. Digital filters may include Finite Impulse Response (FIR) filters and Infinite Impulse Response (IIR) filters. Each of these digital filter types has advantages and disadvantages that make them suitable for specific applications. FIR filters are very stable but may require the use of a significant number of filter coefficients. These filter coefficients used by the digital filter may be adapted or optimized to enhance the quality of the processed audio signal. The large number of coefficients, adaptation, and optimization may impose very large memory requirements and a heavy processor load on the signal processing system thereby making the use of FIR filters impractical in some systems. IIR filters may be easier to implement, particularly for equalization filters used in audio applications having high sampling rates (e.g., 44.1 KHz). FIR filters at such high sampling rates may have the aforementioned problems. However, IIR filters may have stability issues because the filter topology employs feedback.
Other filter types include short filters designed in a distorted frequency range, so-called warped FIR or IIR filters. Warped filters, however, also suffer from the need for a long computation time. In an alternative approach, multirate digital systems or filter banks for dividing the audio signal that is to be processed into multiple frequency ranges by parallel band pass filters have been used for equalizing. However, this approach may suffer from high memory requirements and a high latency. Accordingly, there is a need for a signal processing system employing an improved digital filter topology.
A signal processing system operates on an input signal using time and frequency domain partitioning. A converter is used to convert the digital input signal to provide a first plurality of Fourier transformed signal partitions. A filter signal source is used to provide a plurality of Fourier transformed filter partitions. The partitions of the converter and the filter signal source are provided to a convolution processor that uses the partitions to generate a plurality of convoluted partitioned output signals. The convoluted partitioned output signals may be combined to generate a total spectrum signal that may be inverse Fourier transformed to provide a processed digital output signal.
Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
The invention can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
The processing system 100 also includes an FIR filter 115 having a filter response FIR(n). The output FIR(n) of the FIR filter 115 is provided to the input of a second time partitioner 120. The second time partitioner is adapted to partition the FIR filter in the time domain into a plurality of time domain partitioned FIR signals FIRi[n]. The signal processing system 100 may use the same number of FIR partitions FIRi[n] as input signal partitions xi[n]. The plurality of time domain partitioned Fourier signals FIRi[n] are subject to a Fourier transform operation by a Fourier transform processor, such as FFT processor 125. In practice, the FFT may be carried out using the Cooley-Tukey algorithm, although other FFT algorithms may also be employed. The latency of the transformation process may be determined by the length of the chosen FFT and, for example, may be given by twice the FFT length NF. In order to carry out fast convolutions, the filter partitions FIRi[n] may be Fast Fourier transformed to obtain the Fourier transformed filter partitions FIRi(ω) in the following manner:
The resulting Fourier transform signals are provided as a plurality of Fourier transformed filter partitions FIRi(ω) that correspond to the time domain partitioned Fourier signals FIRi[n]. While the plurality of Fourier transformed filter partitions may be generated during operation of the signal processing system 100, the Fourier transformations may be executed off-line and stored in system memory 127 in certain instances where, for example, the response of the FIR filter 115 is fixed.
The plurality of Fourier transformed filter partitions FIRi(ω) and the plurality of Fourier transform signal partitions Xi(ω) are convoluted with one another by a convolution processor 130. In those instances in which the Fourier transform signal partitions are calculated off-line, the values corresponding to the plurality of Fourier transform filter partitions FIRi(ω) may be retrieved from the system memory 127 by the convolution processor 130 for processing. The output of the convolution processor 130 is in the form of a plurality of convoluted partitioned output signals Yi(ω). The plurality of convoluted partitioned output signals Yi(ω) may be provided to the input of a combiner/adder 135 that combines the plurality of convoluted partitioned output signals to generate a total spectrum output signal Y(ω). The total spectrum output signal Y(ω) is provided to the input of an Inverse Fast Fourier Transform processor 140 to transform the total spectrum output signal Y(ω) to a digital output signal y[n]. The digital output signal y[n] corresponds to a filtered/processed version of the digital input signal x[n]. In symbolic notation, the output signal y[n] corresponds to the following equation:
The digital input signal x[n] may be divided into blocks in the time domain by the time partitioner 105, and the convolution executed by the convolution processor 130 may be performed using an overlap-save block convolution. The blocks may be of equal size for straightforward processing or, alternatively, have different sizes. Shorter blocks may provide a relatively low latency while longer blocks may make the overall convolution operations less expensive in terms of processing power.
The overlap-save block convolution involves the use of a long digital input signal that is broken into successive blocks of Nx samples, each block overlapping the previous block by NFIR samples. Circular convolution of each block is performed. The first NFIR−1 values in each output block are discarded, and the remaining values are concatenated to create the output signal. A 50% overlap may be used.
Alternatively, overlap-add convolution may be used. Uniform block sizes offer possibilities for performance optimization if the overlap-add scheme is used in the frequency domain. Overlap-add convolution may be used when the impulse response of the FIR filter 115 is shorter than the block length Nx.
The total spectrum signal Y(ω) may be obtained by using only half of the number of the Fourier components of the Fourier transformed filter partitions FIRi(ω). Efficient processing is, thus, enabled.
In the signal processing system 100, the Fourier transformed signal partitions Xi(ω) and the Fourier transformed filter partitions FIRi(ω) are all of the same bandwidth and the mid frequencies are distributed equidistant from one another in the frequency domain. More complicated algorithms for the calculation of the distribution of the mid frequencies are possible and might be applied depending on the actual application.
The convolution operations executed by the convolutors 225 result in the generation of a plurality of convoluted partitioned output signals Y1(ω) through Yp(ω). The plurality of convoluted partitioned output signals Y1(ω) through Yp(ω) are provided to the input of a combiner/adder 235 to generate a total spectrum signal Y(ω). The total spectrum signal Y(ω) is provided to the input of an IFFT processor 240, which provides a block output 245 that includes the data y for the digital output signal y[n]. As shown in the exemplary data block 250, the lower portion of the block output 245 includes the data y for the digital output signal y[n] while the upper portion of the block output may be ignored/discarded.
The convolution operations executed by the convolutors 325 result in the generation of a plurality of convoluted partitioned output signals Y1(ω) through Yp(ω). The plurality of convoluted partitioned output signals Y1(ω) through Yp(ω) are provided to the input of a combiner/adder 335 to generate a total spectrum signal Y(ω). The total spectrum signal Y(ω) is provided to the input of an IFFT processor 340, which provides a block output 345 that includes the data y for the digital output signal y[n]. As shown in the exemplary data block 350 the lower portion of the block output 345 includes the data y for the digital output signal y[n] while the upper portion of the block output may be ignored/discarded.
The convolution operations executed by the convolutors 425 result in the generation of a plurality of convoluted partitioned output signals Y1(ω) through YT(ω). The plurality of convoluted partitioned output signals Y1(ω) through YT(ω) are provided to the input of a combiner/adder 435.
As shown in
In
The systems shown in
In
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Patent | Priority | Assignee | Title |
10418974, | Aug 05 2015 | Innovationszentrum fuer Telekommunikationstechnik GmbH IZT | Apparatus for modifying a sampling rate system including an apparatus for modifying a sampling rate and method for modifying a sampling rate |
Patent | Priority | Assignee | Title |
4992967, | Oct 16 1987 | Thomson-CSF | Digital filter using fourier transformation |
5502747, | Jul 07 1992 | Dolby Laboratories Licensing Corporation | Method and apparatus for filtering an electronic environment with improved accuracy and efficiency and short flow-through delay |
5809069, | Jul 19 1996 | Texas Instruments Incorproated | Frequency-domain carrierless AM-PM demodulator |
5999574, | Mar 29 1996 | ICOM Incorporated | Digital filter system, carrier reproduction circuit using the digital filter system, and demodulation circuit using the carrier reproduction circuit |
7502816, | Jul 31 2003 | Panasonic Corporation | Signal-processing apparatus and method |
20060098809, | |||
EP531242, | |||
WO39926, | |||
WO118960, | |||
WO173947, | |||
WO186808, |
Date | Maintenance Fee Events |
Jul 28 2014 | ASPN: Payor Number Assigned. |
Dec 26 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 16 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 15 2017 | 4 years fee payment window open |
Jan 15 2018 | 6 months grace period start (w surcharge) |
Jul 15 2018 | patent expiry (for year 4) |
Jul 15 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 15 2021 | 8 years fee payment window open |
Jan 15 2022 | 6 months grace period start (w surcharge) |
Jul 15 2022 | patent expiry (for year 8) |
Jul 15 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 15 2025 | 12 years fee payment window open |
Jan 15 2026 | 6 months grace period start (w surcharge) |
Jul 15 2026 | patent expiry (for year 12) |
Jul 15 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |