*версия V1.11 от 2.10.18 Применен соглассованный фильтр BPF. Оптимизирован код.
"Не прошло и пол года" с момента выхода последней версии. В принципе всё было хорошо, однако меня смущал спад показаний на высоких частотах по розовому шуму. В то же время свип индицировался ровно на всех частотах. В этой ситуации я разобрался буквально на днях. Оказывается, что применяемая модель Биквада имела ограничения на частоте Найквиста (Fn=Fs/2). Т.е. при приближение значения частоты полосы к частоте Найквиста, она получала ограничения справа и тем самым интегральное значение получалось ниже чем положено. Естественно максимальное ограничение получила полоса 20к. Что самое интересное, при повышение частоты дискретизации эффект ограничения полос пропадает. Собственно при Fs=192к, А Fn=96к и для полосы 20к ограничение наступает там где уже особо не влияет на результат.
Это конечно можно было решить использую алгоритм передискретизации, но тогда и без того жручий плагин отъедал бы ещё больше ресурсов.
Вопрос решился после того как мне попались на глаза разработки на
sensored, а именно
sensored фильтра которые не имеют ограничений на
sensored sensored. Вместе с тем применился оптимизированный механизм фильтрации. А так же перенос перевода детектированных значенией сигнала после фильтрации в дБ из секции
@Sample в секци@gfx позволило сократить нагрузку вычисления функции log10() в 1500 раз. Тем самым общее потребление ресурсов плагином упала приблезительно в 3.5 раза.
Версия тестовая, практически законченная.
Одним словом: Снижено потребление ресурсов в ~3.5 раза. Розовый шум показывает ровно на всех Fs