Download Help (Windows Only) |

**Owning Palette:** Feature Extraction VIs

**Requires:** Advanced Signal Processing Toolkit

Performs noise reduction for 1D or 2D signals by using the discrete wavelet transform (DWT) or undecimated wavelet transform (UWT). You must manually select the polymorphic instance to use.

Use the pull-down menu to select an instance of this VI.

threshold settings specifies the settings for the thresholding approximation coefficients and detail coefficients from the wavelet decomposition.
| |||||||||||||||||||||

option for approx coef specifies the operation for the approximation coefficients from the wavelet decomposition. If you specify a value for user defined thresholds, this VI ignores the settings in option for approx coef.
| |||||||||||||||||||||

signal specifies the input signal. | |||||||||||||||||||||

levels specifies the number of levels in the discrete wavelet analysis. levels must be a positive integer no greater than log2(Ls), where Ls is the length of the 1D signal or the minimum dimensional size of the 2D signal. Otherwise, you can set the value to –1, which indicates that this VI sets levels as the largest integer no greater than log2(Ls). The default is –1. | |||||||||||||||||||||

wavelet specifies the wavelet type to use for the discrete wavelet analysis. The default is db02. The options include two types: orthogonal (Haar, Daubechies (db), Coiflets (xxcoif), Symmlets (xsym)) and biorthogonal (Biorthogonal (xbior), including FBI (x_xbior4_4 (FBI))), where x indicates the order of the wavelet. The higher the order, the smoother the wavelet. The orthogonal wavelets are not redundant and are suitable for signal or image denoising and compression. The biorthogonal wavelets usually have the linear phase property and are suitable for signal or image feature extraction. If you want to use other types of wavelets, do not wire this input. Instead, use the Wavelet Design Express VI to design the wavelet you want, bundle the resulting analysis and synthesis filters, and then wire them to the filter banks input.
| |||||||||||||||||||||

error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |||||||||||||||||||||

filter banks specifies the analysis filter banks and the synthesis filter banks for the wavelet you specify. If you specify a value for filter banks, this VI ignores the settings in the wavelet input. You can use the Wavelet Design Express VI to design the analysis filters and the corresponding synthesis filters.
| |||||||||||||||||||||

user defined thresholds specifies thresholds you define to rescale the wavelet coefficients. The length of user defined thresholds must equal levels. The first element of user defined thresholds contains the threshold for the detail coefficients at the largest level, and the last element of user defined thresholds contains the threshold for the detail coefficients at the first level. If you specify a value for user defined thresholds, this VI keeps the approximation coefficients unchanged and ignores the settings in thresholding rule, rescaling method, and option for approx coef. | |||||||||||||||||||||

denoised signal returns the signal after denoising. | |||||||||||||||||||||

error out contains error information. This output provides standard error out functionality. |

threshold settings specifies the settings for the thresholding approximation coefficients and detail coefficients from the wavelet decomposition.
| |||||||||||||||||||||

option for approx coef specifies the operation for the approximation coefficients from the wavelet decomposition. If you specify a value for user defined thresholds, this VI ignores the settings in option for approx coef.
| |||||||||||||||||||||

signal specifies the input signal. | |||||||||||||||||||||

levels specifies the number of levels in the discrete wavelet analysis. levels must be a positive integer no greater than log2(Ls), where Ls is the length of the 1D signal or the minimum dimensional size of the 2D signal. Otherwise, you can set the value to –1, which indicates that this VI sets levels as the largest integer no greater than log2(Ls). The default is –1. | |||||||||||||||||||||

wavelet specifies the wavelet type to use for the discrete wavelet analysis. The default is db02. The options include two types: orthogonal (Haar, Daubechies (db), Coiflets (xxcoif), Symmlets (xsym)) and biorthogonal (Biorthogonal (xbior), including FBI (x_xbior4_4 (FBI))), where x indicates the order of the wavelet. The higher the order, the smoother the wavelet. The orthogonal wavelets are not redundant and are suitable for signal or image denoising and compression. The biorthogonal wavelets usually have the linear phase property and are suitable for signal or image feature extraction. If you want to use other types of wavelets, do not wire this input. Instead, use the Wavelet Design Express VI to design the wavelet you want, bundle the resulting analysis and synthesis filters, and then wire them to the filter banks input.
| |||||||||||||||||||||

