decomposition.m
来自「信号压缩与解压程序代码和文件」· M 代码 · 共 33 行
M
33 行
% 小波分解与语音压缩程序,Xk0是提取的原始语音信号,step是表示要分解的层数
% XXh与Tx分别是分解压缩后返回的信号低频部分有用值以及各之所在的位置序列
% DD与Td分别是分解压缩后返回的信号高频部分有用值以及各之所在的位置序列
function [XXh,Tx,DD,Td]=decomposition(Xk0,step)
[h0,h1,g0,g1]=filtercoefficience;
Xh=Xk0';D=0;
for lstep=1:step
N=length(Xh);
Yk=fft(Xh,N);
H0k=fft(h0,N);
H1k=fft(h1,N);
Xh=twodrawwing(ifft(Yk(1:N).*conj(H0k(1:N))));
d=twodrawwing(ifft(Yk(1:N).*conj(H1k(1:N))));
D=[d,D];
end
Xh=real(Xh);D=real(D);
thrx = ddencmp('cmp','wv',Xh);
thrd= ddencmp('cmp','wv',D);
Tx=abs(Xh)>thrx;Td=abs(D)>thrd;
M=length(Xh);H=length(D);
k0=0;k1=0;
for m=1:M
if Tx(m) > 0
k0=k0+1;
XXh(k0)=Xh(m);
end
end
for h=1:H
if Td(h) > 0
k1=k1+1;
DD(k1)=D(h);
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?