Forums

Smith-Barnwell Filters using remez exchange

Started by Hima January 22, 2006
Hi 
   I need to design Smith-Barnwell filters for N=4,8,16,32,64  in Matlab.
I need to take these steps

(1)     design an equiripple half-band filter using the Remez exchange

(2)     make the filter frequency response positive-definite

(3)     spectral factorization

I am new to filter design , can anyone guide as to where do I start .
It would be great.


Where can I get remex exchange algorithm to understand and read...

Thankyou
Hima

 



Hima wrote:
> I need to design Smith-Barnwell filters for N=4,8,16,32,64 in Matlab.
[snip] You might consider posting in a MATLAB group to get more specific help than you've gotten here so far, but you should do a little more searching on your own first.
> Where can I get remex exchange algorithm to understand and read...
Try Google and search on the Mathworks site. Here's a link that I found that provides MATLAB source code for the algorithm: http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8094 Cheers! --M
"Hima" <himabindu81@gmail.com> wrote in message 
news:V9ydna-3xs4YuknenZ2dnUVZ_tadnZ2d@giganews.com...
> Hi > I need to design Smith-Barnwell filters for N=4,8,16,32,64 in Matlab. > I need to take these steps > > (1) design an equiripple half-band filter using the Remez exchange > > (2) make the filter frequency response positive-definite > > (3) spectral factorization > > I am new to filter design , can anyone guide as to where do I start . > It would be great. > > > Where can I get remex exchange algorithm to understand and read... >
fred harris at UCSD has a method for using the Parks-McClellan program directly to design a half-band filter. 1) Design a filter that is one-half the frequency response as follows: Passband 0.,.4 Stopband, 0.5,0.5 note the stopband is zero width - but that's OK. 2) Put zero-valued coefficients between each of the coefficients found. This doubles the sample rate of the existing filter so that the frequency response repeats twice (and, it happens to mirror image in sign). 3) Multiply the coefficients by 0.5 for scaling 4) Replace the center coefficient (zero) with 0.5. This shifts the frequency response upward by 0.5 so that it is all positive. I have the P-M program .exe posted at: ftp.mission-systems-inc.com/outgoing/Parks_McClellan/ParksMcClellan.exe And a half-band program specifically at: ftp://ftp.mission-systems-inc.com/outgoing/Halfband/ You might look up Hermann & Schussler's paper on the rest. Here's something you might try: Design the half-band filter. Once you get the design, note the stopband peak ripple value. Now, redesign the filter using the stopband peak ripple value for the stopband criterion instead of zero. Another method would be to add the stopband peak ripple value to the center coefficient - thus shifting the filter upward by that amount. This makes the negative stopband ripples peaks into double zeros and the entire filter frequency response is then positive ... and I don't know about the "definite" part.... Hermann & Schussler would then take the square root of the filter response - a type of factorization. There are many choices here including minimum phase, maximum phase, or a mixture that's somewhere in between depending on which zero pairs you choose and whether they are inside or outside the unit circle. Smith Barnwell may be different.... but these are some nice ideas for filter design. Fred