Обработка речевых сигналов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
°нда Х10 также имеет свой двоичный код. Последний бит в двоичных кодах устройства и команды служит для различия типа кодов: 0 соответствует коду устройства, 1 - коду команды.
Рисунок 13 - Коды
Для того чтобы приемник знал, когда начинается передача полезного сигнала, передатчик сначала посылает так называемый стартовый код - ему соответствует последовательность 1110. За ним следует код дома, а потом - код устройства или команда. Последовательность стартового кода, кода дома и кода устройства или команды называется кадром (или фреймом) X10.
Каждый кадр передается два раза подряд - для большей надежности. Каждый информационный бит кадра, за исключением битов стартового кода, сопровождается комплементарным (дополняющим) битом - после 1 идет комплементарный 0, после 0 - единица. Таким образом, для передачи одного кадра необходимо 11 циклов переменного напряжения.
Для передачи команды X10 нужно сначала отправить кадр с кодом устройства, которому предназначена команда, а за ним - кадр с самой командой. Исключение составляют групповые команды, например "All Units Off" - они отправляются всем устройствам, поэтому код устройства перед ними передавать не нужно.
При передаче последовательности адресов и/или команд между каждой парой кадров должен быть промежуток в три цикла переменного напряжения то есть последовательность 000000. Например, адрес устройства и команда для него передаются двумя парами кадров с указанным промежутком. Для передачи такой последова- тельности необходимо 22+3+22=47 циклов напряжения.
При частоте 50 Гц такая операция занимает примерно одну секунду. Отметим, что команды "Bright" ("Ярче") и "Dim" ("Темнее") следуют друг за другом без промежутка между кодами. Мы рассмотрели передачу сигналов на примере однофазной сети. В трехфазных сетях передача сигнала происходит аналогично, но "приурочена" к нулю каждой фазы.
Есть два варианта перевода алфавита в двоичный код:.
. Русский алфавит разбить от 0 до 31 символа (с пробелом, Е=Ё, Ь=Ъ). Каждый символ задать в виде последовательности из пяти "нулей-единиц". А = 0000, Б = 0001, В = 0010, Г = 0011, ... Я = 11110, _ = 11111. Тогда получится бинарное слово, длина которого Кол-во_Символов * 5.
. Экономное кодирование (Фано). Есть таблица, в которой каждому символу соответствует уникальный код. Чем чаще встречается символ в тексте, тем короче будет код. Например, пробел будет состоять из трех бинарных символов - 000, О = 001, ..., Ф = 111111111.
Рисунок - Код Фано
4.7.2 Работа со словарем
Набор слов, входящих в словарь, может быть изменен в соответствии с текущей задачей. Это возможно как в режиме без сценария, так и во время выполнения сценария, в котором предусмотрено такое изменение.
Основой редактора словаря является таблица "Состав словаря". Она состоит из двух колонок и может иметь любое количество строк. Первая колонка служит для сохранения числовых значений слов или их коротких идентификаторов. Вторая - для сохранения буквенных значений и клавишных команд. Каждая строка этой таблицы используется для ввода отдельного слова, отдельной фразы или отдельной клавишной команды.
Основная задача словаря сводится к выбору единственной строки таблицы, соответствующей сказанному слову. Если подходящую строку удалось найти, выполняется замена исходного слова значением одного из двух полей выбранной строки.
Слова в таблицу "Состав словаря" заносятся пользователем в соответствии с правописанием, даже если их звучание отличается от написания.
Чтобы выбрать единственную строку таблицы, программа просматривает каждую строку и отыскивает ту, которая в наибольшей степени соответствует прозвучавшему слову. Кроме того, в таблице могут быть клавишные команды, которые вообще не имеют звучания.
Редактор словаря снабжен окошечком "Варианты распознавания для слова". Оно представляет собой список, в который слова вводятся в соответствии с их звучанием. При этом каждая строка таблицы "Состав словаря" связана со своим собственным независимым списком звучаний. Однако на экране всегда отображается список только для одной строки таблицы. Чтобы увидеть список, принадлежащий другой строке таблицы, нужно просто переместиться на интересующую вас строку. Список вариантов может быть пустым.
Размер списка вариантов не ограничен, но в нем не должно быть одинаковых записей.
Когда программа находит в таблице "Состав словаря" строку в наибольшей степени соответствующую прозвучавшему слову, это означает, что данной строке принадлежит вариант распознавания минимально отличающийся от проверяемого слова, или совпадающий с ним. Степень различия (отклонение) при этом оценивается в процентах и сравнивается с максимально допустимым значением. Если отклонение превышает максимально допустимую величину, считается, что слово в словаре не найдено.
Пользователь имеет возможность изменять величину допустимого отклонения по своему усмотрению при помощи регулятора, расположенного в окне редактора словаря. Если регулятор установлен в нулевое положение, слово может быть найдено в словаре только при условии полного совпадения с одним из имеющихся вариантов распознавания. Любые несовпадения при этом исключаются. Если же наоборот, установить максимальное отклонение на уровне 100%, то любое сказанное слово обязательно будет найдено в словаре, даже если его там нет. В этом случае просто выбирается самое похожее слово, а насколько оно похожее, не проверяется