Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

636_Nosov_V.I._Seti_radiodostupa_CH.1_

.pdf
Скачиваний:
18
Добавлен:
12.11.2022
Размер:
3.85 Mб
Скачать

Вметоде многоимпульсного возбуждения (Multe-Pulse Excitation – МРЕ) оптимизируют как положение, так и амплитуды импульсов возбуждения. Их число при этом может быть выбрано малым ( 3 - 5 ) , что существенно меньше числа отсчетов в анализируемом подсегменте (40).

Вметоде возбуждения регулярной импульсной последовательностью

(Regular-Pulse Excitation – RPE) взаимное положение импульсов предопределено заранее – используют решетку равноотстоящих импульсов, а оптимизируют расположение решетки и амплитуды импульсов. В методе RPE число импульсов возбуждения выбирают в 3 - 4 раза меньшим числа отсчетов

вподсегменте, например 13. Таким образом, метод RPE менее эффективен по сравнению с МРЕ, однако алгоритм обработки при RPE значительно проще. Это и определяет широкое распространение данного метода аппроксимации второго остаточного сигнала.

Вметодах кодового возбуждения, объединенных наименованием CELP (Code-Excited Linear Prediction – кодовое возбуждение и линейное

предсказание), наиболее подходящий вектор возбуждения выбирают из заранее составленных кодовых книг, содержащих обычно 27 -210 квазислучайных векторов заданной длины с элементами, нормированными по амплитуде. Амплитуда вектора возбуждения кодируется отдельно в соответствии с громкостью передаваемого сегмента речи. Частными случаями CELP являются методы VSELP (Vector Sum Excited Linear Prediction – возбуждение векторной суммой и линейное предсказание) и ACELP (Algebraic Code Excited Linear Prediction – алгебраическое кодовое возбуждение и линейное предсказание).

Влюбом случае информацию о втором остаточном сигнале кодируют небольшим числом бит и вместе с информацией о параметрах кратковременного и долговременного предсказания передают по каналу связи на приемный конец – в декодер.

2.3.5 Структура декодера речи

Упрощенная структурная схема декодера речи с линейным предсказанием представлена на рис. 2.25.

Демультиплексор

Генератор

r2ВОС(n)

Фильтр

r1ВОС(n)

Фильтр

