Спектральный анализ Быстрая свертка Фильтрация Лектор: Лукин Алексей Сергеевич
План Спектральный анализ Спектральный анализ Мощность сигнала, теорема Парсеваля Мощность сигнала, теорема Парсеваля Спектрограммы, усреднение во времени Спектрограммы, усреднение во времени Частотно-временное разрешение Частотно-временное разрешение Быстрая свертка Быстрая свертка Свертка в частотной области Свертка в частотной области Разбиение ядра Разбиение ядра Фильтрация Фильтрация Основные понятия Основные понятия Фильтры для изображений, их частотные характеристики Фильтры для изображений, их частотные характеристики Применения: эквалайзеры, реверберация Применения: эквалайзеры, реверберация
Мощность и амплитуда Мощность пропорциональна Мощность пропорциональна квадрату амплитуды RMS (среднеквадратичное RMS (среднеквадратичное зачение) сигнала: Окна при вычислении RMS Окна при вычислении RMS Вычисление RMS в реальном времени: Вычисление RMS в реальном времени: (пропорционально амплитуде) (экспоненциальное окно)
Теорема Парсеваля Энергия сигнала равна энергии спектра Энергия сигнала равна энергии спектра (возможно, с точностью до множителя, зависящего от нормализации в формулах преобразования Фурье) Применение теоремы для оценки энергии различных частотных составляющих сигнала Применение теоремы для оценки энергии различных частотных составляющих сигнала Пример: Пример: вычисление THD вычисление THD (total harmonic distortion) (total harmonic distortion)
Спектральный анализ Как вычислить и отобразить спектр сигнала? Как вычислить и отобразить спектр сигнала? 1.Взять нужный отрезок сигнала длины 2 m ; если нужный отрезок короче – дополнить его нулями. 2.Если нужно – умножить сигнал на весовое окно, плавно спадающее к краям. Обычно это улучшает свойства спектра. 3.Вычислить FFT. 4.Перевести комплексные коэффициенты в полярную форму: получить амплитуды. 5.Отобразить график зависимости амплитуды от частоты. Примеры весовых окон
Свойства ДПФ Линейность Линейность Комплексное ДПФ от вещественного сигнала обладает симметрией относительно коэффициента k = N/2. Таким образом, только половина коэффициентов являются значимыми. Комплексное ДПФ от вещественного сигнала обладает симметрией относительно коэффициента k = N/2. Таким образом, только половина коэффициентов являются значимыми. Периодическое продолжение сигнала Периодическое продолжение сигнала Циклический сдвиг отсчётов сигнала не изменяет амплитудного спектра, а меняет только фазовый Циклический сдвиг отсчётов сигнала не изменяет амплитудного спектра, а меняет только фазовый
Размытие спектра Как выглядит спектр синусоиды, если её частота совпадает/не совпадает с базисными частотами ДПФ? Как выглядит спектр синусоиды, если её частота совпадает/не совпадает с базисными частотами ДПФ? нет окна (прямоугольное окно)
Весовые окна Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка окно Хэмминга (Hamming)
Весовые окна Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка окно Хана (Hann)
Весовые окна Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка окно Блэкмана (Blackman)
Весовые окна Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка Весовые окна уменьшают эффект размытия спектра, подавляя боковые лепестки за счёт расширения главного лепестка окно Кайзера (Kaiser), β = 15
Весовые окна Прямоугольное (нет окна)Hamming BlackmanKaiser Формулы и картинки:
Спектральный анализ Отображение спектра звука: спектрограмма Отображение спектра звука: спектрограмма Спектрограмма – график зависимости амплитуды от частоты Спектрограмма – график зависимости амплитуды от частоты Низкие частоты – слева, высокие – справа Низкие частоты – слева, высокие – справа Часто применяется логарифмический масштаб частот и амплитуд: log-log-спектрограмма Часто применяется логарифмический масштаб частот и амплитуд: log-log-спектрограмма Временное и частотное разрешение спектрограммы Временное и частотное разрешение спектрограммы Децибелы: A 1 – амплитуда измеряемого сигнала, A 0 – амплитуда сигнала, принятого за начало отсчета (0 дБ) Разница на 6 дБ – разница по амплитуде в 2 раза, разница на 12 дБ – разница по амплитуде в 4 раза. Часто за 0 дБ принимается либо самый тихий слышимый звук, либо самый мощный звук, который может воспроизвести аудиоустройство.
Спектральный анализ Примеры звуков и их спектров Примеры звуков и их спектров Песня (стерео запись) Нота на гитаре
Спектральный анализ Отображение спектра звука: спектрограмма (сонограмма) Отображение спектра звука: спектрограмма (сонограмма) Спектрограмма – график зависимости амплитуды от частоты и от времени, показывает изменение спектра во времени Спектрограмма – график зависимости амплитуды от частоты и от времени, показывает изменение спектра во времени Short Time Fourier Transform (STFT) Short Time Fourier Transform (STFT)
Спектральный анализ Отображение спектра звука: спектрограмма (сонограмма) Отображение спектра звука: спектрограмма (сонограмма) Спектрограмма – график зависимости амплитуды от частоты и от времени, показывает изменение спектра во времени Спектрограмма – график зависимости амплитуды от частоты и от времени, показывает изменение спектра во времени Низкие частоты – снизу, высокие – сверху Низкие частоты – снизу, высокие – сверху Время идет справа налево Время идет справа налево Амплитуда – яркость или цвет Амплитуда – яркость или цвет Частотное и временное разрешение Частотное и временное разрешение Short Time Fourier Transform (STFT) Short Time Fourier Transform (STFT) СпектрограммаОсциллограмма (форма волны)
Спектральный анализ Примеры звуков и их спектрограмм Примеры звуков и их спектрограмм Нота на гитаре
Спектральный анализ Спектрограммы шума Спектрограммы шума Типы шумов: белый (постоянная PSD), розовый (3 дБ/окт.), коричневый (6 дБ/окт.) Типы шумов: белый (постоянная PSD), розовый (3 дБ/окт.), коричневый (6 дБ/окт.) Вариация и усреднение спектрограмм Вариация и усреднение спектрограмм
Построение спектрограмм Мел-шкала частот Мел-шкала частот Недостаточное частотное разрешение на НЧ, недостаточное временное разрешение на ВЧ Недостаточное частотное разрешение на НЧ, недостаточное временное разрешение на ВЧ Обычная спектрограмма, окно 512 точек Обычная спектрограмма, окно 4096 точек
Построение спектрограмм Адаптивное частотно-временное разрешение спектрограмм Адаптивное частотно-временное разрешение спектрограмм Критерий оптимальности: максимально компактная локализация энергии (минимальное размытие спектрограммы) Критерий оптимальности: максимально компактная локализация энергии (минимальное размытие спектрограммы) Адаптивная спектрограмма, разрешение зависит от частоты Адаптивная спектрограмма, оптимальное разрешение
Построение спектрограмм Критерий оптимальности: максимальное компактирование (локализация) энергии Критерий оптимальности: максимальное компактирование (локализация) энергии 6 ms12 ms24 ms48 ms96 ms лучшее разрешение a i,r r Здесь a i,r – амплитуды STFT в блоке разрешения r, r S r – мера размытости спектра для данного разрешения r, r 0 r 0 – лучшее разрешение, для которого размытость минимальна.
Свертка и фильтрация Основные термины Основные термины Свертка (convolution), фильтрация (filtering) Свертка (convolution), фильтрация (filtering) Фильтр (filter), ядро фильтра (kernel) Фильтр (filter), ядро фильтра (kernel) Импульсная, частотная и фазовая характеристики (impulse, frequency, phase response) Импульсная, частотная и фазовая характеристики (impulse, frequency, phase response) Применения фильтрации Применения фильтрации Анти-алиасинг изображений, нахождение границ Анти-алиасинг изображений, нахождение границ Звуковой эквалайзер Звуковой эквалайзер Моделирование реверберации помещения Моделирование реверберации помещения
Быстрая свертка Прямое вычисление: M·N умножений (M – размер ядра свертки, N – длина сигнала) Прямое вычисление: M·N умножений (M – размер ядра свертки, N – длина сигнала) Теорема свертки: свертка * во временной области эквивалентна умножению в частотной области, умножение во временной области эквивалентно свертке * в частотной области. Теорема свертки: свертка * во временной области эквивалентна умножению в частотной области, умножение во временной области эквивалентно свертке * в частотной области. Алгоритм быстрой свертки: Алгоритм быстрой свертки: 1.Вычислить спектры сигнала и ядра свертки (FFT) 2.Перемножить эти спектры 3.Вернуть полученный спектр во временную область (IFFT) Почему это быстрее? Потому что переход в частотную область и обратно быстрый: FFT Почему это быстрее? Потому что переход в частотную область и обратно быстрый: FFT * Речь идет о т.н. круговой свертке
Быстрая свертка Как изменяется длина сигнала при свертке? Она увеличивается на длину ядра минус 1 (т.к. каждый входной отсчет превращается в ядро и они складываются с наложением) Как изменяется длина сигнала при свертке? Она увеличивается на длину ядра минус 1 (т.к. каждый входной отсчет превращается в ядро и они складываются с наложением) Значит, если взять сигнал длины N, ядро длины M и произвести свертку через FFT размера N, то результат свертки (длины N+M-1) не поместится в результате IFFT (длины N). Произойдет круговая свертка (заворачивание результата по времени). Значит, если взять сигнал длины N, ядро длины M и произвести свертку через FFT размера N, то результат свертки (длины N+M-1) не поместится в результате IFFT (длины N). Произойдет круговая свертка (заворачивание результата по времени). Следовательно, для предотвращения круговой свертки надо взять размер FFT как минимум N+M-1 Следовательно, для предотвращения круговой свертки надо взять размер FFT как минимум N+M-1
Вычисление свертки Быстрая свертка через FFT Быстрая свертка через FFT Неоптимальна по скорости, когда длины сигнала и ядра сильно различаются Неоптимальна по скорости, когда длины сигнала и ядра сильно различаются Неприменима при потоковой обработке (когда входной сигнал поступает в реальном времени и его длина неизвестна) Неприменима при потоковой обработке (когда входной сигнал поступает в реальном времени и его длина неизвестна) Секционная свертка Секционная свертка Используем свойство линейности и инвариантности к сдвигу: разбиваем сигнал на блоки и делаем быструю свертку блочно Используем свойство линейности и инвариантности к сдвигу: разбиваем сигнал на блоки и делаем быструю свертку блочно Увеличение длины каждого блока на M-1 сложение результатов с перекрытием (метод OLA: overlap-add) Увеличение длины каждого блока на M-1 сложение результатов с перекрытием (метод OLA: overlap-add) Подробности – см. в методичке
Разбиение ядра Проблема секционной свертки: сигнал надо накапливать блоками, сравнимыми по размеру с длиной ядра свертки (иначе – неэффективно) задержки при real-time Проблема секционной свертки: сигнал надо накапливать блоками, сравнимыми по размеру с длиной ядра свертки (иначе – неэффективно) задержки при real-time Partitioned convolution (свертка с разбиением ядра) Partitioned convolution (свертка с разбиением ядра) Цель – уменьшение задержки Цель – уменьшение задержки Недостаток – некоторое увеличение времени обработки Недостаток – некоторое увеличение времени обработки Секционная свертка: Разбиение ядра: (раскрываем скобки)
Частотная характеристика Получение частотной характеристики по ядру Получение частотной характеристики по ядру 1.Дополнение нулями 2.FFT 3.Берем модули комплексных коэффициентов Свертка = перемножение частотных характеристик Свертка = перемножение частотных характеристик * = Перемножение амплитуд = сложение децибелов
Виды фильтров Идеальные и реальные фильтры, виды искажений Идеальные и реальные фильтры, виды искажений FIR (finite impulse response) и IIR (infinite i. r.) фильтры FIR (finite impulse response) и IIR (infinite i. r.) фильтры Линейность ФЧХ («линейность фазы») Линейность ФЧХ («линейность фазы»)
Построение фильтров Простейший НЧ-фильтр – windowed sinc Простейший НЧ-фильтр – windowed sinc Метод спектральной инверсии * Метод спектральной инверсии * Вычитание фильтра из единичного импульса – вычитает его АЧХ из единичной Вычитание фильтра из единичного импульса – вычитает его АЧХ из единичной Инверсия каждого второго отсчета в фильтре – разворачивает АЧХ фильтра по частоте Инверсия каждого второго отсчета в фильтре – разворачивает АЧХ фильтра по частоте * Применим для фильтров с линейной ФЧХ
Построение фильтров Метод весового окна Метод весового окна Построение фильтра с линейной фазой по произвольной заданной частотной характеристике Построение фильтра с линейной фазой по произвольной заданной частотной характеристике Частотная характеристика приближается с любым заданным уровнем точности Частотная характеристика приближается с любым заданным уровнем точности Более сложные методы Более сложные методы Чуть меньшее число точек ядра при соблюдении той же частотной характеристики Чуть меньшее число точек ядра при соблюдении той же частотной характеристики Специальные требования (к фазовой характеристике, к монотонности частотной характеристики и т.п.) Специальные требования (к фазовой характеристике, к монотонности частотной характеристики и т.п.)
Построение фильтров Метод весового окна (идея метода – взять обратное FFT от требуемой АЧХ) Метод весового окна (идея метода – взять обратное FFT от требуемой АЧХ) 1.Дана требуемая АЧХ (частотная характеристика) 2.Произвольно выбираем размер FFT N и берем амплитуды коэффициентов Фурье по АЧХ (N/2+1 точка) 3.Записываем нули в фазы и делаем IFFT 4.Циклический сдвиг ядра 5.Применение весового окна 6.Контроль реальной полученной АЧХ (см. получение АЧХ по ядру фильтра) 7.Если АЧХ недостаточно соответствует требованиям – увеличиваем размер FFT и снова конструируем фильтр Подробности – см. в методичке
Единичный импульс Единичный импульс Простейшее размытие Простейшее размытие Двумерные фильтры
Константное размытие 3х3 Константное размытие 3х3 Константное размытие 5х5 Константное размытие 5х5 Двумерные фильтры
Повышение четкости Повышение четкости Выделение границ Выделение границ Двумерные фильтры
Тиснение Тиснение Пример спектра изображения Пример спектра изображения Двумерные фильтры
Эквалайзеры Эквалайзер – устройство коррекции тембра сигнала, изменяющее амплитуды его частотных составляющих Эквалайзер – устройство коррекции тембра сигнала, изменяющее амплитуды его частотных составляющих Изначально применялись для выравнивания АЧХ неидеального звукового тракта Изначально применялись для выравнивания АЧХ неидеального звукового тракта Вскоре стали использоваться и творчески, для создания нужных тембров или аккуратного совмещения инструментов в фонограмме Вскоре стали использоваться и творчески, для создания нужных тембров или аккуратного совмещения инструментов в фонограмме
АЧХ Амплитудно-частотная характеристика (frequency response) Амплитудно-частотная характеристика (frequency response) Добротность (Q) определяет ширину полосы воздействия Добротность (Q) определяет ширину полосы воздействия
Виды эквалайзеров По управлению АЧХ: По управлению АЧХ: Параметрические: можно выбирать одну из имеющихся форм АЧХ и задавать ее параметры: центральную частоту, коэффициент усиления и добротность Параметрические: можно выбирать одну из имеющихся форм АЧХ и задавать ее параметры: центральную частоту, коэффициент усиления и добротность Графические: пользователь «рисует» требуемую АЧХ непосредственно на дисплее или с помощью набора регуляторов усиления на различных частотах Графические: пользователь «рисует» требуемую АЧХ непосредственно на дисплее или с помощью набора регуляторов усиления на различных частотах Параграфические: гибрид предыдущих Параграфические: гибрид предыдущих По принципу действия: По принципу действия: Аналоговые: состоят из конденсаторов, катушек индуктивности, операционных усилителей Аналоговые: состоят из конденсаторов, катушек индуктивности, операционных усилителей Цифровые: используют FIR или IIR фильтры Цифровые: используют FIR или IIR фильтры
ФЧХ и ГВЗ Фазово-частотная характеристика (phase response) Фазово-частотная характеристика (phase response) Изменение фазы в зависимости от частоты Изменение фазы в зависимости от частоты Групповое время задержки (group delay) Групповое время задержки (group delay) Задержка различных частотных составляющих Задержка различных частотных составляющих АЧХФЧХГВЗ
Импульсная характеристика Конечная (FIR) Конечная (FIR) Легко достичь линейной ФЧХ Легко достичь линейной ФЧХ Бесконечная (IIR) Бесконечная (IIR) Нелинейная ФЧХ Нелинейная ФЧХ Звон фильтров (ringing) Звон фильтров (ringing) Линейная ФЧХНелинейная ФЧХ
Измерение реверберации Импульсный отклик помещения Импульсный отклик помещения Реверберация: прямой звук, ранние и поздние отражения Реверберация: прямой звук, ранние и поздние отражения
Измерение реверберации Способы измерения импульсного отклика: Способы измерения импульсного отклика: Единичный импульс (плохое соотношение сигнал/шум) Единичный импульс (плохое соотношение сигнал/шум) Звук стартового пистолета / лопающегося воздушного шарика (неровный спектр, маленькая энергия на НЧ) Звук стартового пистолета / лопающегося воздушного шарика (неровный спектр, маленькая энергия на НЧ) Шум измеряемого зала Используются материалы Дэвида Гризингера (Lexicon) Стартовый пистолет
Измерение реверберации Способы измерения импульсного отклика: Способы измерения импульсного отклика: Белый шум, MLS-последовательности (чувствительны к нелинейным искажениям) Белый шум, MLS-последовательности (чувствительны к нелинейным искажениям) Скользящий тон (swept sine, «плавающий синус») Скользящий тон (swept sine, «плавающий синус») Деконволюция Деконволюция (обратная свертка) Скользящий тон
Реверберация Что почитать: Что почитать: Дэвид Гризингер: Дэвид Гризингер: Ирина Алдошина: Ирина Алдошина: