语音信号处理,基于MATLAB的子带编码实现

上传人:ca****in 文档编号:72787506 上传时间:2022-04-09 格式:DOCX 页数:28 大小:311.09KB
收藏 版权申诉 举报 下载
语音信号处理,基于MATLAB的子带编码实现_第1页
第1页 / 共28页
语音信号处理,基于MATLAB的子带编码实现_第2页
第2页 / 共28页
语音信号处理,基于MATLAB的子带编码实现_第3页
第3页 / 共28页
资源描述:

《语音信号处理,基于MATLAB的子带编码实现》由会员分享,可在线阅读,更多相关《语音信号处理,基于MATLAB的子带编码实现(28页珍藏版)》请在装配图网上搜索。

1、一:子带编码1.子带编码首先将输入信号分割成几个不同的频带分量,然后再分别进行编码,这类编码方式称为频域编码。2.把语音信号分成若干子带进行编码主要有两个优点:(1).如果对不同的子带合理分配比特数,可以控制各子带的量化电平数目,以及相应的重建信号的量化误差方差值,以获得更好的主观听音质量。(2).各子带的量化噪声相互独立,被束缚在自己的子带内,不影响其它子带的量化噪声。3.影响子带编码效率的因数子带数目、子带划分、编码参数、子带中比特的分配、每样值编码比特、带宽。4.分类(1)等带宽子带编码各子带的带宽 是相同的,其优点是易于硬件实现,便于理论分析。其中,k= 1, 2, 3 , m为子带总

2、数,B编码信号总带宽(2)变带宽子带编码各子带带宽是不同的,常用的子带划分是令各子带宽度随K的增加而增加 (低频段子带带宽窄,高频段宽),其优点是对不同的子带分配的比特数不同,能获得很好的质量。二:matlab 实现1.主要是使用非对称滤波器组来实现语音信号的子带分解和合并。2.关键:针对语音信号的频谱设计与之相适应的树形滤波器组。3.编码采用u律pcm编码。介绍: 本编程所设计的树形结构滤波器组,是由两通道的正交镜像滤波器组通过级联或并联组建而成的。 采用正交镜象滤波器(QMF,quandrature mirror filter)来划分频带,混迭效应在最后合成时可以抵消 混迭失真:这是由于分

3、析滤波器组和综合滤波器组的频带不能完全分开及x(n)的抽样频率fs不能大于其最高频率成分的m倍所致。 两通道的滤波器组两通道的滤波器组两通道的滤波器组的幅频特性两通道的正交镜像滤波器组的幅频特性 (从频频特性可以看出采用正交镜象滤波器来划分频带,混迭效应在最后合成时可以抵消)原始语音y提取一通道抗混叠滤波分析滤波器组U律pcm编码重构滤波器组U律pcm编码处理后语音y_he整体框图频带分解(主要)(下附matlab源程序语音为wav格式自己录音)%主程序clear all ;close all;clc;N=4096*50;%采集点数y,fs,bits=wavread(tangshi,N); %

