|
БПФ и ОБПФ с перекрытием |
|
|
|
Jan 7 2013, 07:20
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 2-07-12
Пользователь №: 72 593

|
Здравствуйте! Необходимо делать БПФ с перекрытием (overlapping). В моем случае будет буфер длиной 512 выборок. БПФ будет длиной 256, перекрытие соответственно 50%. Т.е. на 512 сэмплов у меня будет 3 ДПФ - (1-256, 129-384, 256-512). Теперь собственно вопрос - как мне потом после трех ОБПФ склеить конец с началом каждого интервала? Я так понимаю, что нужно для каждого из трех интервалов сделать ОБПФ чтобы перейти в временную область. А после обпф мне необходимо просуммировать отсчеты? Т.е. допустим после первого ОБПФ я получил отсчеты для интервала 1-256, после второго - 129-384, третьего -256-512. Далее нужно просто просуммировать отсчеты ОБПФ (во временной области) в местах перекрытия? Нужно ли перемножать спектры в местах перекрытия а потом уже делать ОБПФ?
|
|
|
|
|
Jan 7 2013, 11:43
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 2-07-12
Пользователь №: 72 593

|
Спасибо за ответ. Сигнал конечно будет непрерывный. Еще возник вопрос- мне нужен результат бпф для определения и коррекции характеристик дисбаланса квадратурного сигнала. Так вот как при этом корректно использовать бпф, ведь половину входных отсчетов нужно обнулять, а мне нужна полная картина. И еще дает ли выигрыш применение окон для сглаживания стыков?
|
|
|
|
|
Jan 7 2013, 14:41
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 2-07-12
Пользователь №: 72 593

|
Пока ничего фильтровать не нужно. суть такова — мне нужно сделать бпф, набрать статистику, определить параметры дисбаланса и откорректировать бины бпф, затем сделать обпф и дальнейшую обработку проводить уже во временной области. Как дополнение нулями вляет на результат бпф? Если я делаю дополнение нулями, то как мне использовать результат бпф для расчета дисбаланса?
|
|
|
|
|
Jan 7 2013, 17:00
|
Знающий
   
Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730

|
Цитата petrov: 90% перекрытия с окном кайзера с beta=10, что по вычислительным затратам не самый оптимальный вариант. Хватит и 50%. Окно кайзера или kbd.
|
|
|
|
|
Jan 20 2013, 09:22
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 2-07-12
Пользователь №: 72 593

|
Применил алгоритм перекрытие с накоплением. Применяю алгоритм БПФ radix4, исходники из библиотеки CMSIS для STM32. Так вот при наложении окна (у меня БЛэкмэн-Наталл) на входной буфер, пи прослушивании возникают искажения. Если окно не использую - то все нормально звучит. Перекрытие 50%. После ОБПФ результат практически совпадает с входными значениями для расчета БПФ. Почему при наложении окана возникают искажения?
|
|
|
|
|
Jan 20 2013, 12:05
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 2-07-12
Пользователь №: 72 593

|
Попробовал окна Ханна и Хэмминга - искажения все-равно есть. С Хэммингом, правда меньше. Размер БПФ/ОБПФ - 256 точек.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|