主要内容

生成去噪信号的代码

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

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

  1. 在MATLAB命令提示符下,创建文件,signodenoise.m.

    编辑信号去噪
    如果您没有写入当前工作文件夹的权限,请将当前文件夹更改为可写文件夹。

  2. 复制这个去信号将函数代码放入signodenoise.m文件您的文件必须包括%#编码基因指示此函数将生成代码。

    函数xdenoise=signodenoise(x,level)%#codegen wname='sym4';xdenoise=wdenoise(x,level,'Wavelet',wname,'DenoisingMethod','SURE','thresholdsrule','soft','NoiseEstimate','LevelIndependent');终止

  3. 保存文件。

  4. 在MATLAB命令行中,使用编码基因函数来编译去信号函数转换为MEX文件。你可以使用-o选项指定可执行文件的名称。如果您不使用-o选项,生成的MEX文件与原始MATLAB文件具有相同的名称_墨西哥附加。您可以包括-报告选项生成编译报告。此报告显示原始MATLAB代码以及在代码生成过程中创建的相关文件。这个-args选项指定运行生成代码所需输入的数据类型。在这种情况下,需要可变大小的行向量和标量输入。

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

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

    加载noisedopp xden=signodenoise_mex(noisedopp,3);绘图([noisdopp',xden'])图例('原始','去噪')

有关代码生成支持的小波工具箱函数列表和相关限制,请参阅万博1manbetx代码生成支持、使用说明和限制万博1manbetx. 有关代码生成的详细信息,请参见开始使用MATLAB编码器(MATLAB编码器).

另见

相关话题