Link to home
Start Free TrialLog in
Avatar of vijayshah
vijayshah

asked on

filter implementation algorithm

Looking for algorithmic approach and execution steps at C (Or Texas TMS320 SERIES DSP Processor ASSEMBLY LEVEL) FOR implementation of Digital Bandpass filter having stop band attenuation of >75db with sharp stop-pass-stop band transition (0-11.7 and  16.3 to 24Khz+ is stop band freq. and 12.35 to 15.7 Khz as pass band freq.)Note: One of the IEEE paper talks about 22nd order filter for similar requirements using bilinear z transformaton.
ASKER CERTIFIED SOLUTION
Avatar of mbormann
mbormann

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of gmortimer
gmortimer

If you're serious about this type of work you should get MATLAB together with the Signal Processing Toolbox.

A quick calculation using MATLAB has given me the coefficients for a 16th order elliptic filter with 0.1dB passband ripple (just over 1%) which meets your criteria.
but MATLAB uses some stuff called as mfiles or something
The m-files are written in MATLAB's own language. The language is interpreted (so the source is included), and is fairly easy to convert to C, either by hand or using the Real-Time Workshop toolbox available as an extension to MATLAB.

For the above application, however, is it necessary to re-calculate the filter coefficients on the fly, or just run the filter? The implementation of the filter itself is very simple - a matrix of second-order sections optimised for numerical robustness (this can be done automatically by MATLAB).