Similar presentations:
Формирование цифровых сообщений
1. ФОРМИРОВАНИЕ ЦИФРОВЫХ СООБЩЕНИЙ
Классификация сигналовФормирование цифровых сообщений
Аналого-цифровое преобразование
Импульсно-кодовая модуляция (ИКМ)
Компандирование. А- и -законы
Дифференциальная ИКМ
Дельта-модуляция
Векторное квантование
2. КЛАССИФИКАЦИЯ СИГНАЛОВ
По области определения и области значений:- непрерывный (аналоговый);
- дискретные по времени;
- дискретные по уровню (квантованные);
- цифровые.
По времени существования:
- казуальный;
- финитный.
3. АЦП
Этапы аналого-цифрового преобразования:- дискретизация сигнала по времени;
- квантование сигнала по уровню.
Параметры АЦП:
- интервал дискретизации;
- 0-уровень (уровень отсчета);
- диапазон квантования;
- размер шага квантования.
4. ИМПУЛЬСНО-КОДОВАЯ МОДУЛЯЦИЯ
5. ВЫБОР ПОРОГОВ И УРОВНЕЙ КВАНТОВАНИЯ
Пусть x и x’обозначают соответственно значенияотсчета сигнала до и после квантования.
Предполагается, что x – случайная величина с
плотностью вероятности p(x).
Задача квантования:
выбрать такой набор пороговых уровней dj и уровней
квантования rj, что если dj x dj+1, то исходный
отсчет заменяется на число, равное номеру (коду)
уровня квантования rj и ошибка квантования
минимальна.
6. ВЫБОР ПОРОГОВ И УРОВНЕЙ КВАНТОВАНИЯ
Среднеквадратичная ошибка квантования:E кв
aU
x x '
2
p( x)dx
J 1 d j 1
x r j 2 p( x)dx
j 0 d j
aL
Если J велико, то плотность вероятности значений
квантуемого сигнала на каждом из интервалов (dj, dj+1)
можно считать равномерной и равной p(rj)
E кв
J 1
d j 1
j 0
dj
p(r j ) x r j
2
1 J 1
dx p(r j ) d j 1 r j 3 d j r j 3
3 j 0
Оптимальное положение уровня квантования rj в интервале
(dj, dj+1):
J 1
rj
d j 1 d j
2
и
E кв
1
p(r j ) d j 1 d j 3
12 j 0
7. ОСШК
Ошибки, или шум квантования, возникающие припреобразовании аналогового сигнала в цифровую форму,
обычно выражаются в виде средней мощности шума по
отношению к средней мощности сигнала:
2
ОСШК
M ( x (t ))
M x' (t ) x(t ) 2
где M(.) – математическое ожидание. Это же значение
обычно выражается в децибелах:
ОСШК (дБ) = 10 lg (ОСШК).
8. ЛИНЕЙНАЯ ИКМ
c- /2
/2
rj
p( xe )dxe
x const , x 2 , 2
f ( x' )
0,
x ,
2 2
1 /
/2
1
/2
cdx
cx
c
e e / 2
где = x – x’.
/ 2
Мощность шума квантования в каждом интервале (шаге):
M ( xe )
/2
xe p ( xe )dxe
/ 2
D( xe ) M ( xe2 ) M 2 ( xe )
/2
xe2 p( xe )dxe
/ 2
Учитывая, что
=2Amax/2n
1
0
/2
0.
/ 2
/2
1 xe3
2
xe dxe 3
/ 2
/2
/ 2
2
12
A
A
Мощность сигнала:
1
1 xe2
xe dxe
2
x3
1
D( x) p( x) x dx
A2
6 A A 3
A
ОСШК
2
D( x)
D ( xe )
1 2
A
A
2
3
ОСШК 10 lg
10 lg 2 n 20 lg
2
2 Amax 2n
Amax
12
A
6,02n 20 lg
Amax
9. КОМПАНДИРОВАНИЕ
Разброс ОСШК для различных амплитуд сигнала приравномерном квантовании:
10. КОМПАНДИРОВАНИЕ
Цель – сделать ОСШК одинаковым для всех амплитуд.Шаги квантования неравномерные, увеличиваются по мере увеличения
амплитуды дискретов:
y
y max
x
ln
x max
Проблемы:
- представление отрицательных значений;
- разрыв в 0.
y
ymax
| x|
sgn( x)
ln
xmax
11. КОМПАНДИРОВАНИЕ ПО A- и -ЗАКОНАМ
КОМПАНДИРОВАНИЕПО A- и -ЗАКОНАМ
А-компандирование
Характеристика
компандера
A | x |
при 0 | x | 1 A;
sgn( x) 1 ln A ,
FA ( x )
1 ln | A x |
sgn( x)
, при 1 A | x | 1
1 ln A
-компандирование
F ( x) sgn( x)
ln(1 | x |)
.ln(1 )
Инверсная
характеристика
(характеристика
экспандера)
| y | (1 ln A)
1
sgn(
y
)
,
при
0
|
y
|
A
1 ln( A)
FA 1 ( y )
| y | (1 ln A ) 1
e
1
sgn( y )
, при
| y | 1
A
1 ln( A)
F 1 ( y ) sgn( y )
1
(1 )| y | 1
12. КОМПАНДИРОВАНИЕ ПО A- и -ЗАКОНАМ
КОМПАНДИРОВАНИЕПО A- и -ЗАКОНАМ
Характеристики квантователя для различных значений параметра А:
13. КОМПАНДИРОВАНИЕ ПО A- и -ЗАКОНАМ
КОМПАНДИРОВАНИЕПО A- и -ЗАКОНАМ
Неравномерность шагов квантования:
14. КОМПАНДИРОВАНИЕ ПО A- и -ЗАКОНАМ
КОМПАНДИРОВАНИЕПО A- и -ЗАКОНАМ
Сравнение степени неравномерности ОСШК от амплитуд сигнала для
равномерного и логарифмического квантования:
15. КОМПАНДИРОВАНИЕ ПО A- и -ЗАКОНАМ
КОМПАНДИРОВАНИЕПО A- и -ЗАКОНАМ
Подход к упрощенной реализации неравномерного квантователя
16. КОМПАНДИРОВАНИЕ ПО A- и -ЗАКОНАМ
КОМПАНДИРОВАНИЕПО A- и -ЗАКОНАМ
Табличная реализация неравномерного квантователя
Диапазон
входных
амплитуд
Размер шага
Код сегмента
Код шага
квантования
Номер кодовой
комбинации
Амплитуда на
выходе
декодера
0
1
...
15
16
...
31
1
3
...
31
33
...
63
0–2
2–4
...
30 – 32
32 – 34
...
62 – 64
2
000
001
0000
0001
...
1111
0000
...
1111
64 – 68
...
124 – 128
4
010
0000
...
1111
32
...
47
66
...
126
128 – 136
...
248 – 256
8
011
0000
...
1111
48
...
63
132
...
252
256 – 272
...
496 – 512
16
100
0000
...
1111
64
...
79
264
...
504
512 – 544
...
992 – 1024
32
101
0000
...
1111
80
...
95
528
...
1008
1024 – 1088
...
1984 – 2048
64
110
0000
...
1111
96
...
111
1056
...
2016
2058 – 2176
...
3968 – 4096
128
111
0000
...
1111
112
...
127
2112
...
4032
17. АЛГОРИТМЫ ИКМ
Модуляция Робертса(псевдошумовое квантование):
18. АЛГОРИТМЫ ИКМ
Квантование с улучшенной передачей градаций яркости:19. АЛГОРИТМЫ ИКМ
20. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Ключевые особенности ДИКМ:1) Наличие схемы предсказания и
кодирование/передача не амплитуды очередного
отсчета, а закодированной разности между
предсказанным значением и реальным значением
амплитуды очередного отсчета.
2) Обратная связь в кодере.
21. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Параметры ДИКМ:-нулевой уровень отсчета (О);
- диапазон квантования [aL..aU] ;
- размер шага квантования (h, ).
22. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Кодирование с предсказанием:Кодер:
d ( n) x ( n) x ' ( n)
d q (n) Q d (n)
x q ( n) x ' ( n ) d q ( n)
x' (n 1) F ( x q (n), x q (n 1),..., d q (n), d q (n 1),...)
Декодер:
x q ( n ) x ' ( n) d q ( n )
x' (n 1) F ( x q (n), x q (n 1),..., d q (n), d q (n 1),...)
где d(n) – разность между предсказанным значением амплитуды x'(n) и истинным
значением амплитуды x(n) сигнала, xq(n) – восстанавливаемое после декодирования
значение амплитуды сигнала, dq(n) – квантованная разность, F(...) – функция
предсказания (прогноза) для конкретного алгоритма ДИКМ.
23. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Кодирование с предсказанием:24. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Реализация функции предсказания на основелинейного предсказателя
Одноотводный линейный предсказатель:
x’(n | n-1) = ax(n-1 | n-1).
N- отвотводный линейный предсказатель:
p
x ' ( n) a i x ( n i )
i 1
25. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Расчет значений коэффициентов N-отводногопредсказателя (1)
{ai} выбираются так,
чтобы минимизировать:
2
p
M (d (n)) M x(n) ai x(n i )
i 1
2
Приравниваем к нулю частные производные ошибки по каждому неизвестному
коэффициенту aj.
p
a1 x(n 1) a 2 x( n 2) ... a p x(n p)
M 2 x ( n ) a i x ( n i )
a j
a j
i 1
p
M 2 x( n) ai x(n i ) x(n j ) 0,
j 1,2,... p
i
1
p
a M x(n i) x(n j ) M x(n) x(n j ) ,
i 1
i
j 1,2,..., p
26. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Расчет значений коэффициентов N-отводногопредсказателя (2)
Обозначим: Kx(i-j)=M{x(n-i) x(n-j)}, Kx(j)=M{x(n) x(n-j)}. Получаем систему
линейных уравнений вида (Юли-Волкера):
p
a K
i 1
i
x
(i j ) K x ( j ),
K x ( 1)
K x ( 2)
K x (1) K x (0)
K (2) K (1)
K x (0)
K x ( 1)
x
x
K x (3) K x (2)
K x (1)
K x ( 0)
.
.
.
.
.
.
.
.
K x ( p ) K x ( p 1) K x ( p 2) K x ( p 3)
j 1,2,..., p
.
.
.
.
.
.
.
.
.
.
K x ( p 1) a1
K x ( p 2) a 2
K x ( p 3) a3
.
.
.
.
K x (0) a p
Решение – на основе специальных эффективных методов (рекурсия
Левинсона-Дурбина).
Применение – LPC-анализ в CELP-кодеках
27. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Реализация функции предсказания на основеинтерполирующего многочлена
Для построения интерполирующего многочлена может
рассматриваться линейная модель вида
y i k1 1 (t ) k 2 2 (t ) ... k n n (t )
где i(t) – полиномиальные модельные функции
Определим матрицу A размера mxn как (A)ij = j(ti):
Пусть y и k – векторы наблюдений (данные) и параметров
(искомые) соответственно. Тогда условие задачи может быть
записано как
y Ak или y – Ak 0.
1
1
A
1
...
...
2
t 2 t 2 ...
t 3 t 32 ...
... ... ...
t1
t12
2
y Ak ( y Ak ) T ( y Ak ) y T y y T Ak k T AT y k T AT Ak y T y 2 y T Ak k T AT Ak
Производные данной функции по k в точке минимума должны быть =0:
2 AT y 2 AT Ak 0
и поэтому решение k должно удовлетворять системе линейных уравнений:
( AT A)k ( AT ) y
28. ДИФФЕРЕНЦИАЛЬНАЯ ИКМ
Пример реализации функции предсказания наоснове интерполирующего многочлена
1
100
2
250
3
300
4
500
29. АДАПТИВНАЯ ДИКМ
Адаптируемые параметры:- адаптация частоты дискретизации сигнала;
- адаптация коэффициентов предсказания;
- адаптация размера шага квантования:
n 1 n M (n)
2 бита на отсчет
3 бита на отсчет
Выход
M(n)
Выход
M(n)
M(1)
00
0,80
000
0,90
M(2)
01
1,60
001
0,90
M(3)
010
1,25
M(4)
011
1,70
30. АДАПТИВНАЯ ДИКМ
Алгоритм IMA ADPCM (G.721, G.726)Имеются 2 таблицы, одинаковые для кодера и декодера:
StepSizeTbl[0..88]={7, 8, 9, 10, 11, ..., 24623, 27086, 29794, 32767}
AdjustStepTbl[-7..+7]={8,6,4, 2, -1, -1, -1, -1, -1, -1, -1, -1, 2, 4, 6, 8}
Закодировать_отсчет(отсчет, индекс_шага, восст_отсчет)
разность = отсчет – восст_отсчет;
шаг = StepSizeTbl[индекс_шага];
дельта_код = 0;
если (разность<0) то
дельта_код = 1000b; разность = - разность;
если (разность>шаг) то
дельта_код = дельта_код OR 0100b; разность = разность - шаг;
шаг = шаг / 2;
если (разность > шаг) то
дельта_код = дельта_код OR 0010b; разность = разность - шаг;
шаг = шаг / 2;
если (разность > шаг) то
дельта_код = дельта_код OR 0001b;
восст_отсчет = Декодировать_отсчет (восст_отсчет, индекс_шага,
дельта_код);
Декодировать_отсчет(восст_отсчет, индекс_шага,
дельта_код)
шаг = StepSizeTbl[индекс_шага];
разность = шаг / 8;
если (дельта_код AND 0001b) то
разность = разность + шаг / 4;
если (дельта_код AND 0010b) то
разность = разность + шаг / 2;
если (дельта_код AND 0100b) то
разность = разность + шаг ;
если (дельта_код AND 1000b) то
разность = -разность;
восст_отсчет = восст_отсчет + разность;
индекс_шага = индекс_шага + AdjustStepTbl[дельта_код];
вернуть восст_отсчет;
31. ДЕЛЬТА-МОДУЛЯЦИЯ
Дельта-модуляцию можно рассматривать как простейшуюформу ДИКМ, в которой используется двухуровневый
(однобитный) квантователь в сочетании с фиксированным
предсказателем первого порядка. Простейшей формой
квантования является компаратор, который обнаруживает
и сообщает знак разности сигнала.
Два вида искажений:
- перегрузка по крутизне (шаг слишком мал);
- гранулярный шум (шаг слишком велик).
32. ДЕЛЬТА-МОДУЛЯЦИЯ
Дельта-модуляция первого порядкаМодуляция:
zi = Yi – yi;
i+1 = -sign(zi);
Демодуляция:
Yi+1 = c* i+1;
Yi+1 = Yi + Yi+1;
c*>0
где
yi = y(ti) – значение модулируемой функции на i-м шаге в момент
времени ti, i=1,2,…; Yi – значение демодулированной функции на i-м
шаге; zi – ошибка дельта-модуляции на i-м шаге; Yi+1 – первая
разность демодулированной функции; sign(x) {-1;+1}, причем
sign(0)=+1 или sign(0)=-1.
33. ДЕЛЬТА-МОДУЛЯЦИЯ
Дельта-модуляция второго порядка (по Кравченко П.П.)Модуляция:
zi = Yi – yi;
zi = zi – zi-1;
Fi = zi + 1.5 zi + (0.5 zi2/c – 0.125c)sign( zi);
i+1 = -sign(Fi);
Демодуляция:
2Yi+1 = c* i+1;
Yi+1 = Yi + 2Yi+1;
Yi+1 = Yi + Yi+1;
c* c; c>0
где
yi = y(ti) – значение модулируемой функции на i-м шаге в момент
времени ti, i=1,2,…; Yi – значение демодулированной функции на i-м
шаге; zi – ошибка дельта-модуляции на i-м шаге; zi – приращение
погрешности; 2Yi+1 - вторая разность демодулированной функции
(квант модуляции); Yi+1 – первая разность демодулированной
34. ДЕЛЬТА-МОДУЛЯЦИЯ
Сравнение скорости отработки скачка алгоритмамиДМ 1-го и 2-го (оптим.) порядка
Значения
сигнала
1
2
3
i
1
16
31
46
61
76
91
106
121
136
35. ДЕЛЬТА-МОДУЛЯЦИЯ
КомпандированиеПри мгновенном компандировании абсолютная
величина размера шага квантования определяется
значениями нескольких знаков квантов модуляции.
При инерционном (слоговом) компандировании размер
шага квантования на следующем шаге вычисляется с
коэффициентом увеличения/уменьшения относительно
размера шага квантования на предыдущем шаге.
36. ВЕКТОРНОЕ КВАНТОВАНИЕ
Вид квантования, при котором выполняется одновременноеквантование блока отсчетов, называется векторным
квантованием.
Пример – палитризация полноцветного изображения для
хранения в формате с ограниченным набором различных
цветов.
Векторное квантование блоков данных можно
рассматривать как проблему распознавания образов,
включающую в себя классификацию блоков данных через
дискретное количество категорий или ячеек в соответствии
с некоторым критерием точности, таким, например, как
среднеквадратичная ошибка
1 n
d ( X , X ' ) ( xi x'i ) 2
n i 1
37. ВЕКТОРНОЕ КВАНТОВАНИЕ
Каждая ячейка в многомерном пространстве, в которуюможет попасть исходный вектор X, характеризуется
центроидом, минимизирующем ошибку квантования –
значением X'. Обычно X' выбирается из конечного
множества значений – кодовой книги. Размер кодовой
книги можно считать равным числу уровней скалярных
квантователей.
При векторном квантовании ячейки в двух измерениях
могут иметь разные формы.
38. ВЕКТОРНОЕ КВАНТОВАНИЕ
Недостатки по сравнению со скалярнымквантованием:
- необходимость формирования оптимальной кодовой
книги и ее хранения/передачи;
- высокая трудоемкость.
Преимущества :
- теоретически более высокая эффективность, чем у
скалярного квантователя.
39. ВЕКТОРНОЕ КВАНТОВАНИЕ
Методы формирования кодовой книги:- алгоритм Ллойда (начинает работать с произвольно
выбранными M кластерами (со средними значениями), а
затем относит объекты к кластерам при критерию
минимизации расстояния. После "распределения" объектов
по кластерам выполняется пересчет среднего значения
каждого кластера и процедура выполняется вновь);
- метод к-средних (есть варианты, не требующие задания
числа M);
- метод медианного сечения (основан на постоянном
делении пополам (по числу элементов) того измерения
(компоненты), которое имеет наибольший разброс
амплитуд на данном шаге);
-...
40. ВЕКТОРНОЕ КВАНТОВАНИЕ
Метод медианного сечения:- алгоритм Ллойда (начинает работать с произвольно
выбранными M кластерами (со средними значениями), а
затем относит объекты к кластерам при критерию
минимизации расстояния. После "распределения" объектов
по кластерам выполняется пересчет среднего значения
каждого кластера и процедура выполняется вновь);
- метод к-средних (есть варианты, не требующие задания
числа M);
- метод медианного сечения (основан на постоянном
делении пополам (по числу элементов) того измерения
(компоненты), которое имеет наибольший разброс
амплитуд на данном шаге);
-...