SВОС(n

ЦАП

SВОС(t)

восстанов

восстанов

возбужде-

 

 

 

И

 

 

л

 

л

 

 

ния

 

 

 

 

 

 

 

 

 

 

осн. тона

 

формант

 

ФНЧ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.2.25 Структура декодера речи с линейным предсказанием

81

Переданные по каналу связи параметры аппроксимации второго остаточного сигнала, параметры основного тона G и а, коэффициенты формантного фильтра ak (или отмеченные ранее другие параметры кратковременного анализа) поступают на соответствующие блоки декодера.

Синтез сигнала начинают с восстановления второго остаточного сигнала, выполняемого генератором возбуждения. Восстановленный сигнал r2ВОС(n) несколько отличается от второго остаточного сигнала в кодере из -за погрешности аппроксимации.

Восстановленный второй остаточный сигнал пропускают через фильтр восстановления основного тона, передаточную характеристику которого H2(z) устанавливают обратной характеристике фильтра удаления основного тона кодера, т. е.

H2 (z)

 

A2 (z)

 

1 .

(2.31)

 

 

На выходе этого фильтра получают восстановленный первый

остаточный сигнал r1ВОС(n), который включает в себя основной тон.

 

Наконец, фильтр восстановления формант с передаточной функцией

 

H1 (z)

A1(z) 1 ,

(2.32)

восстанавливает формантные составляющие сигнала.

Восстановленный сигнал SВОС(n) достаточно близок к исходному сигналу на входе кодера S(n). Выполнив цифро-аналоговое преобразование и пропустив сигнал через ФНЧ, получают восстановленный аналоговый сигнал.

Отметим, что все процедуры обработки сигнала в кодере и декодере выполняются цифровыми методами. Кодер и декодер реализуют на высокопроизводительном сигнальном процессоре. Показанные на рис.4.1 и 5.1 модули фактически являются блоками программного обеспечения.

2.3.6 Низкоскоростные речевые кодеры

Как уже отмечалось, основной сферой применения вокодеров является цифровая подвижная радиосвязь и радиодоступ. Сведения о речевых кодерах таких систем приведены в табл. 2.4.

Все приведенные в ней кодеры, реализуют вокодерный метод кодирования с линейным предсказанием. На этапах кратковременного и долговременного анализа, что позволяет снизить скорость передачи до 4.6 - 13.5 кбит/с.

Один из вариантов построения декодера с линейным предсказанием приведен на рис. 2.26. Основными узлами схемы декодера являются два синтезирующих фильтра с большой и малой постоянной времени и алгебраическая кодовая книга.

82

Фильтр с большой постоянной времени выполняет функцию долговременного предсказателя (Long Term Predictor), моделирует квазипериодичность (долговременные корреляции) речевого сигнала. Он выполнен на основе адаптивной кодовой книги, содержащей сигналы возбуждения и реализующей генерацию квазипериодических колебаний голосового тракта.

Фильтр с малой постоянной времени выполняет функцию кратковременного предиктора (Short Term Predictor), моделирует кратковременные корреляции, т.е. корреляции между отсчетами речевого сигнала, и имеет порядок предсказывающего устройства p = 10.

Алгебраическая (постоянная) кодовая книга содержит совокупность векторов возбуждения, представляющих собой последовательности с белым гауссовским распределением с нулевым средним значением и единичной дисперсией. Она служит для реализации первого этапа генерации возбуждающего сигнала. На втором этапе производится коррекция возбуждающего сигнала путем добавления к нему данных из адаптивной кодовой книги. Сформированная в итоге возбуждающая последовательность поступает на вход синтезирующего фильтра [H1(z)]-1, где вычисляются значения выходного речевого сигнала .

Вкодере производится оценка p = 10 коэффициентов линейного предсказания

ианализ возможных значений параметра синтезатора (индекса kc и коэффициента усиления gc алгебраической кодовой книги и индекса kp и коэффициента усиления gp адаптивной кодовой книги), целью которого является минимизация взвешенной ошибки рассогласования между входным и синтезированным речевыми сигналами.

Индекс алгебраической кодовой книги (k)

 

 

Задержка периода основного тона (Т)

 

Входной

 

цифровой

 

 

 

 

 

Предсказание

Коэффициенты

Демуль

сигнал

 

усиления

типлекс

 

 

усиления и

ор

 

Предыдущий

 

 

векторное

 

 

 

сигнал

 

 

 

квантование

 

 

 

возбуждения

 

 

 

 

 

 

 

 

 

Коэффициент

 

gp

ы линейного

 

предсказания

Адаптивная

 

 

 

 

Выходной

кодовая

 

Синтезирующий

 

речевой

книга

 

фильтр с малой

 

сигнал

Синтезирующий фильтр с большой

постоянной

времени

 

постоянной времени P-1(z)

 

 

 

[H1(z)]-1

 

Алгебраичес

gc

 

 

 

 

 

 

 

кая кодовая

 

 

 

 

книга

 

 

 

 

Рис.2.26 Структурная схема декодера речевого сигнала

Полученные при этом оптимальные параметры синтезатора квантуются и передаются в канал связи. Обработка сигналов в кодере и декодере производится по блокам. Длительность основного блока составляет 30 мс, что соответствует 240

83

отсчетам при частоте дискретизации 8 кГц. Для каждого такого блока формируется кадр передаваемой в канал связи информации объемом 137 бит, что обеспечивает скорость передачи информации 4567 бит/с. Оценка значений коэффициентов линейного предсказания выполняется один раз на всем блоке, а оптимизация остальных параметров синтезатора выполняется на сегментах длительностью 60 отсчетов, т.е. 4 раза на блок. Поразрядное распределение информации в передаваемом кадре приведено в таблице 2.5.

Таблица 2.5 Поразрядное распределение информации в кадре речевого кодека

Параметр

1-й сегмент

2-й сегмент

3-й сегмент

4-й сегмент

Всего в

 

 

 

 

 

кадре

Коэффициенты линейного

 

 

 

 

26

предсказания

 

 

 

 

 

 

 

 

 

 

 

Период основного тона

8

5

5

5

23

Индекс алгебраической кодовой

16

16

16

16

64

книги

 

 

 

 

 

 

 

 

 

 

 

Коэффициенты усиления

6

6

6

6

24

 

 

 

 

 

 

Всего

 

 

 

 

137

 

 

 

 

 

 

2.3.7 Субъективное измерение производительности кодера

Целью кодирования речи является использование избыточности сигнала структуры сигнала и знаний об особенностях человеческого восприятия для предоставления различных скоростей передачи данных с сохранением при этом максимально возможного качества сигнала При оценке производительности кодера речи более подходят субъективные измерения качества, чем объективные, например, по отношению сигнал/шум или среднеквадратической ошибке. Впрочем, надежные значения субъективных измерений, как правило, труднее получить.

Из субъективных измерений, используемых как стандарт качества услуг, наиболее распространенным является усредненная оценка разборчивости речи (mean opinion score — MOS), которая устанавливается на основе субъективного тестирования. Для измерений параметра MOS группу субъектов просят прослушать образец кодированной речи и оценить его по пятибалльной шкале. Для повышения надежности результатов тест проводится несколько раз, с разными образцами речи и разными группами слушателей. Шкала MOS используется во множестве спецификаций как стандарт качества.

Используемая шкала приведена в табл. 2.6, где также даны две еѐ альтернативные (но при этом эквивалентные) интерпретации. На рис. 2.27 показаны результаты тестов MOS [19] для различных схем кодирования речи, включая ADPCM. Следует обратить внимание на то, что даже некодированная речь не получает наивысшей оценки 5. Это происходит потому, что слушатели иногда склонны ставить оценку 4 даже тем

84

образцам речи, которые вполне заслуживают оценки 5. Учитывая это явление, оценки от 4 до 4,5 можно считать признаком высокого качества оцифровки.

Оценка MOS

5

 

 

 

 

 

 

4

 

 

 

 

 

 

3

 

 

 

 

 

 

2

 

 

 

 

 

 

1

 

 

 

 

 

Тип кодера

 

 

 

 

 

 

Некодированная PCM

ADPCM

LD-CELP

CELP

CELP

LPC

речь

64

32

16

8

4,2

2,4

PCM – импульсно-кодовая модуляция ADPCM - адаптивная дифференциальная РСМ

CELP — активируемое кодом линейное предсказание LD-CELP - CELP с малой задержкой

LPC — линейное кодирование с предсказанием

Рис. 2.27. Субъективное качество речи для различных кодеров

ТАБЛИЦА 2.6 Усредненная оценка разборчивости речи (MOS)

Оценка

Качество

Недостатки

5

Отличное

Незначительные

4

Хорошее

Еле ощутимые, но не раздражающие

3

Достаточное

Ощутимые и слегка раздражающие

2

Плохое

Раздражающие, но не неприемлемые

1

Неудовлетворительное

Очень раздражающие (неприемлемые)

85

3 КОДИРОВАНИЕ ДЛЯ ОБНАРУЖЕНИЯ ОШИБОК

В системах радиосвязи цифровой сигнал перед подачей его на модулятор подвергают обработке в кодере канала, который является общим, как для сигнала канала трафика, поступающего от кодера речи, так и для сигналов логических каналов, поступающих из логического блока (рисунок 1.5). В самом общем случае в кодере канала осуществляется перемежение входных символов, скремблирование, шифрование и введение корректирующего кода (Forward Error Correction – FEC) рисунок 3.1.

 

 

 

 

 

Ключ

 

 

 

 

 

 

 

 

 

 

 

 

 

От

 

шифрования

 

 

 

 

 

 

 

 

 

 

 

 

 

логического

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

блока

 

 

 

 

 

 

 

К

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модулятору

От кодера

Перемежитель

 

Скремблер

FEC

 

 

 

 

 

речи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 3.1 Функциональная схема кодера канала

В процессе передачи по каналу связи происходит искажение сигнала, а так же на него накладываются шумы и помехи. В результате на выходе канала связи в сигнале появляются ошибки, частота появления которых зависит от скорости передачи данных и отношения сигнал/шум в канале. Ошибки будут всегда, независимо от конструкции системы передачи, так что в переданном кадре один или несколько битов обязательно изменят свое значение.

Существуют три наиболее распространенных способа борьбы с ошибками в процессе передачи данных:

коды для обнаружения ошибок;

коды для коррекции ошибок, называемые также схемами прямого исправления ошибок (Forward Error Correction — FEC);

Код обнаружения ошибок позволяет довольно легко установить наличие ошибки. Как правило, подобные коды используются совместно с определенными протоколами канального или транспортного уровня имеющими схему ARQ. В схеме ARQ приемник попросту отклоняет блок данных, в котором была обнаружена ошибка, после чего передатчик передает этот блок повторно. Коды прямого исправления ошибок позволяют не только обнаружить ошибки, но и исправить их, не прибегая к повторной передаче. Схемы FEC часто используются

86

в беспроводной передаче, где повторная передача крайне неэффективна, а уровень ошибок довольно высок.

Далее будем считать, что данные передаются как одна или несколько непрерывных последовательностей битов, которые называют кадрами или блоками. Определим вероятности, связанные с возникновением ошибок в переданных кадрах:

Pb – вероятность появления единичного ошибочного бита, именуемая также частотой появления ошибочных битов (bit error rate — BER);

P1- вероятность безошибочного приема кадра;

Р2 — вероятность того, что используемый алгоритм выявления ошибок позволяет обнаружить ошибку в кадре;

Р3 — вероятность того, что используемый алгоритм выявления ошибок позволяет обнаружить все ошибки в кадре;

Рассмотрим для начала пример, когда при передаче данных схемы выявления ошибок не используются. В этом случае вероятность обнаружения всех ошибок Р3 равна нулю. Чтобы найти значения остальных вероятностей, предположим, что каждый бит может быть ошибочным с равной вероятностью, т.е. Pb – постоянная независимая величина для каждого бита. Тогда можно записать

P

(1 P )F ,

P

1 P,

1

b

2

1

где F – число битов в кадре. Иными словами, вероятность получения кадра без ошибок уменьшается с ростом вероятности битовой ошибки. Кроме того, вероятность отсутствия ошибок в полученном кадре уменьшается с увеличением длины кадра – чем длиннее кадр, тем больше в нем битов и тем больше вероятность ошибочности одного из них.

Из этого следует необходимость применения схем обнаружения ошибок. Работа всех методов обнаружения ошибок основывается на следующем принципе: к информационному кадру на передающей стороне добавляется последовательность битов, которые составляют код обнаружения ошибок (рис. 3.2).

Этот код вычисляется как функция переданных битов. Обычно для информационного блока из k бит алгоритм обнаружения ошибок дает код, имеющий n-k бит, причем (n-k)<k. Код обнаружения ошибок (иногда называемый контрольными битами) присоединяется к блоку данных, в результате чего получается последовательность из п бит, которая и передается. Приемник разделяет полученную последовательность на k бит данных и (п - k) бит кода обнаружения ошибок. Основываясь на k битах данных, приемная сторона вычисляет код, после чего сверяет результат с принятым кодом обнаружения (п - k) бит кода обнаружения ошибок. После чего сверяет полученный код с принятым кодом обнаружения ошибок.

87

Данные k бит

(n-k) бит

n бит

 

Кодер

 

 

а)

 

