05.03.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!