- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a digital sample signal that I would like to filter into multiple frequency bands. I've been able to implement a passable result using the FIR filters, but am struggling a bit w/the IIR filters.
The approach I'm using is to get a block of the signal (length of block is a power of 2), perform a forward FFT, filter the block, saving the result in a file.
The IPP library provides methods to generate low-pass (ippsIIRGenLowpass) and high-pass (ippsIIRGenHighpass) filter coefficients (taps). I don't see a method for generating band-pass filter coefficients, however.
So, I've tried calling the filter method twice, first with the low-pass taps, setting the taps in the state buffer w/ippsIIRSetTaps, then passing the resulting vector to filter method again after setting the high-pass taps in the state buffer. The result is not satisfactory.
Any tips on how best to use the library would be most appreciated.
Thanks.
The approach I'm using is to get a block of the signal (length of block is a power of 2), perform a forward FFT, filter the block, saving the result in a file.
The IPP library provides methods to generate low-pass (ippsIIRGenLowpass) and high-pass (ippsIIRGenHighpass) filter coefficients (taps). I don't see a method for generating band-pass filter coefficients, however.
So, I've tried calling the filter method twice, first with the low-pass taps, setting the taps in the state buffer w/ippsIIRSetTaps, then passing the resulting vector to filter method again after setting the high-pass taps in the state buffer. The result is not satisfactory.
Any tips on how best to use the library would be most appreciated.
Thanks.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
there is comment from our expert:
IIR functions work algorithmically correct and produce the same result (as they use the same approach direct form 2 delay line) as MatLab. I can guess thatcustomer doesnt re-init delay line for the second stage of IIR filtering. Also he cant use the same coefficients for frequency domain (after FFT) as for the time-domain recommend to double check ifhe use the right approach.
Regards,
Vladimir
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page