当前位置:首页 » 编程软件 » 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");
}
}

热点内容
ftp定价是怎么回事 发布:2025-05-11 12:09:18 浏览:330
android敏捷开发 发布:2025-05-11 11:56:49 浏览:79
脚本pon 发布:2025-05-11 11:52:27 浏览:825
ct5推荐哪个配置 发布:2025-05-11 11:47:45 浏览:741
领购未上传发票 发布:2025-05-11 11:43:27 浏览:716
查看华为云服务器的ip地址 发布:2025-05-11 11:24:44 浏览:235
长沙银行密码多少 发布:2025-05-11 11:24:38 浏览:671
缓存手机视频合并软件哪个好 发布:2025-05-11 11:22:30 浏览:698
服务器c盘怎么清除 发布:2025-05-11 11:16:33 浏览:39
动态估算法 发布:2025-05-11 11:06:19 浏览:923