Опыт показал, что оптимизации всех задач разработки в рамках только одного проекта недостаточно. Это особенно подчеркивается тем фактом, что срок жизни ПО значительно превышает срок жизни аппаратного обеспечения.
Разработка программного обеспечения SDR должна планироваться и осуществляться с учетом основных задач. Окончательной целью является достижение и поддержание коротких сроков разработки, низких затрат на ее про ведение, соответствия техническим условиям, низкой стоимости производства и т.д.
Опыт показал, что оптимизации всех задач разработки в рамках только одного проекта недостаточно. Это особенно подчеркивается тем фактом, что срок жизни ПО значительно превышает срок жизни аппаратного обеспечения. Таким образом, экономически выгодно создавать многократно используемое программное обеспечение. Но программное обеспечение может быть
многократно используемым, только если его относительно просто переносить и модифицировать. Другими словами, Вам необходимо иметь возможность переносить его с одной платформы на другую, при чем эти платформы могут иметь разные процессоры и архитектуру передачи данных. В дополнение к этому, Вы должны быть способны быстро и легко внедрять новые требования заказчика. На практике, затраты на перенос ПО не должны превышать 10-20 % от себестоимости.
Одним из методов, часто используемых в вычислительной технике для ограничения затрат на перенос, является выделение выполняемых функций. При этом методе программное приложение
(например, ПО, формирующее сигнал для передачи) не имеет прямого доступа к аппаратному обеспечению или операционной системе. Вместо этого оно связывается с ними через промежуточный уровень (выделенный уровень), в котором описывается обобщенная модель функции, выполняющейся аппаратным обеспечением. Если программные интерфейсы приложения (API) связующего уровня стандартизированы, то выполняемые функции могут быть подобным образом адресованы
для любой платформы. Данный метод проиллюстрирован на рисунке 1.
Так как ПО может быть очень сложным и поскольку оно должно быть пригодным для многократного использования, то при его разработке должен применяться структурный подход. Разработав управляемую архитектуру модели(MDA), группа управления объектами стандартизировала процесс разработки, что было крайне важно для развития не только SDR, но и другой техники.
Данный процесс предусматривает множество моделей, которые надстраиваются одна над другой (рис. 2).
В первую очередь, Вы разрабатываете техническое задание и используете его при разработке независимой от
платформы модели (PIM), которая определяет функции, выполняемые программным обеспечением, независимо от реализации. В некоторых случаях Вы также разрабатываете исполняемую версию PIM. Это можно осуществить при помощи таких средств, как UML(унифицированного языка моделирования), MATLAB® и Simulink®.
Следующим шагом является создание специальной модели платформы (PSM).В данной модели программное обеспечение состоит из нескольких вычис лительных компонентов, таких как GPP,
DSP или FPGA - с учетом модели связующего ПО. Вы также можете создать исполняемую версию PSM. Полезной функцией PSM является автоматическое программирование, поскольку это позволяет создавать компоненты, служащие основой для реализации. Основной целью является сведение к минимуму ручного программирования на этапе реализации.
Последним этапом создания продукта является этап проведения испытаний,на котором проверяется полнота соответствия ПО техническому заданию. Для этого этапа требуется разработать
стратегию проведения испытаний, определить вид входных тестовых сигналов и автоматизировать тестирование с возможностью его расширения в дальнейшем.
Для того чтобы написать ПО для SDR, необходимо использовать инструментальные средства разработки. При создании ПО для отдельных типов сигналов, эти средства разработки Вам
понадобятся даже для определения, сигнал какого вида должен быть сформирован. В дополнение к уже имеющимся стандартным средствам, должны быть разработаны языки описания и понятия, что, возможно, произойдет уже в ближайшие годы и найдет широкое применение. Двумя готовыми примерами являются: язык описания формы сигнала WDL и описательный язык радио.
Основополагающим принципом для этих языков и соответствующих инструментальных средств разработки является использование компонентов (например, для специальных видов модуляции или протоколов) для создания сигнала требуемой формы.
Выдающимся преимуществом станций SDR является их большая гибкость в применении благодаря загрузке ПО.
Загрузка ПО путем передачи программ, их компонентов и данных (рис. 3) дает возможность изменить характеристики радиостанции, входящей в систему радиосвязи. Примерами передаваемых данных служат таблицы обновления параметров для автоматических алгоритмов, обновленные драйверы и программные пакеты с новыми типами сигналов, служащие для расширения выполняемых функций.
Существует два основных типа загрузки ПО. Они различаются главным образом по способу передачи данных в радиостанцию. Локальная загрузка производится на месте установки, например,
с переносного компьютера через интерфейс USB или с сервера через LAN. Беспроводная дистанционная загрузка производится, напротив, путем передачи данных через эфир. Оба типа загрузки нуждаются в удобных механизмах безопасной передачи данных к месту назначения. Первым критерием является наличие инфраструктуры, обеспечивающей канал передачи данных из центра
управления на радиостанцию. Затем загружаемые данные должны быть идентифицированы, с целью удостовериться, что они переданы уполномоченным на это источником. Поскольку подлежащие передаче данные часто содержат исполняемые файлы, необходимо обеспечить их помехоустойчивость.
Это достигается применением специальных методов кодирования и протоколов передачи.