语音信号预处理

语音信号预处理(一)

预加重

对输入的数字声音信号进行预加重,其目的是为了对声音的高频部分进行加重,去除口唇辐射的影响,增加声音的高频分辨率。一般通过一阶FIR高通数字滤波器来实现预加重,其公式为:
H(z)=1-az^(-1) 0.9≤a≤1.0 (2-1)
其中a为预加重系数,这里a值取0.98。这样,预加重网络的输出(S(n)) ̅和输入声音信号S(n)的关系可用一个差分方程表示[8]:
(S(n)) ̅=S(n)-aS(n-1) (2-2)
图2-2中分别给出了预加重前和预加重后的一段浊音信号,可以看出,预加重后的频谱在高频部分的幅度得到了提升。

预加重结果图

``

[x,sr]=audioread('0.wav');  %sr为采样频率,单声道
ee=x(1500:1755);
r=fft(ee,1024);
r1=abs(r);
pinlv=(0:1:255)*8000/512;
yuanlai=20*log10(r1);
signal(1:256)=yuanlai(1:256);
[h1,f1]=freqz([1,-0.98],[1],256,4000);
pha=angle(h1);
H1=abs(h1);
r2(1:256)=r(1:256);
u=r2.*h1';
u2=abs(u);
u3=20*log10(u2);
un=filter([1,-0.98],[1],ee);
 
figure(1);subplot(2,1,1);
plot(f1,H1);title('高通滤波器的幅频特性');
xlabel('频率/Hz');ylabel('幅度');
subplot(2,1,2);plot(pha);title('高通滤波器的相频特性');
xlabel('频率/Hz');ylabel('角度/rad');
figure(2);subplot(2,1,1);plot(ee);title('原始语音信号');
%axis([0 256 -3*10^4 2*10^4]);
xlabel('样点数');ylabel('幅度');
subplot(2,1,2);plot(un);title('经高通滤波后的语音信号');
%axis([0 256 -1*10^4 1*10^4]);
xlabel('样点数');ylabel('幅度');
figure(3);subplot(2,1,1);plot(pinlv,signal);title('原始语音信号频谱');
xlabel('频率/Hz');ylabel('幅度/dB');
subplot(2,1,2);plot(pinlv,u3);title('经高通滤波后的语音信号频谱');
xlabel('频率/Hz');ylabel('幅度/dB');
% 预加重功能测试
clc
close all
[filename,pathname]=...
    uigetfile({'*.wav';'*.bmp';'*.gif'},'choose');
str=[pathname filename];
[s,fs] = audioread(str);%读取

e=s(2000:2225);                                 %提取一段进行分析,容易看出变化
un=filter([1,-0.95],1,e);                       %预加重信号b=[1,-0.95];

%原始信号频谱
N=512;
pinlv=(0:1:N/2-1)*fs/N;
x=fft(e,N);
r1=abs(x);
t1=20*log10(r1);
signal=t1(1:N/2);

%预加重信号频谱
[h1,w1]=freqz([1,-0.95],1,256,fs);
pha=angle(h1);
H1=abs(h1);
r2=r1(1:N/2);
u=r2.*h1;
u2=abs(u);
signalPre=20*log10(u2);

figure(3);
subplot(211)
plot(e,'b*-')
ylim([-0.05,0.05])
hold on
plot(real(un),'ro-')
ylim([-0.5,0.5])
legend('原始语音信号','预加重后的语音信号')
title('原始语音信号和预加重后的语音信号');
xlabel('采样点');ylabel('幅度');
subplot(212);
plot(pinlv,signal,'g+-')
hold on
plot(pinlv,signalPre,'ro-')
legend('原始语音信号频谱','预加重后的语音信号频谱')
title('预加重前后的语音信号频谱');
xlabel('频率');ylabel('幅度/dB');


  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大桃子技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值