




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西 南 交 通 大 学课 程 设 计课 程:DSP原理与应用课程代码:0473001题目: 语音信号采集与频谱分析设计 成绩: 评语: 2015年1月任务书:1. DSP采用TMS320C5416,外挂SRAM。设计DSP电路核心系统电路。2. 输入语音信号电压范围为050mV,信号带宽20KHz,设计前端模拟电路,选择ADC(8位及以上器件)以及相关电路。3. 设计电源系统,系统电源输入为+12V。4. 将采集的数据放在RAM中,每次采集512个点数据,先将信号采用低通滤波器处理,滤波器截止频率为20KHz,分析语音信号的频谱信息。5. 通过软件方式产生语音信号,验证算法。语音信号采集与频谱
2、分析设计1. 系统设计 该系统主要分为以上四个模块,整个系统有电源电路供电,模拟前端利用双通道运算放大器实现输入语音信号的滤波和放大,选择AD7819实现对放大后的语音信号进行采样并传送给DSP,DSP对采样信号进行处理,利用外挂的IS61LV6416(SRAM)进行数据存储。2. 硬件设计2.1 模拟前端设计(1)模拟前端设计要求输入语音信号电压范围为050mV,信号带宽20KHz,要求通过设计模拟前端电路将输入语音信号电压扩大50倍,然后对放大后的信号进行采样,将采样后数据提供给DSP进行处理。(2)器件选型及依据TLV2782零漂移精密放大器Number of Channels (#)2
3、Total Supply Voltage (Min) (+5V=5, +/-5V=10)1.8Total Supply Voltage (Max) (+5V=5, +/-5V=10)3.6Slew Rate (Typ) (V/us)4.3GBW (Typ) (MHz)8AD7819,ADI生产,是一款高速、微处理器兼容型、8位模数转换器(ADC),最大吞吐量为200 kSPS。该转换器采用+2.7 V至+5.5 V单电源供电,内置4.5 微秒(µs)逐次逼近型模数转换器、采样保持电路、片内时钟振荡器和8位宽并行接口。利用该并行接口,可方便地与微处理器和DSP进行接口。AD7819仅使
4、用地址解码逻辑,因此很容易实现到微处理器地址空间的映射。在省电模式下工作时,AD7819会在一次转换结束时自动关断,并在新转换开始时自动上电。当吞吐量较低时,此特性可显著降低器件的功耗。AD7819也可在高速模式下工作,此时该器件在两次转换之间不关断。在这种模式下工作时,该器件能提供200 kSPS吞吐量。2.2 DSP核心系统设计(1) 存储器运行要求,结合CMD文件在系统中我们使用该外挂的SRAM存储AD采样的数值和DSP程序处理过程产生的数据。DSP内部的存储器可以用来运行程序,由于不存在多个外置存储器的问题,我们在硬件上可以不为外置SRAM分配地址空间,在CMD文件上可以将0x8000
5、至0xFFFF的地址空间分配给数据存储空间,地址空间占32K。将0x0080至0x7FFF分配给程序存储空间。此时DSP可以工作在微计算机处理模式下,即MP/MC为低电平,同时还应该将OVLY位置1将DSP内部的DRAM0-3映射到程序存储空间,DROM位置0将外置的SRAM分配给数据存储空间上。这样,DSP的存储空间才能正确地映射到实际的物理空间上。则CMD文件可以写成:MEMORYPAGE 0:PRAM: org = 0080H, len = 7F80HPAGE 1:DRAM: org = 8000H, len = 8000HSECTIONS.text : > PRAM PAGE 0
6、.cinit : > PRAM PAGE 0.const : > DRAM PAGE 1.bss : > DRAM PAGE 1(2)器件选型及原理图设计DSP晶振电路、时钟选择电路、JTAG下载接口电路、复位电路和外挂SRAM电路。在本系统中,晶振电路使用16MHz的有源晶振;时钟选择电路可以通过手动硬件上设置DSP主时钟频率;JTAG电路用于DSP进行仿真和下载程序时与仿真器之间进行连接的接口电路;复位电路是用于给系统中DSP进行手动复位或者上电复位的;外挂的SRAM使用的是IS61LV6416,该SRAM是64Kx16Bit的高速CMOS静态RAM,它与本DSP的并行外
7、部地址、数据总线直接相连,片选信号直接接上DSP的数据空间选择引脚上,硬件上可以不做任何地址分配问题。2.3 电源设计(1)器件选型及原理图设计在本系统中对DSP等器件使用的1.6V和3.3V电压,本方案使用开关电源芯片TPS5430将输入的12V电压调整为5V,该芯片的输入电压范围广,最大3A的持续输出电流,转换效率高达95%。然后该5V电压为TPS767D301供电,TPS767D301是双输出的低压差线性稳压器,一路固定3.3V输出,另一路通过外部电阻可调输出,调整关系为Vout=(1+R1R2)VREF,其中R1为本系统中R19,R2为本系统中R21,参考电压为1.1834,两路输出最
8、大都达到1A的电流,由此产生系统中使用的3.3V和1.6V电压。3. 软件设计设计低通滤波器,滤波器截止频率为20KHz并验证,对通过滤波器后的信号进行fft变换,利用ccs软件仿真截图。3.1 信号源代码及说明unsigned int n;float inputN,outputN;unsigned long int fs=300000; /300Kunsigned int f1=100; /100Hzunsigned int f2=1000; /1Kunsigned int f3=30000; /30Kunsigned long int f4=100000; /100Kvoid wavein
9、() for(n=0;n<N;n+ ) inputn= sin(2*pi*n*f1/fs)+sin(2*pi*n*f2/fs)+sin(2*pi*n*f3/fs)+sin(2*pi*n*f4/fs); /生成信号源,为300kHz,100kHz,1kHz,30kHz正弦信号的叠加3.2 FIR滤波器代码及说明float firorder = -4.14135974137957e-19,-0.000829435289146221, -0.00217059218889375,-0.00421750352552917,-0.00665559847630187, -0.0085112962585
10、6717,-0.00823761143889161,-0.00405306953469355, 0.00553761739630963,0.0211860167280687,0.0422819233490111, 0.0668268810785874,0.0916755820850861,0.113115606027137, 0.127652410187186,0.132798139721275,0.127652410187186,0.113115606027137, 0.0916755820850861,0.0668268810785874,0.0422819233490111, 0.021
11、1860167280687,0.00553761739630963,-0.00405306953469355, -0.00823761143889161,-0.00851129625856717,-0.00665559847630187, -0.00421750352552917,-0.00217059218889375,-0.000829435289146221, -4.14135974137957e-19;/MATLAB生成的滤波器参数for(n=0;n<N;n+ )/滤波 p=0; s=0; while(p<order)&&(p<=n) s=firp*i
12、nputn-p+s; p+; outputn=s;3.3 FFT代码及说明#define Sample_Numb 512float FFT_ReSample_Numb;float FFT_ImSample_Numb;float FFT_WSample_Numb;float sin_tabSample_Numb;float cos_tabSample_Numb;void FFT_WNnk(void)/生成蝶形变换系数 int i; for(i=0;i<Sample_Numb;i+) sin_tabi=sin(2*pi*i/Sample_Numb); cos_tabi=cos(2*pi*i/
13、Sample_Numb); void fft(float datarSample_Numb,float dataiSample_Numb)/fft变换 int x0,x1,x2,x3,x4,x5,x6,x7,x8,xx; int i,j,k,b,p,L; float TR,TI,temp;/倒位序 for(i=0;i<Sample_Numb;i+) x0=x1=x2=x3=x4=x5=x6=x7=0; x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01; x4=(i/16)&0x01;x5=(i/
14、32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01; x8=(i/256)&0x01; xx = x0*256+x1*128+x2*64+x3*32+x4*16+x5*8+x6*4+x7*2+x8; dataixx=datari; for(i=0;i<Sample_Numb;i+) datari=dataii;dataii=0; for(L=1;L<=9;L+) b=1;i=L-1; while(i>0) b=b*2;i-; for(j=0;j<=b-1;j+) / p=1;i=9-L; while(i>
15、0) p=p*2;i-; p=p*j; for(k=j;k<512;k=k+2*b) TR=datark;TI=dataik;temp=datark+b; datark=datark+datark+b*cos_tabp+dataik+b*sin_tabp; dataik=dataik-datark+b*sin_tabp+dataik+b*cos_tabp; datark+b=TR-datark+b*cos_tabp-dataik+b*sin_tabp; dataik+b=TI+temp*sin_tabp-dataik+b*cos_tabp; for(i=0;i<Sample_Num
16、b/2;i+) FFT_Wi=sqrt(datari*datari+dataii*dataii); 3.4 仿真图及分析MATLAB中的截图:A:滤波器设计分析:本系统采用的是阶数为30的汉明窗低通滤波器,采样频率为300kHz,截止频率为20kHz。 B:输入信号时域分析分析:生成信号源,为300kHz,100Hz,1kHz,30kHz正弦信号的叠加C:输入信号频谱分析分析:可见输入信号中有4个频率分量D:输出信号时域分析分析:通过滤波后输出的信号中剩下两个频率分量,分别是100Hz,1kHz的正弦信号,上图为它们的时域叠加,完成了设计要求。E:输出信号频域分析分析:滤波后的信号剩余两个频谱
17、分量CCS软件截图A:输入波形时域图形B:输入波形频谱分析C:输出波形时域图形D:输出波形频谱分析E:输出FFT变换后分析:由ccs仿真图可知输入信号中超过20kHz的信号能够成功的被滤除,故该系统设计满足设计要求。4.课程总结本学期的DSP原理与应用课程从数字信号处理概述讲起,到DSP芯片的发展概况,以及DSP芯片的特点、分类、应用,从C54X系列深入探讨了DSP芯片功能,系统结构,硬件设计以及ccs软件设计和仿真。最后利用动手设计fir滤波器和FFT变换两个实例的硬件软件设计和仿真来进一步加深对DSP原理与应用的理解。附:ccs源代码#include <math.h>#incl
18、ude <stdlib.h>#define order 31 #define N 512 #define pi 3.14159265358979323846float firorder = -4.14135974137957e-19,-0.000829435289146221, -0.00217059218889375,-0.00421750352552917,-0.00665559847630187, -0.00851129625856717,-0.00823761143889161,-0.00405306953469355, 0.00553761739630963,0.0211
19、860167280687,0.0422819233490111, 0.0668268810785874,0.0916755820850861,0.113115606027137, 0.127652410187186,0.132798139721275,0.127652410187186,0.113115606027137, 0.0916755820850861,0.0668268810785874,0.0422819233490111, 0.0211860167280687,0.00553761739630963,-0.00405306953469355, -0.008237611438891
20、61,-0.00851129625856717,-0.00665559847630187, -0.00421750352552917,-0.00217059218889375,-0.000829435289146221, -4.14135974137957e-19;float s;unsigned int n;float inputN,outputN;unsigned long int fs=300000; /300Kunsigned int f1=100; /100hzunsigned int f2=1000; /1Kunsigned int f3=30000; /30Kunsigned l
21、ong int f4=100000; /100K#define Sample_Numb 512float FFT_ReSample_Numb;float FFT_ImSample_Numb;float FFT_WSample_Numb;float sin_tabSample_Numb;float cos_tabSample_Numb;void FFT_WNnk(void) int i; for(i=0;i<Sample_Numb;i+) sin_tabi=sin(2*pi*i/Sample_Numb); cos_tabi=cos(2*pi*i/Sample_Numb); void fft
22、(float datarSample_Numb,float dataiSample_Numb) int x0,x1,x2,x3,x4,x5,x6,x7,x8,xx; int i,j,k,b,p,L; float TR,TI,temp;/倒位序 for(i=0;i<Sample_Numb;i+) x0=x1=x2=x3=x4=x5=x6=x7=0; x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01; x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01; x8=(i/256)&0x01; xx = x0*256+x1*128+x2*64+x3*32+x4*16+x5*8+x6*4+x7*2+x8; dataixx=datari; for(i=0;i<Sample_Numb;i+) datari=dataii;dataii=0; for(L=1;L<=9;L+) b=1;i=L-1; while(i>0) b=b*2;i-; for(j=0;j<=b-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园中班科学《毛毛虫找妈妈》教案
- 重庆两江新区遴选公务员考试真题2024
- 2024年贵州省人民医院人才引进真题
- 汽车维修框架协议书
- 石化仓储转让协议书
- 玻璃陶瓷购销协议书
- 特价推车转让协议书
- 矿山加工合同协议书
- 电梯临时管理协议书
- 电车货车合作协议书
- 收费室考核细则
- 2024年纪检监察综合业务知识考试题库含答案【培优】
- 医院物业管理服务合同-范本
- 综合执法考试试题及答案
- 药物临床试验质量管理规范解读
- 艾滋病、梅毒、丙肝预防知识
- 天津外研版英语七年级上册单词表
- 零星工程框架协议书范本
- 重庆A卷2024年中考语文现代文阅读真题
- 无菌技术与无菌物品管理
- 改革开放与新时代知到智慧树章节测试课后答案2024年秋同济大学
评论
0/150
提交评论