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

📄 receiver.m

📁 很好的MATLAB开发源程序 基于VQ矢量量化的语音识别程序
💻 M
字号:
%接收端执行程序,接收索引号并在码本语音库中根据索引提取语音数据最终合成语音   
load('voicedatacodebook','vcw');
load('transdata','transindex1');
sr=vcw(:,transindex1(1));
for i=2:length(transindex1)
    sr=vertcat(sr,vcw(:,transindex1(i)));
end
soundview(sr,8000,'speechreceived1');%播放滤波前语音
%将合成语音进行二次平滑滤波
l=length(sr);
sr1=zeros(l,1);
sr2=zeros(l,1);
sr3=zeros(l,1);
sr1(1)=sr(1);
sr1(l)=sr(l);
for i=2:l-1
   vm=[ sr(i-1) sr(i) sr(i+1) ];
   sr1(i)=median(vm);
end

for i=2:l-1
   vm=[ 0.25*sr1(i-1) 0.5*sr1(i) 0.25*sr1(i+1) ];
   sr1(i)=mean(vm);
end
sr2=sr-sr1;
for i=2:l-1
   vm=[ sr2(i-1) sr2(i) sr2(i+1) ];
   sr2(i)=median(vm);
end

for i=2:l-1
   vm=[ 0.25*sr2(i-1) 0.5*sr2(i) 0.25*sr2(i+1) ];
   sr2(i)=mean(vm);
end
sr3=sr1+sr2;
soundview(sr3,8000,'speechreceived2');%播放滤波后语音
%计算滤波前后信噪比
load('originalspeechdata','sd');
snr0=10*log10(sum(sd.^2,1)/sum((sd-sr).^2,1));%计算滤波前信噪比
disp(snr0);
snr1=10*log10(sum(sd.^2,1)/sum((sd-sr3).^2,1));%计算滤波后信噪比
disp(snr1);

⌨️ 快捷键说明

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