C语言实现PCM-A律编码、解码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、C语言实现pcm_A律编码includestdio.h#includemath.hvoidmain(){inta,i,j,m=1,n;intb[8]={0};intc[8]={32,64,128,256,512,1024,2048,4096};printf(请输入幅度:);scanf(%d,&a);if(a0){b[0]=0;a=abs(a);}elseb[0]=1;for(i=0;i7;i++){if(ac[i])break;}switch(i){case0:b[1]=0;b[2]=0;b[3]=0;break;case1:b[1]=0;b[2]=0;b[3]=1;break;case2:b[1]=0;b[2]=1;b[3]=0;break;case3:b[1]=0;b[2]=1;b[3]=1;break;case4:b[1]=1;b[2]=0;b[3]=0;break;case5:b[1]=1;b[2]=0;b[3]=1;break;case6:b[1]=1;b[2]=1;b[3]=0;break;case7:b[1]=1;b[2]=1;b[3]=1;break;}if(i==0){n=0;m=2;}else{n=c[i-1];for(j=0;ji;j++)m=2*m;}a=(a-n)/m;b[4]=a/8;b[5]=(a-b[4]*8)/4;b[6]=(a-b[4]*8-b[5]*4)/2;b[7]=a-b[4]*8-b[5]*4-b[6]*2;for(i=0;i8;i++){printf(%d,b[i]);}while(1);}2、C语言实现pcm_A律解码#includestdio.h#includemath.hvoidmain(){inti,j,m,n=32,k,y;inta[8]={0};for(i=0;i8;i++){printf(请输入PCM编码a[%d]:,i);scanf(%d,&a[i]);}m=a[1]*4+a[2]*2+a[3];i=m;if(m==0)n=0;elsewhile(--i)n=n*2;k=a[4]*8+a[5]*4+a[6]*2+a[7];if(m=1)y=n+k*2+1;elsey=n+k*n/16+n/32;if(a[0]==0)y=-y;printf(输入编码的幅度为:%d\n,y);while(1);}

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功