Основы цифровой обработки сигналов Алексей Лукин lukin@graphics.cs.msu.ru «Введение в компьютерную графику» лекция 5.11.2007.

Презентация:



Advertisements
Похожие презентации
Звук и слух. Основы DSP. Занятие 1. План Звуковые сигналы и их восприятие Звуковые сигналы и их восприятие Цифровые и аналоговые сигналы. Дискретизация.
Advertisements

Лекция 5. Основы цифровой обработки сигналов (DSP) Алексей Лукин
Основы цифровой обработки сигналов Алексей Лукин «Введение в компьютерную графику» лекция
Дискретизация Свертка ДПФ Лектор: Лукин Алексей Сергеевич.
Основы цифровой обработки сигналов Алексей Лукин «Введение в компьютерную графику» лекция
Вейвлеты и банки фильтров Лектор: Лукин Алексей Сергеевич.
Лекция 8 План лекции 8 Контрольные вопросы Теорема отсчетов Дискретное преобразование Фурье Спектральная плотность мощности Дополнение последовательности.
Применения банков фильтров Лектор: Лукин Алексей Сергеевич.
Дискретное преобразование Фурье Мультимедиа технологии.
Применения банков фильтров Лектор: Лукин Алексей Сергеевич.
Лекция 11 Дискретное преобразование Фурье Дискретное преобразование Фурье (ДПФ) относится к классу основных преобразований при цифровой обработке сигналов.
Фильтрация. Быстрая свертка. Занятие 3. План Фильтрация Фильтрация –Основные понятия, виды фильтров –Построение FIR-фильтров Быстрая свертка Быстрая свертка.
Применения банков фильтров Лектор: Лукин Алексей Сергеевич.
Быстрое преобразование Фурье Введение. Представление сигналов с помощью гармонических функций В качестве примера рассмотрим представление сигнала типа.
Математические основы цифровой обработки сигнала.
Спектральный анализ Быстрая свертка Фильтрация Лектор: Лукин Алексей Сергеевич.
Фильтры с конечной импульсной характеристикой (КИХ) Введение.
Лекция 7 План лекции 7 Усреднение периодических функций Теорема Парсеваля Интегральное преобразование Фурье Свойства преобразования Фурье Связь между интегралом.
DSP Digital Signal Processing Валерий Иванович Кривошеев РФ, ННГУ.
Обработка сигналов и Обработка изображений Антон Переберин Курс «Компьютерная графика» Лекция 3.
Транксрипт:

Основы цифровой обработки сигналов Алексей Лукин «Введение в компьютерную графику» лекция

План лекции Основные определения Основные определения Дискретизация, теорема Котельникова Дискретизация, теорема Котельникова Линейные системы Линейные системы Дискретное преобразование Фурье Дискретное преобразование Фурье Спектральный анализ Спектральный анализ Фильтрация, быстрая свертка Фильтрация, быстрая свертка Приложения Приложения

Сигналы Сигнал – скалярная функция от одного или нескольких аргументов. Сигнал – скалярная функция от одного или нескольких аргументов. s(t) – звук Примеры сигналов f(x,y) – изображение

Сигналы Аналоговые (непрерывные) Аналоговые (непрерывные) Примеры: Примеры: звук в воздухе или в проводе, идущем от микрофона звук в воздухе или в проводе, идущем от микрофона изображение (до ввода в компьютер) изображение (до ввода в компьютер) запись показаний датчика запись показаний датчика Цифровые (дискретные) Цифровые (дискретные) Примеры: Примеры: звук в компьютере (одномерный массив чисел) звук в компьютере (одномерный массив чисел) изображение в компьютере (двумерный массив чисел) изображение в компьютере (двумерный массив чисел) запись показаний датчика в компьютере (одномерный массив) запись показаний датчика в компьютере (одномерный массив) Одномерный цифровой сигнал

Оцифровка сигналов 1. Дискретизация по времени 2. Квантование по амплитуде АЦП (ADC) – аналогово-цифровой преобразователь Параметры: частота дискретизации, разрядность квантования

