音频信号的FFT分析.docx
- 文档编号:635487
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:18
- 大小:85.96KB
音频信号的FFT分析.docx
《音频信号的FFT分析.docx》由会员分享,可在线阅读,更多相关《音频信号的FFT分析.docx(18页珍藏版)》请在冰豆网上搜索。
音频信号的FFT分析
音频信号的FFT分析
一、实验目的:
1、熟悉CCS集成开发环
2、熟悉SEED-DTK实验环境
3、加深对DFT算法原理和基本性质的理解
4、学习用FFT对连续信号和时域信号地频谱分析的方法
5、熟悉FFT的算法原理和FFT子程序的算法流程和应用
6、了解DSP处理FFT算法的特殊寻址方式
二、实验内容:
1、DSP的初始化
2、A/D采样
3、FFT的位倒序程序
4、FFT的蝶形运算程序
5、求功率谱的程序
6、串口发送与接收
三、实验程序功能与结构说明:
在数字滤波器实验中,主要包含以下文件:
1、DTK_BPD_FFT.c:
这是实验的主程序,包含了包含定时器中断程序、AD中断程序、FFT参数的初始化,完成与SEED-MMI5402的系统的异步通讯、信号采集与FFT计算。
2、DSP28_Sci.c:
包含量了异步串口初始化程序。
3、DSP28_Adc.c:
包含了AD初始化。
4、DSP28_Defaultlsr.c:
包含了异步串口接收中断服务程序。
5、Cfft32c.asm、cfft32i.asm、rfft32br.asm、rfft32m.asm、rfft32s.asm、rfft32w.asm:
TI源代码。
6、SRAM.cmd:
声明了系统的存贮器配置与程序各段的链接关系。
7、DTK_BPD_FFT.out:
DSP上可执行的程序,即实验程序。
四、实验流程图:
五、实验步骤:
1、实验演示:
在脱机(不接CCS)的情况下,可以首先进行实验的演示。
在实验选项的菜单下,选择FFT实验一项。
先择不使用CCS,确定后,LCD显示屏将显示“程序装载中,请稍侯”,并且用状态条显示程序装载进度,等待装载程序后,SEEDDEC2812单元的D3灯由闪烁变暗。
LCD显示屏将显示“FFT实验装载成功”。
一段时间后,可以看到在LCD上显示FFT前的原始信号与实验后的功率谱图,如下图(a与b)所示:
2、实验的调试:
1)、将DSP仿真器与计算机连接好:
2)、将DSP仿真器的JTAG插关与SEED-DEC2812单元的J1相连接
3)、启动计算机,当计算机启动后,打开SEED-DTKBPD的电源。
观察SEEK-DTK_IO单元的+5V、+3.3V、+15V、-15V的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源。
4)、在实验选项的菜单下,选择定时器实验一项,选择使用CCS。
5)、打开CCS,进入CCS的操作环境。
6)、装入DTK_BPD_FFT.wks调试环境。
7)、进行调度,通过ProbePoints来观察FFT的结果。
六、实验主要程序:
1、主函数:
voidmain(void)
{
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER=0x0000;
IFR=0x0000;
/*初始化PIE中断*/
InitPieCtrl();
/*初始化PIE中断矢量表*/
InitPieVectTable();
/*初始化SCIA寄存器*/
InitSci();
//初始化cputimer
InitCpuTimers();
for(i=0;i<0x104;i++)
{
uart[i]=0x5555;
uarts[i]=0x5555;
}
for(i=0;i<32;i++)
{
sys_statbuff[i]=0;//系统标志buff清0
}
CommandSave=0;
/*设置中断服务程序入口地址*/
EALLOW;//ThisisneededtowritetoEALLOWprotectedregisters
PieVectTable.TXAINT=&SCITXINTA_ISR;
PieVectTable.RXAINT=&SCIRXINTA_ISR;
PieVectTable.TINT2=&ISRTimer2;
PieVectTable.ADCINT=&ad;
EDIS;//ThisisneededtodisablewritetoEALLOWprotectedregisters
//
/*开中断*/
IER|=M_INT9;//SCI中断
IER|=M_INT1;//ADC中断
EINT;//EnableGlobalinterruptINTM
ERTM;//EnableGlobalrealtimeinterruptDBGM
LED1_ON;
*LED3=0;
/*实验主控程序*/
psend=(PuartForDec5416)(&uarts[0]);
precieve=(PuartForDec5416)(&uart[0]);
padset=(PAdConfig)(&adset[0]);
/*通知主机,系统准备好*/
psend->Length=FRAMLONGTH;
psend->Type=UARTCOMMAND;
psend->Data[0]=INITOVER;
psend->Mutul=UARTCONT;
uart_send();
for(;;)
{
if(CommandSave==FFTDATASEND)
{
CommandSave=0;
/*不满buffer的数据*/
if(datasendlength<=256)
{
for(i=0;i { psend->Data[i]=Ad_data[i+sendcount*256]; } psend->Length=datasendlength; psend->Type=UARTDATA; psend->Mutul=UARTCONT; uart_send(); } else { /*满buffer数据*/ for(k=0;k<256;k++) { psend->Data[k]=Ad_data[k+sendcount*256]; } psend->Length=256; psend->Type=UARTDATA; psend->Mutul=UARTMUTL; uart_send(); datasendlength=datasendlength-256; sendcount++; } } uart_s=uart_recive(); /*返回值0: 接受完成*/ /*1: 数据未准备好*/ /*3: 较验出错*/ if(uart_s==1) { continue; } /*数据较验出错*/ if(uart_s==3) { for(i=0;i<0x104;i++) { uart[i]=0x5555; } /*通知主机程序通讯出错,准备重发*/ psend->Length=FRAMLONGTH; psend->Type=UARTCOMMAND; psend->Data[0]=RECIEVEERROR; psend->Mutul=UARTCONT; uart_send(); continue; } /*接收完成*/ if(uart_s==0) { /*不是命令帧*/ if(precieve->Type! =UARTCOMMAND) { /*无效命令*/ psend->Length=FRAMLONGTH; psend->Type=UARTCOMMAND; psend->Data[0]=COMMANDNODO; psend->Mutul=UARTCONT; uart_send(); precieve->Type=UARTCOMMAND; continue; } } /*接收从主机的数据*/ precieve=(PuartForDec5416)(&uart[0]); switch(precieve->Data[0]) { /*FFT设置*/ caseFFTSET: for(i=0;i<3;i++) { adset[i]=precieve->Data[i+1]; } /*设置数据发送长度*/ datasendlong=padset->SampleLong; datasendlength=3*datasendlong/2; precieve->Data[0]=0; break; /*启动AD采样和fft计算*/ caseFFTSTART: convcount=0; adconvover=0; sendcount=0; convfirstN=1000; /*AD采样率*/ switch(padset->SampleRate) { caseADSAMPL8K: //0xd//采样率为8k DINT; /*设置CPU*/ ConfigCpuTimer(&CpuTimer2,150,125); StartCpuTimer2(); /*开中断*/ IER|=M_INT14; EINT; InitAdc(); break; caseADSAMPL44K: //0x23//采样率为44k DINT; /*设置CPU*/ ConfigCpuTimer(&CpuTimer2,150,22); StartCpuTimer2(); /*开中断*/ IER|=M_INT14; EINT; InitAdc(); break; caseADSAMPL96K: //0x1d//采样率为96k DINT; /*设置CPU*/ ConfigCpuTimer(&CpuTimer2,150,10); StartCpuTimer2(); /*开中断*/ IER|=M_INT14; EINT; InitAdc96k(); break; default: break; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音频 信号 FFT 分析