Сгенерируйте код к Denoise сигнал

В этом примере показано, как использовать MATLAB® Coder™, чтобы сгенерировать исполняемый код. Wavelet Toolbox™ поддерживает генерацию кода для функций, которые поддерживают дискретный вейвлет преобразовывает (DWT), максимальное перекрытие дискретный вейвлет преобразовывает (MODWT), максимальный пакет вейвлета перекрытия преобразовывают (MODWPT), и рабочие процессы шумоподавления. Этот пример требует лицензии MATLAB Coder.

Задайте функцию, которая использует wden к denoise сигнал. Вы также задаете уровень, к которому к denoise, сигнал когда вы запускаете сгенерированный код.

  1. Из командной строки MATLAB создайте файл, sigdenoise.m.

    edit sigdenoise
    Если вы не имеете разрешения записать в текущую рабочую папку, изменяете текущую папку в ту, которая перезаписываема.

  2. Скопируйте этот sigdenoise функциональный код в sigdenoise.m файл. Ваш файл должен включать %#codegen указать, что эта функция сгенерирует код.

    function xdenoise = sigdenoise(x,level)
    
    %#codegen
    
    wname = 'sym4';
    xdenoise = wden(x,'sqtwolog','s','mln',level,wname);
    

  3. Сохраните файл.

  4. В командной строке 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}

  5. В командной строке MATLAB запустите сгенерированный код на шумных Доплеровских данных и denoise это, чтобы выровняться три. Сравните сигналы denoised и оригинал.

    load noisdopp
    xden = sigdenoise_mex(noisdopp,3);
    plot([noisdopp',xden'])
    legend('Original','Denoised')

Для списка функций Wavelet Toolbox, поддерживаемых для генерации кода и сопоставленных ограничений, смотрите Поддержку Генерации кода, Указания по применению и Ограничения. Для получения дополнительной информации о генерации кода смотрите Начало работы с MATLAB Coder (MATLAB Coder).

Для просмотра документации необходимо авторизоваться на сайте