Сергей,
с моей точки зрения разработчик с Вегалаба выразился некорректно или слова вырваны из контекста. По крайней мере обе формулы - дискретного преобразования Фурье в комплексной форме.
FFT FIR, STR FIR - подобного не встречал. Не знаю что имеется ввиду. Ни в Matlab, ни в тех учебниках, которые я читал по цифровой обработке, разбираясь, подобного не встречал.
В конвольвере (части ПЛИС, например, или части ЦАП, в которой выполняется математическая операция свертки коэффициентов FIR фильтра с входящим сигналом) нет FFT и быть не может.
Конвольвер (convolution engine) - машина по выполнению операции Свертка (см Википедию для экономии времени).
Т.к. преобразование фурье от свертки двух функций (одна из которых входящий сигнал, вторая - коэффициенты FIR фильтра, числа ) = произведению преобразований фурье этих двух функций (спектра исходного сигнала и спектра фильтра), то можно нарисовать идеальный фильтр, который нам нужен и сделав обратное преобразование фурье получить коэффициенты FIR фильтра.
Они и будут использоваться в конвольвере. Как заранее вычисленные значения.
Любой FIR фильтр характеризуется спецификациями (для примера LPF):
- количество коэффициентов (чем больше, тем лучше другие показатели, но дольше считать).
- узостью переходной зоны, крутизной среза - как быстро AЧХ фильтра уменьшается до зоны подавления. Чем уже, тем больше коэффициентов нужно.
- пульсациями в зоне пропускания. Чем меньше - тем больше коэффициентов нужно.
- Уровнем подавления в зоне подавления - чем больше подавление, тем больше коэффициентов нужно.
Для dam1121 лучшие фильтры - ~ 1200 коэффициентов, 2 кГц зона перехода, пульсации 0,00000001dB, уровень подавления -168dB.
В моем Auralic Vega ~ 64 коэффициента, 5-6кГц, 0,01/0,001 dB, -100dB.
Разницу между фильтрами с такими спецификациями услышать очень непросто. У меня получалось только на отдельных композициях между некоторыми видами фильтров.
В Roon Convolution Engine могут быть использованы фильтры длины до 64000 (могу ошибиться раза в 2), например.
Более детально посмотрите здесь (это мои эксперименты с FIR фильтрами для ЦАП, два поста)
Когда вы говорите, что FIR фильтры “портят” звук - вы какие спецификации имеете ввиду?
Я совсем не утверждаю, что вы не слышите разницу. Речь о том, что разработчик вашего устройства не предполагал таких спецификаций или мог ошибся в чем то.
Проблемы могут быть вызваны и коррелированным шумом в результате цифровой обработки (это не имеет никакого отношения к FIR). Так, например, было в известном ЦАП Sygnalist DSC1. С этим явлением можно столкнуться уже по факту. Коррелированные искажения очень заметны.
Итог - я безусловно доверяю вашему опыту. И мне он интересен.
Просто в идеале мы не сводим все к “FIR портит, если не слышишь, то глухой или система не тянет” (я жестко утрирую, никого не имею ввиду, заранее прошу прощения, если задел кого нибудь) , а пытаемся конструктивно обсудить разные точки зрения и чужие успехи.
Мне, например, интересен именно такой подход.