4、读取音频信息(双声道)Fs=fs ;ts = 1/fs;%仅处理1通道信号y1=y(:,1) ;%the signal of channel one%y2=y(:,2) ;%the signal of channel twot=0:1/fs:(N-1)/fs;%time%原始语音信号读取sound(y1,fs);%原始语音信号画图figure(1) ;subplot(2,1,1) ;plot(t,y1) ;%1通道信号title(原始信号y1) ; %预滤波%语音信号预处理人耳可识别范围(3003400),因此多于此频率的信号可以滤掉而不用传输y1_yu,fs_yu=pre_process(y

5、1,fs) ;subplot(2,1,2) ;plot(t(1:fs/fs_yu:3*floor(length(t)/3),y1_yu) ;%滤波后的信号时域波形title(预滤波后的信号y1_yu) ;%对上面两个信号进行频谱分析Y1 = fft(y1);Y1_YU = fft(y1_yu);%画出图形figure(2) ;subplot(2,1,1)dfs= fs/length(Y1);H1 = abs(Y1(1:length(Y1)/2);f1 = 0:dfs:fs-dfs;f1 = f1(1:length(Y1)/2);plot(f1,H1)axis(0,10000,0,max(abs

6、(fftshift(Y1)title(原始信号频谱y1)subplot(2,1,2)H2 = abs(Y1_YU(1:length(Y1_YU)/2);f2=0:dfs:fs_yu-dfs;f2 = f2(1:length(Y1_YU)/2);plot(f2,H2)axis(0,10000,0,max(abs(fftshift(Y1_YU) title(抗混叠滤波后y1_yu的信号频谱,fl=300Hz,fh=3400Hz) %抗混叠滤波后语音信号读取 sound(y1_yu,fs_yu);%分解yu1,yu2=fenjie(y1_yu,fs_yu) ;%y1%2次分解y1_1,y1_2=fe

7、njie(yu1,fs_yu) ;%3次分解y1_11,y1_12=fenjie(y1_1,fs_yu) ;y1_21,y1_22=fenjie(y1_2,fs_yu) ;%y2%2次分解y2_1,y2_2=fenjie(yu2,fs_yu) ;%3次分解y2_11,y2_12=fenjie(y2_1,fs_yu) ;y2_21,y2_22=fenjie(y2_2,fs_yu) ;%分解图示figuresubplot(4,1,1)plot(f2,H2);title(原始信号频谱,fs=,num2str(fs_yu)subplot(4,2,3)hy1 = abs(fft(yu1);fhy1=0:

8、dfs:fs_yu/2-dfs;fhy1 = fhy1(1:length(hy1)/2);plot(fhy1,hy1(1:length(hy1)/2)title(1次分解,fs=,num2str(fs_yu/2)subplot(4,2,4)hy2 = abs(fft(yu2);fhy2=0:dfs:fs_yu/2-dfs;fhy2 = fhy2(1:length(hy2)/2);plot(fhy2,hy2(1:length(hy2)/2)subplot(4,4,9)hy1_1 = abs(fft(y1_1);fhy1_1=0:dfs:fs_yu/4-dfs;fhy1_1 = fhy1_1(1:

9、length(hy1_1)/2);plot(fhy1_1,hy1_1(1:length(hy1_1)/2)title(2次分解,fs=,num2str(fs_yu/4)subplot(4,4,10)hy1_2 = abs(fft(y1_2);fhy1_2=0:dfs:fs_yu/4-dfs;fhy1_2 = fhy1_2(1:length(hy1_2)/2);plot(fhy1_2,hy1_2(1:length(hy1_2)/2)subplot(4,4,11)hy2_1 = abs(fft(y2_1);fhy2_1=0:dfs:fs_yu/4-dfs;fhy2_1 = fhy2_1(1:len

10、gth(hy2_1)/2);plot(fhy2_1,hy2_1(1:length(hy2_1)/2)subplot(4,4,12)hy2_2 = abs(fft(y2_2);fhy2_2=0:dfs:fs_yu/4-dfs;fhy2_2 = fhy2_2(1:length(hy2_2)/2);plot(fhy2_2,hy2_2(1:length(hy2_2)/2)subplot(4,8,25)hy1_11 = abs(fft(y1_11);fhy1_11=0:dfs:fs_yu/8-dfs;fhy1_11 = fhy1_11(1:length(hy1_11)/2);plot(fhy1_11,h

11、y1_11(1:length(hy1_11)/2)title(3次分解,fs=,num2str(fs_yu/8)subplot(4,8,26)hy1_12 = abs(fft(y1_12);fhy1_12=0:dfs:fs_yu/8-dfs;fhy1_12 = fhy1_12(1:length(hy1_12)/2);plot(fhy1_12,hy1_12(1:length(hy1_12)/2)subplot(4,8,27)hy1_21 = abs(fft(y1_21);fhy1_21=0:dfs:fs_yu/8-dfs;fhy1_21 = fhy1_21(1:length(hy1_21)/2)

12、;plot(fhy1_21,hy1_21(1:length(hy1_21)/2)subplot(4,8,28)hy1_22 = abs(fft(y1_22);fhy1_22=0:dfs:fs_yu/8-dfs;fhy1_22 = fhy1_22(1:length(hy1_22)/2);plot(fhy1_22,hy1_22(1:length(hy1_22)/2)subplot(4,8,29)hy2_11 = abs(fft(y2_11);fhy2_11=0:dfs:fs_yu/8-dfs;fhy2_11 = fhy2_11(1:length(hy2_11)/2);plot(fhy2_11,hy

13、2_11(1:length(hy2_11)/2)subplot(4,8,30)hy2_12 = abs(fft(y2_12);fhy2_12=0:dfs:fs_yu/8-dfs;fhy2_12 = fhy2_12(1:length(hy2_12)/2);plot(fhy2_12,hy2_12(1:length(hy2_12)/2)subplot(4,8,31)hy2_21 = abs(fft(y2_21);fhy2_21=0:dfs:fs_yu/8-dfs;fhy2_21 = fhy2_21(1:length(hy2_21)/2);plot(fhy2_21,hy2_21(1:length(hy

14、2_21)/2)subplot(4,8,32)hy2_22 = abs(fft(y2_22);fhy2_22=0:dfs:fs_yu/8-dfs;fhy2_22 = fhy2_22(1:length(hy2_22)/2);plot(fhy2_22,hy2_22(1:length(hy2_22)/2)%PCM编码pcm1 = upcm(y1_11);pcm2 = upcm(y1_12);pcm3 = upcm(y1_21);pcm4 = upcm(y1_22);pcm5 = upcm(y2_11);pcm6 = upcm(y2_12);pcm7 = upcm(y2_21);pcm8 = upcm

15、(y2_22);%decode解码dpcm1 = dupcm(pcm1,8);dpcm2 = dupcm(pcm2,8);dpcm3 = dupcm(pcm3,8);dpcm4 = dupcm(pcm4,8);dpcm5 = dupcm(pcm5,8);dpcm6 = dupcm(pcm6,8);dpcm7 = dupcm(pcm7,8);dpcm8 = dupcm(pcm8,8);%信号的合成y_he=hebing8(y1_11,y1_12,y1_21,y1_22,y2_11,y2_12,y2_21,y2_22) ;%低频信号8通道合成figure ;subplot(2,1,1) ;plot

16、(y1_yu) ;title(预滤波后的信号y1_yu) ;subplot(2,1,2)plot(y_he) ;%合成后的信号title(信宿端恢复信号y_he) ;wavwrite(y_he,fs_yu,16,sound.wav)% sound(y,fs)% sound(y1,fs)% sound(y1_yu,fs_yu)sound(y_he,fs_yu)%抗混迭滤波器function y1,fs_yu = pre_process(y,Fs)%降低采样率,抽取y = y(1:3:3*floor(length(y)/3);fs_yu = Fs/3;fl = 300;fh = 3400;wn1

17、= fl/(fs_yu/2);wn2 = fh/(fs_yu/2);wn=wn1,wn2;a = 1;N=70;b=fir1(N,wn,bandpass);y1=filter(b,a,y);%信号插值子程序(完成信号的零插值和高通滤波)function f=interp1(x)%实现信号的零插值f=interp(x,2) ;for i=1:length(x) f(2*i)=0 ;end%设计高通滤波器 a1=fir1(200,1/2,high); %完成对信号的高通滤波 f=filter(a1,1,f);%树形结构分解子程序(完成信号的2通道分解以及降采样率)function y1,y2=fe

18、njie(x,fs)a1=fir1(100,1/2); %频谱的一半滤波a2=qmf(a1) ; %镜像滤波器w1=filter(a1,1,x); %低通滤波w2=filter(a2,1,x); %高通滤波%抽取% y1=w1;y2=w2;y1=downsample(w1,2); %抽取2y2=downsample(w2,2); %抽取2%信号的8通道的分解子程序()function f1 f2 f3 f4 f5 f6 f7 f8=fenjie8(x,fs)%1次分解y1,y2=fenjie(x,fs) ;%y1%2次分解y1_1,y1_2=fenjie(y1,fs) ;%3次分解f1,f2=

19、fenjie(y1_1,fs) ;f3,f4=fenjie(y1_2,fs) ; %y2%2次分解y2_1,y2_2=fenjie(y2,fs) ;%3次分解f5,f6=fenjie(y2_1,fs) ;f7,f8=fenjie(y2_2,fs) ;%律PCM编码function pcm = upcm(x)L=length(x);for i=1:Lx(i)=x(i)/4;x(i)=fix(x(i)*4079); s=sign(x(i);if s0pcm(i-1)*8+1)=0;elsepcm(i-1)*8+1)=1;endx(i)=abs(x(i);p(i)=x(i);if x(i)=15.5

20、pcm(i-1)*8+2:(i-1)*8+4)=0,0,0;else if x(i)=47.5pcm(i-1)*8+2:(i-1)*8+4)=0,0,1;p(i)=floor(x(i)-15.5)/2);else if x(i)=111.5pcm(i-1)*8+2:(i-1)*8+4)=0,1,0;p(i)=floor(x(i)-47.5)/4);else if x(i)=239.5pcm(i-1)*8+2:(i-1)*8+4)=0,1,1;p(i)=floor(x(i)-111.5)/8);else if x(i)=495.5pcm(i-1)*8+2:(i-1)*8+4)=1,0,0;p(i

21、)=floor(x(i)-239.5)/16);else if x(i)=1007.5pcm(i-1)*8+2:(i-1)*8+4)=1,0,1;p(i)=floor(x(i)-495.5)/32);else if x(i)=2031.5pcm(i-1)*8+2:(i-1)*8+4)=1,1,0;p(i)=floor(x(i)-1007.5)/64);else if x(i)=4079.5pcm(i-1)*8+2:(i-1)*8+4)=1,1,1;p(i)=floor(x(i)-2031.5)/128);end;end;end;end; end;end;end;end;y=str2double

22、(dec2bin(p(i);pcm(i-1)*8+5)=floor(y/1000);pcm(i-1)*8+6)=floor(mod(y,1000)/100);pcm(i-1)*8+7)=floor(mod(y,100)/10);pcm(i-1)*8+8)=floor(mod(y,10);endend%u律pcm解码function dpcm = dupcm(pcm,nbit)L=length(pcm)/nbit;for i=1:Lk(i)=pcm(i-1)*8+2)*4+pcm(i-1)*8+3)*2+pcm(i-1)*8+4);h(i)=pcm(i-1)*8+5)*8+pcm(i-1)*8+

23、6)*4+pcm(i-1)*8+7)*2+pcm(i-1)*8+8);switch k(i)case 0dpcm(i)=h(i);case 1dpcm(i)=16.5+h(i)*2+1;case 2dpcm(i)=49.5+h(i)*4+2;case 3dpcm(i)=115.5+h(i)*8+4;case 4dpcm(i)=247.5+h(i)*16+8;case 5dpcm(i)=511.5+h(i)*32+16;case 6dpcm(i)=1039.5+h(i)*64+32;case 7dpcm(i)=2095.5+h(i)*128+64;otherwisedisp(error);end

24、if pcm(i-1)*8+1)=0dpcm(i)=0-dpcm(i);end;dpcm(i)=dpcm(i)/1023; end;end%树形结构综合子程序(完成2通道信号的综合)function y=hebing(y1,y2)%信号的零插值和低通滤波y1=interp(y1,2) ;%信号的零插值和高通滤波y2=interp1(y2) ;%进行插值后的信号可能长度不一样,因此要进行长信号的截取n=min(length(y1),length(y2) ;y1=y1(1:n) ;y2=y2(1:n) ;%信号的合并y=y1+y2 ;%重构滤波器组8通道合并function f=hebing8(y1_1_1,y1_1_2,y1_2_1,y1_2_2,y2_1_1,y2_1_2,y2_2_1,y2_2_2)%信号的3次合并y1_1=hebing(y1_1_1,y1_1_2) ;y1_2=hebing(y1_2_1,y1_2_2) ;y2_1=hebing(y2_1_1,y2_1_2) ;y2_2=hebing(y2_2_1,y2_2_2) ;%信号的2次合并y1=hebing(y1_1,y1_2) ;y2=hebing(y2_1,y2_2) ;%信号的1次合并f=hebing(y1,y2) ;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!