Согласно выбранным структурным схемам кодера и декодера модуля сжатия речи, а также основным этапам вычисления коэффициентов предсказания для синтезирующего фильтра, определении параметров речи (вокализованный / невокализованный), вычислении периода основного тона, коэффициента усиления разработаем алгоритм построения программы для модуля сжатия речи.
Данный алгоритм должен включать в себя следующие блоки:
1) блок предобработки;
2) блок вычисления коэффициента усиления на анализируемом сегменте;
3) подпрограмма вычисления корреляционной функции;
4) подпрограмма определения коэффициентов синтезирующего фильтра с использованием алгоритма Левинсона - Дарбина;
5) блок вычисления периода основного тона на анализируемом сегменте;
6) блок имитации линии передачи и записи полученных параметров модели в массив;
7) блок синтеза речи.
На рис.5.1 представлен алгоритм программы осуществляющей сжатие речи, запись результатов вычисления в массив и последующее восстановление речи по сохраненным результатам.
Контроль работы программы можно производить, подав на вход EZ-KIT речевой сигнал и снимая его с выхода платы, предварительно запрограммированной /14, 15, 16/. При этом, сравнивая входной сигнал с выходным можно сделать вывод о работоспособности программы и всего устройства в целом. Подробнее это описано в разделе об экспериментальном исследовании.
Алгоритм программы сжатия речевых сигналов
Рис.5.1
Примем условные обозначения переменных, используемых в дальнейшем:
k - номер записи;
N - общее количество сообщений;
А - размер записанного сообщения;
амах - максимальное количество разрядов в ИС памяти;
а1 - адрес начала сообщения;
а2 - адрес конца сообщения.
Пример размещения записи адресов данных сообщения в таблице приведен на рис.5.2 Запись состоит из номера сообщения, адреса начала сообщения, адреса конца сообщения и разряда заполнения ИС памяти.
Запись адресов сообщений в таблице
Рис.5.2
Данное устройство должно обеспечивать сервисные функции: запись сообщения, воспроизведение сообщения, стирание всех (или одного) сообщения. При стирании одного сообщения должна производится дефрагментация памяти (рис.5.3), т.е. переписывание информации на освободившееся место в ОЗУ данных. Эта операция производится после каждой команды стирания. Необходимо перебрать все последующие сообщения и переписать их поочередно “вниз" одно за другим.
Алгоритм программы дефрагментации ОЗУ данных
Рис.5.3
Другие публикации
Основные свойства и методы расчета линейных цепей постоянного тока
Электротехника
- это наука о техническом (т.е. прикладном) использовании электрических и
магнитных явлений. Большое значение электротехники заключается в том, что ...
Моделирование работы цеха сборки
Внедрение новых информационных технологий в процесс
разработки автоматизированных систем способствует дальнейшему развитию
модельного подхода. Увеличивается многообра ...