Руководство по работе с пакетом программ TurboSuccess 1.02, страница 6

Функция TurboDecoder. Производит декодирование турбо кода итеративным методом с использованием max-log-BCJR (другое название — max-log-MAP) алгоритма [11]. Структура данной функции оптимизирована для достижения высокого быстродействия. Основные параметры данной функции и последовательность выполнения расчетов установлены таким образом, чтобы снизить количество обменов информацией с внешней памятью и все требуемые для выполнения расчетов величины хранить во внутренних регистрах микропроцессора, а также эффективно использовать возможность распараллеливания вычислительных процессов в микропроцессорах, имеющих два вычислительных ядра. Данная функция может быть без существенных переделок быть использована в качестве основы для построения турбо кодера на базе цифровых сигнальных процессоров (ЦСП) серии TMS320C6000 фирмы Texas Instruments.

 Функция TurboCore. Данная функция осуществляет последовательный запуск всех необходимых подпрограмм в ходе выполнения расчетов, а также ведет подсчет вероятности ошибки на бит на выходе турбо декодера.

Функция mexFunction (Gateway Routine). Обеспечивает реализацию интерфейса между средой Matlab и mex приложением в соответствии с требованиями руководства External Interfaces/API системы Matlab (см. документацию по работе с системой Matlab), а также производит преобразования типов некоторых входных и выходных данных программы-ядра TurboCore.mex и занимается выделением динамической памяти.

3.3. Внесение изменений в исходный код.

В данном пункте мы только укажем, как следует проводить компиляцию исходного кода с уже внесенными Вами изменениями с целью создания исполняемого mex файла (это будет файл подключаемой динамической библиотеки dll, если Вы работаете в среде Windows).

Для компиляции исходного файла мы использовали встроенный C компилятор системы Matlab 6.1 (он называется Lcc, версия 2.4). Вы можете использовать его или другой ANSI C компилятор, который установлен на Вашем ПК и поддерживается системой Matlab. Список установленных в Вашей системе компилятором можно получить, набрав в командной строке системы Matlab инструкцию mex –setup, далее после ответа на некоторые вопросы системы Вы можете подключить один из компиляторов для использования в процессе компиляции исходного кода. Сам процесс компиляции запускается следующей командой mex turbocore.c (имя файла нужно вводить полностью). Напоминаем, что Вы должны сделать каталог с этим файлом текущим, в противном случае система не сможет его найти. Настоятельно рекомендуем отключать во время компиляции и других действий с Matlab Compiler антивирусные программы, установленные на Вашем ПК, иначе — возможны проблемы (по крайней мере, при работе с включенным Norton AntiVirus 2000 подвисание ПК обеспечено).

При написании комментариев в программе TurboMain.m на русском языке не используйте строчную версию русской буквы «я», заменяйте ее прописной версией «Я», то же относится к строчной букве «э» в комментариях файла TurboCore.c (все это — во избежание глюков компилятора системы Matlab).

В заключение этого пункта хотелось бы отметить, что к внесению изменений как в исходный код, так в головной файл TurboMain.m надо подходить осторожно, т.к. для ускорения работы проверки форматов исходных данных в файле TurboCore.c не производятся, а обработка ошибок также сведена к минимуму. Некоторые проверки формата исходных данных для программы-ядра TurboCore.mex выполняются в файле TurboMain.m в начале процесса моделирования.

5.  Дополнительные замечания.

Здесь мы хотим особо подчеркнуть, что предоставленный Вам пакет программ Turbo Success 1.02 является одной из первых версией нашего продукта и поэтому не был в достаточной мере протестирован при работе на ПК различных видов с различным программным обеспечением. Кроме того, мы не проверяли работоспособность пакета при всех возможных комбинациях исходных данных. Ввиду вышеизложенного мы не можем гарантировать работоспособность пакета в каждом конкретном случае. Однако мы будем благодарны Вам и постараемся быстро решить возникшие проблемы, если Вы известите о них автора программы: