资源简介

DCT法,就是运用复倒谱对信号做去混响处理,有效去除混响。

资源截图

代码片段和文件信息

load matlab1.mat;
%sound(y11116000);

y=zeros(2700001);

[y111y222y333]=gcc(y111y222y333);% 通过GCC来讲三个信号对齐 

sigma=zeros(4801);  %sigma是指数窗 。20ms一帧,16000*20ms=320个点为一帧。1/2重叠,即160点重叠,160个点不重叠
for i=1:1:480;
sigma(i)=0.999999^i;
end

rn=zeros(4801); %rn 函数
rn(1)=1;
rn(241)=1;
rn(2:240)=2;

wlow=zeros(4801);%低通函数 
wlow(1:200)=1;

for i=1:840
    
    low=320*(i-1)+1;
    high=low+479;
    
    y1=y111(low:high);
    y2=y222(low:high);
    y3=y333(low:high);
    
    y1=y1.*sigma;
    y2=y2.*sigma;
    y3=y3.*sigma;
    
    dcty1=dct(y1);
    dcty2=dct(y2);
    dcty3=dct(y3);
    
    dcty1=log(abs(dcty1));
    dcty2=log(abs(dcty2));
    dcty3=log(abs(dcty3));
    
    idcty1=idct(dcty1);
    idcty2=idct(dcty2);
    idcty3=idct(dcty3);
    
    y0=(idcty1+idcty2+idcty3)/3;
    y0=y0.*wlow;
    y0=idct(exp(dct(y0)));
    y0=y0./sigma;
    y(low:high)=y(low:high)+y0;
end

f=ones(201);
f=f/20;



ylst=conv(yf);
 sound(ylst16000);
 
 
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1058  2014-07-31 18:58  quhunxiangDCT.m

评论

共有 条评论