Данные

Кодер

б)

Ошибки Сравнение

Рисунок 3.2 Процесс обнаружения ошибок: а) формирование кода обнаружения ошибок; б) использование кода на приемной стороне

Если два кода не совпадают, в канале произошла ошибка. Следовательно, параметр P3 – это вероятность того, что в кадре присутствует ошибка и она обнаружена с помощью используемой схемы. Параметр Р2 называют остаточным уровнем ошибок. Р2 – это вероятность того, что ошибка не будет обнаружена, несмотря на использование схемы выявления ошибок.

3.1 Проверка четности

Наиболее простой метод обнаружения ошибок – добавление бита четности в конец каждого блока данных.

Коды с контролем четности (parity-check code) для обнаружения или исправления ошибок используют линейные суммы информационных битов,

которые называются символами (parity symbols), или битами четности (parity bits). Код с одним контрольным битом — это прибавление к блоку информационных битов одного контрольного бита. Этот бит (бит четности) может быть равен нулю или единице, причем его значение выбирается так, чтобы сумма всех битов в кодовом слове была четной или нечетной. В операции суммирования пользуется арифметика по модулю 2 (операция исключающего ИЛИ), описанная в данном параграфе ниже.

Если бит четности выбран так, что результат четный, то говорят, что схема имеет положительную четность (even parity); если при добавлении бита четности результирующий блок данных является нечетным, то говорят, что он имеет отрицательную четность (odd parity). На рис. 3.3, а показана

