denoising using wavelet

6 views (last 30 days)
hajer
hajer on 25 Nov 2011
Edited: Walter Roberson on 11 Sep 2016
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
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
Wayne King
Wayne King on 25 Nov 2011
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
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
Geoff Hayes
Geoff Hayes on 11 Sep 2016
As this isn't an answer to the posted question, please delete and post as your own question.

Sign in to comment.

Categories

Find more on Denoising and Compression in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!