Xcell Journal Issue 78: Charge to Market with Xilinx 7 Series ...
Xcell Journal Issue 78: Charge to Market with Xilinx 7 Series ...
Xcell Journal Issue 78: Charge to Market with Xilinx 7 Series ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
XPLANATION: FPGA 101<br />
IMPLEMENTING DIFFERENT<br />
FILTER TOPOLOGIES<br />
No matter what the end type of filter—<br />
bandpass, band reject or high pass—<br />
all of these start out <strong>with</strong> the initial<br />
design of a low-pass filter. If you know<br />
how <strong>to</strong> create a low-pass filter and a<br />
high-pass filter, you can then use combinations<br />
of the two <strong>to</strong> produce bandreject<br />
and bandpass filters.<br />
Let’s first examine how <strong>to</strong> convert a<br />
low-pass filter in<strong>to</strong> a high-pass one.<br />
The simplest method, called spectral<br />
inversion, changes the s<strong>to</strong>pband in<strong>to</strong><br />
the passband and vice versa. You perform<br />
spectral inversion by inverting<br />
each of the samples while at the same<br />
time adding one <strong>to</strong> the center sample.<br />
The second method of converting <strong>to</strong> a<br />
high-pass filter is spectral reversal,<br />
which mirrors the frequency response;<br />
<strong>to</strong> perform this operation, simply<br />
invert every other coefficient.<br />
Having designed the low- and highpass<br />
filters, it’s easy <strong>to</strong> make combinations<br />
that you can use <strong>to</strong> generate<br />
bandpass and band-reject filters. To<br />
generate a band-reject filter, just place<br />
a high-pass and a low-pass filter in parallel<br />
<strong>with</strong> each other and sum <strong>to</strong>gether<br />
the outputs. You can assemble a bandpass<br />
filter, meanwhile, by placing a<br />
low-pass and a high-pass filter in<br />
series <strong>with</strong> each other.<br />
AND NOW FOR THE DESIGN<br />
The information we’ve reviewed so far<br />
details what windowed-sinc filters are,<br />
the importance of windowing and how<br />
<strong>to</strong> generate filters of different <strong>to</strong>pologies.<br />
However, before you can implement<br />
your filter <strong>with</strong>in an FPGA, you<br />
must generate a set of filter coefficients<br />
using one of several software<br />
<strong>to</strong>ols, such as Octave, MATLAB ® or<br />
even Excel. Many of these <strong>to</strong>ols provide<br />
simplified interfaces and options,<br />
allowing you <strong>to</strong> design the filter <strong>with</strong><br />
Figure 5 – <strong>Xilinx</strong> CORE Genera<strong>to</strong>r frequency responses: Top, truncated sinc (left) and Blackman window.<br />
Bot<strong>to</strong>m, Hamming window (left) and Hamming-windowed high-pass filter<br />
40 <strong>Xcell</strong> <strong>Journal</strong> First Quarter 2012