А.Б.Сергиенко. Communications Toolbox - обзор Пакет расширения Communications предназначен для выполнения в среде MATLAB расчетов, связанных с моделированием телекоммуникационных систем. В первую очередь, функции пакета ориентированы на системы цифровой связи, но имеются и функции аналоговой модуляции и демодуляции. К возможным областям применения пакета относятся моделирование передачи данных по телефонным сетям (модемные протоколы, VDSL, HDSL, ADSL), радиоканалам (радиотелефоны DECT, сотовые сети GSM) и разнообразным физическим средам компьютерных сетей. Внимание! Для использования пакета Communications необходимо наличие установленного пакета Signal Processing. Для разделения функций пакета на смысловые группы в зависимости от их назначения обратимся к обобщенной структурной схеме системы связи, показанной ниже. Назначением системы связи является передача сообщения из одной точки в другую через канал связи, обладающий определенными свойствами (в частности, пропускающий лишь некоторую полосу частот). Для решения этой задачи приходится осуществлять целый ряд преобразований. Прежде всего исходное сообщение подвергается первичному кодированию (кодированию источника), цель которого преобразование аналогового сообщения в цифровое либо сжатие информации. Следующий этап помехоустойчивое кодирование. Здесь в сообщение вносится избыточность с целью обеспечить возможность исправления на приемной стороне всех или некоторых возникших в процессе передачи ошибок. После применения помехоустойчивого кода сообщение поступает в модулятор, преобразующий цифровое сообщение в аналоговый модулированный сигнал, занимающий заданную полосу частот. В процессе прохождения модулированного сигнала через канал связи сигнал подвергается воздействию шумов и помех. Искаженный сигнал поступает на вход приемника. Структура приемной части является зеркальным отражением структуры передатчика сигнал проходит через блоки, в обратном порядке осуществляющие преобразования, обратные по отношению к тем, что производились в передатчике. Прежде всего сигнал подвергается демодуляции, в процессе которой аналоговый модулированный сигнал преобразуется в цифровое сообщение. Далее производится декодирование помехоустойчивого кода, при этом благодаря корректирующим свойствам кода возможно исправление части (или всех) ошибок, возникших в процессе передачи. После исправления ошибок следует декодирование источника восстановление исходного сообщения. В соответствии с этой схемой можно выделить следующие группы функций пакета: ; ; ; ; . Кроме этих групп, непосредственно связанных со структурной схемой телекоммуникационной системы, в пакете Communications имеется еще несколько групп общих и служебных функций: ; ; . Для моделирования телекоммуникационной системы необходимо иметь возможность создавать модели сигналов и шумов. Шумы, очевидно, являются случайными процессами. Случайными являются и сообщения, подлежащие передаче (ведь если сообщение является детерминированным, то есть полностью известным, незачем его и принимать). Различие между полезными и шумовыми случайными процессами заключается в их статистических свойствах. Таким образом, моделирование сигналов и шумов в системах связи сводится в конечном счете к генерации случайных чисел с заданными свойствами. В дополнение к генераторам случайных чисел, имеющимся в базовой библиотеке MATLAB, пакет Communications предоставляет в распоряжение пользователя несколько более специализированных функций. Функция randint позволяет создать матрицу случайных чисел, равномерно распределенных в заданном интервале. Близкой по смыслу, но более гибкой является функция randsrc, которая позволяет задавать алфавит (т.е. множество используемых целых чисел, не обязательно составляющих непрерывный диапазон) и вероятности появления в сообщении отдельных символов этого алфавита. Функция randerr предназначена для формирования ошибок в цифровом сигнале. Она дает матрицу, в каждой строке которой имеется заданное число случайно расположенных ненулевых элементов. С помощью функции wgn моделируется дискретный белый гауссовский шум с заданной мощностью. Генерируемый шум может быть вещественным или комплексным. Для оценки помехоустойчивости системы связи необходимо произвести сравнение исходного (передаваемого) сообщения с сообщением, полученным в результате приема, и определить число ошибок, возникших в процессе передачи, а также вероятность ошибки. Эти действия выполняются функциями symerr и biterr, первая из которых подсчитывает число несовпадающих символах в двух сообщениях, а вторая число несовпадающих битов в двоичных представлениях этих символов. Кроме числа ошибок, обе функции могут возвращать долю ошибок в общем числе символов (битов) и индикаторы мест возникновения ошибок. Последние две функции данной группы предназначены для графического отображения сигналов с квадратурной манипуляцией. Функция eyediagram выводит так называемую глазковую диаграмму, а функция scatterplot диаграмму рассеяния. Кодирование источника (source coding) предназначено для того, чтобы преобразовать исходную форму сообщения в пригодный для передачи формат. В общем случае это кодирование может включать в себя преобразование измеряемой физической величины в электрический сигнал (по этой причине на структурных схемах систем передачи информации блоки кодирования и декодирования источника иногда называют преобразователями), дискретизацию и квантование, а также устранение избыточности, имеющейся в исходном сообщении. Пакет Communications содержит функции, выполняющие следующие операции кодирования/декодирования источника: ; ; . Неравномерное квантование осуществляется функцией quantiz. Она позволяет преобразовать произвольные значения входного сигнала в номера уровней квантования и соответствующие квантованные значения. В качестве параметров задаются границы зон квантования и соответствующие этим зонам квантованные значения сигнала. С помощью функции lloyds можно оптимизировать параметры квантования. Эта функция подбирает границы зон и квантованные значения на основе тестового набора входных отсчетов, минимизируя среднеквадратическую ошибку квантования. Для оптимизации используется алгоритм Ллойда. При кодировании речевых сигналов искажения сигналов с малым уровнем оказываются значительно заметнее на слух, чем искажения сигналов с большим уровнем. К тому же речевой сигнал имеет сравнительно большой пикфактор, то есть пиковый уровень сигнала значительно превышает его среднеквадратическое значение, а значит, большие выбросы случаются редко. Это позволяет использовать нелинейное квантование, при котором шаг квантования для больших (по модулю) значений сигнала больше, чем для малых. Таким образом, индекс квантования (номер квантованного уровня) нелинейно зависит от входного сигнала, эта нелинейная зависимость представляет собой кусочно-линейную аппроксимацию логарифмического закона. Для восстановления сигнала используется обратное преобразование, при котором кусочно-линейно аппроксимируется экспоненциальная функция. Данный способ кодирования/декодирования применяется при импульсно-кодовой модуляции (ИКМ) в аппаратуре телефонных станций (Рекомендация ITU-T G.711). Логарифмическое преобразование позволяет сжать динамический диапазон сигнала и уменьшить количество двоичных разрядов, необходимых для его представления. При использовании параметров кодирования, указанных в уже упоминавшейся Рекомендации ITU-T G.711, это позволяет уменьшить требуемую скорость передачи данных в полтора раза (12-разрядное двоичное число после логарифмического преобразования представляется восемью разрядами). В пакете Communications указанные преобразования (оба и логарифмическое, и экспоненциальное) осуществляются функцией compand. Она позволяет реализовать оба используемых на практике варианта преобразования так называемые законы A и m (A-law и m -law), несколько различающиеся способом формирования кусочно-линейной аппроксимации. Еще один способ уменьшить скорость передачи данных, необходимую при передаче речевых сигналов использовать тот факт, что речевой сигнал изменяется во времени довольно плавно. Благодаря этому можно довольно точно предсказывать сигнал, формируя линейную комбинацию предыдущих его значений. Остаточная ошибка предсказания оказывается ма
Комментариев нет:
Отправить комментарий