DSP语音识别实验报告_第1页
DSP语音识别实验报告_第2页
DSP语音识别实验报告_第3页
DSP语音识别实验报告_第4页
DSP语音识别实验报告_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP课程设计实验报告DSP课程设计实验报告语音识别院(系):电子信息工程学院自动化系 设计人员:李彬 学号:07212072设计人员:宋淦泉 学号:07212077成绩:工程设计50报告20答辩30总分评语:指导教师签字: 日期:目录一、 设计任务书1、 实验概述2、 实验目的二、 设计内容三、 设计方案、算法原理说明1、 设计步骤2、 算法原理说明四、 程序设计、调试与结果分析1、 算法流程图2、 主程序3、 测试过程及结果分析五、 设计(安装)与调试的体会1、 编程及程序运行中遇到的问题及解决办法2、 本次实验的心得体会六、 参考文献一、 设计任务书实验概述:语言是人类特有的功能,声音是

2、人类最常用的工具。通过语音传递信息是人类最重要最有效最常用和最方便的信息交换形式。语音信号是人类进行思想沟通和情感交流的最主要的途径。让计算机能听懂人类的语言,是自计算机诞生以来人类梦寐以求的想法。在本实验中,将针对算法,实现对最简单的单音信号进行语音识别的问题。语音识别以语音为研究对象,它是语音信号处理的一个重要研究方向,是模式识别的一个分支,涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言(例如人在说话时的表情、手势等细微动作可帮助对方理解),其最终目标是实现人与机器进行自然语言通信。 语音识别技术主要包括特征提取技术、模式匹配准则及模训练技术三个方

3、面。此外,还涉及到语音识别单元的选取。语音识别系统的研究涉及微机技术、人工智能、数字信号处理、模式识别、声学、语言学和认知科学等多种学科领域,是一个多学科综合性研究领域。语音识别系统的分类-根据对说话人说话方式的要求,可以分为孤立字(词)语音识别系统、连接字语音识别系统以及连续字语音识别系统。根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统。根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量以及无限量词汇量语音识别系统。 一般来说,语音识别的方法有三种:基于声道模型和语音知识的方法、模版匹配的方法以及利用人工神经网络的方法。基于声道模型和语音知识的方法起步较早,在语音识别技术提出

4、的开始,就有了这方面的研究。但由于其模型及语音知识过于复杂,还没有达到实用阶段。人工神经网络的方法是80年代末期提出的一种新的语音识别方法。人工神经网络本质上是一个自适应非线性动力学系统,模拟人类神经活动的原理,具有自适应性、并行性、鲁棒性、容错性和学习特性,在结构和算法上都显示出实力。但由于存在训练、识别时间太长的缺点,目前仍处于实验探索阶段。模版匹配方法中,要经过四个步骤:特征提取、模版训练、模版分类、判决。 实验目的:1、 掌握5402DSP片上外设TLC320AD50 CODEC编译码的内部结构、工作原理以及在C语言下的编程方法;2、 掌握通过C语言实现5402DSP片上外设FLASH

5、的读写操作;3、 掌握FFT(快速傅里叶变换)、DTW(动态时间规整)算法,从而实现语音识别系统的开发;4、 熟练使用CCS5000集成开过程。5、 发环境完成对程序的调试二、 设计内容:语音识别(Speech Recognition)主要是指让机器听懂人说的话,即在各种情况下,准确地识别语音的内容,从而根据其信息,执行人的各种意图或执行特定的任务,其最终目标是实现人与机器进行自然语言通信。5402DSP是整个硬件系统的信号处理中心,完成了语音数据的获得、语音特征向量的提取和语音识别功能。本实验要求用TMS320C5402进行语音识别,使用CODEC(编译码器)对外部输入数据进行采集,DSP对

6、语音信号进行保存和识别后再由CODEC口输出。本次实验所需达到的目标是:能够识别特定人所说的特定字,若符合,则显示识别结果,并输出相应的字。三、实验原理:语音识别原理方框图如下图所示:语音信号端点检测及特征参数提取写入FLASH预处理A/D语音识别模式匹配模式库各模块工作原理为:(一)CODEC模块CODEC模块以TLC320AD50为核心,其内部集成了16位A/D和D/A转换器,采样速率最高可达22.05KHZ, 并可通过外部编程进行设置。在TLC320AD50C内部DAC之前有插值滤波器,而在ADC之后有抽样滤波器,接受和发送可以同时进行。它采用两组模拟输入和两组模拟输出,有足够的共模抑制

