主要内容

生成代码去噪信号

这个例子展示了如何使用MATLAB®编码器™生成可执行代码。小波工具箱™支持支持离散小波变换(DWT)金宝app、最大重叠小波变换(MODWT)、小波包变换(WPT)、最大重叠小波包变换(MODWPT)和去噪工作流的函数的代码生成。本示例需要一个MATLAB编码器许可证。

定义一个使用wdenoise使信号降噪您还可以指定在运行生成的代码时降噪信号的级别。

  1. 在MATLAB命令提示符中,创建文件,sigdenoise.m

    编辑sigdenoise
    如果没有对当前工作目录的写权限,请将当前工作目录修改为可写目录。

  2. 复制这个sigdenoise函数代码sigdenoise.m文件。你的文件必须包括% # codegen表示此函数将生成代码。

    函数xdenoise = sigdenoise(x,level) %#codegen wname = 'sym4';xdenoise = wdenoise (x)的水平,“小波”,wname,…‘DenoisingMethod’,‘确定’,……‘ThresholdRule’,‘软’,……“NoiseEstimate”、“LevelIndependent”);结束

  3. 保存文件。

  4. 在MATLAB命令行中,使用codegen函数编译sigdenoise函数转换为一个MEX文件。你可以使用- o选项指定可执行文件的名称。如果你不使用- o选项,生成的MEX文件具有与原始MATLAB文件相同的名称_mex附加。你可以包括报告选项生成编译报告。这个报告显示了原始的MATLAB代码和在代码生成期间创建的相关文件。的arg游戏选项指定运行生成的代码所需的输入的数据类型。在本例中,需要一个可变大小的行向量和一个标量输入。

    codegen sigdenoise。M -config:mex -args{编码器。typeof([1正]),0}

  5. 在MATLAB命令行中,对噪声多普勒数据运行生成的代码,并将其降噪到三级。比较原始信号和去噪信号。

    Load noisdopp xden = sigdenoise_mex(noisdopp,3);情节([noisdopp, xden])传说(“原始”,“去噪”)

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

另请参阅

相关的话题