Я работаю с DSP фильтр библиотекой http://www.linux-usb-daq.co.uk/howto2/filter/шаблона без аргументов типа константы ограничения фильтра библиотека
, который использует шаблон, не аргумент типа для инициализации объекта фильтра. Так создается и используется объект фильтра.
const int order = 3;
Iir::Butterworth::LowPass<order> f;
const float samplingrate = 1000; // Hz
const float cutoff_frequency = 50; // Hz
f.setup (order, samplingrate, cutoff_frequency);
f.reset();
FILE *fimpulse = fopen("lp.dat","wt");
// let's generate an input signal and filter it
// instantly!
for(int i=0;i<1000;i++)
{
float a=0;
if (i==10) a = 1; // delta pulse at t=10
float b = f.filter(a);
fprintf(fimpulse,"%f\n",b);
}
Теперь, если я хочу использовать эту библиотеку в моем коде для фильтрации БЕЙ для различных порядков фильтра, как 3,4,5 и т.д. Как мне действовать без необходимости переписывать весь код?
Поскольку порядок компиляции постоянного время
const int order = 3;
Iir::Butterworth::LowPass<order> f;
Есть ли хак, с помощью которого я могу написать этот код для разных порядков, не переписывая каждую вещь?
Спасибо,
Просто измените значение заказа – Marcel