7、能力,可工作在差分或单端方式。输入增益和输出衰减可以通过外部编程控制。AD50芯片使用差分输入、单端输出方式,这就需要将音频信号转换成差分信号,采用TLC2272低噪声的运算放大器实现转换功能。最后,AD50单端输出信号经音频功率放大器LM386放大后输出。CODEC内部电路如下图所示:(二)Flash存储器DSK提供了一个256K×16bit 字的低电平flash存储器。FLASH可用于DSP的数据和程序存储空间。SRAMTMS320C5402TLC320AD50TLC2272模拟输入FLASH ROMLM386模拟输出(三)语音信号识别模块语音信号中含有丰富的信息,如何从中提取出

8、对语音识别有用的信息是语音识别的关键。特征提取就是完成这项工作,它对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,获得影响语音识别的重要信息。对于非特定人语音识别来讲,希望特征参数尽可能多地反映语义信息,尽量减少说话人的个人信息(对特定人语音识别来讲,则相反)。从信息论角度讲,这是信息压缩的过程。语音识别的步骤分为两步。第一步是根据识别系统的类型选择能够满足要求的一种识别方法,采用语音分析方法分析出这种识别方法所要求的语音特征参数,这些参数作为标准模式由机器存储起来,形成标准模式库,这个语音参数库成为“模板”,这一过程称为“学习”或“训练”。第二步就是识别。其原理框图如下图所示:判决

9、测度估计参数分析预处理输入 识别输出语音语音库 训练 类聚 语音识别的原理框图语音信号的预处理包括反混叠滤波,A/D变换,预加重,加窗和分帧处理等。预加重的目的是提升高频部分,使信号的频谱变得平坦,以保持在信号的整个频带内,具有同样的信噪比,便于声道参数分析。在语音信号的数字处理中常用的是矩形窗和汉明窗等,窗口的形状、长度对短时分析参数的影响很大,为此,应选择合适的窗函数。语音信号有10 ms30 ms的短时平稳性,一般每秒的帧数为33帧100帧。为了使帧与帧之间平滑过渡,前一帧与后一帧之间必须保持一定的帧移,帧长与帧移的比值一般取为012。经过预处理的语音信号,就要对其进行特征参数的分析,在

10、提取特征参数之前应先对提取的语音信号进行起点和终点检测,它是特征训练和识别的基础。端点检测通常采用时域分析法,进行端点检测的主要依据是能量、振幅和过零率。但是某些单词的端点检测却存在问题,准确地检测出声音区间是很困难的。我们采用了短时过零率和短时平均能量结合进行端点检测。设分帧之后第n帧语音信号为,因为每一帧语音信号的短时能量有一个缺陷,即它对高电平非常敏感,所以采用短时平均幅度函数来进行判断,此外,设所有语音信号的平均能量为pn,则当2*>pn时将该帧语音判为语音信号的起点,当4*<pn时将该帧语音判为语音信号的终点。短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。

11、对于连续语音信号,过零即意味着时域波形通过时间轴,而对于离散信号,如果相邻的取样值符号改变则称为过零。过零率就是样本改变符号的次数。定义语音信号的短时过零率为,当时,则判断语音已经开始,将这个条件与利用短时平均幅度求起点的条件取与,得到最终求得的语音起点,这样可以达到更加精确的效果,而判断语音终点,利用短时平均幅度的条件就足够了。下一步要提取语音的特征参数,识别参数可以选择:频谱、倒谱、线性预测系数,音长、音调、声调等超音段信息函数。对特征参数的要求是:(1)提取的特征参数能有效地代表语音特征,具有很好的区分性。(2)各阶参数之间有良好的独立性。(3)用于语音识别的距离测度有多种,如欧氏距离及

