This application claims the benefit of Taiwan Application Serial No. 108121713, filed Jun. 21, 2019, the subject matter of which is incorporated herein by reference.
The disclosure relates to a Finite Impulse Response (FIR) filtering technique. In particular, the disclosure relates to a signal processing apparatus, a signal processing method, and a non-transitory computer-readable recording medium for an FIR filter.
In typical audio signal processing techniques, equalizer (EQ) parameters are first tuned to balance the sound field of the stereo channels. The adjusted signal is then provided to the sound processing module (e.g., Dolby or DTS). In order to provide a suitable signal to the sound processing module, an FIR filter is often used to tune the EQ parameters to obtain a stable signal without distortion.
FIR filters may achieve better results under special conditions. For instance, an FIR filter with the power of the filtered signal within the passband having the same as the power of the input signal may experience improved frequency selectivity. If there is no signal outside of the passband, then the power should be negative infinity (−∞ dBFS (decibels relative to Full Scale)) for an ideal FIR filter. In traditional FIR filter applications, increasing the power within the passband and minimizing the power outside of the passband typically leads to a longer delay time. If the delay time of audio is larger than 10 milliseconds (ms), some users may perceive the delay in the audio signal. However, the sound processing module typically requires more than a 5 ms delay time. The techniques presented herein maintain the power within the passband of an FIR filter while reducing the delay time of the FIR filter.
Embodiments are described herein in conjunction with the accompanying drawings, in which:
The processor 130 is coupled to the storage unit 110, and the processor 130 may be, for example, a central processing unit (CPU) or other programmable microprocessor for general purpose or special purpose, a digital signal processor (DSP), a programmable controller, an Application Specific Integrated Circuit (ASIC), or other similar components or a combination of the above components. In an embodiment described herein, the processor 130 implements the operations of the signal processing apparatus 100, and may load and implement software modules, files, and/or data recorded from the storage unit 110. In one example, the processor 130 may implement an FIR filter through software operation or through a filtered circuit, e.g., a circuit composed of one or more adders, shifters, and/or multipliers. In another example, the processor 130 may be coupled to a separate FIR filtered circuit, e.g., a circuit comprising one or more adders, shifters, and/or multipliers. The processor 130 may be configured to determine coefficients used by the filtered circuit and sample points of the input signal.
={x[n]x[n−1] . . . x[n−N−L]}, (1)
where x[n] is a sampled value of the input signal (assumed to be x(t), with t as a time index). In equation (1), x[n] corresponds to the nth sampled point, and x[n−1] is a sampled value of the input signal x(t) corresponding to the previously sampled time point, i.e., the sampled value of the input signal x(t−1). Similarly, x[n−N−L] is a sampled value of the input signal x(t) corresponding to the time point sampled N+L time points ago. In other words, there are (N+L) sampled points between the current sampled value x[n] and the oldest sampled value x[n−N−L]. The (N+L+1) sampled values may be formed as a vector of the input signal . It should be noted that the selection of the numerical values of L and N will be explained hereinafter. Furthermore, the input signal may be an audio signal, an image signal or other types of signals.
At step S230, the processor 130 obtains (N+L+1) filter coefficients from (2L+1) filter coefficients. Using a typical FIR filter technique, increasing the number of sampled points would maintain the power of the signal within the passband, but the delay time of the filter would increase. Conversely, reducing the delay time of a traditional FIR filter would reduce the power of the signal within the passband.
For instance, sampling 2N+1 points from the input signal x1(t), where t is a time index, obtains a vector 1 of the sampled input values from t=n back to t=n−2N−1, which may be expressed in mathematical form as:
1={x1[n]x1[n−1] . . . x1[n−2N]}. (2)
Based on the frequency for the FIR filter, taking the Nth sampled point as the center point, 2N+1 filter coefficients b1 may be obtained, which are symmetrically distributed on either side of the center point. The filter coefficients may be expressed in mathematical form as:
1={b1[0] . . . b1[N] . . . b1[2N]} (3)
Taking the inner product of the vectors 1 and 1 (i.e., using the filter coefficients 1 to filter the sampled input signal 1, or performing a weighting operation based on the filter coefficients 1) generates an output signal y1[n−N] which delays the input signal x1 by N time points.
Referring to the lower graph in
In order to maintain N sampled points for the delay length and improve the power of the signal within the passband (e.g., by including approximately 8N+1 total sampled points), the FIR filter described herein makes the following improvements. Referring back to
Furthermore, the processor 130 provides an FIR filter of order 2L with 2L+1 filter coefficients, which are taking the Lth sampled point as the center point and the other filter coefficients symmetrically distributed on either side of the center point. In other words, there are L filter coefficients on either side of the center point. Depending on the requirements, the filter coefficients may be designed based on high-pass, low-pass, or specific passband filters, and the function of the invention is not limited to any of these pass characteristics. The filter coefficients may be expressed in mathematical form as:
={b[0] . . . b[L] . . . b[2L]} (4)
In other words, these filter coefficients were originally designed for the (2L+1) sampled points of the input signal. Therein, the first filter coefficient b [0] is a sample value for a currently sampled point, and the second filter coefficient b[1] is a sample value for an immediately prior sampled point. And so on, the (2L+1)th filter coefficient b[2L] is a sample value for 2L time points before the currently sampled point. However, as shown in
In order to maintain the delay length at N samples, the processor 130 takes only a subset of filter coefficients out of the 2L+1 filter coefficients. In one example, the processor selects filter coefficients from the (L−N+1)th filter coefficient to the (2L+1)th filter coefficient (i.e., the rear N+L+1 filter coefficients). These N+L+1 filter coefficients may be expressed in mathematical form as:
={b[L−N] . . . b[L] . . . b[2L]} (5)
The (L−N+1)th filter coefficient is b[L−N], and the (L+1)th filter coefficient is b[L], and so on, with the (2L+1)th filter coefficient being b[2L]. In other words, using the (L+1)th sampled point (b[L]) as the center point, there are N coefficients on one side and L coefficients on the other side. It should be noted that the processor 130 may select other sections of filter coefficients in other embodiments. For instance, the processor 130 may select filter coefficients b[L−2N] to b[2L−N] or b[L−N−5] to b[2L−N−5] in order to generate the output signal with the latest L+N+1 sampled values of the input signal. The total number of sampled points L+N+1 is between 2L+1 and 2N+1 in
In step S250, the processor 130 computes an output signal based on the selected N+L+1 filter coefficients with the N+L+1 sampled values obtained in step S210. In particular, the processor 130 may take the inner product of the vectors and (i.e., a convolution operation). This inner product may generate an output signal y[n−N] which delays the output signal by N time points from the input signal. The output signal may be expressed in mathematical form as:
y[n−N]=b[L−N]x[n]+b[L−N+1]x[n−1]+ . . . +b[2L]x[n−N−L] (6)
In another example, the processor 130 may be coupled to an additional filter circuit. The processor 130 provides the determined coefficients (e.g., {b[L−N] b[L−N+1] b[2L]}) to the coupled filtered circuit. The additional filter circuit may then filter the input signal based on the determined coefficients. Furthermore, the output signal can be subject to further sound processed or playback, e.g., through a speaker.
Table 1 compares the power of traditional FIR filters with the FIR filter described herein in different sampling/frequency bands. As shown in Table 1, the power within the passband of the FIR filter described herein is close to the original input signal. Although the FIR filter described herein has a very long transition band (more than 3000 Hz), the total power is not very large. Notably, the power in the first part of the transition band is attenuated the most. The power in the second part is attenuated more than the traditional FIR filter with the same delay length. Although the power in the third part is the highest for the FIR filter described herein, the power in the third part is 30 dB lower than the power within the passband. As human ears cannot easily perceive audio signals at this low power level, the power performance may be acceptable.
In summary, a signal processing apparatus, a signal processing method, and a non-transitory computer-readable recording medium described herein provide for an improved FIR filter. The techniques described herein take a subset of the sampled values of the input signal and combine them with a subset of L+N+1 filter coefficients, which are obtained from the set of 2L+1 filter coefficients. Thus, the delay length is kept to N, and the power of the output signal within the passband remains close to or equal to the power of the input signal.
The above description is intended by way of example only.
Number | Date | Country | Kind |
---|---|---|---|
108121713 | Jun 2019 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
8605380 | Christensen | Dec 2013 | B1 |
8671128 | Dehghan | Mar 2014 | B1 |
20030076844 | Usman | Apr 2003 | A1 |
20030200243 | Yomo | Oct 2003 | A1 |
20040078403 | Scheuermann | Apr 2004 | A1 |
20050099907 | Sawada | May 2005 | A1 |
20070052556 | Janssen | Mar 2007 | A1 |
20090198754 | Chang | Aug 2009 | A1 |
20090319065 | Risbo | Dec 2009 | A1 |
20100228806 | Streicher | Sep 2010 | A1 |
20130128374 | Christensen | May 2013 | A1 |
20150236669 | Mehrnia | Aug 2015 | A1 |
20160019929 | Hutchins | Jan 2016 | A1 |
20180226953 | Kang | Aug 2018 | A1 |
20190080035 | Guo | Mar 2019 | A1 |
Entry |
---|
Finite Impulse Response Wikipedia entry available at least Aug. 17, 2018 (Year: 2018). |
FIR transfer function Wikipedia entry available at least Jun. 20, 2019 (Year: 2019). |
Number | Date | Country | |
---|---|---|---|
20200404418 A1 | Dec 2020 | US |