88

последовательная передача данных (первым является крайний справа бит). К каждому блоку добавляется один бит четности (крайний слева бит в каждом блоке), дающий положительную четность.

Бит четности

001010

 

 

100111

 

111010

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

110101

111111

 

 

100001

101110

 

 

011000

011000

 

 

000011

011110

 

 

110011

010001

Горизонтальный

111100

000110

контроль четности

 

 

 

 

 

Вертикальный контроль четности

б)

Рисунок 3.3 Проверка четности для последовательной а) и парпллельной б) структуры кода

В приемном оконечном устройстве производится декодирование, заключающееся и проверке, дают ли нуль суммы принятых битов кодового слова по модулю 2 (положительная четность). Если полученный результат равен 1, то кодовое слово заведомо содержит ошибки. Скорость кодирования такого кода можно записать как k/(k + 1). С помощью такого кода можно только обнаружить, что в кодовом слове присутствует нечетное количество ошибок. (Если ошибка была внесена в четное число битов, то проверка четности покажет отсутствие ошибок; данный случай – это пример необнаруженной ошибки). Предполагая, что ошибки во всех разрядах равновероятны и появляются независимо, можно записать вероятность появления j ошибок в блоке, состоящем из п символов

P( j,n)

n

p j (1 p)n j .

(3.1)

 