12、其变形的距离、似然比测度、加权了超音段信息的识别测度等。特征参数要计算方便,具有高效的计算方法,以保证语音识别的实时实现。由于语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅立叶变换不能用来直接表示语音信号,所以我们采用短时傅立叶变换对语音信号的频谱进行分析,即利用了短时谱。而利用短时傅立叶变换求取的语音信号的短时谱,它是按实际频率分布的,用按实际频谱分布的频谱作为语音特征,由于它不符合人耳的听觉特性,将会降低语音信号处理系统的性能,所以我们又将实际的线性频谱转化为了临界带频谱特征矢量。语音库就是声学参数模板。它是用训练与聚类的方法,从多次重复的语音参数,经过长时间的训练而聚

13、类得到的。由于语音信号具有相当大的随机性,即使是同一人在不同时刻说的同一句话、发的同一个音,也不可能具有完全相同的时间长度。语音识别中也不能简单的将输入参数和参考模板直接做比较。为此,一种简单的方法是采用对未知语音信号均匀地伸长或缩短直至它与参考模板的长度相一致。采用这种方法能达到的精度完全取决于端点检测的精度。将特征参数进行一定的处理后,为每个词条得到一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。同时还可以在很多先验知识的帮助下,提高识别的准确率。测度估计是语音识别的核心。求取测试语音参数与模板

14、之间测度的方法有很多种。如动态时间规整法(DTW)、有限状态矢量量化法,隐马尔可夫模型法等。对于输入信号计算而得的测度,判决选出可能的结果中最好的结果,由识别系统输出,这一过程就是判决。因此,选择适当的各种距离测度的门限值成了主要的问题。我们采用了动态时间规整算法(DTW)来进行测度估计。DTW(Dynamic Time Warping)即动态时间归整算法,为解决语音识别中语速多变的问题提供了一条有效的途径。当词汇表较小时,对提高系统的识别精度非常有效。这种方法中,未知单词的时间轴要不均匀地扭曲或弯折,以便使其特征与模板特征对正。在归整过程中,输入的是两个时间函数,典型的有幅度,LPC系数,倒

15、谱系数。动态时间归整是将时间归整和距离测度结合起来的一种非线性归整技术。如设测试语音参数共有N帧矢量,而参考模板共有M种矢量,且N不等于M,则动态时间归整就是寻找一个时间归整函数j=w(i),它将测试矢量的时间轴I非线性的映射到模板的时间轴j上,并使该函数w满足:上式中,dT(i),R(w(i)是第i帧测试矢量T(i)和第j帧矢量R(j)之间的距离测度,D则是处于最优时间归整情况下两矢量之间的匹配路径。 由于DTW不断地计算两矢量的距离以寻找最优的匹配路径,所以得到的是两矢量匹配时累积距离最小的归整函数,这就保证了它们之间存在最大的声学相似。 实际中DTW是采用动态规划技术DP(Dynamic

16、 Programming)来加以具体实现的。规整过程如下图所示:通常,归整函数w(i)被限制在一个平行四边形内,它的一条边的斜率为2,另一条边的斜率为1/2。归整函数的起始点为(1,1),终止点为(N,M)。w(i)的斜率为0,1,2,否则就为1或2。我们的目的是寻找一个归整函数,在平行四边形内由点(1,1)到点(N,M)具有最小代价函数。总代价函数的计算式为:上式中,Dc(k)为匹配点c(k)以前所有允许值中最小一个。因此,总代价函数是该点本身的代价与到达该点的最佳路径的代价之和。这样就可以得到待测模板和一个参考模板的最小匹配距离。把待测模板和所有的参考模板都进行比较,得到各自的最小匹配距离

17、,再从里面找出最小的一个,就是要求的结果。四、程序设计、调试与结果分析(一)算法流程图算法主要分为两个部分,一是参数即特征值的提取,二是语音的识别和训练。下面分别进行说明。(1) 参数提取算法流程图:初始化, 常数定义, 函数声明变量定义,主要解决FFT变换数组的边界问题计算Hamming Window的系数,并保存DSK初始化,设置DSP运行频率为100MHz打开CODEC设备,并进行初始化进入死循环,等待用户修改控制变量t等待CODEC读入数据将数据放入缓冲区语音回放,检查输入是否正确利用短时过零率和短时平均能量进行端点检测利用得到的端点数据计算临界带频谱特征矢量保存得到的倒谱系数进行识别

18、并打印结果(2)判断识别阶段流程图如下:初始化实验板 把训练过程中得到的数据读入缓冲区计算缓冲区I中的数据的距离矩阵 dij由距离矩阵计算累计距离矩阵accmatrixij最小匹配距离disti=accmatrixm-1n-1从I个最小匹配距离中找出最小值,得出结果(二)主程序#include "type.h"#include "board.h"#include "codec.h"#include "mcbsp54.h"#include "flash.h"#include "stdio

19、.h"#include "tms320.h"#include "math.h"#include "dsplib.h"#include "stdlib.h"#define VOICELEN 8000 /声音的长度#define SHIFT 160 /每帧的样本点数#define WINDOW 256 /窗的长度#define WEISHU 16 /维数#define CEPBUFFERLEN 16*16 #define MAXREAL 100000000000.0#pragma DATA_SECTION (

20、jf,".input") /自定义数据段 DATA jfWINDOW;/*/* Function Prototypes */*/void tezheng(DATA *fan); /提取特征向量的函数的声明 void checkstart(); /断点检测的函数声明 void recvoice(); /语音识别的函数声明void train(); /训练或学习的函数声明void delay(s16 period); /延时子程序float dtw(DATA *cep,DATA *rcep); /dtw算法的函数声明 u16 min(u16 a,u16 b,u16 c);flo

