Polyphase Filter Banks with Rational Decimation / Interpolation Factor
20250260392 ยท 2025-08-14
Inventors
Cpc classification
International classification
Abstract
An Analysis Polyphase Filter (APPF) for shifting a selected passband of an input signal to a passband signal, having a Q=M.Math.B/A decimation factor, B and A being co-primes, the APPF comprising M.Math.B Paths. Each path includes (i) M.Math.B/A multiplication Sub-paths, and (ii) a Sub-path Fusion Circuit, which is configured to generate fused multiplication products responsively to a sum of the multiplication n products generated by each of the multiplication sub-paths.
Claims
1. An Analysis Polyphase Filter (APPF) for shifting a selected passband of an input signal to a passband signal, having a Q=M.Math.B/A decimation factor, B and A being co-primes, the APPF comprising M.Math.B Paths, each path comprising (i) M.Math.B/A multiplication Sub-paths, and (ii) a Sub-path Fusion Circuit, which is configured to generate fused multiplication products responsively to a sum of the multiplication products generated by each of the multiplication sub-paths.
2. The APPF according to claim 1, further comprising an input circuit, configured to receive and temporarily store input samples of the input signal at a subsampling ratio of Q:1.
3. The APPF according to claim 2, wherein the input circuit comprises a commutator, configured to sample the input signal according to an input commutation indication.
4. The APPF according to claim 1, further comprising a circular output buffer, configured to output the fused multiplication products in a circular manner according to an output selection indication.
5. The APPF according to claim 1, further comprising an M-point Inverse-Fast-Fourier-Transform (IFFT) circuit, configured to convert the fused multiplication products into a polyphase-filtered output signal.
6. The APPF according to claim 1, further comprising a state engine, configured to generate an input commutation indication and an output selection indication.
7. A Synthesis Polyphase Filter (SPPF) for shifting a baseband signal to a passband of an output signal, having a Q=M.Math.B/A interpolation factor, B and A being co-primes, the SPPF comprising (i) M.Math.B Paths, each path comprising M.Math.B/A multiplication Sub-paths, and (ii) a Sub-path Expansion Circuit, which is configured to split multiplication products from the multiplication sub-paths.
8. The SPPF according to claim 7, further comprising an M-point Inverse-Fast-Fourier-Transform (IFFT) circuit, configured to perform an Inverse-Fourier-Transform of the baseband signal, thereby producing an IFFT-transformed baseband signal.
9. The SPPF according to claim 8, further comprising a Circular Output Buffer, configured to receive, buffer and periodically output the IFFT-transformed baseband signal according to an output selection indication.
10. The SPPF according to claim 7, further comprising a state engine, to generate an output selection indication.
11. A Channelizer for shifting a passband in an input signal to a baseband signal, the channelizer comprising an Analysis polyphase Filter (APPF), having a Q=M.Math.B/A decimation/interpolation factor, B and A being co-primes, the APPF comprising M.Math.B Paths, each path comprising (i) M.Math.B/A multiplication Sub-paths and (ii) a Sub-path Fusion Circuit, which is configured to generate fused multiplication products responsively to a sum of the multiplication products generated by each of the multiplication sub-paths.
12. An Up-Converter for shifting a baseband signal to a passband within an output signal, the Up-Converter comprising a Synthesis Polyphase Filter (SPPF), having a Q=M.Math.B/A decimation/interpolation factor, B and A being co-primes, the SPPF comprising M.Math.B Paths, each path comprising (i) M.Math.B/A multiplication Sub-paths and (ii) a Sub-path Expansion Circuit, which is configured to split multiplication products from the multiplication sub-paths.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
DETAILED DESCRIPTION OF EMBODIMENTS
Overview
[0030] Polyphase filtering is a technique used to efficiently implement filter operations and sampling frequency changes. The M-path polyphase analysis filter bank (AFB) channelizer in its simplest realizationthe maximally decimated filter bankGiven a wideband signal with sampling frequency f.sub.s, outputs M baseband time series from translated spectral bands centered at integer multiples of f.sub.s/M and with an equal bandwidth of f.sub.s/M. Similarly, the synthesis filter bank (SFB) up-converter, in its simplest realizationthe maximally interpolated filter bankgiven M baseband time series with a bandwidth f.sub.s/M, outputs a single wideband signal with sampling frequency, f.sub.s, and comprising the baseband signals now positioned at integer multiples of f.sub.s/M.
[0031] A polyphase-based implementation reduces the workload by a factor of M, rendering this algorithm attractive for applications with limited computational resources. Standard modifications to the channelizers include non-maximal decimation/interpolation with oversampling factor A/M, where A is a positive, non-zero integer. Specifically, a typical choice is A=2, which yields M/2-to-1 downsampling instead of M-to-1 at the AFB, or 1-to-M/2 up-sampling instead of 1-to-M at the SFB. When such a design is paired with a raised cosine prototype filter, neighboring channels construct coherently, which is referred to as Perfect Reconstruction filter banks. This enables a design suitable for channels with variable center frequencies and variable bandwidths. However, the non-maximal decimation/interpolation requires, when A=2, doubling the number of samples due to the doubled sampling rate, which can be a limiting factor (more than doubling samples may be required when A>2).
[0032] Embodiments that are disclosed hereinbelow adapt the M-path polyphase-based analysis and synthesis filter banks to rational oversampling factors of the form Af.sub.s/BM, where both A and B are natural numbers. In embodiments, perfect reconstruction for almost perfect reconstruction, according to the selected resolution and the accuracy of the raised-cosine filter) is achieved, with a relatively small amount of computing resources and power consumption.
[0033] In an embodiment, an AFB comprises an input buffer, to store input samples at locations according to an input commutation indication that is generated by State-Engine, followed by a multiplier bank. The Multiplier bank comprises Paths, each Path comprising Sub-Paths, wherein each Sub-Path multiplies an input sample by a corresponding coefficient. A Fusion circuit then sums products pertaining to the same Sub-Path; a Circular Output Buffer, timed by an output selection indication (generated by the State-Engine), periodically sends sums to an IFFT circuit, that outputs the band-pass signals.
[0034] In another embodiment, an SFB comprises an input IFFT circuit, followed by a circular buffer that stores IFFT samples. A Sub-Path Expansion circuit next splits the sample according to sub-paths, and an MB-Path filter multiplies the samples by corresponding coefficients. An MB-Path Output Buffer selectively sends the products to an A-part Gatling gun distributor, followed by adders, which outputs the pass-band signal.
[0035] Further embodiments disclose a Channelizer and a Channel-Up-Converter, that comprise, respectively, rational decimation and interpolation polyphase filters.
System Description
[0036] A standard analysis filter pipeline comprises a Finite Impulse Response (FIR) Low-Pass Filter (LPF) followed by downsampling by a factor of Q.
[0037] Initially, an input signal x[n] that is sampled at a rate of f.sub.s, wherein n is a corresponding discrete time index, is fed to an FIR filter h[n] that comprises N filter taps. The output is:
[0038] y[n] is then downsampled (decimated) at a factor of Q, to give
[0039] where 1 is the discrete time index at reduced sample rate f.sub.s/Q. Q is typically selected based on the characteristics of filter h[n]. From this point henceforth, we consider, without loss of generality, an LPF with a passband of 2/M, for which QM facilitates aliasing-free low-rate signals and Q=M gives the maximally decimated pipeline. The LPF Decimation pipeline is extended to a band-pass filter (BPF) by initially multiplying the input signal with a modulation series, in order to shift the input signal to baseband, prior to filtering. To avoid complex notation in the case of a BPF, the same notation of x[n] is updated also after multiplication by the modulator prior to the filter: i.e., x[n] is replaced by
where k=0, 1, . . . , M1 is the channels index, spanning a total of M channels.
[0040] The pipeline above may be implemented using an M-path polyphase filter. For the case of integer multiples of the maximally decimated pipeline, i.e., for Q=M/A, where A is an integer and for channels at 2k/M for k=0, 1 . . . , M1, the implementation follows a two-dimensional partition of the sum in Equation (1), and the application of the Noble Identity (NI) for each path. The two-dimensional partition maps the N filter taps in h[n] into M paths, each with L=N/M taps. It is assumed that M divides N without a remainder (when this is not the case, zero-padding can be applied). y[n] in this case is derived as:
[0041] and hm[n] is defined, via its Z transform as
[0042] where (Z) is the Z transform of the maximally decimated polyphase partition given by
[0043] and with z.sup.M in equation (5) signifying that the filter coefficients .sub.m[n] are separated by M samples (or, equivalently, there are M1 zeros between every two coefficients).
[0044] The signals in each path are defined as
The output of the filters in each path, {y.sub.m[n]} (m=0. . . M1), are then downsampled, given as
[0045] The NI is applied to each of the paths separately and identically, exploiting the fact that the filter coefficients of h.sub.m[n] are separated by M samples (see equation (5)).
[0046] Initially, the x.sub.m[n] on each path are downsampled by a factor of Q, to give:
with the updated filters now applied after the down-sampler, defined using the inverse Z transform of {tilde over (H)}(Z) as
[0047] which is well-defined when Q=M/A is an integer. The output .sub.m[1] of each filter path is then given as
[0048] which is equivalent to {tilde over (y)}.sub.m[l] from equation (8). This equivalence shows a reduced computation of L filter coefficients instead of a multiplication of N filter coefficients as in equation (4) followed by downsampling in equation (8).
are now summed in a similar manner to equation (3), but now over the output signals at {tilde over ()}.sub.s, i.e.,
[0049] Finally, the pipeline is extended to the case of bandpass by modulating the filters to passband and then modulating the filter output back to baseband.
[0050] An M-path polyphase filter design, with channels at 2k/M, with k=0, . . . , M1, comprises M paths, each path comprising a delay z.sup.k followed by a .sub.m(Z) filter and two exponential functions. The first exponential function is a time series
[0051] That is identical for all paths modulating the filter output to baseband (Note that for A=1, this exponent equal unity for all 1, and is, thus, omitted).
[0052] The second exponential function is a constant in each path, given by exp (j*(2km/M)) and charged with modulating the filters to passband.
[0053] Note that modulating the filters typically requires multiplying the filter t with a modulation series. However, as the modulation series are periodic over M for all k=0, . . . , M1, the modulation series in each path is a constant; furthermore, as it is constant, it is typically positioned at the end of the pipeline and implemented using an inverse fast Fourier transform (IFFT) for all k=0, . . . , M1 simultaneously, to reduce computation.
[0054] For more details regarding an M-path polyphase implementation including a frequency domain interpretation of the signals in each path, the reader is referred to Chapter 6 of Multirate Signal Processing for Communication Systems, by F. J. Harris et al, cited above.
[0055] The polyphase presented above facilitates the design of perfect-reconstruction (PR) (or nearly PR) filter banks when setting A2, which facilitates application-specific requirements of variable center frequency and variable bandwidths.
[0056] Specifically, A=2 or, alternatively, QM/2 is a common solution for facilitating PR filter banks.
[0057] Using Equation (10), .sub.m(Z) in this case are given as .sub.m(Z)=H.sub.m.sup.max(Z.sup.2), which can be interpreted as a separation of the filter coefficients (in each path) by two samples. This requires storing double the number of registers (for each path) compared to the case of A=1.
[0058] Furthermore, in this case, the first exponential function reduces to exp (jkl), which means phase shifts of for odd values of k.
[0059] These shifts are typically treated by applying circular shifts to time-domain signals to avoid multiplication with complex exponential functions.
Rational Decimation/Interpolation Factors
[0060] Embodiments to be disclosed herein comprise polyphase filters with rational multiples of the maximally decimated pipeline, i.e., for Q=MB/A, where B is also an integer value, and wherein B and A are co-primes. We decompose each of the M paths to B polyphase sub-paths prior to the application of NI, while exploiting the knowledge that the filter taps in each path prior to the NI application are separated by M samples (see Equation 5).
[0061] This is applied to each path separately and identically. Without loss of generality, the solution is now derived for path m.
[0062] The filter in path m is partitioned into B sub-paths prior to the application of the NI:
[0063] the signals in each of the B sub-paths, {x.sub.(m,b)[n]}.sub.b=0.sup.B1, are defined similarly to x.sub.m[n] from Equation (7), but with shift of M (see Equation 5), as
[0064] and h.sub.(m,b)[n] are defined as in the case of h.sub.m[n] from Equation (4), via its Z-transform, H.sub.(m,b)(z) similarly to Equation (5) as
[0065] with .sub.(m,b) being the z transform of the maximally-decimated polyphase path, defined similarly to Equation (6)
[0066] The NI for Q=MB/A can now be applied in order to reduce the computations, as compared to the direct implementation.
[0067] Initially, the downsampled signals and filters are defined for each of the sub-paths x.sub.(m,b)[n] on each path are downsampled by a factor of Q, similarly to Equation (9), as
[0068] and with the updated filters derived similarly to equation (10), but with respect to .sub.(m)(Z.sup.M) (see equation (5)). Following equation (17), this gives
[0069] which is well-defined for integer values of A, and indicates that the filter taps in each path are separated by A samples (or A1 zeros).
[0070] The output of the filter in each sub-path after the application of the NI, .sub.(m,b)[l], is given similarly to equation (11) as
[0071] where L, is the number of non-zero taps of the filter in each sub-path, which, in this case, equal N/(MB).
[0072] The last equation is equivalent to first calculating y.sub.(m,b)[n] from Equation (15) and then downsampling by a factor of Q, i.e., {tilde over (y)}.sub.(m,b)[l]=y.sub.(m,b)[lB], similarly to equation (8).
[0073] {{tilde over (y)}.sub.(m,b)[l]}.sub.b=0.sup.B1 are now summed in a similar manner to equation (14), i.e.,
[0074] The extension to the case of bandpass signals is similar to the extension presented in the case of downsampling factors of the form Q=M/A shown above, with the first exponential now adjusted to the new downsampling factor, i.e., as in equation (13), but with Q=MB/A.
Architecture of a Rational Decimation/Interpolation Ratio PP Filter with Gatling-Gun Input Buffer
[0075] Based on the analysis above and adding a novel circuit for fusing sub-paths (in the case of an analysis pipeline) or for expanding the sub-paths (in the case of a synthesis pipeline), we will now disclose an M-path, MB-sub-path PP filter.
[0076] We define a new index, {tilde over (m)} as:
[0077] We also note that given {tilde over (m)}, indices m and b, which were defined above for an M-path-based design, can be extracted using:
[0078] The paths and sub-paths of an M-path-based design presented above are now arranged according to index {tilde over (m)} and use suitable MB-sub-paths.
[0079]
[0080] APP Filter 100 comprises M1 PP Paths 102 that are driven by the signal x[n], and an Adder 104, configured to generate the PP filter outputs y[n] according to the sum of the M paths.
[0081]
[0082] Sub-Path-Delay 156 delays the signal by m*M, where m is 0 for the first sub-path (and, hence, the Sub-Path-Delay for the first Sub-Path, with m=0, is not shown), 1 for the next Sub-Path and so on. Sub-Sampler 158 sub-samples the output of the Sub-Path-Delay circuits by a ratio of Q:1. The sub-sampled outputs are denoted {tilde over (x)}.sub.(m, i)[l] and the outputs of filter 160 are denoted {tilde over (y)}.sub.(m,i)[l], where m is the path index, ranging from 0 to M1 and i is the sub-path index, spanning from 0 to B1.
[0083] PP Path 150 further comprises a First-Exponent circuit 164, configured to multiply {tilde over (y)}.sub.(m,i)[l] by exp (jQ*2/M*kl), and a Second-exponent circuit 166, configured to multiply the output of First Exponent Circuit 164 by exp (j*2/M*km).
[0084]
[0085]
[0086] As can be observed in
[0087]
[0088] Gatling-Gun Input buffer 400 is like Rearranged Input Stage 300, but the input delays 304 and the Down-Samplers 308 are now replaced with MB/A A-factor commutators 402, that send selected inputs according to a commutation selection indication, to Delay Lines 404. We note that a single input data register of dimensions AN/B is sufficient for computation of all paths using shifts.
[0089]
[0090] Each FIR Filter Paths 502 comprises a Shift Register 504 that stores the input samples {tilde over (x)}.sub.m[l], multipliers 506 that multiply taps of the Shift Register 504 by set of respective coefficients and adders 508 that add the multipliers outputs, to generate {tilde over (y)}.sub.m[l]. Note that in various embodiments, Shift Register 504 may be common to all FIR Filter Paths 502; in other embodiments, two or more of FIR Filter Paths 502 may share a single copy of Shift Register 504.
[0091] The top MB/A filters use input-signal indices with mod(n,A)=0, and, in general, group x of MB/A paths uses indices mod(n,A)=1.
[0092]
[0093]
[0094]
[0095] In a similar manner,
[0096]
Synthesis
[0097] While the Analysis filter decomposes an input signal to sub-bands, the Synthesis filter reconstructs the signal from its M narrowband signals. Rational ratio synthesis polyphase filter can be built from the Analysis design using the Duality Principle.
[0098]
[0099]
[0100] Thus, according to the embodiments disclosed herein above, M-path Polyphase analysis and synthesis filter banks with rational decimation filters can be built; the filters include traditional pipeline stages along with novel fusing/expansion circuits. The filters facilitate a reduced computation load due to the use of an M-path IFFT. The total number of computations is BM for fusing sub-paths M times, plus M*log (M) computations in the IFFT.
Channelizer and Up-Converter
[0101] The rational down/up sampling polyphase filter banks described above can be used, for example, in a Channelizer that separates a broadband input signal into multiple narrow passbands, or in an up-converter, that shifts a baseband channel to a passband within a higher frequency signal. In an embodiment, a Channelizer comprises some or all of the sub-modules of Analysis Polyphase Filter 700 or 750 (
Methods
[0102]
[0103] The flowchart starts at a Receive Input Sequence operation 1102, wherein the APPF receives a sequence of input samples X.sub.i, for example, from an Analog to Digital Converter (ADC). Next, at a Store-Input-In-Buffer operation 1104, the APPF stores the input samples in an input buffer, using a Commutator that is governed by an input commutation indication, sent by the State Engine. The Commutator distributes the samples to buffer cells that will then be accessed for filtering, as described above, with reference to
[0104] Now, at a Multiply-by-Coefficient operation 1106, the APPF multiplies the samples from the input buffer by corresponding coefficients, separately in each of the A sub-paths of the MB/A paths.
[0105] Next, at a Fuse-Sub-Path operation 1108, the APPF sums up the products that correspond to the same index i of outputs {tilde over (y)}.sub.i[l], using Fusion Circuit 800 (
[0106] Now, at a Rotating-Output operation 1110, The APPF, sends the fused results, from the Circular Output Buffer 712 (
[0107] Lastly, at an IFFT operation 1112, the IFFT circuit 714 (
[0108]
[0109] The flowchart starts at an IFFT operation 1152, wherein IFFT circuit 902 converts the M inputs to a time-domain series. Next, at a Periodic-Sample-Output operation 1154, the Circular Output Buffer 904 outputs IFFT-converted samples, according to a rotating scheme.
[0110] Now, at an Expand operation 1156, the Sub-Path-Expansion circuit 906 expands the samples by a ratio of 1:B.
[0111] Next, at a Multiply-by-Coefficients, the samples are multiplied, in separately in each of the A sub-paths of the MB/A paths, and, at a subsequent Assemble-to-Frequencies operation 1160, groups of products pertaining to the same frequency bands are assembled.
[0112] Now, at a Rotating-Select operation 1162, Rotating-Selectors 912 select outputs on a rotating order (according to a State-Engine that counts clocks). Lastly, at a Sum Outputs operation 1164, Adder 924 adds the selected outputs, to form Y[n].
[0113] Although the apparatuses and methods disclosed hereinabove mainly refer to polyphase FIR filter analysis and synthesis, the present invention is not limited to polyphase FIR filters; any other suitable filters may be used in alternative embodiments.
[0114] The configurations of Analysis Filter-Banks 700 and 750, including Input Data Buffers 704 and 754, MB-Path Polyphase Filter 708, Sub-Path Fusion circuit 710 and Circular Output Buffer 712; the configuration of Synthesis Filter Bank 900, including Circular Output Buffer 904, Sub-Path Expansion circuit 906, MB-Path Polyphase Filter 908, MB-Path Input Data Buffer 910, Selector 912 and Adder 914, including all subcircuits thereof, the methods of flowcharts 1100, 1150, illustrated in
[0115] The different elements of Analysis Polyphase Filter 700, 750 and Synthesis Polyphase Filter 900 may be implemented in an integrated circuit, such as an application specific integrated circuit (ASIC) or a field-programmable gate-array (FPGA).
[0116] It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art. Documents incorporated by reference in the present patent application are to be considered an integral part of the application except that to the extent any terms are defined in these incorporated documents in a manner that conflicts with the definitions made explicitly or implicitly in the present specification, only the definitions in the present specification should be considered.