В этом примере показано, как использовать MATLAB® Coder™, чтобы сгенерировать исполняемый код. Wavelet Toolbox™ поддерживает генерацию кода для функций, которые поддерживают дискретный вейвлет преобразовывает (DWT), максимальное перекрытие дискретный вейвлет преобразовывает (MODWT), максимальный пакет вейвлета перекрытия преобразовывают (MODWPT), и рабочие процессы шумоподавления. Этот пример требует лицензии MATLAB Coder.
Задайте функцию, которая использует wden к denoise сигнал. Вы также задаете уровень, к которому к denoise, сигнал когда вы запускаете сгенерированный код.
Из командной строки MATLAB создайте файл, sigdenoise.m.
edit sigdenoise
Скопируйте этот sigdenoise функциональный код в sigdenoise.m файл. Ваш файл должен включать %#codegen указать, что эта функция сгенерирует код.
function xdenoise = sigdenoise(x,level) %#codegen wname = 'sym4'; xdenoise = wden(x,'sqtwolog','s','mln',level,wname);
Сохраните файл.
В командной строке MATLAB используйте codegen функционируйте, чтобы скомпилировать sigdenoise функция в файл MEX. Можно использовать -o опция, чтобы задать имя исполняемого файла. Если вы не используете -o опция, сгенерированный файл MEX имеет то же имя как исходный файл MATLAB с _mex добавленный. Можно включать -report опция, чтобы сгенерировать отчет компиляции. Этот отчет показывает оригинальный код MATLAB и связанные файлы, созданные во время генерации кода. -args опция задает типы данных входных параметров, требуемых запускать сгенерированный код. В этом случае вектор-строка переменного размера и скалярный вход требуются.
codegen sigdenoise.m -config:mex -args {coder.typeof(1,[1,inf],[false,true]),0}В командной строке MATLAB запустите сгенерированный код на шумных Доплеровских данных и denoise это, чтобы выровняться три. Сравните сигналы denoised и оригинал.
load noisdopp
xden = sigdenoise_mex(noisdopp,3);
plot([noisdopp',xden'])
legend('Original','Denoised')
Для списка функций Wavelet Toolbox, поддерживаемых для генерации кода и сопоставленных ограничений, смотрите Поддержку Генерации кода, Указания по применению и Ограничения. Для получения дополнительной информации о генерации кода смотрите Начало работы с MATLAB Coder (MATLAB Coder).