資源簡介
Matlab小波分解和重構算法-db2.m
這是我自編的一個小波分解和重構的程序。重構部分就沒有畫出近似部分和細節(jié)部分的頻譜圖了。跟分解過程是相反的過程。
運行結果:
Figure15.jpg 小波分解和重構算法
Figure16.jpg 小波分解和重構算法
Figure17.jpg 小波分解和重構算法
Figure18.jpg 小波分解和重構算法
這是我自編的一個小波分解和重構的程序。重構部分就沒有畫出近似部分和細節(jié)部分的頻譜圖了。跟分解過程是相反的過程。
運行結果:
Figure15.jpg 小波分解和重構算法
Figure16.jpg 小波分解和重構算法
Figure17.jpg 小波分解和重構算法
Figure18.jpg 小波分解和重構算法
代碼片段和文件信息
v1=100;%載波頻率1%
v2=200;%載波頻率2%
v3=400;%載波頻率3%
r=1000;%采樣頻數(shù)%
k=1:100;
t=(k-1)/r;%離散時間%
s=sin(2*pi*v1*t)+sin(2*pi*v2*t)+sin(2*pi*v3*t);%由三個不同頻率正玹組合的信號%
g0=[0.68301;1.18301;0.31699;-0.18301];%分解高通濾波系數(shù)%
k=[0;1;2;3];
g1=flipud(g0).*(-1).^k;%分解低通濾波系數(shù)%
h0=flipud(g0)/2;%重構高通濾波系數(shù)%
h1=flipud(g1)/2;%重構低通濾波系數(shù)%
%分解過程%
x=conv(sh0);
a0=x(1:2:length(x));%卷積后采樣獲得第一級分解近似部分%
x=conv(sh1);
w0=x(1:2:length(x));%卷積后采樣獲得第一級分解細節(jié)部分%
x=conv(a0h0);
a1=x(1:2:length(x));%卷積后采樣獲得第二級分解近似部分%
x=conv(a0h1);
w1=x(1:2:length(x));%卷積后采樣獲得第二級分解細節(jié)部分%
figure(1);?%畫出信號圖和其頻譜圖%
subplot(211)plot(s)
ylabel(‘signal‘);
subplot(212)stem(linspace(-r/4r/4100)abs(fftshift(fft(s))));
ylabel(‘幅度譜‘);
figure(2)%畫出第一級近似部分與細節(jié)部分的時間和頻譜圖%
subplot(221)plot(a0)
ylabel(‘a(chǎn)_0‘);
subplot(222)stem(linspace(-r/4r/452)abs(fftshift(fft(a0))));
ylabel(‘第一級解調近似部分幅度譜‘);
subplot(223)plot(w0)
ylabel(‘w_0‘);
subplot(224)stem(linspace(-r/4r/452)abs(fftshift(fft(w0))))
ylabel(‘第一級解調細節(jié)部分幅度譜‘);
figure(3)%畫出第二級近似部分與細節(jié)部分的時間和頻譜圖%
subplot(2
評論
共有 條評論