Оцифровка сигналов При каких условиях по цифровому сигналу можно точно восстановить исходный аналоговый? При каких условиях по цифровому сигналу можно точно восстановить исходный аналоговый? Предположим, что значения амплитуд в цифровом сигнале представлены точно. Предположим, что значения амплитуд в цифровом сигнале представлены точно. Введем понятие спектра аналогового сигнала: Введем понятие спектра аналогового сигнала: (разложение на синусоиды с различными частотами) x(t) – исходный сигнал X(ν) – спектр, т.е. коэффициенты при гармониках с частотой ν

Теорема Котельникова Пусть Пусть 1. спектр сигнала x(t) не содержит частот выше F, т.е. X(ν)=0 за пределами отрезка [-F, F] 2. дискретизация сигнала x(t) производится с частотой F s, т.е. в моменты времени nT, здесь T= F s F s > 2F Тогда исходный аналоговый сигнал x(t) можно точно восстановить из его цифровых отсчетов x(nT), пользуясь интерполяционной формулой Тогда исходный аналоговый сигнал x(t) можно точно восстановить из его цифровых отсчетов x(nT), пользуясь интерполяционной формулой

Теорема Котельникова Как выглядят интерполирующие sinc-функции? Как выглядят интерполирующие sinc-функции? Бесконечно затухающие колебания

Теорема Котельникова Реконструкция аналоговых сигналов. Sinc-интерполяция. Реконструкция аналоговых сигналов. Sinc-интерполяция.

Эффект Гиббса Применимость sinc-интерполяции для изображений Применимость sinc-интерполяции для изображений Эффект Гиббса Эффект Гиббса Цифровые отсчетыsinc-интерполяция другая интерполяция

Наложение спектров Что будет, если условия теоремы Котельникова не выполнены? Что будет, если условия теоремы Котельникова не выполнены? Пусть звук не содержит частот выше 20 кГц. Тогда, по теореме Котельникова, можно выбрать частоту дискретизации 40 кГц. Пусть звук не содержит частот выше 20 кГц. Тогда, по теореме Котельникова, можно выбрать частоту дискретизации 40 кГц. Пусть в звуке появилась помеха с частотой 28 кГц. Условия теоремы Котельникова перестали выполняться. Пусть в звуке появилась помеха с частотой 28 кГц. Условия теоремы Котельникова перестали выполняться. (aliasing)

Наложение спектров Проведем дискретизацию с частотой 40 кГц, а затем – восстановим аналоговый сигнал sinc-интерполяцией. Проведем дискретизацию с частотой 40 кГц, а затем – восстановим аналоговый сигнал sinc-интерполяцией. Помеха отразилась от половины частоты дискретизации в нижнюю часть спектра и наложилась на звук. Помеха переместилась в слышимый диапазон. Алиасинг. Помеха отразилась от половины частоты дискретизации в нижнюю часть спектра и наложилась на звук. Помеха переместилась в слышимый диапазон. Алиасинг. (aliasing)

Наложение спектров Как избежать наложения спектров? Как избежать наложения спектров? Применить перед оцифровкой анти-алиасинговый фильтр Применить перед оцифровкой анти-алиасинговый фильтр Он подавит все помехи выше половины частоты дискретизации (выше 20 кГц) и пропустит весь сигнал ниже 20 кГц. Он подавит все помехи выше половины частоты дискретизации (выше 20 кГц) и пропустит весь сигнал ниже 20 кГц. После этого условия теоремы Котельникова будут выполняться и алиасинга не возникнет. После этого условия теоремы Котельникова будут выполняться и алиасинга не возникнет. Следовательно, по цифровому сигналу можно будет восстановить исходный аналоговый сигнал. Следовательно, по цифровому сигналу можно будет восстановить исходный аналоговый сигнал. (aliasing)

Линейные системы Система – преобразователь сигнала Система – преобразователь сигнала Линейность: Линейность: Инвариантность к сдвигу: Инвариантность к сдвигу: H x(t)y(t)

Импульсная характеристика Единичный импульс δ[n] Единичный импульс δ[n] Разложение произвольного сигнала на взвешенную сумму единичных импульсов Разложение произвольного сигнала на взвешенную сумму единичных импульсов

Импульсная характеристика Отклик системы на единичный импульс Отклик системы на единичный импульс h[n] – импульсная характеристика системы (импульсный отклик системы) h[n] – импульсная характеристика системы (импульсный отклик системы)

