📄 sbc4.asv
字号:
function sbc4
% function of subbands coding;
% accomplish 4 subbands coding of voice-signals;
% DPCM use 8,8,4,4 bits within eath subband;
clear;close all;
a=input('PLease input the bits vecter of the subband of 4 subband-coding:');
[m,n]=size(a);
if n~=4||mean(a)<=6
display('You have input a error vection,try again!');
[w,f,n]=wavread('E:/MATLAB6p5/work/w2.wav');
wavplay(w/max(w),8*f);
return;
end
tic;
[x1,fs,nb]=wavread('E:\MATLAB6p5\work\2006\manspeech.wav');
wc=3400;wc=wc/fs;[m,n]=size(x1);
y=lowpass(x1,wc);
wavwrite(x1,fs/3,nb,'E:\manspeech1.wav');
[x,fs,nb]=wavread('E:\manspeech1.wav');
[y1,y2]=bandpass(x);m1=y1;m2=y2;
[a1,a2]=bandpass(m1);[a3,a4]=bandpass(m2);
y1=code(a1,a(1));y2=code(a1,a(2));
y3=code(a2,a(3));y4=code(a2,a(4));
dec=decode(y1,a(1));y1=dec;dec=decode(y2,a(2));y2=dec;
dec=decode(y3,a(3));y3=dec;dec=decode(y4,a(4));y4=dec;
[yy1,yy2]=restructor(y1,y2);[yy3,yy4]=restructor(y3,y4);
f1=result(yy1,yy2);f2=result(yy3,yy4);
[yy1,yy2]=restructor(f1,f2);
re=result(yy1,yy2);
re=re/max(re);
wavwrite(re,fs*3,max(a),'E:\manspeech_4.wav');
toc,
error=abs(sum((re(1:m)-x1))/sum(x1))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -