当前位置:首页 » 编程软件 » pcm编程

pcm编程

发布时间: 2023-06-13 13:25:37

① PCM编码的DSP实现

这是编码子程序,大概思路是这样的,还需要自己微调。

#include<stdio.h>
#include<math.h>
int main()
{int dataleft=0X0000;
scanf("%d",&dataleft);
int b=0 ,lj=0,dl=0,dn=0,pcm=0 ;
if(dataleft<=0)
{dataleft=abs(dataleft);
b=1;
};
dataleft>>4;
if(dataleft<=15&&dataleft>=0)
{ lj=1;
dl=000;
dn=(dataleft-0)/lj;}
if(dataleft<=31&dataleft>=16)
{ lj=1;
dl=001;
dn=(dataleft-16)/lj;}
if(dataleft<=63&dataleft>=32)
{lj=2;
dl=010;
dn=(dataleft-32)/lj;}
if(dataleft<=127&dataleft>=64)
{ lj=4;
dl=011;
dn=(dataleft-64)/lj;}
if(dataleft<=255&dataleft>=128)
{ lj=8;
dl=100;
dn=(dataleft-128)/lj;}
if(dataleft<=511&dataleft>=256)
{ lj=16;
dl=101;
dn=(dataleft-256)/lj;}
if(dataleft<=1023&dataleft>=512)
{ lj=32;
dl=110;
dn=(dataleft-512)/lj;}
if(dataleft<=2047&dataleft>=1024)
{lj=64;
dl=111;
dn=(dataleft-1024)/lj;}
b=b<<7;
dl=dl<<3;

pcm=b+dl+dn;
printf("%d",pcm);
}

② 求编程高手帮忙~写一段8位二进制折叠码(PCM编码器)编译码程序

#include <stdio.h>
#include <conio.h>

int trans(int n)
{
int r=0;

if(n<0)
{
r=r|0x80;
n=-n;
}
if(n<=16)
{
r=r|0x00;
}
else if(n<=32)
{
r=r|0x10;
}
else if(n<=64)
{
r=r|0x20;
}
else if(n<=128)
{
r=r|0x30;
}
else if(n<=256)
{
r=r|0x40;
}
else if(n<=512)
{
r=r|0x50;
}
else if(n<=1024)
{
r=r|0x60;
}
else if(n<=2046)
{
r=r|0x70;
}
else
{
return 0;
}
r=r|(n&0x0f);
return r;
}

main()
{
int n,r,i;

printf("输入一个10进制(1-2048):");
scanf("%d",&n);
if(n>=1 && n<=2048)
{
r=trans(n);
printf("8位2进制为:");
for(i=0;i<8;i++)
{
printf("%c",((r>>(8-i-1))&0x01)+'0');
}
printf("\n");
}
else
{
printf("输入错误!\n");
}
}

热点内容
美国云服务器快还是香港快 发布:2025-02-09 09:34:33 浏览:988
怎么解压qq文件 发布:2025-02-09 09:18:14 浏览:581
安卓最新怎么调灵敏度更稳 发布:2025-02-09 09:12:44 浏览:400
豌豆荚如何用安卓手机下载 发布:2025-02-09 09:11:57 浏览:213
吃鸡脚本辅助 发布:2025-02-09 09:09:29 浏览:6
sessionidpython 发布:2025-02-09 09:08:53 浏览:276
华为手机验证码和密码忘了是多少 发布:2025-02-09 08:53:53 浏览:799
逆战笔记哪个配置好玩 发布:2025-02-09 08:53:04 浏览:600
怎么打开电脑云服务器 发布:2025-02-09 08:36:01 浏览:220
日元对人民币算法 发布:2025-02-09 08:35:52 浏览:40