В этом примере показано, как использовать 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).