主要内容

小波去噪

方法的使用dsp。DyadicAnalysisFilterBankdsp。DyadicSynthesisFilterBank系统对象用于从信号中去除噪声。

简介

小波在信号去噪中有着重要的应用。小波分解后,高频子带包含大部分噪声信息,信号信息较少。在本例中,对不同的子带进行软阈值处理。高频子带阈值越大,低频子带阈值越小。

初始化

在处理循环中使用System对象之前创建并初始化它们对于获得最佳性能至关重要。

负载dspwlets负载小波系数和噪声信号阈值= [3 2 1 0];

创建一个dsp。SignalSource系统对象™输出噪声信号。

signalGenerator = dsp.SignalSource(噪音。的,64);

创建和配置DyadicAnalysisFilterBank系统对象对信号进行小波分解。

dyadicAnalysis = dsp。DyadicAnalysisFilterBank (“CustomLowpassFilter”lod,“CustomHighpassFilter”藏,“NumLevels”3);

创建三个延迟系统对象补偿小波分量引入的系统时延。

delay1 = dsp.Delay(3*(length(lod)-1));delay2 = dsp.Delay(length(lod)-1);delay3 = dsp.Delay(7*(length(lod)-1));

创建和配置DyadicSynthesisFilterBank系统对象为信号的小波重构。

dyadicSynthesis = dsp。DyadicSynthesisFilterBank (“CustomLowpassFilter”不要生气,“CustomHighpassFilter”雇佣,“NumLevels”3);

创建一个timescope系统对象绘制原始、去噪和残差信号。

Scope = timescope(“名字”小波去噪的“SampleRate”fs,“时间间隔”13岁的“NumInputPorts”3,“LayoutDimensions”(3 - 1),“TimeAxisLabels”“底”“TimeSpanOverrunAction”“滚动”);pos =作用域。位置;范围。位置= [pos (1) pos (2) - (0.5 * pos (4)) 0.9 * pos (3) 2 * pos (4)];为每个显示设置属性范围。ActiveDisplay = 1;范围。Title =输入信号的;范围。ActiveDisplay = 2;范围。Title =的去噪信号;范围。ActiveDisplay = 3;范围。Title =“剩余信号”

流处理循环

创建一个处理循环去噪输入信号。这个循环使用上面实例化的System对象。

ii = 1:length(noisdopp)/64 sig = signalGenerator();输入噪声信号S = dyadicAnalysis(sig);%二进分析%分离成四个子带S1 = s (1:32);S2 = s (33:48);S3 = s (49:56);S4 = s (57:64);%用于补偿二元分析过滤器的延迟S1 = delay1(S1);S2 = delay2(S2);S1 = dspDeadZone(S1, Threshold(1));S2 = dspDeadZone(S2,阈值(2));S3 = dspDeadZone(S3, Threshold(3));S4 = dspDeadZone(S4,阈值(4));%二进合成(关于级联子带)S = dyadicSynthesis([S1;S2;S3;S4));Sig_delay = delay3(sig);%用于补偿分析/综合的延迟。错误= sig_delay - S;绘制结果scope(sig_delay, S, Error);结束释放(范围);

总结

此示例使用信号处理系统对象,例如DyadicAnalysisFilterBankDyadicSynthesisFilterBank使用用户指定的阈值去噪噪声信号。“输入信号”窗口显示原始噪声信号,“去噪信号”窗口显示噪声抑制后的信号,“剩余信号”窗口显示原始信号与去噪信号之间的误差。