Импульсная характеристика Вычисление отклика линейной системы на произвольный входной сигнал Вычисление отклика линейной системы на произвольный входной сигнал Свертка Свертка h[n] – ядро свертки

Линейные системы Итак, любая линейная инвариантная к сдвигу система производит операцию свертки входного сигнала со своей импульсной характеристикой. Итак, любая линейная инвариантная к сдвигу система производит операцию свертки входного сигнала со своей импульсной характеристикой. Важное свойство линейных систем: Важное свойство линейных систем: При подаче на любую линейную систему синусоиды, на выходе получается синусоида той же частоты, что и на входе. Измениться могут только ее амплитуда или фаза. Следствие: линейные системы удобно анализировать, раскладывая любые входные сигналы на синусоиды. Следствие: линейные системы удобно анализировать, раскладывая любые входные сигналы на синусоиды.

Звук и слух Диапазон звуковых сигналов и пороги восприятия Диапазон звуковых сигналов и пороги восприятия

Звук и слух Звуковые волны поступают на улитку, возбуждая ее колебания Звуковые волны поступают на улитку, возбуждая ее колебания Жесткость улитки меняется с расстоянием, поэтому каждая часть резонирует в своем частотном диапазоне Жесткость улитки меняется с расстоянием, поэтому каждая часть резонирует в своем частотном диапазоне image from Wikipedia

Звук и слух К разным частям улитки подходят различные группы нервов, передающие в мозг информацию об амплитуде и фазе колебаний К разным частям улитки подходят различные группы нервов, передающие в мозг информацию об амплитуде и фазе колебаний Таким образом, улитка раскладывает звук на частотные составляющие Таким образом, улитка раскладывает звук на частотные составляющие image from Wikipedia

Преобразование Фурье Зачем раскладывать сигналы на синусоиды? Зачем раскладывать сигналы на синусоиды? Анализ линейных систем Анализ линейных систем Особенности слухового восприятия Особенности слухового восприятия Хорошо разработана теория и практика Хорошо разработана теория и практика Дискретное преобразование Фурье (ДПФ) Дискретное преобразование Фурье (ДПФ) Для вещественного сигнала Для вещественного сигнала Прямое и обратное преобразования Фурье Прямое и обратное преобразования Фурье

Преобразование Фурье Базисные функции дискретного преобразования Фурье для сигнала длины N = 8. Базисные функции дискретного преобразования Фурье для сигнала длины N = 8. Имеем N/2 + 1 = 5 различных базисных частот. Имеем N+2 базисные функции, 2 из которых тождественно равны нулю. Количество информации не изменяется: N чисел

Преобразование Фурье Базисные функции образуют N-мерный ортогональный базис в пространстве N-мерных векторов исходных сигналов. Базисные функции образуют N-мерный ортогональный базис в пространстве N-мерных векторов исходных сигналов. Следовательно, разложение обратимо, т.е. по коэффициентам разложения (A k, B k ) можно точно восстановить исходный дискретный сигнал. Следовательно, разложение обратимо, т.е. по коэффициентам разложения (A k, B k ) можно точно восстановить исходный дискретный сигнал. Обратное преобразование Фурье – вычисление суммы конечного ряда Фурье (сложить N штук N-точечных синусоид со своими коэффициентами). Обратное преобразование Фурье – вычисление суммы конечного ряда Фурье (сложить N штук N-точечных синусоид со своими коэффициентами).

Преобразование Фурье Прямое преобразование Фурье – вычисление скалярных произведений сигнала на базисные функции: Прямое преобразование Фурье – вычисление скалярных произведений сигнала на базисные функции: Для вычисления всех коэффициентов по этому алгоритму требуется примерно N 2 умножений: очень много при больших длинах сигнала N. Для вычисления всех коэффициентов по этому алгоритму требуется примерно N 2 умножений: очень много при больших длинах сигнала N.

