此示例演示如何使用MATLAB®编码员™生成可执行代码。小波工具箱™ 支持为支持离散小波变换(DWT)、最大重叠离散小波变换(MODWT)、万博1manbetx小波包变换(WPT)、最大重叠小波包变换(MODWPT)和去噪工作流的函数生成代码。这个例子需要一个MATLAB编码器许可证
定义一个使用wdenoise
对信号进行去噪。您还可以指定在运行生成的代码时对信号进行去噪的级别。
在MATLAB命令提示符下,创建文件,signodenoise.m
.
编辑信号去噪
复制这个去信号
将函数代码放入signodenoise.m
文件您的文件必须包括%#编码基因
指示此函数将生成代码。
函数xdenoise=signodenoise(x,level)%#codegen wname='sym4';xdenoise=wdenoise(x,level,'Wavelet',wname,'DenoisingMethod','SURE','thresholdsrule','soft','NoiseEstimate','LevelIndependent');终止
保存文件。
在MATLAB命令行中,使用编码基因
函数来编译去信号
函数转换为MEX文件。你可以使用-o
选项指定可执行文件的名称。如果您不使用-o
选项,生成的MEX文件与原始MATLAB文件具有相同的名称_墨西哥
附加。您可以包括-报告
选项生成编译报告。此报告显示原始MATLAB代码以及在代码生成过程中创建的相关文件。这个-args
选项指定运行生成代码所需输入的数据类型。在这种情况下,需要可变大小的行向量和标量输入。
codegen signodenoise.m-config:mex-args{coder.typeof(1[1 inf]),0}
在MATLAB命令行中,对有噪声的多普勒数据运行生成的代码,并将其去噪至第三级。比较原始信号和去噪信号。
加载noisedopp xden=signodenoise_mex(noisedopp,3);绘图([noisdopp',xden'])图例('原始','去噪')
有关代码生成支持的小波工具箱函数列表和相关限制,请参阅万博1manbetx代码生成支持、使用说明和限制万博1manbetx. 有关代码生成的详细信息,请参见开始使用MATLAB编码器(MATLAB编码器).