error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |||||||||||||||||||||

filter banks specifies the analysis filter banks and the synthesis filter banks for the wavelet you specify. If you specify a value for filter banks, this VI ignores the settings in the wavelet input. You can use the Wavelet Design Express VI to design the analysis filters and the corresponding synthesis filters.
| |||||||||||||||||||||

user defined thresholds specifies thresholds you define to rescale the wavelet coefficients. The length of user defined thresholds must equal levels. The first element of user defined thresholds contains the threshold for the detail coefficients at the largest level, and the last element of user defined thresholds contains the threshold for the detail coefficients at the first level. If you specify a value for user defined thresholds, this VI keeps the approximation coefficients unchanged and ignores the settings in thresholding rule, rescaling method, and option for approx coef. | |||||||||||||||||||||

denoised signal returns the signal after denoising. | |||||||||||||||||||||

error out contains error information. This output provides standard error out functionality. |

threshold settings specifies the settings for the thresholding approximation coefficients and detail coefficients from the wavelet decomposition.
| |||||||||||||||||||||

option for approx coef specifies the operation for the approximation coefficients from the wavelet decomposition. If you specify a value for user defined thresholds, this VI ignores the settings in option for approx coef.
| |||||||||||||||||||||

signal specifies the input signal. | |||||||||||||||||||||

levels specifies the number of levels in the discrete wavelet analysis. levels must be a positive integer no greater than log2(Ls), where Ls is the length of the 1D signal or the minimum dimensional size of the 2D signal. Otherwise, you can set the value to –1, which indicates that this VI sets levels as the largest integer no greater than log2(Ls). The default is –1. | |||||||||||||||||||||

wavelet specifies the wavelet type to use for the discrete wavelet analysis. The default is db02. The options include two types: orthogonal (Haar, Daubechies (db), Coiflets (xxcoif), Symmlets (xsym)) and biorthogonal (Biorthogonal (xbior), including FBI (x_xbior4_4 (FBI))), where x indicates the order of the wavelet. The higher the order, the smoother the wavelet. The orthogonal wavelets are not redundant and are suitable for signal or image denoising and compression. The biorthogonal wavelets usually have the linear phase property and are suitable for signal or image feature extraction. If you want to use other types of wavelets, do not wire this input. Instead, use the Wavelet Design Express VI to design the wavelet you want, bundle the resulting analysis and synthesis filters, and then wire them to the filter banks input.
| |||||||||||||||||||||

error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |||||||||||||||||||||

filter banks specifies the analysis filter banks and the synthesis filter banks for the wavelet you specify. If you specify a value for filter banks, this VI ignores the settings in the wavelet input. You can use the Wavelet Design Express VI to design the analysis filters and the corresponding synthesis filters.
| |||||||||||||||||||||

user defined thresholds specifies thresholds you define to rescale the wavelet coefficients. The length of user defined thresholds must equal levels. The first element of user defined thresholds contains the threshold for the detail coefficients at the largest level, and the last element of user defined thresholds contains the threshold for the detail coefficients at the first level. If you specify a value for user defined thresholds, this VI keeps the approximation coefficients unchanged and ignores the settings in thresholding rule, rescaling method, and option for approx coef. | |||||||||||||||||||||

denoised signal returns the signal after denoising. | |||||||||||||||||||||

error out contains error information. This output provides standard error out functionality. |

threshold settings specifies the settings for the thresholding approximation coefficients and detail coefficients from the wavelet decomposition.
| |||||||||||||||||||||

option for approx coef specifies the operation for the approximation coefficients from the wavelet decomposition. If you specify a value for user defined thresholds, this VI ignores the settings in option for approx coef.
| |||||||||||||||||||||

signal specifies the input signal. | |||||||||||||||||||||

levels specifies the number of levels in the discrete wavelet analysis. levels must be a positive integer no greater than log2(Ls), where Ls is the length of the 1D signal or the minimum dimensional size of the 2D signal. Otherwise, you can set the value to –1, which indicates that this VI sets levels as the largest integer no greater than log2(Ls). The default is –1. | |||||||||||||||||||||