21、at lmin(float a,float b,float c);/*/* Global Variables */*/HANDLE hHandset; s16 dataVOICELEN;DATA tempdataWINDOW;int begin=0; int end=0; int start=0; int t=3; unsigned int num_frame=0; u16 dest=0x8000; int checkresult=-535; /*/* MAIN */*/ void main()u16 i=0;u16 j=0;int t=3; float hammingWINDOW; DATA

22、 fanCEPBUFFERLEN; for(i=0;i<WINDOW;i+) hammingi=0.54-0.46*cos(2*i*3.14159/(WINDOW-1); /汉明窗 if (brd_init(100) /初始化DSK板 return;/* Open Handset Codec */ hHandset = codec_open(HANDSET_CODEC); /为一个codec事件分配一个识别句柄 /* Set codec parameters */ codec_dac_mode(hHandset, CODEC_DAC_15BIT); /* DAC in 15-bit mo

23、de */ codec_adc_mode(hHandset, CODEC_ADC_15BIT); /* ADC in 15-bit mode */ codec_ain_gain(hHandset, CODEC_AIN_6dB); /* 6dB gain on analog input to ADC */ codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB); /* -6dB gain on analog output from DAC */ codec_sample_rate(hHandset,SR_8000); while(1) i=0; print

24、f("请读入语音数据n"); while (i<VOICELEN) /* Wait for sample from handset */ while (!MCBSP_RRDY(HANDSET_CODEC) ;/判断A/D转换的数据是否准备好 /* Read sample from and write back to handset codec */ datai = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC);/读取A/D转换数据 *(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = datai;/将

25、数据写入D/A转换器 datai/=100; i+; checkstart(); /检测开始 fan0=num_frame; /将帧数放入fan0函数中 printf("语音信号的起点:%dn",start); printf("语音信号的终点:%dn",end); printf("有效的语音数目:%dn",end-start); printf("有效的帧数目:%dn",num_frame); if(num_frame!=0) for(i=start-1;i<end-1;i=i+SHIFT) for(j=0;j

26、<WINDOW+1;j+) tempdataj=datai+j*hammingj; /加汉明窗 tezheng(&fan(i+1-start)/SHIFT*WEISHU);/调用特征函数 train(fan); if(t=3) recvoice(); num_frame=0; begin=0; end=0; start=0; else; delay(1000); /延时后 重新开始接收数据 /*/*端点检测*/void checkstart() int i,j,m=0,k=0,zSHIFT=0,zeroVOICELEN/SHIFT=0; float en=0,pn=0; floa

27、t shorten,shortpn;for(i=0;i<VOICELEN;i+)en=en+abs(datai); pn=en/VOICELEN; /计算所有取样信号的平均幅值for(j=0;j<SHIFT;j+) zj=0.5*abs(dataj+1/abs(dataj+1)-dataj/abs(dataj);/z存一帧语音的过零点数 zero0=zero0+zj; /zerom存第m段的过零点率for(i=SHIFT;i<VOICELEN;i=i+SHIFT) shorten=0;shortpn=0;for(j=0;j<SHIFT;j+)shorten=shorte

28、n+abs(datai+j); /shorten存一帧语音幅值 zj=0.5*abs(dataj+i+1/abs(dataj+i+1)-dataj+i/abs(dataj+i);/z存一帧语音的过零点数 zerom=zerom+zj; /zerom存第m段的过零点率 if(j=SHIFT-1) printf("过零率=%d ",zerom); m+; shortpn=shorten/SHIFT; /计算每帧信号平均幅度即短时平均幅度printf("总的平均幅值=%f ",pn);printf("短时平均幅值=%fn",shortpn)

29、;/*printf("%fn",shortpn);*/if(shortpn*2>pn)|(zerom-1*3<zerom)/当shortpn*2>pn或者过零率检测到语音段开始 if(start=0)start=i;begin=1;if(begin=1)&&(shortpn*4<pn)/当shortpn*4<pn时检测语音段结束end=i;break; if(begin=0) printf("没有语音输入n"); if(end=0&&begin!=0) printf("语音信号太长n

30、");begin=0;k=(end-start)/SHIFT;if(k>0) num_frame=k;else num_frame=0;/*printf("%dn",num_frame);*/void tezheng(DATA *fan) /特征提取函数 int i,j,k,m=1;float ff18,jjWINDOW,teWEISHU=0;for(j=0;j<WINDOW;j+)jfj=tempdataj; cbrev(jf,jf,WINDOW/2); /输入序列jf倒序,倒序后存入jf中 rfft(jf,WINDOW,1); /就算实序列FFT,

31、将频谱存放在jf中 for(i=0;i<WINDOW+1;i=i+2) jjm=jfi*jfi+jfi+1*jfi+1; m+; for(j=1;j<=17;j+) ffj=1960*(j+0.53)/(26.28-j);/划分临界带for(j=1;j<WEISHU+1;j+)for(k=WINDOW*ffj/8000+1;k<=WINDOW*ffj+1/8000;k+)tej=tej+jjk; /求临界带内频率带功率谱叠加for(i=0;i<WEISHU;i+)fani=tei;/特征赋给fanvoid train(DATA *fan) /训练建立特标准模块 i

32、nt i;FILE *fp;char filename3;ltoa(t,filename); /将t转化为字符型,赋给filename fp=fopen(filename,"w"); for(i=0;i<num_frame*12;i+)fprintf(fp,"%d",fani); /将语音的临界带特征矢量存入文件3 fprintf(fp,"n");fclose(fp);/*语音对比识别*/ void recvoice() DATA cepCEPBUFFERLEN=0; DATA rcep0CEPBUFFERLEN=0; DATA

33、 rcep1CEPBUFFERLEN=0; DATA rcep2CEPBUFFERLEN=0; int j;float dist3;FILE *fp; fp=fopen("0","r"); /打开文件0 for(j=1;j<CEPBUFFERLEN+1;j+) fscanf(fp,"%d",&rcep0j); /将"0"的语言特征赋给rcep0 fclose(fp); fp=fopen("1","r"); /打开文件1 for(j=1;j<CEPBUFFE

34、RLEN+1;j+) fscanf(fp,"%d",&rcep1j); /将"1"的语言特征赋给rcep1 fclose(fp); fp=fopen("2","r"); /打开文件2 for(j=1;j<CEPBUFFERLEN+1;j+) fscanf(fp,"%d",&rcep2j); /将"2"的语言特征赋给rcep2 fclose(fp); fp=fopen("3","r"); /打开文件3 for(j=1

35、;j<CEPBUFFERLEN+1;j+) fscanf(fp,"%d",&cepj); /rcep指向输入语音特征参数 fclose(fp); printf("开始识别!n"); printf("n"); dist0=dtw(cep,rcep0); /求cep与rcep0的失真度 printf("此语音与语音1的欧氏距离=%fn",dist0); dist1=dtw(cep,rcep1); /求cep与rcep1的失真度 printf("此语音与语音2的欧氏距离=%fn",dis

36、t1); dist2=dtw(cep,rcep2); /求cep与rcep2的失真度 printf("此语音与语音3的欧氏距离=%fn",dist2); for(checkresult=0;checkresult<3;checkresult+) if(distcheckresult=lmin(dist0,dist1,dist2)/求最小的失真度即为匹配的语言 break; /*用LED显示识别的结果*/ if(checkresult=0) printf("第一盏灯被点亮了.n"); printf("读入的语音为1.n");brd

37、_led_toggle(BRD_LED0); /开灯LED0delay(5000); /延时 brd_led_toggle(BRD_LED0); /关灯LED0 if(checkresult=1) printf("第二盏灯被点亮了.n"); printf("读入的语音为2.n");brd_led_toggle(BRD_LED1); /开灯LED1delay(5000); /延时brd_led_toggle(BRD_LED1); /关灯LED1 if(checkresult=2) printf("第三盏灯被点亮了.n"); printf

38、("读入的语音为3.n");brd_led_toggle(BRD_LED2); /开灯LED2delay(5000); /延时brd_led_toggle(BRD_LED2); /关灯LED2 printf("识别结束语!n"); /*DTW算法*/ float dtw(DATA *cep,DATA *rcep) /计算欧式距离 动态时间规整int m=16;int n=16;float dCEPBUFFERLEN/WEISHUCEPBUFFERLEN/WEISHU=0;float accmatrixCEPBUFFERLEN/WEISHUCEPBUFFE

39、RLEN/WEISHU=0;int i,j,k;float d1,d2,d3; for(i=0;i<m;i+) /求绝对平均误差的欧氏距离 for(j=0;j<n;j+) for(k=0;k<WEISHU;k+) dij+=abs(cepi*WEISHU+k+1-rcepj*WEISHU+k+1); /求欧式距离 dij=dij/WEISHU; /求绝对平均欧氏距离 for(i=0;i<m;i+) for(j=0;j<n;j+) accmatrixij=MAXREAL; accmatrix00=d00; /起始位置为(0,0) for(i=0;i<m;i+)

40、 /求最小匹配路径的。 for(j=0;j<n;j+) d1=accmatrixi-1j; /下一步只有三种搜索路径 if(j>0) d2=accmatrixi-1j-1; else d2=MAXREAL; if(j>1) d3=accmatrixi-1j-2; else d3=MAXREAL; accmatrixij=dij+lmin(d1,d2,d3); return accmatrixm-1n-1; /*取最小值*/ float lmin(float a,float b,float c) if(a>b) a=b;if(a>c)a=c;return a;voi

41、d delay(s16 period) /延时 int i, j; for(i=0; i<period; i+) for(j=0; j<period>>1; j+); 语音识别的CMD文件:MEMORY PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */ PRAM: origin = 7600h, length = 8000h /* Internal Program RAM */ PAGE 1: SCRATCH: origin = 0060h, length = 0020h /*

42、 Scratch Pad Data RAM */ DMARAM: origin = 0C00h, length = 0300h /* DMA buffer */ DATA: origin = 1100h, length = 0080h /* Internal Data RAM */ STACK: origin = 1180h, length = 0560h /* Stack Memory Space */ INRAM: origin = 1900h, length = 0100h /* Internal Data RAM */ HPRAM0: origin = 1A00h, length =

43、0002h /* HPI memory accessible by Host and DSP */ HPRAM1: origin = 1A02h, length = 0280h /* HPI memory accessible by Host and DSP */ HPRAM2: origin = 1C82h, length = 0280h /* HPI memory accessible by Host and DSP */ EXRAM: origin = 1F10h, length = 4000h /* External Data RAM */*/* DSP Memory Allocati

44、on */*/SECTIONS .cinit > PRAM PAGE 0 .text > PRAM PAGE 0 .vectors > VECS PAGE 0 init_var > PRAM PAGE 0 detect > PRAM PAGE 0 vrcprg > PRAM PAGE 0 matprg > PRAM PAGE 0 .stack > STACK PAGE 1 .trap > SCRATCH PAGE 1 .const > EXRAM PAGE 1 .data > EXRAM PAGE 1 .bss > EXR

45、AM PAGE 1 .cio > EXRAM PAGE 1 .switch > EXRAM PAGE 1 tables > EXRAM PAGE 1 var > EXRAM PAGE 1 svctab > EXRAM PAGE 1 /* SS_V LSP table */ vctab > EXRAM PAGE 1 /* V LSP table */ uvctab > EXRAM PAGE 1 /* UV LSP table */ cuvtab > EXRAM PAGE 1 /* Stochastic codebook */ cdbktab > EXRAM PAGE 1 /* various codebook tables*/ lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论