denoising using wavelet

How i can do denoising of 2-D signals with wavelet by using matlab cods ? plz help me :(

 Accepted Answer

Wayne King
Wayne King on 25 Nov 2011
Edited: John Kelly on 27 May 2014

0 votes

I'm not sure why your original post was about 2-D and it turns out that you have 1-D signals.
Yes, what you have done is basically correct. You could also use wden().

2 Comments

hajer
hajer on 25 Nov 2011
plz how i can differentiation between 1-D and 2-D
also , if i have signal extracted from ECG device and it mix from mother and fetus signal
is it 1-D or 2-D ???????
Sorry for the inconvenience
Hi, 2-D is an image, a function of two variables. ECG is 1-D signal. It is a function of one variable (time -- even though it is sampled).
If you have two ECG signals, you have two 1-D signals.

Sign in to comment.

More Answers (2)

Wayne King
Wayne King on 25 Nov 2011

0 votes

Hi, You have a couple of options.
1.) use wavemenu. Enter wavemenu at the command line and then choose, Wavelet 2-D, or SWT Denoising 2-D. Starting in R2011b, you can generate MATLAB code for your denoising directly from the wavemenu GUI.
From the command line, you can use wavedec2 and wdencmp, for decimated 2-D Wavelet denoising, and swt2 and wthresh or stationary wavelet 2-D denoising.
There are some good User's Guide examples of using the GUI and generating MATLAB code for 2-D denoising here:
and here:
Note that the generated code in these examples also shows you how to implement 2-D wavelet denoising from the command line.

1 Comment

hajer
hajer on 25 Nov 2011
thanks very much Wayne King ....
if i have two mixed ecg signals
and i added some noise to signals
then i called ddencmp and wdencmp functions
like this
% load 2 ecg signals
x1 = repmat(ecg(50), 1, 8);
x2 = repmat(ecg(25), 1, 16);
%plotting commands
figure (1),
subplot(2,1,1),plot(x1)
title(strcat(['Original signals' ]));
subplot(2,1,2),plot(x2)
%mixed signal
s=[x1;x2];
A=randn(10,2);
mixed = A*s;
%Noise
noise = randn(10,length(mixed)).*0.18;
signalWithNoise=mixed+noise;
%----------------denoising------------%
[thr,sorh,keepapp] = ddencmp('den','wv',signalWithNoise);
xd =wdencmp('gbl',signalWithNoise,'sym10',10,thr,sorh,keepapp);
is denoising right or not ??

Sign in to comment.

shivangi b
shivangi b on 8 Sep 2016
Edited: Walter Roberson on 11 Sep 2016
sir,
for image de-noising using stationary wavelet transform and threshold techiques I have used
THR = wthrmngr('sw1ddenoLVL',METHOD,SWTDEC,SCAL)
command swtdec =db1,scal= 2 ,method ='rigsure'.
couldn't decompose the original image and hard and soft threshold used . plz replay me sir id:shivangisbv@gmail.com

1 Comment

As this isn't an answer to the posted question, please delete and post as your own question.

Sign in to comment.

Products

Asked:

on 25 Nov 2011

Edited:

on 11 Sep 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!