wavelet specifies the wavelet type to use for the discrete wavelet analysis. The default is db02. The options include two types: orthogonal (Haar, Daubechies (db), Coiflets (xxcoif), Symmlets (xsym)) and biorthogonal (Biorthogonal (xbior), including FBI (x_xbior4_4 (FBI))), where x indicates the order of the wavelet. The higher the order, the smoother the wavelet. The orthogonal wavelets are not redundant and are suitable for signal or image denoising and compression. The biorthogonal wavelets usually have the linear phase property and are suitable for signal or image feature extraction. If you want to use other types of wavelets, do not wire this input. Instead, use the Wavelet Design Express VI to design the wavelet you want, bundle the resulting analysis and synthesis filters, and then wire them to the filter banks input.
| |||||||||||||||||||||

error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |||||||||||||||||||||

filter banks specifies the analysis filter banks and the synthesis filter banks for the wavelet you specify. If you specify a value for filter banks, this VI ignores the settings in the wavelet input. You can use the Wavelet Design Express VI to design the analysis filters and the corresponding synthesis filters.
| |||||||||||||||||||||

user defined thresholds specifies thresholds you define to rescale the wavelet coefficients. The length of user defined thresholds must equal levels. The first element of user defined thresholds contains the threshold for the detail coefficients at the largest level, and the last element of user defined thresholds contains the threshold for the detail coefficients at the first level. If you specify a value for user defined thresholds, this VI keeps the approximation coefficients unchanged and ignores the settings in thresholding rule, rescaling method, and option for approx coef. | |||||||||||||||||||||

denoised signal returns the signal after denoising. | |||||||||||||||||||||

error out contains error information. This output provides standard error out functionality. |

threshold settings specifies the settings for the thresholding approximation coefficients and detail coefficients from the wavelet decomposition.
| |||||||||||||||||||||

option for approx coef specifies the operation for the approximation coefficients from the wavelet decomposition. If you specify a value for user defined thresholds, this VI ignores the settings in option for approx coef.
| |||||||||||||||||||||

signal specifies the input signal. | |||||||||||||||||||||

levels specifies the number of levels in the discrete wavelet analysis. levels must be a positive integer no greater than log2(Ls), where Ls is the length of the 1D signal or the minimum dimensional size of the 2D signal. Otherwise, you can set the value to –1, which indicates that this VI sets levels as the largest integer no greater than log2(Ls). The default is –1. | |||||||||||||||||||||

wavelet specifies the wavelet type to use for the discrete wavelet analysis. The default is db02. The options include two types: orthogonal (Haar, Daubechies (db), Coiflets (xxcoif), Symmlets (xsym)) and biorthogonal (Biorthogonal (xbior), including FBI (x_xbior4_4 (FBI))), where x indicates the order of the wavelet. The higher the order, the smoother the wavelet. The orthogonal wavelets are not redundant and are suitable for signal or image denoising and compression. The biorthogonal wavelets usually have the linear phase property and are suitable for signal or image feature extraction. If you want to use other types of wavelets, do not wire this input. Instead, use the Wavelet Design Express VI to design the wavelet you want, bundle the resulting analysis and synthesis filters, and then wire them to the filter banks input.
| |||||||||||||||||||||

error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |||||||||||||||||||||

filter banks specifies the analysis filter banks and the synthesis filter banks for the wavelet you specify. If you specify a value for filter banks, this VI ignores the settings in the wavelet input. You can use the Wavelet Design Express VI to design the analysis filters and the corresponding synthesis filters.
| |||||||||||||||||||||

user defined thresholds specifies thresholds you define to rescale the wavelet coefficients. The length of user defined thresholds must equal levels. The first element of user defined thresholds contains the threshold for the detail coefficients at the largest level, and the last element of user defined thresholds contains the threshold for the detail coefficients at the first level. If you specify a value for user defined thresholds, this VI keeps the approximation coefficients unchanged and ignores the settings in thresholding rule, rescaling method, and option for approx coef. | |||||||||||||||||||||

denoised signal returns the signal after denoising. | |||||||||||||||||||||

error out contains error information. This output provides standard error out functionality. |

threshold settings specifies the settings for the thresholding approximation coefficients and detail coefficients from the wavelet decomposition.
| |||||||||||||||||||||

signal specifies the 2D input signal. | |||||||||||||||||||||

