Filters for System Models
Introduction
The Filters - < filter type > and System - < device type > palettes contain two fundamentally different types of behavioral system models.
Filters , System - Amps & Mixers , and System - Mod/Demod can be classified as tops-down system models that support a tops-down system design flow where model behaviors are characterized by a small number of independent parameters such as frequency, power and load. They are often referred to as parameter-based behavioral models .
System - Data Models can be classified as bottoms-up system models that support a bottoms-up verification flow where model behaviors are extracted from a simulation (or measurement) of a transistor-level circuit. They are often referred to as data-based behavioral models .
The parameter-based behavioral models typically provide superior speed relative to the data-based behavioral models with both of these being vastly superior to a brute-force transistor-level simulation.
The data-based behavioral models typically provide superior accuracy relative to the parameter-based behavioral models as they capture actual behaviors of implemented circuit components and not just design specifications.
The differences between parameter - and data-based behavioral models justify a palette emphasis on flow (all data-based behavioral models grouped together) rather than functionality (all amplifiers, mixers, modulators, demodulators etc. grouped together).
The use model for parameter-based behavioral models is to simply set a series of parameters prior to using the model. The use model for data-based behavioral models is described in System Data Models.
Filter Categories
The filter component libraries contains filters in eight response categories: Butterworth, Chebyshev, Elliptic, Gaussian, Bessel-Thompson, Raised-Cosine, Pole-Zero, and Polynomial. Lowpass, highpass, bandpass, and bandstop filters are available in each category.
Butterworth, Chebyshev, and Elliptic filters have good selectivity but poor group delay flatness; Bessel-Thompson and Gaussian filters have good delay flatness but poor selectivity. Raised-Cosine filters are uni-directional ideal Nyquist filters for bandlimiting digital signals. Pole-Zero and Polynomial filters allow users to define arbitrary response shapes.
Except for the Raised-Cosine category, the filter S-parameters are calculated based on standard filter synthesis theory [1]. S21 and S12 include losses specified by unloaded quality factor (Qu) and insertion loss IL, where applicable. The assumption is made that filter pole predistortion is used to preserve the specified frequency response in the presence of losses [2]. However, S11 and S22 neglect losses, an approximation that causes little error for realizable filters.
The basic nature of the response of a lowpass, highpass, bandpass, and bandstop filter is illustrated below. The illustrations include certain filter parameter definitions: fpass, fstop, Apass, and Astop for lowpass/highpass filters, and fcenter, BWpass, BWstop, Apass, and Astop for bandpass/bandstop filters. (Note that all filters do not have all of these parameters.)
In addition to these filter parameters, Gaussian and Bessel filters (XXX_Gaussian and XXX_Bessel (XXX = LPF, HPF, BPF, or BSF) have a group delay parameter GDpass. This parameter is motivated by the fact that a signal experiences a delay when passing through a filter. Calculated as the negative of the derivative of the phase response with respect to frequency, this delay (the group delay) will be frequency dependent for filters with a non-linear phase response. In other words, the group delay at a given frequency specifies the delay experienced by a group of sinusoidal components all having frequencies within a narrow interval around that frequency. A filter whose time-domain impulse response is symmetric around t=0 must be subjected to a certain finite shift (the group delay) in order to maintain (at least some resemblance of) causality when a transient simulator truncates its impulse response below zero. Different time-frequency characteristics for different filters can lead to different requirements for this group delay.
For LPF_Bessel and LPF_Gaussian, the group delay parameter GDpass is defined as the group delay at the passband edge frequency relative to that at zero frequency (this is illustrated below). For highpass, bandpass, or bandstop filters, the definition is the same except that the group delay at infinity (highpass) or at the center frequency (bandpass, bandstop) is used as the reference. GDpass cannot drop below zero and cannot exceed one; its default value is 0.9. The group delay value has a significant effect on filter order and therefore filter rejection. Larger GDpass values will result in longer delays and larger filter orders; smaller GDpass values will result in smaller delays and smaller filter orders. If your Gaussian or Bessel filter provides less out-of-band rejection than you expect, try increasing the GDpass parameter.
There are two ways of dealing with filter order, N:
- Leave the filter order at zero and specify the parameters characterizing the behavior of the filter, per the illustrations below. Given these specifications, the program will calculate and report filter order N which meets these specifications. Because N must be an integer, the calculated order N exceeds the specifications in most cases. N is capped at the upper value of 15. For Chebyshev filters, the calculated filter order N must be an odd number to ensure filter symmetry.
- Alternatively, specify filter order N explicitly. If a non-zero N is specified, it will overwrite the filter specifications. The filter response is simply calculated based on the specified order N. As above, N must be an integer and will be capped at 15. And, N must be odd for Chebyshev filters.
Lowpass Filter Behavior at DC
At DC, a lowpass filter appears to reduce to a wire. During DC analysis, one would therefore intuitively expect the S-matrix of a lowpass filter to reduce to S11=S22=1 and S12=S21=0. Also, one would intuitively expect the input and output voltages and currents to fulfill v2=v1 and i2=i1. For Z1=Z2, both these expectations are met. However, if Z1 and Z2 are unequal, there is simply no way to mathematically realize a meaningful filter that meets both expectations. If it meets the expectations in the S-domain, it won't for voltages and currents and vice versa.
The ADS lowpass filters are implemented in the S-domain, not the voltage/current-domain. At DC, the lowpass filters therefore reduce to a perfect [1 0;0 1] S-matrix regardless of the choice of reference impedance. The output voltage and current, however, are given by v2=sqrt (Z2/Z1) × v1 and i2=sqrt(Z1/Z2) × i1. This, as pointed out previously, reduces to v2=v1 and i2=i1 only for Z1=Z2. These relations can easily be derived from power conservation and can also be found from more rigorous S-parameter analysis.
References
- A. I. Zverev, Handbook of Filter Synthesis , John Wiley and Sons, New York, 1967.
- H. J. Blinchikoff and A. I. Zverev, Filtering in the Time and Frequency Domains , John Wiley and Sons, New York, 1976.
- Kamilo Feher, Digital Communications: Microwave Applications , Prentice-Hall, Englewood Cliffs, N.J., 1981.
- John G. Proakis, Digital Communications , McGraw-Hill, 1989.
Components
- BPF Bessel (Bandpass Filter, Bessel-Thompson)
- BPF Butterworth (Bandpass Filter, Butterworth)
- BPF Chebyshev (Bandpass Filter, Chebyshev)
- BPF Elliptic (Bandpass Filter, Elliptic)
- BPF Gaussian (Bandpass Filter, Gaussian)
- BPF PoleZero (Bandpass Filter, Pole Zero)
- BPF Polynomial (Bandpass Filter, Polynomial)
- BPF RaisedCos (Bandpass Filter, Raised-Cosine)
- BSF Bessel (Bandstop Filter, Bessel-Thompson)
- BSF Butterworth (Bandstop Filter, Butterworth)
- BSF Chebyshev (Bandstop Filter, Chebyshev)
- BSF Elliptic (Bandstop Filter, Elliptic)
- BSF Gaussian (Bandstop Filter, Gaussian)
- BSF PoleZero (Bandstop Filter, Pole Zero)
- BSF Polynomial (Bandstop Filter, Polynomial)
- BSF RaisedCos (Bandstop Filter, Raised-Cosine)
- HPF Bessel (Highpass Filter, Bessel-Thompson)
- HPF Butterworth (Highpass Filter, Butterworth)
- HPF Chebyshev (Highpass Filter, Chebyshev)
- HPF Elliptic (Highpass Filter, Elliptic)
- HPF Gaussian (Highpass Filter, Gaussian)
- HPF PoleZero (Highpass Filter, Pole Zero)
- HPF Polynomial (Highpass Filter, Polynomial)
- HPF RaisedCos (Highpass Filter, Raised-Cosine)
- LPF Bessel (Lowpass Filter, Bessel-Thompson)
- LPF Butterworth (Lowpass Filter, Butterworth
- LPF Chebyshev (Lowpass Filter, Chebyshev)
- LPF Elliptic (Lowpass Filter, Elliptic)
- LPF Gaussian (Lowpass Filter, Gaussian)
- LPF GMSK (Lowpass Filter, GMSK)
- LPF PoleZero (Lowpass Filter, Pole Zero)
- LPF Polynomial (Lowpass Filter, Polynomial)
- LPF RaisedCos (Lowpass Filter, Raised-Cosine)
- SAW Filter (Saw Filter)