Download - Цифровая обработка сигналов
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
1
Цифровая обработка сигналов
Лекция 3
Астана, 20 февраля 2003Исползуются материалы из лекции А. Ван Дама
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
2
Междисциплинарность
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
3
Сигналы и системы
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
4
Однородность
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
5
Аддитивность
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
6
Линейные системы
• y(t) = L{x(t)}
• L{af + bg} = aL{f} + bL{g}
•L{ag} = aL{g}
•L{f + g} = L{f} + L{g}
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
7
Инвариантность к сдвигу
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
8
Инвариантность по времени
• if y(t) = f(x(t)), then y(t-T) = f(x(t-T))
• if y[n] = f(x[n]), then y[n-m] = f(x [n-m])
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
9
СВЕРТКА
Convolution
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
10
Дискретизация во временной области
i
inixnx ][][][
0,0
0,1][
n
nn
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
11
Дельта-функцияИмпульсный отклик
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
12
Свертка в ЦОС (DSP)
k
khknxny ][][][
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
13
Свертка
dttgtxfxgxf )()()()(
• Свертка (перемножение) двух функций эквивалентна перемножению (свертке) их образов Фурье
• Фильтрация: умножение на фильтр в частотной области или свертка в пространственной.
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
14
Свертка с прямоугольным ядром
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
15
Дискретная свертка
1
0
1
0
L
Ll
M
Mmmlmjliji gfhgfh ,,,:
• g называется фильтромфильтром или ядром сверткиядром свертки• Замечание: с точки зрения математики f и g
абсолютно равноправны...
• Двумерный случай
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
16
Пример свертки
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
17
Комоненты выходного сигнала
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
18
Два способа вычисления выходного сигнала
• Каждая точка сигнала превращается в функцию h ( в нужную точку и умноженную на величину данной точки сигнала ), а потом все эти функции складываются.
• Вычисляется значение каждой точки в результирующем сигнале как взвешенная сумма некоторого множества соседних точек исходного сигнала. Коэффициенты этой суммы совпадают с импульсной характеристикой линейной системы, развернутой относительно точки 0.
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
19
Машина свертки
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
20
Анализ Фурье
The Discrete Fourier Transform
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
21
Преобразование Фурье
dxxixfF )exp()()(
dxiFxf )exp()(2
1)(
)(arg)(tg,)()( FFA
• Преобразование Фурье (образ Фурье):
• Обратное преобразование Фурье:
Преобразование Фурье
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
22
Дискретный случай
2
0
2
0
2
0
)(2cos
2sin
2cos][
N
k
kk
N
kk
N
kk N
nkC
N
knB
N
knAnx
1
0
2cos][
2 N
ik N
kiix
NA
1
0
2cos][
1 N
ik N
kiix
NA
1
0
2sin][
2 N
ik N
kiix
NB
12
,...,1 N
k
2,0
Nk
2,...,0
Nk
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
23
Ряд Фурье для прямоугольного импульса
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
24
Спектр некоторых функций
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
25
Пример преобразования Фурье
0 50 100 150 200 2500
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
)(xf
)(F
-100 -50 0 50 100-10
0
10
20
30
40
50
60
70
80
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
26
Низкочастотная фильтрация
)(xf
)(F
-100 -50 0 50 100-10
0
10
20
30
40
50
60
70
80
0 50 100 150 200 2500
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
27
Фильтрация
• Фильтрация — выделение (или подавление) частотных составляющих сигнала.
• ФильтрФильтр — функция, осуществляющая фильтрацию.
• Высоко-Высоко- и низкочастотныенизкочастотные фильтры. (High-pass and low-pass filters)
Фильтрация
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
28
Фильтры низкой и высокой частоты
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
29
Гауссиан (sigma=16)
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
30
Гауссиан (sigma=32)
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
31
2-D Gaussian kernel
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
32
Размытие (blur)
1
121
1
6
1
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
33
Размытие (прод)
12321
24542
35653
24542
12321
74
1
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
34
Увеличение резкости
1
151
1
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
35
Свертка - дифференцирование
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
36
Выделение контура
1
141
1
+ порог
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
37
Тиснение
1
101
1
+ сдвиг яркости
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
38
Примеры фильтров
• Размытие (blur)
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
39
Примеры фильтров
• Повышение четкости (sharpen)
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
40
Примеры фильтров
• Нахождение границ (edges)
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
41
Примеры фильтров
• Тиснение (embossing)
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
42
Как работает маска фильтра
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
43
Масштабирование изображений
Scaling Up and Down
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
44
Растянуть сигнал
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
45
Реконструкция сигнала
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
46
Повторная дискретизация
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
47
Нужна ли реконструкция?
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
48
Треугольный фильтр
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
49
Вычисление нового значения
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
50
Вычисление нового значения
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
51
Увеличение в 3 раза
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
52
Увеличение в 2 раза
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
53
Свертка
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
54
Ядро свертки
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
55
Универсальный фильтр
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
56
Псевдокод Вычисление значения пиксела k в целевом изображении
function h-hat(int k, float a){ //returns float float sum = 0, weights_sum = 0; int left, right; if (a > 1){
left = ceil(k/a - 1.0); right = floor(k/a + 1.0);
} else { left = ceil(k/a - 1.0/a); right = floor(k/a + 1.0/a);
} for (int i = left; i <= right, i++){
sum += g(i - k/a, a) * orig_image.Pi;
weights_sum += g(i - k/a, a); } result = sum/weights_sum;
}
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
57
Двумерный случай
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
58
Квадратная маска
20 феврвля 2003 Компьютерная графика Лекция 3 Астана
59
Материалы для чтения
Задание №2. Цифровая обработка сигналов.
http://graphics.cs.msu.su/courses/cg02b/
assigns/hw-2/hw2.html
А. Лукин «Введение в цифровую обработку сигналов»
http://graphics.cs.msu.su/courses/cg02b/
library/dspcourse.pdf