Фильтрация . Быстрая свертка

22
Фильтрация Фильтрация . . Быстрая свертка. Быстрая свертка. Занятие Занятие 3 3

Upload: oralee

Post on 10-Jan-2016

48 views

Category:

Documents


8 download

DESCRIPTION

Занятие 3. Фильтрация . Быстрая свертка. План. Фильтрация Основные понятия, виды фильтров Построение FIR- фильтров Быстрая свертка Свертка в частотной области Блочная свертка Применения фильтрации Эквалайзеры Реверберация Передискретизация (ресамплинг). Свертка и фильтрация. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Фильтрация . Быстрая свертка

ФильтрацияФильтрация..Быстрая свертка.Быстрая свертка.

Занятие Занятие 33

Page 2: Фильтрация . Быстрая свертка

ПланПлан

ФильтрацияФильтрация– Основные понятия, виды фильтровОсновные понятия, виды фильтров– Построение Построение FIR-FIR-фильтровфильтров

Быстрая сверткаБыстрая свертка– Свертка в частотной областиСвертка в частотной области– Блочная сверткаБлочная свертка

Применения фильтрацииПрименения фильтрации– ЭквалайзерыЭквалайзеры– РеверберацияРеверберация– Передискретизация (ресамплинг)Передискретизация (ресамплинг)

Page 3: Фильтрация . Быстрая свертка

Свертка и фильтрация Свертка и фильтрация

Основные терминыОсновные термины– Свертка Свертка ((convolution)convolution), фильтрация, фильтрация (filtering)(filtering)

– ФильтрФильтр (filter)(filter), ядро фильтра, ядро фильтра (kernel)(kernel)

– Импульсная, частотная и фазовая характеристикиИмпульсная, частотная и фазовая характеристики (impulse, frequency, phase response)(impulse, frequency, phase response)

