This disclosure relates to signal processing and filtering in, for example, decimation and channel filtering as used in communication system receivers.
In many integrated receiver systems, filtering of incoming signals is provided in the analog domain. After filtering, the signal can then be converted to the digital domain through use of an analog-to-digital converter (ADC) such as a large dynamic range, sigma-delta Analog-to-digital converter (SD-ADC). Thereafter, digital circuits can provide decimation filtering and channel filtering to obtain desired signals. Examples of techniques for digital filtering are Infinite Impulse Response (IIR) filters and Finite Impulse Response (FIR) Filters. In IIR filters, the output response to an impulse signal at the input is generally not bounded in time, while in an FIR filter the output response is generally bounded in time.
In general, some implementations feature a method of performing digital filtering that includes filter arithmetic operations. The method includes generating a system clock, in which the system clock has a rate of at least twice an input data rate. The method includes providing the system clock to a control circuit that controls at least one multiplier, at least one adder, and at least one storage element such that at least some of the filter arithmetic operations are performed time sequentially by the at least one multiplier, the at least one adder, and the at least one storage element before receiving a next input sample.
These and other implementations can optionally include one or more of the following features. The digital filtering can be represented by the function:
In the digital filtering representation, x[n] can represent an array of sampled input signals; y[n] can represent an array of filter output signals; c can represent an array of input filter coefficients, d can represent an array of output filter coefficients; n can represent an input sampling number; and L and M can represent positive integers. At least some of the filter arithmetic operations that are performed time sequentially by the at lest one multiplier, the at lest one adder, and the at lest one storage element before receiving a next input sample can include at least the following operations performed time sequentially: (1) multiplying at least one delayed input sample by a first input filter coefficient to generate a first multiplication result, adding the first multiplication result to a first previously accumulated sum to generate a current accumulated sum; and storing the current accumulated sum; (2) multiplying the current input sample by a second input filter coefficient to generate a second multiplication result; adding the second multiplication result to the current accumulated sum to generate an accumulated input sum, and storing the accumulated input sum; (3) multiplying at least one delayed output sample by an output filter coefficient to generate a third multiplication result, adding the third multiplication result to a second previously accumulated sum to generate a current accumulated output sum, and storing the current accumulated output sum; and (4) summing the accumulated input sum and the accumulated output sum to generate an output. The digital filtering can include an IIR filter. The digital filtering can include a FIR filter. The digital filtering can include feed-forward and feedback loops. An integer part of a ratio of the system clock to the input data rate can be equal to or larger than a total number of the filter arithmetic operations that are performed time sequentially. The system clock can be an analog-to-digital conversion sampling clock. A maximum number of the filter arithmetic operations that are performed time sequentially can be limited to the integer part of the ratio of the system clock to the input data rate. The values of the input and output filter coefficients can be fixed or variable. The input and output filter coefficients can be stored in a table or calculated dynamically. A filter coefficient selector can select the input and output filter coefficients. The filter coefficient selector can include a counter, logic circuit, an arithmetic unit (ALU), or a programmable controller. The control circuit can be configured to control two or more multipliers, two or more adders, two or more multiplexers, and at least one accumulator. The input and output filter coefficients can be time-sequentially coupled to an input of the at least one multiplier. The current input sample, the delayed input sample and the delayed output sample can be time-sequentially coupled to an input of the at least one multiplier. The digital filtering can be represented by:
In the digital filtering representation, x[n] can represent an array of sampled input signals; y[n] can represent an array of filter output signals; e can represent a constant; c, d and g can represent arrays of filter coefficients, n can represent an input sampling number; and i and j can represent positive integers. The control circuit can be configured to control the at least one multiplier, the at least one adder, and the at least one storage element such that at least one of the multiplier, the adder, or the storage element is reused for the filter arithmetic operations that are performed time sequentially.
In general, some implementations feature a circuit implementing a digital filter. The circuit implementing the digital filter includes: a system clock generator configured to generate a system clock having a rate at least twice an input data rate; at least one multiplier; at least one adder; at least one storage element; and a control circuit. The control circuit is configured to control the at lest one multiplier, the at lest one adder, and the at lest one storage element. The system clock is coupled to the control circuit such that at least some of the filter arithmetic operations are performed time sequentially by the at least one multiplier, the at least one adder, and the at least one storage element before receiving a next input sample.
These and other implementations can optionally include one or more of the following features. The digital filter can be represented by the function:
in which x[n] can represent an array of sampled input signals; y[n] can represent an array of filter output signals; c can represent an array of input filter coefficients, d can represent an array of output filter coefficients; n can represent an input sampling number; and L and M are positive integers. The system clock can be coupled to the control circuit such that at least the following operations can be performed time sequentially by the multiplier, the adder, and the storage element before receiving a next input sample: (1) multiplying at least one delayed input sample by a first input filter coefficient to generate a first multiplication result, adding the first multiplication result to a first previously accumulated sum to generate a current accumulated sum; and storing the current accumulated sum; (2) multiplying the current input sample by a second input filter coefficient to generate a second multiplication result; adding the second multiplication result to the current accumulated sum to generate an accumulated input sum, and storing the accumulated input sum; (3) multiplying at least one delayed output sample by an output filter coefficient to generate a third multiplication result, adding the third multiplication result to a second previously accumulated sum to generate a current accumulated output sum, and storing the current accumulated output sum; and (4) summing the accumulated input sum and the accumulated output sum to generate an output. The filter can include an IIR filter. The filter can include a FIR filter. The digital filter can include feed-forward and feedback loops. The circuit can include two or more multipliers, two or more adders, three or more multiplexers and at least one accumulator. An integer part of a ratio of the system clock to the input data rate can be equal to or larger than a total number of the filter arithmetic operations that are performed time sequentially. The system clock can be an analog-to-digital conversion sampling clock. A maximum number of the filter arithmetic operations that are performed time sequentially can be limited to the integer part of the ratio of the system clock to the input data rate. Values of the input and output filter coefficients can be fixed or variable. The input and output filter coefficients can be stored in a table or calculated dynamically. The circuit can include a filter coefficient selector to select the input and output filter coefficients. The filter coefficient selector can include a counter, a logic circuit, an ALU or a programmable controller. The input and output filter coefficients can be time-sequentially coupled to an input of the at least one multiplier. The current input sample, the delayed input sample and the delayed output sample can be time-sequentially coupled to an input of the at least one multiplier. The filter can be represented by:
In the filter representation, x[n] can represent an array of sampled input signals; y[n] can represent an array of filter output signals; e can represent a constant; c, d and g can represent arrays of filter coefficients, n can represent an input sampling number; and i and j can represent positive integers. The control circuit can be configured to control the multiplier, the adder, and the storage element such that at least one of the multiplier, the adder, or the storage element can be reused for the filter arithmetic operations that are performed time sequentially
In general, some implementations feature a decimation and channel filtering system. The decimation and channel filtering system includes a decimator configured to receive an input signal at a system clock rate and output a decimated signal on a decimator output, in which the decimator is configured to output the decimated signal at a filter input data rate that is at least twice slower than the system clock rate. The system includes a first programmable gain amplifier coupled to the decimator output, and a first filter coupled to an output of the first programmable gain amplifier. The first filter is configured to perform at least some filter arithmetic operations time sequentially based on the system clock rate. The system includes a second programmable gain amplifier coupled to an output of the first filter, a numeric mixer coupled to an output of the second programmable gain amplifier, a numeric local oscillator coupled to the numeric mixer, and a second filter coupled to an output of the numeric mixer. The second filter is configured to perform at least some filter arithmetic operations time sequentially based on the system clock rate. The system includes a third programmable gain amplifier coupled to an output of the second filter.
These and other implementations can optionally include one or more of the following features. The numeric local oscillator can be configured to perform at least some oscillator arithmetic operations time sequentially based on the system clock rate. The system can include a filter coefficient selector configured to select a filter coefficient of an array of filter coefficients for the filter arithmetic operations of the first or second filter. The first or second filter can include an IIR filter. The first or the second filter can include forward and/or feedback loops. The first or second filter can include calculation components, storage elements, delay elements, and/or multiplexers. The array of filter coefficients can include decimation filter coefficients, the filter input coefficients, delayed filter input coefficients, and delayed filter output coefficients. A maximum number of filter arithmetic operations performed time sequentially by the first and the second filter can be limited to an integer part of a ratio of the system clock to the filter input data rate. The decimation filter, the mixer, the first filter, and the second filter can be configured to reuse components.
In general, some implementations feature a receiver. The receiver includes a radio frequency (RF) input signal received by an antenna coupled to an RF filter, an low noise amplifier (LNA) coupled to an output of the RF filter, a first set of I/Q mixers configured to perform image rejection and mix an output of the LNA with a first set of quadrature I/Q output signals tuned by a first frequency divider from an output of a first local oscillator, and a set of I/Q intermediate frequency (IF) filters coupled to a first set of mixed I/Q outputs of the first set of I/Q mixers. The receiver includes a second set of I/Q mixers configured to mix filtered I/Q outputs of the I/Q intermediate filer (IF) filters with a second set of I/Q outputs generated and tuned by a second frequency divider from an output of a second local oscillator, an analog-to-digital converter coupled to a second set of mixed I/Q outputs and configured to produce a digital signal sampled at a system clock, and a digital-signal-processing unit including a decimator. The digital-signal-processing unit including the decimator is configured to receive the digital signal and generate a decimated output at a data rate slower than the system clock, a first filter, a mixer, a third local oscillator, and a second filter, in which at least one of the decimator, the first filter, the mixer, the third local oscillator, or the second filter is configured to perform at least some arithmetic operations time sequentially based on the system clock rate. The receiver includes a baseband processing circuit configured to receive an output from the digital-signal-processing unit.
These and other implementations can optionally include one or more of the following features. The receiver can include a filter coefficient selector to select filter coefficients. The filter coefficient selector can include a counter, a logic circuit, an ALU or a programmable controller. Each of the decimator, the first filter, the mixer, the third local oscillator, or the second filter can be configured to perform at least some arithmetic operations time sequentially based on the system clock rate. A maximum total number of arithmetic operations can be performed sequentially by the decimator, the first filter, the mixer, the third local oscillator, and the second filter, either individually or in combination, can be limited to an integer part of a ratio of the system clock to a data rate that is slower than the system clock.
Details of one or more implementations are set forth in the accompanying drawings and description herein. Other features, aspects, and advantages will be apparent from the description, the drawings, and the claims.
A filtering or other digital process can be implemented using flip-flops, registers, or other storage elements to store incoming data and intermediate results and a control circuit to schedule calculations. In various implementations, segments of the filter can be customized to allow for the necessary field-programmability through use of programmable arithmetic elements between filter functions. Alternatively, or additionally, coefficients can be selected from different hardwired sets using control signals. Thus, in some implementations, a filter or other digital process can employ selectable sets of hard-wired coefficients, re-use of arithmetic and/or storage elements, and a control circuit (e.g., a state machine) for scheduling calculations. In various implementations, the level of configurability and reuse of arithmetic and storage elements can be customized for each stage of the filter or other digital processing to achieve minimum required area. In some implementations, the filter or other digital process can process data at a sample rate that is less than the available clocking rate of the system. Because the system can have a higher available clocking rate, the arithmetic elements can be used multiple times for multiple operations in the system, while the filter or other digital process can still be operated in the system at a lower sample rate.
In various implementations, the first decimation filter 110 can provide for a first reduction in sample rate together with filtering to avoid signal aliasing. Also, the number of bits per sample can be increased from the value of Nin at the input to a higher number. The first PGA 120 can implement a first programmable gain stage. The first IIR filter 130 can provide first channel filtering to remove unwanted interfering signals. Due to this filtering, the dynamic range of the signal can be reduced, and this can enable greater gain to be provided by the second PGA 140.
The described filtering process 100 can be used in a low intermediate frequency (low IF) receiver. In various implementations, a second down conversion stage can be implemented in the digital circuit using the numeric mixer 170. After the mixer 170, a second IIR filter 180 can provide for further channel filtering and equalization of the signal. With further reduction of dynamic range, more programmable gain can be added in the third PGA 190.
In
The filtering process 100 illustrates several components that can use the time sequential operations. In particular, various components of the filtering process 100 can use one or more sets of storage elements, delay elements, and one or more sets of coefficients 150 for calculations. More particularly, in various implementations, the first and second IIR filters 130 and 180, the decimation filter 110 and the numeric mixer 170 can reuse storage elements to store incoming data, intermediate results, and state machines to schedule calculations using the coefficients 150. As such, the filtering process 100 may not require hardwired sets of coefficients for each calculation in the filter.
The coefficient selector 155 can be used to select particular coefficients or sets of coefficients for a given calculation. The coefficient selector 155 can be a logic-based switching circuit for simple control/switching of coefficients or sets of coefficients. For example, in one implementation, a counting circuit is used to count through multiple coefficients in a sequence. In implementations requiring more complicated or dynamic control, the coefficient selector 155 can incorporate an ALU or other types of processing devices rather than hard-wired logic circuitry.
Also, the coefficient selector 155 can be dedicated to a specific component (e.g., within the second IIR filter 180) or can select particular coefficients for use with each of multiple components (e.g., within both the first and second IIR filters 130 and 180). As shown, the filtering process 100 includes a single coefficient selector 155, though, various implementations can include a coefficient selector 155 dedicated to each of one or more components using the coefficients 150.
The output of an IIR filter can be a function of an input and previous inputs and outputs:
where y[n] is the output, x[n] is the input, y[n−j] and x[n−i] are previous outputs and inputs, respectively, and n is an input sample number. c[i] and d[j] are filter coefficients and L and M are integers. For an FIR, the output can be a function of the previous inputs with no feedback from the previous outputs. The above equation describes an FIR filter if all the coefficients d[j] are zero.
In general, the calculations to implement the above filter equation can be translated into pseudo code with time sequential operations that are performed by the appropriate components in response to a clock rate that is higher than the data rate of the filter input signal. For instance, in one implementation, the system clock is provided to one or more multipliers, one or more adders, and one or more storage elements so that each multiplication and addition in the input sample portion of the above equation is performed time sequentially, each multiplication and addition in the output sample portion of the above equation is performed time sequentially, and then the total of both portions are added to produce the output.
In other implementations, a filter algorithm based on the above described filter equation with feed-forward and feedback loops is translated into pseudo-codes with both parallel operations and serial (time sequential) operations. Calculation components, storage elements, delay elements, and other components can then be designed according to the pseudo-code operations to optimize the time sequential operations for component reuse and area, power and cost reduction.
Examples of filter architectures are used in the following description for ease of understanding of the time sequential operation techniques. In particular,
where x[n] is an array of sampled input signals; y[n] is an array of filter output signals; e is a constant; c, d and g are arrays of filter coefficients, n is an input sampling number; and i and j are positive integers.
Referring to
In a straightforward implementation of the IIR filter architecture 200A, the signal s0_z3 in feedback loop 202A is multiplied with a multiplier 205A using coefficient c_d3 and the resulting signal is stored at a storage element s0_z3. The signal s0_z2 is multiplied with a multiplier 210A using coefficient c_d2. The resulting signals of the multipliers 205A and 210A are added using an adder 215A. The signal s0_z1 is multiplied with a multiplier 220A using coefficient c_d1. The resulting signals of the adder 215A and the multiplier 220A are added using an adder 225A. The input signal 206A is multiplied with a multiplier 201A using coefficient c_n1. The resulting signals of the multiplier 201A and the adder 225A are added using an adder 230A. The signal s0_z2 is shifted with the shift register 235A into the signal s0_z3. The signal s0_z1 is shifted with a shift register 240A into the signal s0_z2. The resulting signal s0 of the adder 230A is stored in a shift register 245A.
Further, in the second feedback loop 203A, the signal s1_z2 is multiplied with a multiplier 250A using coefficient c_d2. The signal s1_z2 is shifted into a unit multiplier (multiplying by 1) 255A. The resulting signal of the unit multiplier 255A is stored at a storage element s1_z2. The signal s1_z1 is multiplied with a multiplier 260A using coefficient c_d1. The resulting signals of multipliers 250A and 260A are added with an adder 265A. The signal s1_z1 is multiplied with a multiplier 270A using coefficient c_n2. The resulting signal of the multiplier 270A is added to an output of the unit multiplier 255A using an adder 275A. The resulting signals of the adder 230A and the adder 265A are added using an adder 280A. The signal s1_z1 is shifted using a shift register 285A into the signal s1_z2. The resulting signal of the adder 280A is stored in a shift register 290A. The resulting signal of the shift register 280A is multiplied with a multiplier 295A using coefficient c_n1. The resulting signals of the multiplier 295A and the adder 275A are added using an adder 296A to form the output signal s2207A. The above description is an example, and other different filter coefficients can be used in the second feedback/feed-forward loop 203A. However, the more redundant coefficients there are, the less hardware are required.
Referring to
A straightforward implementation of the IIR filter architecture 200B uses 8 multipliers, 7 adders, and 5 register storage elements so that calculations can be performed in parallel. Also, the IIR filter 200B includes a coefficient selector 299B. The coefficient selector 299B can use multiple outputs such that some or all of the multipliers are coupled to a unique output of the coefficient selector 299B. The values of the coefficients, the number of storage elements, and the number of bits for each storage element and the coefficient selector 299B can all be varied according to the requirements of the IIR filter 200B.
The coefficient selector 299B includes a separate output c_out1-c_out7 that is coupled to each of the multipliers of the IIR filter 200B, by varying the coefficient outputs on c_out1-c_out7, the coefficient for each of the multipliers are varied as well. In various implementations, the coefficient selector 299B is configured using, for example, logic circuitry, to output (as c_out) the coefficients c_d1, c_d2, c_d3, c_n1, and c_n2 shown in
In a straightforward implementation of the IIR filter architecture 200B, the signal s0_z3 in feedback loop 202B is multiplied with a multiplier 205B using a coefficient c_out and the resulting signal is stored at a storage element s0_z3. The signal s0_z2 is multiplied with a multiplier 210A using the coefficient c_out. The resulting signals of the multipliers 205B and 210B are added using an adder 215B. The signal s0_z1 is multiplied with a multiplier 220B using the coefficient c_out. The resulting signals of the adder 215B and the multiplier 220B are added using an adder 225B. The input signal 206B is multiplied with a multiplier 201B using coefficient c_out. The resulting signals of the multiplier 201B and the adder 225B are added using an adder 230B. The signal s0_z2 is shifted with the shift register 235B into the signal s0_z3. The signal s0_z1 is shifted with a shift register 240B into the signal s0_z2.
Further, in a second feedback loop 203B, the signal s1_z2 is multiplied with a multiplier 250B using coefficient c_out. The signal s1_z2 is shifted into a unit multiplier 255B. The resulting signal of the unit multiplier 255B is stored at a storage element s1_z2. The signal s1_z1 is multiplied with a multiplier 260B using coefficient c_out. The resulting signals of multipliers 250B and 260B are added with an adder 265B. The signal s1_z1 is multiplied with a multiplier 270B using coefficient c_out. The resulting signals of the multiplier 270B and the unit multiplier 255B are added using an adder 275B. The resulting signals of the adder 230B and the adder 265B are added using an adder 280B. The signal s1_z1 is shifted using a shift register 285B into the signal s1_z2. The resulting signal of the adder 280B is stored in a shift register 290B. The resulting signal of the shift register 280B is multiplied with a multiplier 295B using coefficient c_out. The resulting signals of the multiplier 295B and the adder 275B are added using an adder 296B to form the output signal s2207B.
The different frequency requirements of the filtering process 100 of
Specifically,
Each pseudo code includes multiple steps (e.g., pseudo code 200A includes 9 steps for one channel) with one or more operations performed at each step. The steps in the pseudo-codes described by 300A-300B are performed time sequentially at a higher clock rate fclk than the input signal data rate of fsample,1. The operations in each step can be performed in parallel or serial, depending on the ratio of fclk to fsample,1.
An example of a clock of frequency fclk can be a system clock of rate fsample,in. The serial steps (and operations when performed serially) of the pseudo-codes 3A-3B can be performed time sequentially with reusable components to reduce the hardware required. Each step in the pseudo-codes of 3A-3B includes operations to be completed before the next input signal at the data rate of fsample,1 arrives. The larger a ratio Rclk of fclk to fsample,1, the more extra cycles of fclk can be used for time sequential operations, which may allow operations within each step to be performed serially. In general, Rclk is greater than or equal to two. The maximum number of time sequential operations, including operations within each step, depends on the integer value of the ratio Rclk and may be limited based on this ratio. In some applications, Rclk is large enough to have extra cycles of fclk still left after the component reduction is optimized with serial operations.
The operations within each step of the pseudo-codes 300A-300B can be parallel operations and therefore processed concurrently at the clock rate of fclk. However, parallel operations can require duplicated hardware components for the operations if they are the same type of operation, e.g. multiplication.
Referring to
In the schematic 400A, a multiplier 410A, an adder 420A, six storage registers 431-436A, a counter 440A, and signal multiplexers 451A-460A are included. As compared to parallel implementations of the IIR filters architectures 200A and 200B of
The multiplexer 458A is coupled to dedicated coefficients 465A to be used in calculations. As such, more complex circuiting such as a coefficient-set multiplexer 470B (described below), or other logic circuitry such as an ALU, is not required to select the proper set of coefficients to be the input to the multiplexer 458A. Rather, the value on the counter 440A can cause the multiplexer to pass through the input tied to the appropriate fixed coefficient.
In general, the counter 440A can provide timing of state machine functionality and can schedule the calculations and operations. The counter value can select the state of the signal multiplexers 451A-460A thereby selecting one of their input signals. Also, as described above, the counter value can select the appropriate one of the fixed coefficients 465A through multiplexer 458A. Therefore, the signal that is connected to the multiplier 410A, the adder 420A, and to the storage registers 431A-460A can change depending on the value of the counter 440A. The counter 440A can change its value with each cycle of the system clock which may have a frequency of fclk.
When fclk is greater than fsample,1, the number of required calculation components (e.g., multiplier, adder, etc.) can be reduced by using the extra clock cycles of fclk to control the selection and reuse of the calculation components. In the example of
In various implementations, the counter 440A can be replaced with an ALU or another sophisticated processing device to dynamically control the hardware elements and coefficients. Moreover, with more dynamic control, the required number of circuit components or complexity can be reduced by reuse of inputs. For example, the number of inputs to the multiplexers 457A and 458A can be reduced. Such a reduction can also enable further reduction of required components with a given ratio of fsample,in to fsample,1.
Referring to
In contrast to the dedicated, but selectable coefficients 465A coupled to the multiplexer 458A of
The coefficient-set multiplexer 470B can provide flexibility by allowing the output, c_out, to be selected from two or more sets of coefficients. More specifically, the optional inputs for coefficient set A and coefficient set B can enable selection between different coefficient sets for different filter applications. In one implementation, the coefficient-set multiplexer 470B can be configured to cycle through a list of coefficients based on a counter signal provided by the counter 440B. In implementations requiring more dynamic control, such as adjustment of the coefficients based on conditions apart from timing, the coefficient-set multiplexer 470B can be controlled through use of an ALU or other logic circuitry.
As with
The schematic 400C of
The coefficient multiplexer 470C has dynamic outputs, which can reflect one of multiple coefficients or sets of coefficients. Referring to the filtering process 100 of
Also, the coefficient multiplexer 470C can provide flexibility by allowing the output, c_out, to be selected from two or more sets of coefficients. More specifically, the optional inputs for coefficient set A and coefficient set B can enable selection between different coefficient sets. In one implementation, the coefficient multiplexer 470C can be configured to cycle through a list of coefficients based on a counter signal provided by the counter 440C. In implementations requiring more dynamic control, such as adjustment of the coefficients based on conditions apart from timing, the coefficient multiplexer 470C can be controlled through use of an ALU or other logic circuitry.
As with
The above implementations of using the time sequential operation techniques to reduce circuit components for digital filtering processing are examples and the above described time sequential techniques are not limited to digital filter applications but can be applied to any digital processing, for example, a numeric mixer, a numeric LO, a digital synthesizer, or a decimation filter.
The disclosed techniques can be used with wireless communication systems. For example, the disclosed techniques can be used with receivers, transmitters, and transceivers, such as the receiver, transmitter, and/or transceiver architectures for superheterodyne receivers, image-rejection (e.g., Hartley, Weaver) receivers, zero-intermediate frequency (IF) receivers, low-IF receivers, direct-up transceivers, two-step up transceivers, and other types of receivers and transceivers for wireless and wireline technologies.
In particular,
In another example,
The time sequential operation techniques described above can be applied to the digital signal processing functions in both the low IF and the direct conversion receivers. For example, the techniques can be used to reduce the area or increase the programmability of the decimator 535, the first digital filter 544, the numeric mixer 545, the LO 539 or the second digital filter 547 in the low IF receiver 500, or of the digital filter 653 in the direct-conversion receiver 600.
In some implementations, arithmetic elements such as registers, multiplier, adders, or other elements such as switches, capacitors, resistors, and inductors can be added, deleted, or exchanged from the disclosed figures with minimal change in circuit functionality. Various topologies for circuit models can also be used. The exemplary designs shown are not limited to any particular process technology, and can use various process technologies, such as CMOS or BiCMOS (Bipolar-CMOS) process technologies, or Silicon Germanium (SiGe) technology. The implementations can be single-ended or fully-differential circuits.
The system can include other components. Some of the components may include computers, processors, clocks, radios, signal generators, counters, test and measurement equipment, function generators, oscilloscopes, phase-locked loops, frequency synthesizers, phones, wireless communication devices, and components for the production and transmission of audio, video, and other data.
This application claims the benefit of priority from U.S. Provisional Application entitled “Hybrid Channel Filter,” Application No. 60/974,914 filed Sep. 25, 2007, the disclosure of which is incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60974914 | Sep 2007 | US |