levels specifies the number of levels in the discrete wavelet analysis. levels must be a positive integer no greater than log2(Ls), where Ls is the length of the 1D signal or the minimum dimensional size of the 2D signal. Otherwise, you can set the value to –1, which indicates that this VI sets levels as the largest integer no greater than log2(Ls). The default is –1. | |||||||||||||||||||||

wavelet specifies the wavelet type to use for the discrete wavelet analysis. The default is db02. The options include two types: orthogonal (Haar, Daubechies (db), Coiflets (xxcoif), Symmlets (xsym)) and biorthogonal (Biorthogonal (xbior), including FBI (x_xbior4_4 (FBI))), where x indicates the order of the wavelet. The higher the order, the smoother the wavelet. The orthogonal wavelets are not redundant and are suitable for signal or image denoising and compression. The biorthogonal wavelets usually have the linear phase property and are suitable for signal or image feature extraction. If you want to use other types of wavelets, do not wire this input. Instead, use the Wavelet Design Express VI to design the wavelet you want, bundle the resulting analysis and synthesis filters, and then wire them to the filter banks input.
| |||||||||||||||||||||

error in describes error conditions that occur before this node runs. This input provides standard error in functionality. | |||||||||||||||||||||

filter banks specifies the analysis filter banks and the synthesis filter banks for the wavelet you specify. If you specify a value for filter banks, this VI ignores the settings in the wavelet input. You can use the Wavelet Design Express VI to design the analysis filters and the corresponding synthesis filters.
| |||||||||||||||||||||

user defined thresholds specifies thresholds you define to rescale the wavelet coefficients. The length of user defined thresholds must equal levels. The first element of user defined thresholds contains the threshold for the detail coefficients at the largest level, and the last element of user defined thresholds contains the threshold for the detail coefficients at the first level. If you specify a value for user defined thresholds, this VI keeps the approximation coefficients unchanged and ignores the settings in thresholding rule and rescaling method. | |||||||||||||||||||||

denoised signal returns the signal after denoising. | |||||||||||||||||||||

error out contains error information. This output provides standard error out functionality. |

This VI completes the following steps to implement the noise reduction for signals and images using wavelet transforms.

- Applies the wavelet transform to the noisy data and obtains the detail coefficients and the approximation coefficients.
- Applies soft or hard thresholding to the resulting coefficients, thereby suppressing those coefficients smaller than a certain threshold. The thresholding rule and the rescaling method determine the threshold.
- Reconstructs the coefficients after thresholding and transforms them back into the original domain.

To perform denoising on complex signals, use the UWT method.

In general, the DWT is more efficient for decomposing signals, but the UWT provides better denoising performance because it can help reduce artifacts, such as Gibbs oscillation.

The following illustration shows soft and hard thresholding operations. The soft thresholding operation sets the coefficients smaller than the threshold to 0 and shrinks the others toward 0. The hard thresholding operation sets the coefficients smaller than the threshold to 0 and keeps the values of the other coefficients.

The hard thresholding operation keeps the amplitude consistent before and after denoising but might include some Gibbs oscillation at the edges. The soft thresholding operation can keep the continuity of the coefficients and the smoothness of the reconstructed signal but might reduce the signal amplitude.

Refer to A Wavelet Tour of Signal Processing for more information about denoising.

- Coifman, R., and D. Donoho. "Translation invariant denoising."
*Technical Report 475*, Department of Statistics, Stanford University (May 1995). - Donoho, D. "De-noising by soft-thresholding."
*IEEE Transactions Information Theory*41, no. 3 (1995): 613-627. - Zhang, Y., Y. Wang, and W. Wang. "Denoising Quadrature Doppler signals from bidirectional flow using the wavelet frame."
*IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control*50, no. 5 (2003): 561-564. - Zhang, Y., Y. Wang, W. Wang, and B. Liu. "Doppler ultrasound signal denoising based on wavelet frames."
*IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control*48, no. 3 (2001): 709-716.

Refer to the following VIs for examples of using the WA Denoise VI:

- Denoise - 1D Complex Signal VI: labview\examples\Wavelet Analysis\WAGettingStarted
- Denoise - 1D Real Signal VI: labview\examples\Wavelet Analysis\WAGettingStarted
- Denoise - Image VI: labview\examples\Wavelet Analysis\WAGettingStarted

Helpful

Not Helpful