DIGITAL FILTER CIRCUIT
20230179179 · 2023-06-08
Assignee
Inventors
- Michael Vonbun (Munich, DE)
- Michael Reinhold (Munich, DE)
- Bernhard Nitsch (Munich, DE)
- Adrian Ispas (Munich, DE)
Cpc classification
International classification
Abstract
A digital filter circuit is described. The digital filter circuit includes a digital filter input, at least two finite impulse response (FIR) filter circuits, and a connection circuit. The digital filter input is configured to receive a digital input signal set having a data parallelism. The at least two FIR filter circuits are configured to process the digital input signal set at least partially. The at least two FIR filter circuits include a pre-adder sub-circuit, a convolution sub-circuit, and a post-adder sub-circuit, respectively. The connection circuit is configured to selectively connect the at least two FIR filter circuits based on the data parallelism of the digital input signal set.
Claims
1. A digital filter circuit, comprising: a digital filter input configured to receive a digital input signal set having a data parallelism; at least two finite impulse response (FIR) filter circuits configured to process the digital input signal set at least partially; and a connection circuit configured to selectively connect the at least two FIR filter circuits based on the data parallelism of the digital input signal set, wherein the at least two FIR filter circuits comprise a pre-adder sub-circuit, a convolution sub-circuit, and a post-adder sub-circuit, respectively.
2. The digital filter circuit of claim 1, wherein the connection circuit comprises at least one multiplexer sub-circuit.
3. The digital filter circuit of claim 1, wherein the at least two FIR filter circuits have a predefined filter parallelism, respectively.
4. The digital filter circuit of claim 3, wherein there are at least two digital input signal sets with different data parallelism, wherein the data parallelism of at least one digital input signal set of the at least two digital input signal sets is greater than the predefined filter parallelism or smaller than the predefined filter parallelism.
5. The digital filter circuit of claim 4, wherein at least one of the at least two FIR filter circuits is configured to process the digital input signal set in a time multiplexing mode if the respective predefined filter parallelism is bigger than the data parallelism of the at least one digital input signal set, and/or wherein the at least two FIR filter circuits are configured to jointly process the digital input signal set if the respective predefined filter parallelism is smaller than the data parallelism of the at least one digital input signal set.
6. The digital filter circuit of claim 3, wherein the connection circuit is configured to selectively connect the at least two FIR filter circuits based on the predefined filter parallelisms of the at least two FIR filter circuits.
7. The digital filter circuit of claim 1, wherein the at least two FIR filter circuits comprise a short-length FIR filter, respectively.
8. The digital filter circuit of claim 1, wherein a combined structure of the pre-adder sub-circuit, of the convolution sub-circuit, and of the post-adder sub-circuit resembles a matrix decomposition.
9. The digital filter circuit of claim 8, wherein the matrix decomposition corresponds to a Coppersmith-Winograd decomposition.
10. The digital filter circuit of claim 8, wherein the matrix decomposition corresponds to a transposed matrix decomposition.
11. The digital filter circuit of claim 1, wherein the at least two FIR filter circuits are arranged in parallel.
12. The digital filter circuit of claim 1, wherein the pre-adder sub-circuit is free of multiplier circuits.
13. The digital filter circuit of claim 1, wherein the post-adder sub-circuit is free of multiplier circuits.
14. The digital filter circuit of claim 1, wherein a parallelism of the digital filter circuit is adjustable.
15. The digital filter circuit of claim 14, wherein the parallelism of the digital filter circuit is adjustable on the fly.
16. The digital filter circuit of claim 14, wherein the parallelism of the digital filter circuit is greater than or equal to 8, and/or wherein the parallelism of the digital filter circuit is smaller than or equal to 256.
17. The digital filter circuit of claim 1, wherein the at least two FIR filter circuits are configured for block-wise processing of samples.
18. The digital filter circuit of claim 1, wherein the digital filter circuit comprises a sample history memory, wherein the sample history memory is configured to accumulate a predefined number of samples.
19. The digital filter circuit of claim 18, wherein the sample history memory is configured to selectively forward the accumulated samples to the at least two FIR filter circuits.
20. The digital filter circuit of claim 1, wherein the digital filter circuit comprises at least two delay sub-circuits.
Description
DESCRIPTION OF THE DRAWINGS
[0059] The foregoing aspects and many of the attendant advantages of the claimed subject matter will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
DETAILED DESCRIPTION
[0069] The detailed description set forth below in connection with the appended drawings, where like numerals reference like elements, is intended as a description of various embodiments of the disclosed subject matter and is not intended to represent the only embodiments. Each embodiment described in this disclosure is provided merely as an example or illustration and should not be construed as preferred or advantageous over other embodiments. The illustrative examples provided herein are not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed. Similarly, any steps described herein may be interchangeable with other steps, or combinations of steps, in order to achieve the same or substantially similar result. Moreover, some of the method steps can be carried serially or in parallel, or in any order unless specifically expressed or understood in the context of other method steps.
[0070]
[0071] In the embodiment shown in
[0072] The electronic device 10 comprises a plurality of signal inputs 12, a processing circuit 14, a digital filter circuit 16, and an analysis circuit 18. The plurality of signal inputs 12 are configured to receive at least one input signal, wherein the at least one input signal may comprise one or several analog input signals and/or one or several digital input signals.
[0073] In general, the number of signal inputs 12 corresponds to the maximum number of input signals that can be received simultaneously, i.e., the number of signal inputs 12 corresponds to the number of channels j of the electronic device 10. The number of channels j may be any integer bigger than zero. For example, the number of channels j may be equal to 1, 2, 4, 8, or 16. However, it is also conceivable that the number of channels j may be greater than 16. Moreover, the number of channels j may be a power of 2. However, the number of channels may also be any other integer, for example any odd integer.
[0074] The processing circuit 14 processes the plurality of input signals, thereby generating a set of digital signals X. For example, the processing circuit 14 may digitize analog input signals of the at least one input signal. Accordingly, the processing circuit 14 may comprise at least one analog-to-digital converter that is configured to digitize analog input signals. Additionally or alternatively, the processing circuit may (pre-)process the plurality of input signals in any other suitable way.
[0075] The set of digital signals X is filtered by the digital filter circuit 16, thereby generating a digital output signal set Y. In the following, the functionality of the digital filter circuit 16 is described in more detail. Accordingly, the set of digital signals X is denoted as “digital input signal set” X in the following.
[0076] The digital input signal set X is a 1×m signal, wherein 1 is a number of channels and m is a data parallelism of the digital input signal set X. Thus, 1 denotes the number of active channels, i.e. the number of signals that are processed in parallel by the processing circuit 14 upstream of the digital filter circuit 16.
[0077] Further, m denotes the number of data points or samples per time interval, for example the number of data points or samples per clock cycle. Accordingly, m denotes the number of samples of the respective signal that are processed in parallel (in each channel) by the processing circuit 14 upstream of the digital filter circuit.
[0078] In some embodiments, 1 may be a power of 2, i.e. l=2.sup.L.sup.
[0079] Moreover, m may be a power of 2, i.e. m=2.sup.M.sup.
[0080] In some embodiments, the sum of the integers L.sub.in and M.sub.in may be constant. In other words, L.sub.in and M.sub.in may be subject to the constraint L.sub.in+M.sub.in=C.sub.in, with C.sub.in being an integer and being constant.
[0081] The digital output signal set Y may be a q×w signal, wherein q is a number of channels and w is a data parallelism of the digital output signal set Y. Therein, q may be equal to 1. However, q may also be different from 1. Moreover, w may be equal to m. However, w may also be different from m.
[0082] The digital output signal set Y may then be appropriately processed by the analysis circuit 18. For example, the digital output signal set Y may be saved, analyzed, post-processed and/or displayed on a display of the electronic device 10.
[0083]
[0084] Each FIR filter circuit 24 has a predefined filter length L. In general, the maximum number of samples that can be processed by the respective FIR filter circuit 24 simultaneously depends on the filter length L. Thus, the FIR filter circuits 24 have a predefined filter parallelism B, respectively. Therein and in the following, the term “filter parallelism” is understood to denote the number of samples that can be processed by the respective filter circuit simultaneously. Accordingly, the filter parallelism B may depend on the filter length L. Thus, the higher the filter length is, the more samples or symbols can be processed by the respective FIR filter circuit 24 at the same time.
[0085] In some embodiments, the FIR filter circuits 24 may be established as a short-length FIR filter, respectively. Therein and in the following, the term short-length FIR filter may denote an FIR filter with a filter length L that is smaller than or equal to 256, for example smaller than or equal to 128, for example smaller than or equal to 64, for example smaller than or equal to 32.
[0086] The FIR filter circuits 24 are arranged in parallel and are each connected to the sample history memory 22 downstream of the sample history memory 22. Without restriction of generality, an example embodiment of the digital filter circuit 16 is described in the following, wherein the digital filter circuit 16 comprises four FIR filter circuits 24. However, it is to be understood that the digital filter circuit 16 may comprise any other number of FIR filter circuits 24, for example 2, 8, or 16.
[0087] The FIR filter circuits 24 comprise a pre-adder sub-circuit 26 (labelled as “ADDIN#” in
[0088] In the embodiment shown in
[0089] The digital filter circuit 16 is switchable between different operational modes by a control circuit 36, wherein each operational mode is associated with processing a predefined number of channels with a predefined parallelism.
[0090] In the embodiment shown in
[0091] The control circuit 36 may be part of the digital filter circuit 16. However, the control circuit 36 may also be established separately from the digital filter circuit. For example, the control circuit 36 may be a general control circuit, for example a control unit of the electronic device 10.
[0092] In general, there are three different types of operational modes that depend on a relation between the data parallelism P=m of the digital input signal set X, and on the filter parallelism B of the FIR filter circuits 24.
[0093] If the data parallelism P is smaller than the filter parallelisms B of the FIR filter circuits 24, the digital filter circuit 16 is configured to be operated in a time multiplexing mode. In the time multiplexing mode, the digital filter circuit 16 may be configured to process more individual digital input signals than there are FIR filter circuits 24.
[0094] The sample history memory 22 accumulates blocks of samples of length B that are associated with the individual digital input signals of the digital input signal set X. The sample history memory 22 selectively forwards the accumulated blocks of samples to the FIR filter circuits 24.
[0095] In the embodiment shown in
[0096] As is illustrated in
[0097] A second operational mode of the digital filter circuit 16 is activated if the predefined filter parallelism B is smaller than the data parallelism P of the digital input signal set X. In this operational mode, the FIR filter circuits 24, and in some embodiments the post-adder sub-circuits 30 are selectively connected by the connection circuit 32, such that the FIR filter circuits 24 cooperate in processing the digital input signal set X, for example the individual digital input signals of the digital input signal set.
[0098] In the embodiment shown in
[0099] In the 1×4B configuration, all four FIR filter circuits 24 cooperate in processing a single digital input signal of the digital input signal set X, as the filter parallelism B is a quarter of the data parallelism P=4B of the digital input signal set X. Accordingly, a single digital input signal is jointly processed by the four FIR filter circuits 24.
[0100] In a third operational mode, the predefined filter parallelism B is equal to the data parallelism P of the digital input signals at X, i.e. it holds P=B. In this operational mode, each FIR filter circuit 24 processes one of the digital input signals of the digital input signal set X, respectively. In the embodiment shown in
[0101]
[0102] As already mentioned above, the FIR filter circuits 24 are each configured for block-wise processing of the digital input signal(s), as B samples are processed simultaneously by each of the FIR filter circuits 24.
[0103] In order to enhance the resource-efficiency of the digital filter circuit 16, a combined structure of the pre-adder sub-circuit 26, of the convolution sub-circuit 28, and of the post-adder sub-circuit 30 of each FIR filter circuit 24 of the digital filter circuit 16 shown in
[0104] For example, consider the case of a 2-tap filter. The output signal sample Y.sub.k relates to the input signal samples X.sub.k and X.sub.k-1 as follows:
Y.sub.k=H.sub.0X.sub.k+H.sub.1.Math.X.sub.k-1
[0105] Therein, H.sub.0 and H.sub.1 are the filter coefficients of the 2-tap filter. In case of an L-tap filter, there may be up to L different filter coefficients.
[0106] In terms of a block-wise processing of the input signal samples, this can be rewritten as follows:
[0107] The matrix on the right-hand side of equation (E.1) can be decomposed. For example, the Coppersmith-Winograd decomposition, also known as the Coppersmith-Winograd algorithm, may be used in order to decompose the matrix. This leads to the following result:
[0108] In order to directly implement the right-hand side of equation (E.1) in hardware, two adder circuits and four multiplier circuits can be used. On the other hand, in order to implement the right-hand side of equation (E.2) in hardware, four adder circuits and three multiplier circuits are used. Thus, the number of multiplier circuits that employed in order to implement the respective filter in hardware is reduced, albeit at the cost of additional adder circuits.
[0109]
[0110] Likewise, the post-adder sub-circuit 30 in some embodiments only comprises adder circuits 40 and a delay sub-circuit 38. Thus, the post-adder sub-circuit 30 is free of multiplier circuits.
[0111] In some embodiments, the convolution sub-circuit 28 only comprises multiplier circuits 42. Thus, the convolution sub-circuit 28 is free of adder circuits.
[0112] The example described above holds for B=2. However, this can directly be generalized to any B larger than 2 by performing the Coppersmith-Winograd decomposition for larger matrices, for example recursively.
[0113] The resulting structure of the post-adder sub-circuit 30 and of the pre-adder sub-circuit 26 is shown in
[0114]
[0115] Moreover, each of the FIR filter circuits 24 comprises a first reversal sub-circuit 44 upstream, for example immediately upstream of the pre-adder sub-circuit 26. The first reversal sub-circuits 44 are configured to reverse the order of samples of the blocks of samples forwarded to the respective FIR filter circuit 24, such that the samples are forwarded to the pre-adder sub-circuits 26 in reversed order.
[0116] Each of the FIR filter circuits 24 further comprises a second reversal sub-circuit 46 downstream, for example immediately downstream of the post-adder sub-circuit 30. The second reversal sub-circuits 46 are configured to reverse the order of samples of the blocks of samples processed by the respective FIR filter circuit 24, such that the original order of the samples is restored.
[0117] The digital filter circuit 16 further comprises a serializer circuit 47. In general the serializer circuit 47 is configured to reverse the operation of the sample history memory 22, such that the output signal set Y is correctly reassembled from the blocks of samples processed by the individual FIR filter circuits 24.
[0118] It is noted that the first embodiment of the digital filter circuit 16 described above with respect to
[0119] In general terms, in the embodiment depicted in
[0120] As is depicted in
[0121] In order to derive the transposed matrix decomposition, equation (E.1) can be rewritten as
Y=Ĥ.Math.X=U.sup.TU.Math.Ĥ.Math.UU.sup.T.Math.X (E.3)
[0122] for any orthogonal matrix U.
[0123] Equation (E.1) can then be rewritten as
Y=
with
[0124] Accordingly, equation (E.2) can be rewritten as
[0125] The first and the last matrix in the second line of equation (E.6) are anti-diagonal matrices, which are implemented by the second reversal sub-circuit 46 and the first reversal sub-circuit 44, respectively.
[0126]
[0127] Compared to the variant shown in
[0128] The example described above holds for B=2. However, this can directly be generalized to any B larger than 2 by performing the transposed Coppersmith-Winograd decomposition for larger matrices.
[0129] The resulting structure of the post-adder sub-circuit 30 and of the pre-adder sub-circuit 26 is shown in
[0130] It has turned out that the memory resources can be reduced if the structure of the FIR filter circuits 24 is configured to resemble a transposed matrix decomposition, analogously to equation (E.6) and
[0131] Certain embodiments disclosed herein utilize circuitry (e.g., one or more circuits) in order to implement protocols, methodologies or technologies disclosed herein, operably couple two or more components, generate information, process information, analyze information, generate signals, encode/decode signals, convert signals, transmit and/or receive signals, control other devices, etc. Circuitry of any type can be used. It will be appreciated that the term “information” can be use synonymously with the term “signals” in this paragraph. It will be further appreciated that the terms “circuitry,” “circuit,” “one or more circuits,” etc., can be used synonymously herein.
[0132] In an embodiment, circuitry includes, among other things, one or more computing devices such as a processor (e.g., a microprocessor), a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a system on a chip (SoC), or the like, or any combinations thereof, and can include discrete digital or analog circuit elements or electronics, or combinations thereof.
[0133] In an embodiment, circuitry includes hardware circuit implementations (e.g., implementations in analog circuitry, implementations in digital circuitry, and the like, and combinations thereof). In an embodiment, circuitry includes combinations of circuits and computer program products having software or firmware instructions stored on one or more computer readable memories that work together to cause a device to perform one or more protocols, methodologies or technologies described herein. In an embodiment, circuitry includes circuits, such as, for example, microprocessors or portions of microprocessor, that require software, firmware, and the like for operation. In an embodiment, circuitry includes an implementation comprising one or more processors or portions thereof and accompanying software, firmware, hardware, and the like.
[0134] Throughout this specification, terms of art may be used. These terms are to take on their ordinary meaning in the art from which they come, unless specifically defined herein or the context of their use would clearly suggest otherwise.
[0135] The present application may reference quantities and numbers. Unless specifically stated, such quantities and numbers are not to be considered restrictive, but exemplary of the possible quantities or numbers associated with the present application. Also in this regard, the present application may use the term “plurality” to reference a quantity or number. In this regard, the term “plurality” is meant to be any number that is more than one, for example, two, three, four, five, etc. The terms “about,” “approximately,” “near,” etc., mean plus or minus 5% of the stated value. For the purposes of the present disclosure, the phrase “at least one of A and B” is equivalent to “A and/or B” or vice versa, namely “A” alone, “B” alone or “A and B.”. Similarly, the phrase “at least one of A, B, and C,” for example, means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C), including all further possible permutations when greater than three elements are listed.
[0136] The principles, representative embodiments, and modes of operation of the present disclosure have been described in the foregoing description. However, aspects of the present disclosure which are intended to be protected are not to be construed as limited to the particular embodiments disclosed. Further, the embodiments described herein are to be regarded as illustrative rather than restrictive. It will be appreciated that variations and changes may be made by others, and equivalents employed, without departing from the spirit of the present disclosure. Accordingly, it is expressly intended that all such variations, changes, and equivalents fall within the spirit and scope of the present disclosure, as claimed.