积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> DSP代码示例
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
语音信号处理中的LPCC特征参数处理源程序
 
作者:未知   来源:互联网    点击数:1057   更新时间:2007-2-7
您可以添加到网摘 让更多人关注此文章:

    

//Calculate LPC coefficients coefficients based on autocorrelation
void corref(int ip,float cor[],float alf[])

{
int i,j;
float refi,alfsave,resid;
alf[1]=(-cor[1]);
alf[0]=1;
resid=1-cor[1]*cor[1];
for(i=2;i<=ip;i++)
{
refi=cor[i];
for(j=1;j<i;j++)
refi+=alf[j]*cor[i-j];
refi/=resid;
alf[i]=(-refi);
for(j=1;2*j<=i;j++)
{
alfsave=alf[j];
alf[j]=alfsave-refi*alf[i-j];
if(2*j!=i)
alf[i-j]-=refi*alfsave;
}
}
}

//Calculate LPC cepstrum based on alf
void alfcep(int ip,float alf[],float cep[],int n)

{
int m,i;
float ss;
m=0;
goto start;
next:
m+=1;
ss=0;
i=0;
goto step3;
step2:
ss-=alf[i]*cep[m-i];
step3:
i+=1;
if(i>ip) goto step4;
if(i<m) goto step2;
ss-=alf[m]*m;
step4:
cep[m]=ss;
start:
if(m<n) goto next;
for(m=2;m<=n;m++)
cep[m]/=m;
}

//Calculate mel-warped LPC cepstrum
void cepmel(float cep[],float mel[])
{
int k,n;
float u0[ORDER+2],u1[ORDER+2];
float alpha=ALPHA;
//Calculation mel[0]*
u0[ORDER+1]=0;
for(n=ORDER;n>=0;--n)
u0[n]=cep[n]+alpha*u0[n+1];
//mel[0]=u0[0];
//Calculation mel[1]*
u1[ORDER+1]=0;
for(n=ORDER;n>=0;--n)
u1[n]=((1-alpha*alpha)*u0[n+1]+alpha*u1[n+1]);
mel[1]=u1[0];
//Calculation mel[2],mel[3],......,mel[ORDER] *
for(k=2;k<=ORDER;++k)
{
for(n=0;n<=ORDER+1;++n)
u0[n]=u1[n];
for(n=ORDER;n>=0;--n)
u1[n]=u0[n+1]+alpha*(u1[n+1]-u0[n]);
mel[k]=u1[0];
}
}

main()
{
int rad[][]; //端点检测后的语音数据
float cor[ORDER+1]; //autocorrelation coefficients ORDER=14
float alf[ORDER+1]; //LPC
float cep[ORDER+1]; //LPC cepstrum
float mel[ORDER+1];
float mel_data[length][ORDER];
//mel-warped LPC cepstrum,length为端点检测后的每个语音数据的帧长
int mel_v=0;

//Auto-Correlation Calculation
correl(rad[count],cor,W_SIZE,ORDER);
//LPC Analysis Program
corref(ORDER,cor,alf);
//LPC Cepstrum Coefficient Calculation
alfcep(ORDER,alf,cep,ORDER);
alf[0]=cep[0]=cor[0]; //cor[0] is power
//MEL Cepstrum Coefficient Calculation
cepmel(cep,mel);
//printf("\n Frame %d :",count);

for(i=0;i<ORDER;i++)
{
mel_data[mel_v][i]=mel[i+1];
//printf("\nFrame %d: Mel[%d][%d]= %g",count,mel_v,i,mel_data[mel_v][i]);
}
}



相关文章
· 科技奥运与计算机技术的应用[425]
· Electromedical[2693]
· 患者监控[2742]
· 基于TMS320LF2407A DSP的心电监护系统研究[3187]
· 用S3C2410实现三导联远程心电监护系统[3096]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
严冬期如何发展半导体业 扩
2008年中国集成电路市场回顾与展望
分析师:亚洲芯片厂商库存远超预期
2008年基础电子业十大事件点评
Aptina并购智多微手机软件平台设
凌力尔特公司推出用于多核处理器的&n
安森美半导体任命麦满权为韩国及南亚区
Broadcom:半导体产业依然机会
飞思卡尔推i.MX51芯 
日立芯片守卫新年倒数计时晚会
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
低价专业PCB打样 双面板20...
深圳市天漠科技超低价供应atm...
深圳市天漠科技超低价供应ARM...
[推荐]2.5米精度,高灵敏度...
830实验箱+电脑没有并口...
[原创]平望科技助力自服终端国...
低价专业PCB打样 双面板20...
[原创]低价专业PCB打样 双...
Bootloader for ...
【有奖调查】08-09嵌入式开...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网