Page 1 of 19
Band-pass Filter with Adjustable Center
Frequency
ECE 4530 Project – Fall 2012
Team Members:
Serdar Benderli
Nebiyou Tulu
Abstract:
We present a band pass filter topology implemented using a novel transconductance cell (gmc).
Its center frequency is set to 5MHz, and can be adjusted to within %10. The adjustment is done
using a single control voltage fed into the gmc. We show that this gmc can be used in a simple
biquad structure to realize a second order transfer function that allows for all types of filters.
We then show that multiple biquads can be cascaded to realize higher order filters with greater
gain and Q. Finally, we demonstrate a constant Q, constant gain center frequency adjustment.
Page 2 of 19
Introduction
The design of monolithic analog filters presents many challenges. The requirements of a
particular filter may change once it is in the field, requiring different cut off frequencies or Q
factors. This is why it can be valuable to create filter designs whose properties can be adjusted.
Another challenge is that to design for particular cut off frequencies and Q factors requires that
certain variables, such as widths and lengths of transistors, be selected prior to manufacturing.
However, due to process variation, the final values can be quite different than the original
design [1]. Therefore, filters are designed with adjustable properties in order to offset the
effects of process variation.
There are numerous topologies allowing for the adjustment of important filter properties, such
as MEMS resonators, simple RC filters, switched-capacitor filters, spiral inductor-capacitor
tanks. In this project, we explore a specific type of topologies based on transconductance cells
(Gm cell). Gm cells can operate in a wide range of frequencies from hundreds of KHz up to more
than 100 MHz. Furthermore, they are well documented, and allow for their transconductance
to be adjusted easily using either current or voltage. [2] [3]
Design Approach
It all started with a list of deliverables. We were “given” a set of specs by the “customer”, which
we “agreed” to. With these specs in mind, we began the design process by digging through the
literature for the design of adjustable filters. Once we settled on Gm-C filters, we identified
potential topologies we wanted to try (could understand), as well as identifying biquad
topologies that yield band-pass properties. Our final topology was going to be filter biquads
implemented using Gm-C filters, cascaded to realize higher order filters.
The identification of Gm-C filters was done in a trial-error fashion, whereby we tried to
reproduce the results of the papers in Cadence. Once we could, to an acceptable degree,
reproduce the results of a paper, we moved on to try it in a biquad topology. This process
Biquad
Gm-C Gm-C Gm-C
Biquad
Gm-C Gm-C Gm-C
Biquad
Gm-C Gm-C Gm-C
Control Voltages
Page 3 of 19
continued until we came to a Gm-C – Biquad pair that actually worked, and proceeded to
optimize it.
The optimization process started with mathematical analysis of the optimal boundaries. We
used MATLAB to understand, given the transconductance range of our filter, what the center
frequency, the adjustable range, and the gain of our final filter would be. This was necessary to
see if the filter could meet the specs. Once the analysis was done, we went to Cadence with the
boundaries provided by the analytical results, and optimizing until we met our specs.
Theory & Analysis
A transconductance cell is a device, usually realized as an OTA, that converts voltage into
current.
Figure 1 - Gm-C Symbol and Ideal Representation Figure 2 - 2nd Order Biquad
The output is �� = ��(�� − �). The ideal GmC has infinite input impedance, and zero output
impedance, much like an ideal op-amp. It is important to note that it is possible to use GmC’s in
a multitude of ways to realize circuit elements (resistor, capacitor, inductor) and therefore, it is
possible to create RLC filters using Gm-C’s in this way. However, we opted for a different
approach of using them in feedback structures that realize certain transfer functions which
yield to band-pass properties. Although there are numerous options, one topology that was
simple and efficient is shown in figure 2, presented in [3].
There are two reasons why this biquad is particularly attractive. One is that it only uses five
elements (three GmC’s, 2 capacitors). The other is that the transfer function it gives can be used
to realize all types of filters.
The transfer function can be derived using KCL at all three output nodes, assuming an ideal
GmC. This analysis gives the following transfer function:
Page 4 of 19
�� = ������� + ������� + �������� ����� + ����� + ������
VA, VB, and VC represent the locations that the input can be applied to, and it can be seen that
depending on where we apply the input, the transfer function realizes a different filter type, as
summarized in the table below:
Input Circuit Type
Vin = VA, VB=VC=0 Adjustable Low-Pass
Vin = VB, VA=VC=0 Adjustable Band-Pass
Vin = VC, VA=VB=0 Adjustable High-Pass
Vin=VA=VC, VB=0 Adjustable Notch
Furthermore, we can extract the w0 and the Q from this transfer function as follows:
�� = ����������� � = (�����)����������
It can be seen that this topology allows for the adjusting of both the center frequency w0, and
the Q-factor. Furthermore, we can see that the Q factor can be adjusted independently of w0,
by changing gm3. We can also see that adjusting the center frequency via changing gm1 and
gm2 will invariably effect the Q-factor, and in order to get constant-Q response, we need to
simultaneously adjust gm3. We can also set these properties by changing the ratios of C1 and
C2, however, this can only be done during design, and we rely on adjusting the gm’s for correct
operation.
Using theoretical Gm values, we performed the following analyses on this transfer function in
MATLAB, as can be seen in figures 3 and 4.
Note that the analysis shows the possibility of realizing a Q greater than 6 using only a single
biquad, centered around 100MHz, with a gain of 13dB. Although the center frequency is very
different from our spec, we know that it depends entirely on the gm values, and that it is
possible to realize any center frequency by picking device sizes. The following plot shows how
we can adjust the center frequency by changing gm1 and gm2 (both are equal). We can see
that the center frequency is adjustable to within more than %10. At this point, we can conclude
that we can meet our center frequency spec, Q factor spec, and gain spec.
Page 5 of 19
Figure 3 - Bode Plot of 2nd Order Bandpass Filter Figure 4 - Adjusting Center Frequency
Circuit Designs
We settled on the following single-ended Gm-C, as described in [4]:
Figure 5 - Proposed Tunable Transconductance Amp Figure 6 - Basic Configuration
What made this topology very attractive was the fact that it worked. But, furthermore, it was
also quite easy to understand with our limited knowledge and capabilities. It can be seen that
this topology uses no external current sources, and it runs on the control voltage and the VDD
supplied to the differential amplifier. This means that it can be low-power, which will help us
meet our spec.
The operation is based on the following simple topology depicted in figure 6.
Page 6 of 19
In Fig6(a), M1 and M2 are kept in triode, and have very low W/L ratios (high lengths),
effectively making them big resistors. The current of each half can be shown to be:
��1 = � (�!" − �#$)�%" − �%"�2 '
��2 = � (�� − �#$)�%" − �%"�2 '
Therefore,
��3 = ��1 + ��2 = �(�!" − ��)�" − 2�#$)(�� − ��)�")
and,*� = +,��3,�!" -∆/012� ≈ �(�� − ��)�")
4ℎ676� = 89::��;4/2=
We can see that this circuit provides an almost linear relationship between Gm and Vc.
However, the dependence of Gm on Vbias, which in Fig6(b) is realized using a diode connected
transistor, creates nonlinearities due to the fact that the voltage across the diode connected
device will deviate from the expected voltage due to mobility reduction effects, or the
nonlinear characteristics of M3 in diode connection. To offset these nonlinearities, a differential
output is introduced in Fig 5, since the deviations in Vbias will be almost matched in the half
circuits.
In Fig 5, ��># = �%� − �%�� = *�∆�01. This is indeed the basic operation of a transconductance
cell. The output differential amp is added in order to create a greater output range set by Vdd,
rather than the control voltage Vc.
[4] shows that the control voltage can be varied between 0.8V to 1.2V, and result in Gm’s that
can change up to %50 from the base Gm achieved at 1V. We conclude via MATLAB analysis that
this range of Gm’s should be sufficient for us to meet our specs.
Page 7 of 19
Performance & Design Verification
The first thing to verify is whether the Gm-C acts as intended. Below is the linear Vc-Gm plot:
It is important to note here that the behavior of the transconductance cell is a bit different
within the biquad. The results suggest that the actual gms of the cells are approximately 21
times less. We find this by plugging in the Q-factors and center frequencies into the equations
for the biquad transfer function and solving for the gm’s. However, they are linearly less,
meaning both the high and and the low end less by the same ratio. As of now, we have not
been able to find out why this is true. In the appendix you can also find the transient
simulations that attempt to replicate those in [3]. We were getting much lower gm-s than those
in the paper. In order to get higher gm-s, we made our devices larger overall.
The circuit was able to meet all of the specs. The following table summarizes these specs
Name Desired Achieved
Power
Consumption
5mW 1.25mW
VDD 2.5V 1.8V
Active Area <3mm2 0.1 mm
2
f0 5MHz 5.05MHz
Q >6 29.68
Gain (dB) -6 < Gain < 23
23dB
-4 <Gain<1
1dB Tunable f0 Range ±500Khz ±500Khz
Out of these specs Q and the gain were the hardest to meet. In order to meet these two specs
the transistor sizes had to be increased and a sixth order filter had to be used. Increasing the
device sizes increased the transconductance of the gm-cell.
Vc (V) Gm (uA/V)
1 11.84
1.2 39.36
1.4 74.92
Page 8 of 19
In addition to meeting the specs the circuit was also able to allow the Q and the center
frequency to be tuned. The Q was tuned by changing the vc of the third gm-cell in each biquad.
A vc of 1 V gave the highest Q value which is 115.7 and as the vc was increased the Q value
decreased. The center frequency was tuned by varying the transconductance of gmc1 and gmc2
since the center frequency only depends on the transconductance of gmc1 and gmc2. The
transconductance of gmc3 does not affect the center frequency. The following image shows
three curves generated in cadance each with a different center frequency. The middle curve
has a center frequency of 5 MHz and the outer two curves have a center frequency that is
within the tunable range of ±500 Khz.
Figure 7 - Constant Q, Constant Gain Center Frequency Adjustment
A transient simulation was done in cadence in order to make sure that the filter was indeed a
band pass filter. The simulation was done by having a transient input which consisted of three
different frequencies. The three frequencies were 3 MHz, 5 MHz, and 7 MHz. Then after the
simulation finished running in cadence the output was checked to see if the amplitude of the
output at the 3 MHz and 7 MHz was low and if the amplitude at 5 MHz was still the same order
of magnitude. The following images are plots of the DFT of the input (left) and the output
(right).
Page 9 of 19
Figure 8 - Input to Bandpass Filter @ 3, 5, 7MHz and Output of Bandpass Filter
The images show that the filter behaves like a band pass filter. The amplitudes at 3 MHz and 7
MHz were severely diminished at the output while the amplitude at 5 MHz was only decreased
by a factor two which is still the same order of magnitude.
Layout
A layout for an individual gm-cell was made. The following picture shows the layout and
the table next to it summarizes the size of the transistors.
Then after a layout for the gm-cell was made, a layout was made for a biquad. Having already
done a layout for an individual gm-cell made doing the layout for a biquad much faster since
when launching Layout L the three gm-cells in the biquad were already laid out. The following
image shows the layout for an individual biquad.
Device W L
M1=M2=M1A=M2A 2.5u 20u
M3=M4=M3A=M4A 10u 1u
M5=M5A 5u 1u
M6=M9 30u 1u
M7=M8 50u 1u
M1 M2
M1A
M5
M3A M4A
M5A
M9
M7 M8
M3 M4
M2A
M6
Page 10 of 19
Once the layout for a biquad was complete the layout for a sixth order filter was very simple
since it is only three biquads. The layout for a biquad can be instanced three times in a new
layout file. Then the only thing left to do is making the proper connections so that the resulting
layout is a sixth order filter. The following image shows a layout for a sixth order filter.
The M1 and M2 layers were utilized in order to make all of the necessary connections. Using
two layers to make the connections required less area than what using only one layer would
have required.
Gmc1
Gmc2
Biquad 1 Biquad 2 Biquad 3
Gmc3
Page 11 of 19
Discussion
The most challenging aspect of this project was finding a Gm-C that actually worked once put
into biquad feedback topologies. Before we settled on the topology we used, we mindlessly
went through at least 10 different topologies that we did not fully understand. Once we could
replicate some of the results, we would go on to try it in a feedback, and see it fail, and not
really know what was wrong. Not having understood the topologies completely, it was very
frustrating and time consuming to debug. After many tries, we would give up, and try another
topology from another research paper.
In hindsight, we should have spent much more time on understanding the topologies before we
rushed into Cadence started trying to replicate results. Furthermore, we should have picked the
topology we understand the best before moving to other topologies, because the one we
selected would have been our first choice. We certainly underestimated the importance of the
analytical aspect, hoping that all Gm-C topologies magically and easily would provide us with
linear controllable gm. They didn’t.
In the end, we gained valuable insight into Gm cells and controllable filter design. We find it
fascinating that Gm cells can be used to create not only biquads, but also basic circuit elements
as well. In this way, they can indeed be used to create all sorts of circuits that can be adjusted
and manipulated, all through adjusting transconductance. There are many methods of tuning
circuits that are documented in the literature. [5] [6]
Taking a topology from a research paper, and using it to solve a problem was also satisfying in
its own right. Having made many mistakes throughout the design cycle, we can hope that we
will not repeat those mistakes again.
Page 12 of 19
Bibliography
[1] Y. C. Wing, "A 70MHz CMOS Gm-C Bandpass Filter with Automatic Tuning," The Hong Kong
University of Science and Technology, Hong Long, 1999.
[2] R. L. Giger and E. Sanchez-Sinencio, "Active Filter Design Using Operational
Transconductance Amplifiers: A Tutorial," IEEE Circuits and Devices Magazine, vol. 1, pp. 20-
32, 1985.
[3] S. E. Sinencio and S. J. Martinez, "CMOS Transconductance Amplifiers, architectures, and
active filters: a tutorial," Circuits, Devices and Systems, IEE Proceedings, vol. 147, no. 1, pp.
3-12, 2000.
[4] I.-S. Han, "A Novel Tunable Transconductance Amplifier Based on Voltage-Controlled
Resistance by MOS Transistors," IEEE Transactions on Circuits and Systems, vol. 53, no. 8, pp.
662 - 666, 2006.
[5] G. de Moraes, "Phase Locked Loop for automatic tuning of low-frequency Gm-C filters," in
2011 IEEE Second Latin American Symposium on Circuits and Systems (LASCAS),, Rio de
Janeiro, Brazil , 20122.
[6] J. M. Khoury, "Design of a 15-MHz CMOS Continuous-Time Filter with On-Chip Tuning," IEEE
Journal of Solid State Circuits, vol. 26, no. 12, pp. 1988 - 1997 , 1991.
Page 13 of 19
.
Appendix
Plots
Figure 9 - Plot showing the possibility of realizing all filter types
Page 14 of 19
Figure 10 - Plot showing the effects of changing C2/C1 in the Biquad
Figure 11 - Plot showing adjusting Q-factor via changing gm3 via control voltage
Page 15 of 19
Figure 12 - Plot showing Higher Order Filter Outputs (Cascading Biquads)
Figure 13 - Plot Showing 2nd Order Biquad Center Frequency Adjusting
Page 16 of 19
Figure 14 - Transient Simulation showing Input and Output to the Gm-C with Varying Control Voltage
Page 17 of 19
MATLAB Code clear all; s=tf('s'); %simulated values gm1 = 74.923e-6; gm2 = 74.923e-6; gm3 = 11.845e-6; %actual values are % gm1 = 3.46e-6; % gm2 = 3.46e-6; % gm3 = 0.5492e-6; gm1 = 3.46e-6; gm2 = 3.46e-6; gm3 = 0.55e-6; C1 = 100e-15; C2 = 100e-15; wo = (gm1*gm2/(C1*C2))^0.5 Q= ((C2/C1)^0.5) * ((gm1*gm2)^0.5 / gm3) va = 0; vb = 1; vc = 0; w = linspace(1e6,100e8,10000); sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); h=bodeplot(sys^3,w); setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); hold on; % % %other filters % va=1; % vb=0; % vc=0; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % % va=0; % vb=0; % vc=1; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % % va=0; % vb=0; % vc=1; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2);
Page 18 of 19
% h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % % va=1; % vb=0; % vc=1; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); va=0; vb=1; vc=0; %6th order % h=bodeplot(sys^2,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % h=bodeplot(sys^3,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); %bp1_qchange_c2 % C2=200e-15; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % C2=400e-15; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); %bp1_qchange_gm3 % gm3=1e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % gm3=2e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % gm3=3e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % gm3=3.46e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2);
Page 19 of 19
% h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); %bp1_w0change_gm1gm2 % gm1=2.68e-6; % gm2=2.68e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % gm1=1.9494e-6; % gm2=1.9494e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % gm1=1.2182e-6; % gm2=1.2182e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off'); % gm1=0.55e-6; % gm2=0.55e-6; % sys = (s^2*C1*C2*vc + s*C1*gm2*vb + gm1*gm2*va) / (s^2 * C1*C2 + s*gm3*C1 + gm1*gm2); % h=bodeplot(sys,w); % setoptions(h,'FreqUnits','Hz','PhaseVisible','off');