Closed hagenw closed 8 years ago
I have added a return value also for the IIR filter I think it's best to return a delay of zero, instead of something like maximum group delay.
btw: The IIR case in wfs_preequalization
had some issues. It should hopefully work now.
As the new version of the delayline
is still under construction (see #50) I would prefer to add the delay_offset
return value to this function after the merge of the new delayline.
OK, I have created #64 in order to not forget it and will merge this pull request in the meantime.
This is a follow up on #59.
The main goal was fomulated by @fietew as:
In order to achieve this I did the following things:
prefilter_delay
return parameter towfs_preequalization()
, which returns the delay that is added by the applied pre-filter.delay_offset
return parameter todriving_function_imp_wfs()
. In the case ofconf.removedelay=1
it returnsprefilter_delay
. In the case ofconf.wfs.removedelay=0
it returnssecondary_source_diameter(conf)/c + prefilter_delay
sound_field_imp_wfs()
:Result That means if you use
sound_field_imp_wfs()
withconf.wfs.removedelay=1
you will have the first activity at the secondary sources fort = 0
. Withconf.wfs.removedelay=0
you will have the first activity of the virtual sources fort = 0
.Example
Open questions
delay = conf.wfs.hpreIIRorder/2 / fs;
I guess this is not correct, could you please correct it.