资源简介
近年来,在数字信号处理领域有着绝对优势的DSP技术得到了迅速发展。 DSP器件分为两大类:一类是专门用于FFT、FIR滤波、卷积等运算的芯片,称为专用DSP器件;另一类是可以通过编程完成各种用户要求的信息处理任务的芯片 ,称为通用数字信号处理器件。本次设计基于TMS320VC5402芯片设计并实现了一种语音录音、语音编码、语音解码、语音处理和回放的系统。通过软件和硬件结合对该系统进行设计,使本次设计的语音处理系统具有强大的数据处理能力并配有灵活的接口电路,可以作为一种语音信号处理算法研究和实时实现的通用平台,对语音编码在DSP上的实时实现进行了简单的研究,从而掌握了算法移植的一般流程,为能够在高速DSP硬件平台设计及系统应用开发方面取得成功奠定基础。
代码片段和文件信息
/*主程序设计*/
/*语音采集及回放程序*/
/*用A律进行压缩及解压*/
/*采用AD50进行A/D,D/A转换 */
/*灯循环闪烁程序开始*/
/*L0:录音*/
/*L1:放音*/
#include /* 头文件*/
#include
#include
#include
/* 宏定义 */
#define SIGN_BIT (0x80) /* Sign bit for a A-law byte. */
#define QUANT_MASK (0xf) /* Quantization field mask. */
#define NSEGS (8) /* Number of A-law segments. */
#define SEG_SHIFT (4) /* Left shift for segment number. */
#define SEG_MASK (0x70) /* Segment field mask. */
/* 函数声明 */
void delay(s16 period);
void led(s16 cnt);
void initcodec(void);
void flashenable(void);
unsigned char data2alaw(s16 pcm_val);
int alaw2data(unsigned char a_val);
static int search(int valshort *tableint size);
/* 全局变量 */
HANDLE hHandset;
s16 data;
s16 data1;
u16 i=0;
u16 temp1;
u16 j=0;
u16 kl=0;
u8 temp2;
u16 buffer[20000];
static short seg_end[8]={0x1F0x3F0x7F0xFF0x1FF0x3FF0x7FF0xFFF};
/* 主函数 */
void main()
{
if (brd_init(100))
return;
led(2); //闪灯两次
initcodec(); //初始化codec
flashenable(); //选择片外FLASH为片外存储器
delay(100);
brd_led_toggle(BRD_LED0);
for(i=0x9000;i<0xefff;i++)
{
REG_WRITE(i*(volatile u16*)DRR1_ADDR(HANDSET_CODEC));
delay(20);
}
brd_led_toggle(BRD_LED1);
delay(200);
for(i=0x9000;i<0xefff;i++)
{
*(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=REG_READ(i);
delay(20);
}
brd_led_toggle(BRD_LED2);
while (1)
{
while (!MCBSP_RRDY(HANDSET_CODEC)) {}; //等待接收handset处的采样
brd_led_toggle(BRD_LED0);
data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); //从handset处读取采样
temp1=data2alaw(data); //对采样进行a律压缩
/* 把低地址数据放在高八位 高地址数据放在低八位 */
i=i+1;
if(i%2==1)
{
buffer[j]=(temp1<<=8);
/*奇数数据左移8位 temp1=abcdefgh00000000
buffer[j]=temp1*/
}
else
{
buffer[j]=(buffer[j]|temp1);
/*偶数数据与temp1取或 组成新的数据
buffer[j]=abcdefghiabcdefghi*/
j++; //j加1
}
if(i>=40000)
{
i=0;
}
if(j>=20000)
{
j=0;
brd_led_disable(BRD_LED0);
brd_led_toggle(BRD_LED1);
//点亮二极管1 表示放音开始
/* 放音部分 */
for(k=0;k<40000;k++)
{
if(k%2==0)
{
temp2=(buffer[l]>>8)&0x0ff;
}
else
{
temp2=buffer[l]&0x0ff;
l++;
}
if(l>=20000)
l=0;
data1=alaw2data(temp2); // a律解压
while (!MCBSP_XRDY(HANDSET_CODEC)) {};
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 219 2012-12-16 15:16 基于DSP的语音处理系统设计\2345网址导航-我的个性化主页-中国最好的网址导航.url
文件 49664 2011-07-05 17:08 基于DSP的语音处理系统设计\任务书.DOC
文件 24576 2012-12-22 10:54 基于DSP的语音处理系统设计\封面和摘要.doc
文件 580608 2011-07-06 00:01 基于DSP的语音处理系统设计\报告主体.doc
文件 34304 2012-12-22 10:54 基于DSP的语音处理系统设计\指导教师评语.doc
文件 125 2012-12-22 10:23 基于DSP的语音处理系统设计\百变软件.url
文件 147 2012-12-22 09:29 基于DSP的语音处理系统设计\看图王下载_比ACDSee好用的看图软件.url
文件 2482 2011-06-30 14:49 基于DSP的语音处理系统设计\程序\MyProject\5402.cmd
文件 194 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\cc_build_Debug.log
文件 23820 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\Debug\MyProject.out
文件 9329 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\Debug\voice.obj
文件 263 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\Debug.lkf
文件 263 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\Debug.lkv
文件 30069 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\headf\board.h
文件 28683 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\headf\codec.h
文件 20721 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\headf\mcbsp54.h
文件 9025 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\headf\regs.h
文件 31314 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\headf\regs54xx.h
文件 970 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\headf\type.h
文件 29104 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\lib\drv5402.lib
文件 66752 2000-11-09 15:48 基于DSP的语音处理系统设计\程序\MyProject\lib\dsk5402.lib
文件 177494 2001-05-08 13:18 基于DSP的语音处理系统设计\程序\MyProject\lib\rts.lib
文件 1816 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\MyProject.paf
文件 844 2011-06-30 17:45 基于DSP的语音处理系统设计\程序\MyProject\MyProject.pjt
文件 6128 2011-06-30 16:51 基于DSP的语音处理系统设计\程序\MyProject\voice.c
目录 0 2011-07-06 17:32 基于DSP的语音处理系统设计\程序\MyProject\Debug
目录 0 2011-07-06 17:32 基于DSP的语音处理系统设计\程序\MyProject\headf
目录 0 2011-07-06 17:32 基于DSP的语音处理系统设计\程序\MyProject\lib
目录 0 2011-07-06 17:32 基于DSP的语音处理系统设计\程序\MyProject
目录 0 2011-07-06 17:33 基于DSP的语音处理系统设计\程序
............此处省略4个文件信息
- 上一篇:TC358870的配置文件以及翻译的使用说明
- 下一篇:RHCE真题.pdf
相关资源
- 64,128,256点fft
- DSP28335的I2C例程
- vivado FFT 9.0版本AXIS总线 IP使用及仿真
- DSP芯片的uPP接口与FPGA通信代码
- DSP最小系统开题报告
- DSP28335电机控制程序
- FFT 多项式乘法 C代码
- libfftw3-3.lib
- dsp2812 ADC程序
- dsp28335pcb封装
- TI DSP 28335 串口非FIFO中断接收程序
- TI DSP 28335 串口FIFO中断接收程序
- DSP-TMSC6678UDP文件传送
- fftw函数库
- DSP 与上位机通讯
- DSP28335的PID程序
- DSP 外部中断
- DSP28335中的SCI串口应用
- 基于DSP的单相SPWM逆变器数字化控制技
- dsp28335AD7606程序
- DSP_F2812的头文件、源文件和CMD文件
- C2000 DSP对DS18B20的初始化读写程序
- CCS CMD文件说明与编写
- 用DSP实现的一个简单的语音识别系统
- 应用eQEP及编码器测量电机位置与速度
- 乒乓球游戏机.pdsprj
- TMS320F28335CAN模块中文手册
- 实验四-指示灯和拨码开关实验.doc
- 自适应滤波算法的实现内含完整的C
- 快速傅立叶变换(FFT)的计算机实现
评论
共有 条评论