00001
00005 #include "bpm/bpm_dsp.h"
00006
00007 int filter_impulse_response( filter_t *f, doublewf_t *w, int itrig ) {
00008
00014 int i = 0;
00015
00016 if ( ! w || ! f ) {
00017 bpm_error( "Invalid pointers in filter_impulse_reponse(...)", __FILE__, __LINE__ );
00018 return 1;
00019 }
00020
00021
00022 for ( i = 0; i < f->ns; i++ ) w->wf[i] = ( i == itrig ? 1. : 0. );
00023
00024
00025 if ( apply_filter( f, w ) ) {
00026 bpm_error( "Unable to apply filter in filter_impulse_response(...)",
00027 __FILE__, __LINE__ );
00028 return 1;
00029 }
00030
00031 return 0;
00032 }