- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信号分析与处理实验 Projects of Signal Analysis and Processing 第四篇 信号处理软硬件实现 实验六 利用DSP实现信号频谱动态分析 实验六 利用DSP实现信号频谱动态分析 * * * * 教育部电子信息与电气信息基础课程教学指导分委员会立项实验教材 陈后金 郝晓莉 钱满义 高海林 高等教育出版社 2006年 引言 实验一 序列的卷积与相关 实验二 DSP系统定时器及其应用 实验三 信号发生器的实现 实验四 语音信号的压缩与回放 实验五 利用DSP实现信号实时滤波 实验六 利用DSP实现信号频谱动态分析 实验七 利用DSP实现信号调制与解调 一、实验目的 1.掌握FFT的算法原理和基本性质 2.掌握TMS320C54x DSPLIB库函数的调用 3.掌握利用DSP系统进行信号频谱分析的方法 二、实验原理 1. 利用N点复序列计算2N点实序列 2. TMS320C54x DSPLIB库谱分析函数调用 3. 利用DSP实现信号频谱动态分析 4. CCS基本调试技术 1. 利用N点复序列计算2N点实序列 设y[k]是一个长度为2N的实序列,Y[m]是其2N 点 DFT。 定义如下两个数组分别是其偶分量和奇分量: x[k]=y[2k], h[k]=y[2k+1], 可以得到: Y[m]=X[m]+W2Nm·H[m] Y[m+N]=X[m]-W2Nm ·H [m] 函数rfft就是采用N点复序列计算2N点实序列的。 2.TMS320C54x DSPLIB库谱分析函数调用 cbrev() 函数说明 调用格式 void cbrev(DATA *x,DATA *r,unshort n) 功能 (将偶数点和奇数点分别按n) 倒序 入口参数: x:2*n项输入序列,数据定义为短整型。 n:定义数组的大小为2*n 。 出口参数: r 是一个2*n项输出序列,存放x倒序后的结果。 特殊要求: 输入数组首地址最低log2(2*n)位必须为0 例:x[8]={13, -32, -31, 22, 52, -16, -84, -9} x表示复数:13 -32j, -31+22j, 52-16j , -84-9j 输入序列x经cbrev(x,r,4) 后,输出序列r为: r[8]={13, -32, 52, -16, -31, 22, -84, -9} 即r表示复数:13 -32j, 52-16j, -31+22j, -84-9j cbrev() 函数说明 rfft()函数说明 调用格式: void rfft (DATA x, nx, short scale) 功能: 计算序列的nx点DFT rfft()函数说明 void rfft (DATA x, nx, short scale) 入口参数: x:表示一个nx项的一维数组(16位有符号整型),该数组由函数cbrev产生。数组x既作为输入数据,又存放变换后的输出数据(同址运算)。 nx:表示数组中实数的个数。 可取值为16,32,64,128,256,512,1024 scale:表示变换系数。scale?0,变换后结果乘以1/nx,否则结果乘以1。 出口参数: x[0]和x[1] m=0和m=nx/2时DFT的值。 x[2]和x[3] m=1时DFT的实部与虚部。 ????????? x[nx-2]和x[nx-1] m= nx/2-1时DFT的实部与虚部。 rfft()函数说明 void rfft (DATA x, nx, short scale) cbrev()和rfft()使用示例 #define NX 16 DATA x[NX]; DATA y[NX]; ?????????? cbrev(x,y,NX/2); rfft(y,NX,1); 计算幅度谱参考程序 f[0]=abs(y[0]); //m=0时的幅度谱 f[NX/2]=abs(y[1]); //m=NX/2时的幅度谱 m=1; for(i=2;iNX;i=i+2) { p=y[i]; //实部 q=y[i+1]; //虚部 temp=sqrt(p*p+
文档评论(0)