Пытаюсь понять как делать циклическую свертку для секционированной фильтрации.
В примере https://ru.dsplib.org/content/conv/conv.html и в других источниках при объяснении используется КИХ фильтра только после нуля времени. А если КИХ получено из вычурной АЧХ при помощи IFFT и является вещественной, то КИХ симметричная относительно нуля по времени. Если сдвинуть весь ких в положительное время, то после FFT получим вместо вещественного - комплексный результат, т.е. в 4 раза больше умножений будет дальше.
Если все же использовать КИХ симметричную относительно нуля по времени, тогда куда дописывать недостающие нули по алгоритму секционированной фильтрации ?
например КИХ получилась типа такой
после IFFT
4 3 2 1 0 1 2 3
после перестановки выглядит как 1 2 3 4 3 2 1 0 и вот тут дописывая нули до необходимого размера под FFT - получится комплексный результат
если дополнять нулями исходное 4 3 2 1 0 1 2 3 - в центре т.е.
4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 1 2 3 - тогда результат будет вещественным. Но как тогда делать секционирование? Что отбрасывать?
КИХ секционированная фильтрация
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: КИХ секционированная фильтрация
Я немного не понял вопрос. Не могли бы вы привести вектор вещественной импульсной характеристики, взяв FFT которого мы получим вещественный спектр?
Re: КИХ секционированная фильтрация
Засомневался я сначала, но нет все верно. Такое может быть и КИХ и АЧХ чисто Real.Бахурин Сергей писал(а): ↑02 апр 2021, 13:28Я немного не понял вопрос. Не могли бы вы привести вектор вещественной импульсной характеристики, взяв FFT которого мы получим вещественный спектр?
На обоих графиках Im лежит на нуле. АЧХ требовалось типа |1/(1+2j*pi*f*T)| T=50us, и еще ФНЧ с полосой до 15-16кГц.
В архиве Re часть АЧХ с правой картинки.
- Вложения
-
- ReFIR152_50us.rar
- (1.4 КБ) 171 скачивание
Re: КИХ секционированная фильтрация
Экспериментально получилось, что число "испорченных" (обведены) отсчетов в начале и в конце равны его половине ( =128 ). Т.е. суммарно полной длине КИХ ( =256 ) Если в теории этот "испорченный" кусок в начале, то тут в начале половина и в конце...
На картинке полученный результат свертки через FFT над сигналом с растущей частотой cos с начальной фазой 0, чтобы секция начиналась с 1. Огибающая соответствует АЧХ фильтра.
На картинке полученный результат свертки через FFT над сигналом с растущей частотой cos с начальной фазой 0, чтобы секция начиналась с 1. Огибающая соответствует АЧХ фильтра.