Преобразование Фурье Быстрое преобразование Фурье (БПФ, FFT) – ускоренный алгоритм вычисления ДПФ Быстрое преобразование Фурье (БПФ, FFT) – ускоренный алгоритм вычисления ДПФ Основан на периодичности базисных функций (много одинаковых множителей) Основан на периодичности базисных функций (много одинаковых множителей) Математически точен (ошибки округления даже меньше, т.к. меньше число операций) Математически точен (ошибки округления даже меньше, т.к. меньше число операций) Число умножений порядка N·log 2 N, намного меньше, чем N 2 Число умножений порядка N·log 2 N, намного меньше, чем N 2 Ограничение: большинство реализаций FFT принимают только массивы длиной N = 2 m Ограничение: большинство реализаций FFT принимают только массивы длиной N = 2 m Существует и обратное БПФ (IFFT) – такой же быстрый алгоритм вычисления обратного ДПФ. Существует и обратное БПФ (IFFT) – такой же быстрый алгоритм вычисления обратного ДПФ.

Преобразование Фурье Входные данные FFT Входные данные FFT N = 2 m, размер FFT N = 2 m, размер FFT Входной вектор длины N, иногда в комплексном представлении Входной вектор длины N, иногда в комплексном представлении Выходные данные FFT Выходные данные FFT Коэффициенты A k и B k, иногда записанные в комплексном представлении Коэффициенты A k и B k, иногда записанные в комплексном представлении

Преобразование Фурье Двумерное ДПФ Двумерное ДПФ Базисные функции имеют вид двумерных синусоид с разными углами наклона и фазами Базисные функции имеют вид двумерных синусоид с разными углами наклона и фазами Вычисление двумерного ДПФ Вычисление двумерного ДПФ 1.Прямой способ – скалярные произведения со всеми базисными функциями. Очень много операций. 2.Быстрый способ – декомпозиция на одномерные ДПФ

Преобразование Фурье Быстрое вычисление двумерного ДПФ Быстрое вычисление двумерного ДПФ 1.Вычислить одномерные комплексные ДПФ от каждой строки изображения. Результаты записать в виде комплексных массивов «обратно» в промежуточное «комплексное» изображение. 2.Вычислить одномерные комплексные ДПФ от каждого столбца промежуточного комплексного изображения. Комплексные результаты записать «обратно». Это и есть коэффициенты двумерного ДПФ. Одномерные ДПФ можно считать с помощью FFT.

Спектральный анализ Размытие спектра Размытие спектра Что если частота сигнала не совпадает с одной из собственных частот FFT? (т.е. на отрезок взятия спектра укладывается нецелое число периодов сигнала) Что если частота сигнала не совпадает с одной из собственных частот FFT? (т.е. на отрезок взятия спектра укладывается нецелое число периодов сигнала) Размытие спектра Размытие спектра Равенство амплитудных спектров у циклических сдвигов сигнала Равенство амплитудных спектров у циклических сдвигов сигнала

Спектральный анализ Как вычислить и отобразить спектр сигнала? Как вычислить и отобразить спектр сигнала? 1.Взять нужный отрезок сигнала длины 2 m ; если нужный отрезок короче – дополнить его нулями. 2.Если нужно – устранить из сигнала постоянную составляющую (вычесть константу – среднее значение). 3.Если нужно – домножить сигнал на весовое окно, плавно спадающее к краям (для уменьшения размытия спектра). 4.Вычислить FFT. 5.Перевести комплексные коэффициенты в полярную форму: получить амплитуды. 6.Отобразить график зависимости амплитуды от частоты. Примеры весовых окон

Спектральный анализ Прямоугольное (нет окна)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)

Спектральный анализ Примеры звуков и их спектрограмм Примеры звуков и их спектрограмм Нота на гитаре

Быстрая свертка Прямое вычисление: M·N умножений (M – размер ядра свертки, N – длина сигнала) Прямое вычисление: M·N умножений (M – размер ядра свертки, N – длина сигнала) Теорема свертки: свертка во временной области эквивалентно умножению в частотной области, умножение во временной области эквивалентно свертке в частотной области. Теорема свертки: свертка во временной области эквивалентно умножению в частотной области, умножение во временной области эквивалентно свертке в частотной области. Алгоритм быстрой свертки: Алгоритм быстрой свертки: 1.Вычислить спектры сигнала и ядра свертки (FFT) 2.Перемножить эти спектры 3.Вернуть полученный спектр во временную область (IFFT) Почему это быстрее? Потому что переход в частотную область и обратно быстрый: FFT Почему это быстрее? Потому что переход в частотную область и обратно быстрый: FFT