Применения фильтрацииПрименения фильтрации– Анти-алиасинг изображений, нахождение границАнти-алиасинг изображений, нахождение границ– Звуковой эквалайзерЗвуковой эквалайзер– Моделирование реверберации помещенияМоделирование реверберации помещения

][][][ nxnhny

k

khknxny ][][][

Page 4: Фильтрация . Быстрая свертка

Быстрая сверткаБыстрая свертка

Прямое вычисление: Прямое вычисление: M·N M·N умножений (умножений (M – M – размер ядра размер ядра свертки, свертки, N – N – длина сигнала)длина сигнала)

Теорема свертки: свертка во временной области Теорема свертки: свертка во временной области эквивалентна умножению в частотной области, эквивалентна умножению в частотной области, умножение во временной области эквивалентно умножение во временной области эквивалентно свертке в частотной области.свертке в частотной области.

Алгоритм быстрой свертки:Алгоритм быстрой свертки:1.1. Вычислить спектры сигнала и ядра сверткиВычислить спектры сигнала и ядра свертки (FFT) (FFT)

2.2. Перемножить эти спектрыПеремножить эти спектры

3.3. Вернуть полученный спектр во временную область Вернуть полученный спектр во временную область ((IFFT)IFFT)

Почему это быстрее?Почему это быстрее? Потому что переход в частотную Потому что переход в частотную область и обратно быстрый: область и обратно быстрый: FFTFFT

Page 5: Фильтрация . Быстрая свертка

Быстрая сверткаБыстрая свертка

Как изменяется длина сигнала при свертке? Она Как изменяется длина сигнала при свертке? Она увеличивается на длину ядра минус 1 увеличивается на длину ядра минус 1 (т.к. каждый (т.к. каждый входной отсчет превращается в ядро и они складываются с входной отсчет превращается в ядро и они складываются с наложением)наложением)

Значит, если взять сигнал длины Значит, если взять сигнал длины N, N, ядро длины ядро длины M M и и произвести свертку через произвести свертку через FFT FFT размера размера N, N, то результат то результат свертки свертки (длины (длины N+M-1)N+M-1) не поместитсяне поместится в результате в результате IFFT IFFT ((длины длины N)N). . Произойдет Произойдет круговая сверткакруговая свертка (заворачивание (заворачивание

результата по времени)результата по времени)..

Следовательно, для предотвращения круговой Следовательно, для предотвращения круговой свертки надо взять размер свертки надо взять размер FFT FFT как минимум как минимум N+M-1N+M-1

Page 6: Фильтрация . Быстрая свертка

Частотная Частотная характеристикахарактеристика

Получение частотной характеристики по Получение частотной характеристики по ядруядру1.1. Дополнение нулямиДополнение нулями

2.2. FFTFFT

3.3. Берем модули комплексных коэффициентовБерем модули комплексных коэффициентов

Свертка = перемножение частотных Свертка = перемножение частотных характеристикхарактеристик

* =Перемножение амплитуд = сложение децибелов

Page 7: Фильтрация . Быстрая свертка

Виды фильтровВиды фильтров

Идеальные и реальные фильтры, виды Идеальные и реальные фильтры, виды искаженийискажений

FIRFIR ((finite impulse response)finite impulse response) и и IIR IIR (infinite i. r.)(infinite i. r.) фильтрыфильтры Линейность фазыЛинейность фазы

Page 8: Фильтрация . Быстрая свертка

Построение фильтровПостроение фильтров

Метод оконного взвешиванияМетод оконного взвешивания– Построение фильтра с линейной фазой по Построение фильтра с линейной фазой по

произвольной заданной частотной произвольной заданной частотной характеристикехарактеристике

– Частотная характеристика приближается с Частотная характеристика приближается с любым заданным уровнем точностилюбым заданным уровнем точности

Более сложные методыБолее сложные методы– Чуть меньшее число точек ядра при соблюдении Чуть меньшее число точек ядра при соблюдении

той же частотной характеристикитой же частотной характеристики– Специальные требования Специальные требования (к фазовой характеристике, к (к фазовой характеристике, к

монотонности частотной характеристики и т.п.)монотонности частотной характеристики и т.п.)

Page 9: Фильтрация . Быстрая свертка

Построение фильтровПостроение фильтров

Метод оконного взвешивания Метод оконного взвешивания (идея метода – взять (идея метода – взять обратное обратное FFT FFT от требуемой АЧХ)от требуемой АЧХ)

1.1. Дана требуемая АЧХ (частотная характеристика)Дана требуемая АЧХ (частотная характеристика)2.2. Произвольно выбираем размер Произвольно выбираем размер FFT N FFT N и берем и берем

амплитуды коэффициентов Фурье по АЧХ амплитуды коэффициентов Фурье по АЧХ ((N/2+1 N/2+1 точка)точка)

3.3. Записываем нули в фазы и делаем Записываем нули в фазы и делаем IFFTIFFT

4.4. Циклический сдвиг ядраЦиклический сдвиг ядра

5.5. Применение весового окнаПрименение весового окна6.6. Контроль реальной полученной АЧХ Контроль реальной полученной АЧХ (см. получение (см. получение

АЧХ по ядру фильтра)АЧХ по ядру фильтра)

7.7. Если АЧХ недостаточно соответствует Если АЧХ недостаточно соответствует требованиям – увеличиваем размер требованиям – увеличиваем размер FFT FFT и снова и снова конструируем фильтрконструируем фильтрПодробности – см. в методичке

Page 10: Фильтрация . Быстрая свертка

Весовые окнаВесовые окна

Прямоугольное (нет окна) Hamming

Blackman Kaiser

Формулы и картинки: http://en.wikipedia.org/wiki/Window_Function

Page 11: Фильтрация . Быстрая свертка

Вычисление сверткиВычисление свертки

Быстрая сверткаБыстрая свертка через через FFTFFT– Уже описана ранееУже описана ранее– Неоптимальна по скорости, когда длины сигнала Неоптимальна по скорости, когда длины сигнала

и ядра сильно различаютсяи ядра сильно различаются– Неприменима при потоковой обработке Неприменима при потоковой обработке (когда (когда

входной сигнал поступает в реальном времени и его длина входной сигнал поступает в реальном времени и его длина неизвестна)неизвестна)

Секционная сверткаСекционная свертка– Используем свойство линейности и Используем свойство линейности и

инвариантности к сдвигу: разбиваем сигнал на инвариантности к сдвигу: разбиваем сигнал на блоки и делаем быструю свертку блочноблоки и делаем быструю свертку блочно

– Увеличение длины каждого блока на Увеличение длины каждого блока на M-1 M-1 → → сложение результатов с перекрытием сложение результатов с перекрытием (метод (метод OLA: OLA: overlap-add)overlap-add)Подробности – см. в методичке

))(())(( nhFFTnxFFTIFFT

Page 12: Фильтрация . Быстрая свертка

Блочная свертка Блочная свертка

Проблема секционной свертки: сигнал надо Проблема секционной свертки: сигнал надо накапливать блоками, сравнимыми по накапливать блоками, сравнимыми по размеру с длиной ядра свертки размеру с длиной ядра свертки (иначе – (иначе –

неэффективно) неэффективно) → задержки при → задержки при real-timereal-time Partitioned convolutionPartitioned convolution (свертка с разбиением ядра)(свертка с разбиением ядра)

– Цель – уменьшение задержкиЦель – уменьшение задержки– Недостаток – некоторое увеличение времени Недостаток – некоторое увеличение времени

обработкиобработки )(...)(...)()()( 1 nhnxnxnhnx m Секционная свертка:

)(...)(...)(...)()()( 11 nhnhnxnxnhnx km Разбиение ядра:

(раскрываем скобки)

Page 13: Фильтрация . Быстрая свертка

Эквалайзеры Эквалайзеры

Эквалайзер – устройство коррекции тембра Эквалайзер – устройство коррекции тембра сигнала, изменяющее амплитуды его сигнала, изменяющее амплитуды его частотных составляющихчастотных составляющих

Изначально применялись для выравнивания Изначально применялись для выравнивания АЧХ неидеального звукового трактаАЧХ неидеального звукового тракта

Вскоре стали использоваться и творчески, Вскоре стали использоваться и творчески, для создания нужных тембров или для создания нужных тембров или аккуратного совмещения инструментов в аккуратного совмещения инструментов в фонограммефонограмме

Page 14: Фильтрация . Быстрая свертка

АЧХ АЧХ

Амплитудно-частотная характеристика Амплитудно-частотная характеристика ((frequency response)frequency response)

Добротность (Добротность (Q) Q) определяет ширину полосы определяет ширину полосы воздействиявоздействия

Page 15: Фильтрация . Быстрая свертка

Виды эквалайзеров Виды эквалайзеров

По управлению АЧХ:По управлению АЧХ:– ПараметрическиеПараметрические: можно выбирать одну из : можно выбирать одну из

имеющихся форм АЧХ и задавать ее параметры: имеющихся форм АЧХ и задавать ее параметры: центральную частоту, коэффициент усиления и центральную частоту, коэффициент усиления и добротностьдобротность

– ГрафическиеГрафические: пользователь «рисует» требуемую : пользователь «рисует» требуемую АЧХ непосредственно на дисплее или с помощью АЧХ непосредственно на дисплее или с помощью набора регуляторов усиления на различных набора регуляторов усиления на различных частотахчастотах

– ПараграфическиеПараграфические: гибрид предыдущих: гибрид предыдущих По принципу действия:По принципу действия:

– АналоговыеАналоговые: состоят из конденсаторов, катушек : состоят из конденсаторов, катушек индуктивности, операционных усилителейиндуктивности, операционных усилителей

– ЦифровыеЦифровые: используют : используют FIR FIR или или IIR IIR фильтрыфильтры

Page 16: Фильтрация . Быстрая свертка

ФЧХ и ГВЗ ФЧХ и ГВЗ

Фазово-частотная характеристика Фазово-частотная характеристика ((phase phase response)response)

– Изменение фазы в зависимости от частотыИзменение фазы в зависимости от частоты Групповое время задержки Групповое время задержки ((group delay)group delay)

– Задержка различных частотных составляющихЗадержка различных частотных составляющих

АЧХ ФЧХ ГВЗ

Page 17: Фильтрация . Быстрая свертка

Импульсная Импульсная характеристикахарактеристика

Конечная (Конечная (FIR)FIR)– Легко достичь линейной ФЧХЛегко достичь линейной ФЧХ

БесконечнаяБесконечная (IIR) (IIR)– Нелинейная ФЧХНелинейная ФЧХ

Звон фильтровЗвон фильтров

MkM

kkii hxy

Nk

kikNk

kiki yaxby10

Линейная ФЧХ Нелинейная ФЧХ

Page 18: Фильтрация . Быстрая свертка

Измерение Измерение реверберацииреверберации

Импульсный отклик помещенияИмпульсный отклик помещения Реверберация: прямой звук, ранние и Реверберация: прямой звук, ранние и

поздние отраженияпоздние отражения

Page 19: Фильтрация . Быстрая свертка

Измерение Измерение реверберацииреверберации

Способы измерения импульсного отклика:Способы измерения импульсного отклика:►Единичный импульс Единичный импульс (плохое соотношение (плохое соотношение

сигналсигнал//шум)шум)

►Звук стартового пистолета Звук стартового пистолета / / лопающегося лопающегося воздушного шарика воздушного шарика (неровный спектр, маленькая (неровный спектр, маленькая энергия на НЧ)энергия на НЧ)

Шум измеряемого залаИспользуются материалы Дэвида Гризингера (Lexicon)

Стартовый пистолет

Page 20: Фильтрация . Быстрая свертка

Измерение Измерение реверберацииреверберации

Способы измерения импульсного отклика:Способы измерения импульсного отклика:►Белый шум, Белый шум, MLS-MLS-последовательности последовательности

(чувствительны к нелинейным искажениям)(чувствительны к нелинейным искажениям)

►«Плавающий синус» («Плавающий синус» (swept sine)swept sine)

ДеконволюцияДеконволюция

Плавающий синус

Page 21: Фильтрация . Быстрая свертка

РеверберацияРеверберация

Что почитать:Что почитать:►Дэвид Гризингер: Дэвид Гризингер: http://world.std.com/~griesngr/http://world.std.com/~griesngr/

►Ирина Алдошина: Ирина Алдошина: http://www.625-net.ru/archive/z0803/aldo.htmhttp://www.625-net.ru/archive/z0803/aldo.htm

Page 22: Фильтрация . Быстрая свертка

Ресамплинг Ресамплинг

1.1. Интерполяция нулями → спектральные Интерполяция нулями → спектральные копиикопии

2.2. Фильтрация Фильтрация (предотвращаем наложение спектров на шаге (предотвращаем наложение спектров на шаге 3)3)

3.3. ПрореживаниеПрореживание

↑2