j

 

 

Здесь р — вероятность получения канального символа с ошибкой, а через

89

n

n!

(3.2)

j j!(n j)!

обозначается число различных способов выбора из п бит j ошибочных. Таким образом, для кода с одним битом честности вероятность необнаруженной ошибки Pnd в блоке из п бит вычисляется следующим образом

n / 2(при n четном)

(n 1) / 2(при n нечетном)

Pnd

j 1

n

p2 j (1 p)n 2 j .

(3.3)

2 j

 

 

Например, для кода (n,k) = (4,3) положительной четности вероятность необнаруженной ошибки равна вероятности появления где-либо в кодовом слове из четырех символов двух или четырех ошибок

P

 

4

p2 (1 p)2 4

p4 6 p2 (1 p)2 p4

nd

2

4

(3.4)

 

 

 

6 p2

12 p3

7 p4 6(10 3 )2

12(10 3 )3 +7(10 3 )4 =6 10-6.

Прямоугольный код (rectangular code), называемый также композиционным

(product code), можно представить в виде параллельной структуры кода, изображенной на рис. 3.3, б. Код создается следующим образом. Вначале из битов сообщения строятся прямоугольники, состоящие из М строк и N столбцов; затем к каждой строке и каждому столбцу прибавляется бит четности, что в результате дает матрицу размером (М+ 1) (N+ 1). Скорость кодирования прямоугольного кода, k/n, может быть записана следующим образом

k

 

MN

(3.5)

 

 

 

.

n

(M 1)(N 1)

Насколько прямоугольный код мощнее кода, который имеет один контрольный бит и предоставляет только возможность обнаружить ошибку? Отметим, что любая отдельная ошибка в разряде приведет к нарушению четности в одном столбце и в одной из строк матрицы. Следовательно, прямоугольный код может исправить любую единичную ошибку, поскольку расположение такой ошибки однозначно определяется пресечением строки и столбца, в которых была нарушена четность. В примере, показанном на рис. 3.3, б, размеры матрицы равны М = N = 5; следовательно, на рисунке изображен код (36,25), способный исправлять единичные ошибки, расположенные в любом из 36 двоичных разрядов. Вычислим для такого блочного кода с коррекцией ошибок вероятность появления неисправленной ошибки, для чего учтем все возможные варианты появления ошибки сообщения. Исходя из вероятности наличия j ошибок в блоке из п символов, можно записать вероятность ошибки

90