?? exa130401.m
字號:
%-------------------------------------------------------------------------
% exa130401
% 本程序先生成一個“Blocks”信號,然后加上高斯白噪聲,再用'db3'小波進行分解,
% 以說明信號和噪聲在各個尺度上的表現。
% 注:在該程序中,用到了子程序 GWNoisy.m,
% 該程序請讀者在如下的網站上下載:
% http://www-stat.stanford.edu/~wavelab/
% 因為該網站上的小波分析軟件并沒有列入MATLAB的工具箱,涉及到知識產權問題,
% 因此不能將其列入國內公開出版物上,但讀者可以自由下載。
%--------------------------------------------------------------------------
clear all;
% 生成“Blocks”信號
M = 1/1024;
N = 1/M;
t =0:M:1-1/1024;
TPoint = [0.1,0.13,0.15,0.23,0.25,0.40,0.44,0.65,0.76,0.78,0.81];
h = [4,-5,3,-4,5,-4.2,2.1,4.3,-3.1,2.1,-4.2];
[aaa,TSize] = size(TPoint);
FBlock = zeros(N,1);
for j = 1:N
for i = 1:TSize
if (t(j) - TPoint(i))> 0
sgnt = 1;
elseif (t(j) - TPoint(i))< 0
sgnt = -1;
else
sgnt =0;
end
FBlock(j) = FBlock(j) +h(i)*(1+sgnt)/2;
end
end
%sig=FBlock';
subplot(321)
plot(FBlock)
%title(' 原信號');
grid on;
% 加上白噪聲
sigma=0.1;
sig= GWNoisy(FBlock',sigma);
subplot(323)
plot(sig)
%title(' 帶噪信號');
grid on;
% 小波分解
[c,l]=wavedec(sig,2,'db3');
ca2=appcoef(c,l,'db3',2);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
subplot(322)
plot(cd1)
subplot(324)
plot(cd2)
subplot(326)
plot(ca2)
dl=length(cd2)+length(cd1);
c1=[ca2,zeros(1,dl)];
y=waverec(c1,l,'db3');
subplot(325)
plot(y)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -