同态滤波和参数滤波两种方法解卷积

时间:2024-03-27 20:40:57

前言

对语音信号的清音、浊音进行处理,把其中的声门激励信号和声道信息提取出来,采取的方法是同态滤波处理和参数解卷积两种方法


一、同态滤波方法

homomorphic filtering,大家都熟悉了,简单说:采用的原理如下

两个信号的卷积,可以先求fft,在fft上求log,卷积运算变成加法运算

real(log( abs(fft(x)) ) ) --->倒谱域,经过处理之后

反变换: ifft(exp(fft(cepstrum )))  得到时域原始信号

读入原始信号,选择浊音部分

z=rceps(x);  %MATLAB提供的倒频谱函数
figure(3)
plot(z(1:512))

得到倒谱信号

倒谱信号有明显的激励

这时候采用倒谱提升窗,分离声道信息和激励信息

%选择倒谱提升窗的边界点
mcep=40;

%声道信息
zz1 = zeros(size(z));

%激励信息
zz2 = zeros(size(z));

zz1(1:mcep) = z (1:mcep);
zz1(end - mcep +1 :end) = z (end - mcep +1 :end);

zz2(mcep+1:511) = z (mcep+1:511);
zz2(512:end-mcep) = z (512:end-mcep);

选用40的原因,在倒谱频域Quefrency轴上, 16000/40 = 320Hz,能cover -般的基频信息

%声道信息
% z1=real(ifft(exp(fft(zz1))));
z1= fft(real(ifft(exp(fft(zz1)))));

%激励信息
z2=real(ifft(exp(fft(zz2))));

figure
subplot(211)
plot(abs(z2(1:512)));
title('激励信号');
xlabel('时域');
ylabel('幅度');
% ylim([0 5]);

subplot(212)
plot(20*log10(abs(z1(1:512))));
title('声门信号');
xlabel('频域');
ylabel('分贝');

画出声门(时域)和声道信息(频域)

二、参数解卷积

        

使用自相关的办法求基频

x = voice_x;

% 最小频率点50hz
ms20=fs/50;                 

% 计算自相关
r=xcorr(x,ms20,'coeff');   

%最大频率点
ms2=fs/500    ;
%最小频率点
ms20=fs/50     ;
%确定delay
r=r(ms20+1:2*ms20+1);
[rmax,tx]=max(r(ms2:ms20));
f0 = fs/(ms2+tx-1);

调用LPC函数求LPC系数

%得到线性预测LP系数
ncoeff=2+fs/1000;
%lpc估计
a=lpc(x,ncoeff);

% [h t]= impz(1,a);
% figure
% plot(t,h);

%打印频谱
[h,f]=freqz(1,a,512,fs);

figure
subplot(211)
t = [0:length(x)-1]/fs;
% sim = A*sin(2*pi*f0*t);
f0 = fs/fix(fs/f0);

 产生激励信号

%creating pulsetrain;
for i =1:1024
    if i./((ms2+tx-1)) == floor(i./((ms2+tx-1)))
        sim(i) = 1;
    else
        sim (i) = 0;
    end
end

画出对应信号

plot(sim)
ylim([-2,2])
xlabel('时间');
ylabel('激励信号amp');
if (flag==0)
    title('清音,激励信号不做参考');
else
    title('浊音,激励信号');
end
    
% suptitle('参数提取方法');

subplot(2,1,2);
plot(f,20*log10(abs(h)+eps));
% plot(f,abs(h));

legend('LPC函数');
xlabel('频域');
ylabel('增益(dB)');

if (flag==0)
    title('清音,参数LPC声道不做参考');
else
    title('浊音,LPC声道信息');
end

 的到声门和激励


总结

使用两种方法对比:

左:同态信号处理:

右:参数办法

另外对清音信号处理

倒谱基频信息不明显

 

清音激励和声道

资源已经上传

同态滤波处理和LPC参数解卷积资源-CSDN文库