Фильтрация Спектры сигналов при свертке перемножаются Спектры сигналов при свертке перемножаются Следовательно, свертка (фильтрация) меняет спектр сигнала Следовательно, свертка (фильтрация) меняет спектр сигнала Свойства фильтров: Свойства фильтров: Частотная характеристика фильтра (АЧХ) Частотная характеристика фильтра (АЧХ) Полосы пропускания (pass-band), подавления (stop-band), среза (transition band) Полосы пропускания (pass-band), подавления (stop-band), среза (transition band) Линейность ФЧХ Линейность ФЧХ Длина фильтра Длина фильтра * = Перемножение амплитуд = сложение децибелов

Фильтрация Проектирование фильтров: метод оконного взвешивания Проектирование фильтров: метод оконного взвешивания Построение фильтра с линейной фазой по произвольной заданной частотной характеристике Построение фильтра с линейной фазой по произвольной заданной частотной характеристике Частотная характеристика приближается с любым заданным уровнем точности Частотная характеристика приближается с любым заданным уровнем точности Основная идея: взять обратное ДПФ от требуемой АЧХ и применить к ядру весовое окно (подробности – в методичке) Основная идея: взять обратное ДПФ от требуемой АЧХ и применить к ядру весовое окно (подробности – в методичке) Идеальный НЧ-фильтрОдин из реальных НЧ-фильтров

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

Банки фильтров Банки фильтров – преобразования, разбивающие сигнал на несколько частотных полос в возможностью обратного синтеза Банки фильтров – преобразования, разбивающие сигнал на несколько частотных полос в возможностью обратного синтеза Пример: дискретное вейвлет-преобразование Пример: дискретное вейвлет-преобразование Возможные свойства БФ: точное восстановление, избыточность Возможные свойства БФ: точное восстановление, избыточность H2H2 H1H1 2 2 Коэффициенты 2 2 G2G2 G1G1 + x[n] ДекомпозицияРеконструкция (синтез)

Банки фильтров Применения: Применения: Раздельная обработка сигнала в разных частотных полосах Раздельная обработка сигнала в разных частотных полосах Компрессия сигналов с независимым квантованием в разных частотных полосах Компрессия сигналов с независимым квантованием в разных частотных полосах Пример банка фильтров, основанного на STFT Пример банка фильтров, основанного на STFT Декомпозиция: STFT с окном Хана (Hann), и с перекрытием между окнами 75% Декомпозиция: STFT с окном Хана (Hann), и с перекрытием между окнами 75% Синтез: обратное DFT от каждого блока, применение весовых окон Хана и сложение окон с наложением (OLA) Синтез: обратное DFT от каждого блока, применение весовых окон Хана и сложение окон с наложением (OLA) Свойства: Свойства: Точное восстановление Точное восстановление Наличие избыточности Наличие избыточности

Шумоподавление Метод спектрального вычитания (spectral subtraction) Метод спектрального вычитания (spectral subtraction) 1.STFT 2.Оценка спектра шума по участку без полезного сигнала 3.«Вычитание» спектра шума из спектра сигнала 4.Обратное STFT

Шумоподавление Многополосная интерпретация метода Многополосная интерпретация метода x[n] Банк фильтров (анализ) … Gate …… y[n] Банк фильтров (синтез) Пороги срабатывания гейтов зависят от уровня шума в каждой частотной полосе Гейт (gate) – устройство, подавляющее тихие сигналы (громкие пропускаются без изменения)

Шумоподавление Музыкальный шум Музыкальный шум Шум случаен, его спектр тоже случаен случайные по частоте и времени превышения порога: musical noise Шум случаен, его спектр тоже случаен случайные по частоте и времени превышения порога: musical noise

Психоакустическая компрессия Схема алгоритма mp3 Схема алгоритма mp3 mp3-файл x[n] FFT Банк фильтров … MDCT … QHuffman … Психоакустический анализ

Другие применения DSP Компрессия изображений (JPEG, JPEG-2000) Компрессия изображений (JPEG, JPEG-2000) Компрессия аудио (mp3, aac, …) Компрессия аудио (mp3, aac, …) Мобильная телефония Мобильная телефония Звукозапись Звукозапись Шумоподавление, исправление искажений Шумоподавление, исправление искажений Обработка и распознавание речи Обработка и распознавание речи и многое другое и многое другое