主要内容

生成代码以变态信号

此示例显示了如何使用MATLAB®CODER™生成可执行代码。小波Toolbox™支持支持离散小波转换(金宝appDWT),最大重叠离散小波转换(MODWT),小波数据包转换(WPT),最大重叠小波数据包转换(MODWPT)(MODWPT)和DENOSONOWISE工作表的功能。此示例需要一个MATLAB编码器执照。

定义一个使用的函数wdenoisedenoise信号。您还指定运行生成的代码时指定信号的级别。

  1. 从matlab命令提示符中,创建文件,Sigdenoise.M

    编辑Sigdenoise
    如果您无权写入当前工作文件夹,请将当前文件夹更改为可写的文件夹。

  2. 复制此Sigdenoise功能代码到Sigdenoise.M文件。您的文件必须包括%#codegen指示此功能将生成代码。

    函数Xdenoise = Sigdenoise(X,Level)%#codegen wname ='sym4';XDENOISE = WDENOISE(X,Level,'wavelet',Wname,...'DeNoisingMethod','sure',...'...'thresholdrule','soft',...'noyeSestimate','noceedestimate','lactimentedents');结尾

  3. 保存文件。

  4. 在MATLAB命令行,使用代码根功能来编译Sigdenoise函数中的MEX文件。您可以使用-o选项指定可执行文件的名称。如果您不使用-o选项,生成的MEX文件具有与原始MATLAB文件相同的名称_mex附加。您可以包括-报告生成汇编报告的选项。该报告显示了原始的MATLAB代码和代码生成期间创建的关联文件。这-args选项指定运行生成代码所需的输入的数据类型。在这种情况下,需要一个可变大小的行矢量和标量输入。

    codegen sigdenoise.m -config:mex -args {coder.typeof(1,[1 inf]),0}

  5. 在MATLAB命令行,在嘈杂的多普勒数据上运行生成的代码,并将其定位到第三级。比较原始信号。

    加载noisdopp xden = sigdenoise_mex(noisdopp,3);绘图([noisdopp',xden'])传奇('原始','deNoised')

有关支持代码生成和相关限制的小波工具箱函数列表,请参见金宝app代码生成支持,用法注释和限制金宝app。有关代码生成的更多信息,请参阅开始使用MATLAB编码器(MATLAB编码器)

也可以看看

相关话题