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