matlabウェーブレットノイズ除去プログラム
2920 ワード
本文には多くの例がありますが、皆さんは自分で取ります.
%%%%
clear all;clc ;close all;
load noissin;
figure;
s=noissin(1:1000);
subplot(211);plot(noissin);
title(' ');
[C,L]=wavedec(s,3,'sym2');
a=[1 2 3 ]; %%
p=[97 98 95]; %%
nc=wthcoef('d',C,L,a,p);
sd=waverec(nc,L,'sym2');
subplot(212); plot(sd);title(' ')
%%%%%%%
clear all;
clc ;
y=linspace(-1,1,100);
thr=0.4;
%%%
ythard=wthresh(y,'h',thr);
ytsoft=wthresh(y,'s',thr);
figure;
subplot(311);plot(y); grid on; title(' ');
subplot(312);plot(ythard);grid on; title(' ');
subplot(313);plot(ytsoft);grid on; title(' ');
%
clear all;
close all;
clc;
%%%%
load leleccum;
indx = 1:1024;
x = leleccum(indx);
%
init = 2055615866;
randn('seed',init);
nx = x + 18*randn(size(x));
% nx 'sym5' 5
% mimimaxi , ,
lev = 5;
xd = wden(nx,'minimaxi','s','mln',lev,'sym5');
subplot(221);
plot(x);
title(' ');
subplot(222);
plot(nx);
title(' ');
subplot(223);
plot(xd);
title(' ');
%%% 3 db5 , ,
% load leleccum;
% indx = 1:1024;
% x = leleccum(indx);
% %
% init = 2055615866;
% randn('seed',init);
% nx = x + 18*randn(size(x));
% % 'db5' 3
% [c,l] = wavedec(nx,3,'db5');
% %
% n = [1,2,3];
% %
% p = [100,90,80];
% %
% nc = wthcoef('d',c,l,n,p);
% %
% rx = waverec(nc,l,'db5');
% subplot(221);
% plot(x);
% title(' ');
% subplot(222);
% plot(nx);
% title(' ');
% subplot(223);
% plot(rx);
% title(' ');
%%% db6 , ,
% load leleccum;
% indx = 1:1024;
% x = leleccum(indx);
% %
% init = 2055615886;
% randn('seed',init);
% nx = x + 18*randn(size(x));
% % 'db6' 3
% [c,l] = wavedec(nx,3,'db6');
% % 1
% sigma = wnoisest(c,l,1);
% alpha = 2;
% %
% thr = wbmpen(c,l,sigma,alpha);
% keepapp = 1;
% %
% xd = wdencmp('gbl',c,l,'db6',3,thr,'s',keepapp);
% subplot(221);
% plot(x);
% title(' ');
% subplot(222);
% plot(nx);
% title(' ');
% subplot(223);
% plot(xd);
% title(' ');
% 1 , ,
% load leleccum;
% index = 1:1024;
% x = leleccum(index);
% %
% init = 2055615866;
% randn('seed',init);
% nx = x + 18*randn(size(x));
% %
% [thr,sorh,keepapp]=ddencmp('den','wv',nx); %%%
% %
% xd = wdencmp('gbl',nx,'db4',2,thr,sorh,keepapp);
% subplot(221);
% plot(x);
% title(' ');
% subplot(222);
% plot(nx);
% title(' ');
% subplot(223);
% plot(xd);
% title(' ');