Neil's Digital Filter Page
Why this page?
Legal stuff
Tell me about digital filters
Shareware
Dos utilities
DLLs and demos for developers
Other interesting places...
Contact me
Home

NBFIR.DLL

Nbfir.dll is a helper program to assist you in any application requiring digital filtering of sampled signals. Currently, it only implements Finite Impulse Response filters (FIRs) - but it's undergoing continuous upgrading and I expect to include IIR filters soon.

You are encouraged to download and use these files. You should not distribute these files as part of your product. If you use them in your software, and they do what you want, you can purchase a registered version for distribution with your product. The two versions are functionally identical, but the unregistered version has extra error checking (to help find errors in development) and a splash screen (just to remind you…)

These routines have been tested with both Microsoft VC++4.2 and Microsoft Vbasic v5.0 As an example of the speed of the filters: A three hundred tap filter will process about forty thousand samples a second on a 266MHz Pentium 2 with a secondary cache. It scales in an almost linear manner with the number of taps and with processor speed.

The routines included in nbfir.dll:

    Initialisation and termination - always required

    • NbFirInit
    • NbFirClose

    Filter routines - mono or stereo signals, eight or sixteen bits

    • NbFirFilterMono16
    • NbFirFilterStereo16
    • NbFirFilterMono8
    • NbFirFilterStereo8

    Helper functions -

    • NbFirIdft - calculate a filter to give a desired response
    • NbFirHammingWindow - calculate a Hamming window to improve the response of your filter
    • bFirResponse - calculate the actual response of a given filter
    • FirNormaliseResponse - scales a filter response
    • NbFirParamTest - displays the parameters passed to it, for testing

For more details, check out the help file included in the download.

Also included in the download is a simple demonstration program, including all source code and workspace/build files for MS VC++4.2

Note that to compile the code, you'll need to change the /build/settings/link parameters so that the object library module nbfir.lib is correctly referenced. To execute the existing code, you'll need to move the dll either to the windows, or windows/system directory.