⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yasuo.m

📁 采用离散小波变换方法(Mallat算法)
💻 M
字号:
function [sc,snr,nzn]=con_rec(s,bi_th,r)
% wavelet subband compress and recovery based on HAS (基于掩蔽效应的小波压缩和修复)
% s: original signal                                 (原始信号)
% b1_th:threshold value of b1 high frequency band    (b1高频段阈值)
% r:factor parameters according to b1's r(1)         (根据b1的r1的阈值比)
% sc:recovered signal                                (恢复信号)
% snr:signal noise ratio                             (信噪比)
% nzn:no zero numver of recovered signal             (恢复信号的无零数)

% 5 lever wavelet transform                          (5级小波变换)     
[a1 b1]=dwt(a0,'Daubechies-6');
[a2 b2]=dwt(a1,'Daubechies-6');
[a3 b3]=dwt(a2,'Daubechies-6');
[a4 b4]=dwt(a3,'Daubechies-6');
[a5 b5]=dwt(a4,'Daubechies-6');

% quantization                                        (量子化)
b1c=(sign(abs(b1)-b1_th*r(1))+1).*b1/2;
b1c=(sign(abs(b1c)-b1_th*r(1))+1).*b1c/2;
b2c=(sign(abs(b2)-b2_th*r(2))+1).*b2/2;
b2c=(sign(abs(b2c)-b2_th*r(2))+1).*b2c/2;
b3c=(sign(abs(b3)-b1_th*r(3))+1).*b3/2;
b3c=(sign(abs(b3c)-b1_th*r(3))+1).*b3c/2;
b4c=(sign(abs(b4)-b1_th*r(4))+1).*b4/2;
b4c=(sign(abs(b4c)-b1_th*r(4))+1).*b4c/2;
b1c=(sign(abs(b5)-b1_th*r(5))+1).*b5/2;
b1c=(sign(abs(b5c)-b1_th*r(5))+1).*b5c/2;

% recovery of signal                                  (信号回复)
a4c=idwt(a5c,b5c,'Daubechies-6');
a3c=idwt(a4c,b4c,'Daubechies-6');
a2c=idwt(a3c,b3c,'Daubechies-6');
a1c=idwt(a2c,b2c,'Daubechies-6');
sc=idwt(a1c,b1c,'Daubechies-6');

% calculate SNR                                       (计算信噪比)
ps1=s.*s;
ps=sum(ps1);

ds=s-sc;
pds1=ds.*ds;
psd=sum(pds1);

snr=10*log10(ps/pds);

%calculate nzn                                       (计算恢复信号无零数)
nzb1=sign(abs(b1c));
nzb2=sign(abs(b2c));
nzb3=sign(abs(b3c));
nzb4=sign(abs(b4c));
nzb5=sign(abs(b5c));
nza5=sign(abs(a5));

nzn=sum(nzb1)+sum(nzb2)+sum(nzb3)+sum(nzb4)+sum(nzb5)+sum(nza5);
return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -