DSP课程设计报告(优)
- 格式:doc
- 大小:1.12 MB
- 文档页数:16
DSP课程设计报告专业:姓名:学号:任课教师:年月日一、实验内容编写程序,产生正弦波二、实验目的学会用ccs集成开发软件,在开发环境下完成工程项目创建,程序编辑,编译,链接,调试和数据分析。
三、实验设备(1)DSP实验箱(2)装有ccs2000软件的电脑(3)DSP硬件仿真器四、实验程序代码正弦波形的汇编程序.title "sinx.asm".mmregs.def _c_int00.ref d_xs,d_sinx,d_xc,d_cosxsin_x: .usect "sin_x",360STACK: .usect "STACK",10k_theta .set 286PA0 .set 0_c_int00: .textSTM #STACK+10,SPSTM #0,AR1STM k_theta,AR0STM #sin_x,AR7STM #90,BRCRPTB loop1-1LDM AR1,ALD #d_xs,DPSTL A,@d_xsSTL A,@d_xcCALL sin_startCALL cos_startLD #d_sinx,DPLD @d_sinx,16,AMPYA @d_cosxSTH B,1,*AR7+MAR *AR1+0loop1: STM #sin_x+89,AR6STM #88,BRCRPTB loop2-1STL A,*AR7+loop2: STM #179,BRCSTM #sin_x,AR6RPTB loop3-1LD *AR6+,ANEG ASTL A,*AR7+loop3: NOPend: B endsin_start:.def sin_startd_coef_s .usect "coef_s",4.datatable_s: .word 01C7H.word 030BH.word 0666H.word 1556Hd_xs .usect "sin_vars",1d_squr_xs .usect "sin_vars",1d_temp_s .usect "sin_vars",1d_sinx .usect "sin_vars",1c_1_s .usect "sin_vars",1.textSSBX FRCTSTM #d_coef_s,AR4 RPT #3MVPD #table_s,*AR4+ STM #d_coef_s,AR2 STM #d_xs,AR3STM #c_1_s,AR5ST #7FFFH,c_1_sSQUR *AR3+,AST A,*AR3||LD *AR5,BMASR *AR3+,*AR2+,B,A MPYA ASTH A,*AR3MASR *AR3-,*AR2+,B,A MPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2+,B,A MPYA *AR3+||LD *AR5,BMASR *AR3-,*AR2+,B,A MPYA d_xsSTH B,d_sinxRETcos_start:.def cos_startd_coef_c .usect "coef_c",4.datatable_c: .word 0249H.word 0444H.word 0AABH.word 4000Hd_xc .usect "cos_vars",1d_squr_xc .usect "cos_vars",1d_temp_c .usect "cos_vars",1d_cosx .usect "cos_vars",1c_1_c .usect "cos_vars",1.textSSBX FRCTSTM #d_coef_c,AR4 RPT #3MVPD #table_c,*AR4+ STM #d_coef_c,AR2 STM #d_xc,AR3STM #c_1_c,AR5ST #7FFFH,c_1_cSQUR *AR3+,AST A,*AR3||LD *AR5,BMASR *AR3+,*AR2+,B,A MPYA ASTH A,*AR3MASR *AR3-,*AR2+,B,A MPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2+,B,A SFTA A,-1,ANEG AMPYA *AR3+MAR *AR3+RETDSTH B,*AR3RET.end正弦波形的链接程序MEMORY{PAGE 0:EPROM: org=0E000H,len=1000HVECS: org=0FF80H,len=0080HPAGE 1:SPRAM: org=0060H,len=0020HDARAM1: org=0080H,len=0010HDARAM2: org=0090H,len=0010HDARAM3: org=0200H,len=0200H}SECTIONS{ .text :> EPROM PAGE 0.data :> EPROM PAGE 0STACK :> SPRAM PAGE 1sin_vars :> DARAM1 PAGE 1coef_s :> DARAM1 PAGE 1cos_vars :> DARAM1 PAGE 1coef_c :> DARAM2 PAGE 1sin_x : align(512){}> DARAM3 PAGE 1.vetors :> VECS PAGE 0}复位向量文件vectors.asm.title "vectors.asm".ref _c_int00.sect ".vectors"B _c_int00.end五、实验步骤CCS软件的基本操作:(1)建立工程:点击菜单project-new,在弹出的窗口中输入工程名,后缀是.pjt;(2)建立文件:点击菜单file-new-source file,建立汇编语言文件和链接命令文件;(3)将文件加入工程:点击菜单project-add files to project,选择要加入的文件添加到工程;(4)工程的汇编链接:点击菜单project-rebuild all,若汇编链接成功会生成.out文件;(5)装载可执行程序:点击菜单file-lode program,装载.out文件;(6)执行程序:点击菜单debug-run;(7)观察结果。
dsp综合设计课程设计报告一、教学目标本课程的教学目标是使学生掌握DSP(数字信号处理器)综合设计的基本理论和实践技能。
通过本课程的学习,学生应能够:1.知识目标:理解DSP的基本概念、原理和应用;熟悉DSP芯片的内部结构和编程方法;掌握DSP算法的设计和实现。
2.技能目标:能够使用DSP芯片进行数字信号处理的设计和实现;具备DSP程序的编写和调试能力;能够进行DSP系统的故障诊断和优化。
3.情感态度价值观目标:培养学生对DSP技术的兴趣和热情,提高学生的问题解决能力和创新意识,使学生认识到DSP技术在现代社会中的重要性和应用价值。
二、教学内容本课程的教学内容主要包括DSP的基本理论、DSP芯片的内部结构和工作原理、DSP程序的设计和调试方法、DSP应用系统的设计和实现等。
具体包括以下几个部分:1.DSP的基本概念和原理:数字信号处理的基本概念、算法和特点;DSP芯片的分类和特点。
2.DSP芯片的内部结构:了解DSP芯片的内部结构和工作原理,包括CPU、内存、接口、外设等部分。
3.DSP程序的设计和调试:学习DSP程序的设计方法,包括算法描述、程序编写和调试技巧。
4.DSP应用系统的设计和实现:掌握DSP应用系统的设计方法,包括系统架构、硬件选型、软件开发和系统测试等。
三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
具体方法如下:1.讲授法:通过教师的讲解,使学生掌握DSP的基本理论和原理,引导学生理解DSP技术的核心概念。
2.案例分析法:通过分析具体的DSP应用案例,使学生了解DSP技术的实际应用,培养学生的实际操作能力。
3.实验法:通过实验操作,使学生熟悉DSP芯片的使用方法和编程技巧,提高学生的实践能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选择一本合适的教材,作为学生学习的基础资料,提供系统的DSP知识。
目录1 概述21.1引言21.2课题背景21.3 PWM波形发生器简介31.4 DSP介绍31.5本文的主要研究内容42系统总体方案选择与工作原理52.1 事件管理模块内资源52.2 输出逻辑53各单元硬件设计103.1 DSP接线图103.2 驱动器设计114软件设计与说明144.1主程序流程图144.2所需的复位和中断向量定义文件15 5调试结果及其说明与使用说明175.1使用说明175.2调试结果186总结207参考文献21附录221 概述1.1引言DSP (即数字信号处理器)自20世纪90年代后半期开始,逐渐成为人们关注的焦点。
DSP是将模拟信号变换为数字信号,并进行高速处现的专用处理器,从算法上说,它具冇乘法和加法两种特殊运算功能。
它主要针对代表连续信号的数字进行数学运算,以得到相应的处理结果。
这种数学运箅以快速傅里叶变换(FFT) 为基础,对数字信号进行实时处现,目前常见的DSP芯片有T1的TMS320系列,ADI 公司的ADSP2100 系列,Lucent 的16000 系列,Motorola 公司的DSP 56602 和56603 系列等。
用DSP芯片实现数字信号处理具有很强的通用性和灵活性,因为DSP芯片体积小,运算速度极快,精度高,接口方便,特别适合处理复杂的数字信号处理算法。
DSP将逛未來集成电路中发展极快的电子产品,并成为电子产品更新换代的决定因素,它将彻底变革人们的工作、学习和生活方式。
木文所阐述的是PWM 波形发生器所产生的PWM波形在工业控制中的应用.1.2课题背景随着电子产业的飞速发展,DSP (数字信号处理器)将越來越广泛的运用在我们的日常生活中,尤其是在通信领域,DSP更是一种不可缺少的工具。
而DSP 在工业中也得到了广泛的应用,:其中基于DSP的PWM波形发中器在工业控制中尤为常见,可以用它来控制各种电机、电力电子设备、逆变器等。
1.3 PWM波形发生器简介PWM (Pulse Width Modulation,即脉冲宽度调制)技术,是指采用电子(快速)开关将输入调制器的电压进行宽度调制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。
DSP课程设计实验语音信号的频谱分析:要求首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。
在MATLAB中, 可以利用函数fft对信号进行快速傅立叶变换, 得到信号的频谱特性, 从而加深对频谱特性的理解。
其程序为:>> [y,fs,bits]=wavread('I:\xp.wav',[1024 5120]);>> sound(y,fs,bits);>> Y=fft(y,4096);>> subplot(221);plot(y);title('原始信号波形');>> subplot(212);plot(abs(Y));title('原始信号频谱');程序运行结果为:设计数字滤波器和画出频率响应:根据语音信号的特点给出有关滤波器的性能指标:低通滤波器性能指标, =1000Hz, =1200Hz, =100dB, =1dB;高通滤波器性能指标, =4800Hz, =5000Hz, =100dB, =1dB;带通滤波器性能指标, =1200Hz, =3000Hz, =1000Hz, =3200Hz, =100dB, =1dB;要求学生首先用窗函数法设计上面要求的三种滤波器, 在MATLAB中, 可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器, 在MA TLAB中, 可以利用函数butte、cheby1和ellip设计IIR滤波器;最后, 利用MATLAB中的函数freqz画出各种滤波器的频率响应, 这里以低通滤波器为例来说明设计过程。
低通:用窗函数法设计的低通滤波器的程序如下:>> fp=1000;fc=1200;As=100;Ap=1;fs=22050;>> wc=2*fc/fs;wp=2*fp/fs;>> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1;>> beta=0.1102*(As-8.7);>> Win=Kaiser(N+1,beta);>>b=firl(N,wc,Win);>>freqz(b,1,512,fs);程序运行结果:这里选用凯泽窗设计, 滤波器的幅度和相位响应满足设计指标, 但滤波器长度(N=708)太长, 实现起来很困难, 主要原因是滤波器指标太苛刻, 因此, 一般不用窗函数法设计这种类型的滤波器。
一、课程设计的目的和要求1.1课程设计目的:本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。
通过课程设计,使学生加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
1.2课程设计要求1、认真查阅资料2、课程设计前认真预习3、遵守课程设计时间安排4、认真保质保量完成设计要求5、认真书写报告二、系统功能介绍及总体设计方案2.1 功能介绍随着信息技术和计算机技术的飞速发展,数字信号处理技术在众多领域得到广泛应用。
数字滤波器由于其精度高、稳定性好、使用灵活等优点,广泛应用在各种数字信号处理领域。
数字滤波器根据冲击响应函数的时域特性,可以分为FIR(有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器) 。
FIR 滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。
而且, FIR 滤波器的单位抽样响应是有限长的,故一定是稳定的,他又可以用快速傅里叶变换( FFT)算法来实现过滤信号,可大大提高运算效率。
本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率s F =1000Hz ,通带频率pass F =150Hz 截止频率stop F =250Hz ,通带衰减pass A =0.5dB 阻带衰减stop A =80dB 。
2.2 总体设计方案:先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计系数),将其导入CCS ,在CCS 上进行仿真调试运行,得到了输入和输出的波形及其频谱。
图1 总体设计框图三、主要设计内容和步骤 3.1 FIR 数字滤波器的原理分析3.1.1 FIR 数字滤波器数字滤波器原理一般具有如下差分方程11()()()N N k k k k y n a x n k b y n k --===-+-∑∑ (l)式中()x n 为输入序列,()y n 为输出序列,k a 和k b 为滤波器系数,N 是滤波器阶数。
基于dsp课程设计报告一、教学目标本课程的教学目标分为三个维度:知识目标、技能目标和情感态度价值观目标。
1.知识目标:通过本课程的学习,学生需要掌握DSP(数字信号处理器)的基本概念、原理和应用。
具体包括:了解DSP的发展历程和分类;理解DSP的基本结构和主要性能指标;掌握DSP的编程方法和应用领域。
2.技能目标:培养学生具备使用DSP进行数字信号处理的能力。
具体包括:学会使用DSP开发环境和工具;掌握DSP编程语言和算法;能够独立完成DSP项目的开发和调试。
3.情感态度价值观目标:激发学生对DSP技术的兴趣和好奇心,培养学生的创新意识和团队合作精神。
使学生认识到DSP技术在现代社会中的重要性和广泛应用,树立正确的技术观和价值观。
二、教学内容本课程的教学内容分为五个部分:DSP基础知识、DSP原理与结构、DSP编程方法、DSP应用案例和DSP项目实践。
1.DSP基础知识:介绍DSP的发展历程、分类和主要性能指标。
2.DSP原理与结构:讲解DSP的基本原理、结构和主要组成部分,如运算器、存储器、输入输出接口等。
3.DSP编程方法:学习DSP编程语言、算法和开发环境,掌握基本的编程技巧。
4.DSP应用案例:分析典型的DSP应用场景,如音频处理、图像处理、通信系统等。
5.DSP项目实践:分组进行项目实践,培养学生独立完成DSP项目的能力。
三、教学方法本课程采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于传授基本知识和理论,引导学生掌握DSP的基本概念和原理。
2.讨论法:鼓励学生针对案例进行分析讨论,培养学生的思考能力和团队协作精神。
3.案例分析法:通过分析实际应用案例,使学生更好地理解DSP技术的应用和价值。
4.实验法:让学生动手进行实验,培养实际操作能力和创新思维。
四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的教材,如《数字信号处理器原理与应用》等。
DSP课程设计实验报告语音噪声滤波院(系):电子信息工程学院指导教师:杨恒小组成员:郝嘉然08212005王廓08283023一、绪论三、 设计方案、算法原理说明 .....................................4 四、 程序设计、调试与结果分析 ...................................15五、感想 六、 附录源程序 (20)、设计任务书17七、参考文献 (34)16七、一、绪论随着语音技术研究的深入和实际应用的增多,各种语音处理系统都面临着进一步提高性能的问题。
语音增强是其中的关键技术之一。
从20世纪60年代开始,对语音增强的研究就一直没有停止。
20世纪70年代由于数字信号处理理论的成熟,加速了语音增强技术的研究,使该技术走向成熟。
20世纪80年代以后,超大规模集成电路技术的发展为语音增强的实时实现提供了可能。
语音增强即语音噪声处理的目的是从带有噪声的语音信号中提取纯净的原始语音。
但由于噪声信号都是随机产生的,完全消除噪声几乎不可能,因此实际语音增强的目的主要有:改进语音质量,消除背景噪声,使听者乐于接受,不感到疲倦,同时提高语音信号的可懂度,方便听者理解。
语音增强不但与语音处理理论有关,而且涉及到人的听觉和语音学。
再者,噪声的来源众多,应用场合不同,它们的特性也各不相同。
因此在不同的噪声场合中应采用不同的语音增强方法。
语音噪声处理的应用背景语音噪声处理技术是指当语音信号被各种各样的噪声(包括语音)干扰、甚至淹没后,从噪声背景中提取、增强有用的语音信号,抑制、降低噪声干扰的技术。
语音增强技术无论在日常生活中,还是在其它的领域,或者对语音信号处理技术本身来说都很有应用价值。
在日常生活中,我们经常会遇到在噪声干扰下进行语音通信的问题。
如:使用设置在嘈杂的马路旁或市场内的公用电话,或在奔驰的汽车、火车里使用移动电话时,旁人的喧闹声、汽车和火车的轰鸣声等背景噪声都会干扰语音通讯的质量。
目录绪论 (2)DSP的特点 (2)第一章设计任务和设备 (3)1.1 设计技术指标要求 (3)1.2 设计内容 (3)1.3 设计所需设备 (4)1.4设计说明 (4)第二章硬件设计 (4)2.1 F2812介绍 (5)2,2 TDS2812EVMV板介绍 (6)2.3 F2812 GPIO (6)2.4 用DSP的GPIO口扩展LED灯的动态显示硬件设计 (7)第三章软件设计 (7)3.1软件系统分析 (7)3.2 程序流程图 (8)第四章心得体会 (8)参考文献 (13)程序清单 (13)绪论DSP一方面是Digital Signal Processing的缩写,意思是数字信号处理,就是指数字信号理论研究。
DSP另一方面是Digital Signal Processor,意思是数字信号处理器,就是用来完成数字信号处理的器件。
最初的DSP器件只是被设计成用以完成复杂数字信号处理的算法。
自从DSP芯片诞生以来,DSP芯片得到了飞速的发展。
DSP芯片高速发展,一方面得益于集成电路的发展,另一方面也得益于巨大的市场。
在短短的十多年时间,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
目前,DSP芯片的价格也越来越低,性能价格比日益提高,具有巨大的应用潜力。
DSP的功能越来越强,应用越来越广,达到甚至超过了微控制器的功能,比微控制器做得更好而且价格更便宜,许多家电用第二代DSP来控制大功率电机就是一个很好的例子。
汽车、个人通信装置、家用电器以及数以百万计的工厂使用DSP系统。
数码相机、IP电话和手持电子设备的热销带来了对DSP芯片的巨大需求。
而手机、PDA、MP3播放器以及手提电脑等则是设备个性化的典型代表,这些设备的发展水平取决于DSP的发展。
新的形势下,DSP面临的要求是处理速度更高,功能更多更全,功耗更低,存储器用量更少。
此次设计中,通过对TMS320CF2812的控制以及对其引脚GPIO功能的设计,在实验板上实现4位LED显示流水灯。
基于DSP的FFT算法的实现摘要数字信号处理(Digital Signal Processing,简称D S P)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
D S P有两种含义:Digital Signal Processing(数字信号处理)、Digital Signal Processor(数字信号处理器)。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
DSP芯片的出现使FFT的实现方法变得更为方便。
由于大多数DSP 芯片都具有在单指令周期内完成乘法—累加操作,并且提供了专门的FFT指令,使得FFT算法在DSP芯片实现的速度更快。
FFT算法的运算时间是衡量DSP芯片性能的一个重要指标,因此提高FFT算法的运算速度是非常重要的。
在用DSP芯片实现FFT算法时,应允许利用DSP芯片所提供的各种软、硬件资源。
如何利用DSP芯片的有限资源,合理地安排好所使用的存储空间是十分重要的。
关键词:数字信号处理 FFT算法AbstractDigital signal processing (DSP) is involves many disciplines and wi dely applies in the many domain emerging disciplines. DSP has two kinds of meanings: digital Signal Processing, Digital Signal Processor.The digit al signal processing uses the computer or the special-purpose handling equip ment, carries compressing and so on gathering, transformation, filter, estimat ing, value, enhancement, compression, recognition by the digital form ,to ob tain the signal form which the people need.The appearance of DSP chip makes the realization method of FFT becomes more convenient. Since most DSP chips are multiplying and accumulating operations in a single instruction period, and provides a special FFT instruction, the FFT algorithm in the DSP chip to achieve faster.FFT algorithm is an important index to measure the performance of DSP chips, is very important to improve the operation speed of the FFT algorithm. The realization of FFT algorithm in DSP chip, all should be allowed provided by DSP soft, the hardware resources. Limited resources how to use DSP chip, reasonably arrange the storage space used is very important.Keyword: Digital signal processing FFT algorithm目录第一章设计思路 (1)1.1 DSP芯片介绍 (1)1.2 FFT算法的DSP结构 (2)第二章设计原理 (4)2.1 快速傅里叶变换FFT的原理 (4)2.2 FFT算法的实现 (6)第三章仿真器调试及模拟结果 (7)3.1 调试步骤 (7)3.2 模拟仿真结果 (9)第四章设计结论 (12)4.1 心得体会...................... . (12)参考文献 (13)第一章设计思路1.1 DSP芯片介绍DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。
一、课程设计的目的和要求1.1课程设计目的:本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。
通过课程设计,使学生加深对DSP芯片TMS320C54的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
1.2课程设计要求1、认真查阅资料2、课程设计前认真预习3、遵守课程设计时间安排4、认真保质保量完成设计要求5、认真书写报告二、系统功能介绍及总体设计方案2.1 功能介绍随着信息技术和计算机技术的飞速发展, 数字信号处理技术在众多领域得到广泛应用。
数字滤波器由于其精度高、稳定性好、使用灵活等优点, 广泛应用在各种数字信号处理领域。
数字滤波器根据冲击响应函数的时域特性, 可以分为FIR (有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器)。
FIR滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。
而且, FIR 滤波器的单位抽样响应是有限长的, 故一定是稳定的, 他又可以用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。
本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率F s=1000Hz,通带频率F pass=150Hz截止频率F sg=250Hz,通带衰减A pass =0.5dB阻带衰减A stop=80dB。
2.2 总体设计方案:先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计系数),将其导入CCS在CCS!进行仿真调试运行,得到了输入和输出的波形及其频谱。
三、主要设计内容和步骤3・1 FIR 数字滤波器的原理分析3.1.1FIR 数字滤波器数字滤波器原理一般具有如下差分方程N AN -1y(n) f a k X( n- k) 、b k y( n-k)k z 0k =0式中x(n)为输入序列,y(n)为输出序列,兔和b k 为滤波器系数,N 是滤波器阶N J数。
DSP课程设计报告——多波形信号发生器目录一、实验目的 (2)二、实验内容 (2)三、实验原理 (3)1.产生连续的波形的方法 (3)1.1 查表法: (3)1.2计算法: (3)2. TLV320AIC23B的内部结构及工作原理 (3)四、程序设计 (4)五、程序调试 (10)1、编译过程 (10)2、.cmd程序(5502.cmd)全文及其解释: (10)3、程序运行结果(图形和数据显示): (12)六、硬件输出演示: (14)七、实验感想与体会....................................................................................... 错误!未定义书签。
八、参考文献 (16)一、实验目的1.学习并掌握D/A转换器的初始化设置及其应用2.学习并掌握使用DSP产生正弦波的原理和算法,进而掌握任意信号波形(如三角波、锯齿波、矩形波等信号)产生的原理和算法。
3.比较产生信号的两种主要方法(查表法和计算法)的优缺点。
4.熟练使用软件CCS3.3对程序的完整调试过程。
二、实验内容使用DSP产生300~16000Hz的正弦、方波、锯齿波和三角波信号,输出信号的幅度从0~1Vrms(有效值)。
要求使用计算法,并且频率可变、幅度可变。
本实验要求用软件CCS3.3编程实现,并与硬件连接进行功能演示。
三、实验原理1.产生连续的波形的方法1.1 查表法:把事先将需要输出的数据计算好,存储在DSP 中,然后依次输出就可以了。
查表法的优点是速度快,可以产生频率较高的波形,而且不占用DSP 的计算时间;查表法的缺点在于需要占用DSP 的内部的存储空间,尤其对采样频率比较大的输出波形,这样,需要占用的内部的空间将更大,而DSP 内部的存储空间毕竟有所限制。
这使得查表法的应用场合十分有限。
1.2计算法:采用计算的方法依次计算数据而后输出,然后再计算而后输出。
计算法的优缺点正好和查表法相反。
即:其优点是不占用DSP 的存储空间,其缺点是占用DSP 的计算时间,使得执行程序的开销变大。
本实验将用第二种方法即计算法产生一个正弦波信号,从DA 输出。
由余弦信号的递推公式:得知:如果需要产生连续的余弦信号,必须知道首先两个余弦值的大小,然后就可以利用上式计算出后面的数据,这就是下面编程依据的核心算法。
正弦函数和余弦函数的泰勒级数数学表达式为:=x sin +--+-+-+---)!12()1(!9!7!5!31219753n x x x x x x n n ,x ∀),(∞-∞∈ =x cos +-+-+-+-)!2()1(!8!6!4!2128642n x x x x x n n ,x ∀),(∞-∞∈. 如果要计算一个角度ⅹ的正弦和余弦值,可以取其前五项进行近似计算。
也可以用递推公式求正弦和余弦值:θθθθ)2sin()1sin(cos 2sin ---•=n n nθθθθ)2cos()1cos(cos 2cos ---•=n n n利用递推公式计算正弦和余弦值需已知cos(x)、sin(n-1)x 、sin(n-2)x 和cos(n-2)x 的值。
用这种方法,求少数点可以,如产生连续正弦、余弦波,则累积误差太大,不可取。
最终产生信号的频率为f0=fs/N ,其中N 为抽样点数。
2. TLV320AIC23B 的内部结构及工作原理TLV320AIC23B 是TI 公司生产的高性能语音CODEC 芯片,16、20、24、32位串行A/D 、D/A转换电路。
采样速率:可通过DSP编程来设置,范围8KHz~96KHz。
内含抗混叠滤波器和重构滤波器。
//AIC23波特率设置,CLKIN=CLKOUT=MCLK,采样率32KHz,时钟模式为普通模式,Uint16 Sample_Rate_Control[2] = {Codec_SRC_REV,SRC_CLKIN(0)+SRC_CLKOUT(0)+SRC_SR(6)+SRC_BOSR(0)+SRC_USB(0)};在AIC23中设置如下:// AIC23的波特率设置,采样率为32k,CLKIN=CLKOUT=MCLK// 时钟模式设为普通模式,基过采样率为250Fs//96k 7//48k 0//32k 6//8k 3Uint16 Sample_Rate_Control[2] = {Codec_SRC_REV,SRC_CLKIN(0)+SRC_CLKOUT(0)+SRC_SR(6)+SRC_BOSR(0)+SRC_USB(0)};本报告中所有程序的采样频率波特率均为32000Hz四、程序设计我们的设计围绕要求展开,需要实现的基本功能为:1.产生正弦、方波、三角波、锯齿波四种波形2.波形幅度、频率可借助GEL的slider调整通过对GEL的学习,我们发现其slider也可以实现选择波形,于是整个演示过程就不需要切换程序了。
主程序设计思路如下图:代码:#include <math.h>#include <stdio.h>#include <csl.h>#include <csl_chip.h>#include <csl_i2c.h>#include <csl_pll.h>#include <csl_mcbsp.h>#include <csl_emif.h>#include <csl_emifBhal.h>#include <stdio.h>//#include "E2PROM_Function.h"#include "CODEC.h"#define Nx 360 //每周期抽取点数#pragma DATA_SECTION(output1,"data_out1"); //存放sin数据,浮点型float output1[Nx];#pragma DATA_SECTION(output2,"data_out2"); //存放sin数据,浮点型float output2[Nx];#pragma DATA_SECTION(output3,"data_out3"); //存放sin数据,浮点型float output3[Nx];#pragma DATA_SECTION(output4,"data_out4"); //存放sin数据,浮点型float output4[Nx];#pragma DATA_SECTION(output,"data_out"); //存放sin数据,定点型int output[Nx],gain=1,gainnew=0,frq=300,wave=1;#undef CODEC_ADDR#define CODEC_ADDR 0x1A// 定义McBSP的句柄MCBSP_Handle hMcbsp;/*------------------------------------------------------------------------------------*///// FUNCTION: MAIN///*------------------------------------------------------------------------------------*/void main(void){Uint16 i=0,k=0;float input0=0,x1;float a,b,c,d,e,f,g,h,ii,step;//step为角度步长step=360.0/Nx; // Nx为360度内取样点数/*****************新增函数段*****************/for(i=0;i<=Nx-1;i++){float angle,xx;angle=input0+step*i;x1=3.1415926*angle/180;xx=x1*x1;a=1-xx/16/17;b=1-xx/14/15*a;c=1-xx/12/13*b;d=1-xx/10/11*c;e=1-xx/8/9*d;f=1-xx/6/7*e;g=1-x x/4/5*f;h=1-xx/2/3*g;ii=x1*h;//g=x1*(1-xx/2/3*(1-xx/4/5*(1-xx/6/7*(1-xx/8/9*(1-xx/10/11*(1-xx/12/13*(1-xx/14/15*(1-xx/16/1 7))))))));//数学总公式// fprintf(stdout,"COMPUTE%f",ii); fprintf(stdout,"\n "); //输出计算的正弦波的数值,x2=eoutput1[i]= 32767*ii; //利用泰勒级数计算出正弦波的数值,存放到output1中// output[i]=gain*output1[i]/1024;} // 正弦波output2[0]=0;for(i=0;i<=(Nx-1)/2;i++){output2[i+1]=output2[i]+2;}for(i=(Nx+1)/2;i<=(Nx-1);i++){output2[i+1]=output2[i]-2;} // 三角波for(i=0;i<=(Nx-1)/2;i++){output3[i]=500;}for(i=(Nx+1)/2;i<=(Nx-1);i++){output3[i]=0;} // 方波output4[0]=0;for(i=0;i<=(Nx-1);i++){output4[i+1]=output4[i]+2;}// Initialize CSL library - This is REQUIREDCSL_init();// The main frequency of system is 240MHz// 该频率是为了设置IIC模块的需要设置的,为了使用I2C_setup函数PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);//EMIF初始化Emif_Config();// Open McBSP port 1 and get a McBSP type handlehMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET); // Config McBSP port 1 by use previously defined structure Mcbsp_Config(hMcbsp);//I2C初始化I2C_cofig();//CODEC寄存器初始化inti_AIC();/*------------------------------------------------------------------------------------*/// Receive the ADC output data of CODEC// Then output the received data to DAC of CODEC/*------------------------------------------------------------------------------------*/ while(1){if(wave==1){if(gain!=gainnew){for(i=0;i<Nx;i++){output[i]=gain*output1[i]/204800;}gainnew=gain;}}else if(wave==2){if(gain!=gainnew){for(i=0;i<Nx;i++){output[i]=gain*output2[i]/1024;}gainnew=gain;}}else if(wave==3){if(gain!=gainnew){for(i=0;i<Nx;i++){output[i]=gain*output3[i]/1024;}gainnew=gain;}}else(wave==4);{if(gain!=gainnew){for(i=0;i<Nx;i++){output[i]=gain*output4[i]/1024;}gainnew=gain;}}while(!MCBSP_xrdy(hMcbsp)) {};MCBSP_write16(hMcbsp, output[k]);while(!MCBSP_xrdy(hMcbsp)) {};MCBSP_write16(hMcbsp, output[k]);k=k+(frq/88.235);if (k>=Nx) k=k%Nx;}}GEL文件如下:Volume.gel/** Copyright 1998 by Texas Instruments Incorporated.* All rights reserved. Property of Texas Instruments Incorporated. * Restricted rights to use, duplicate or disclose this code are* granted through contract.*//* ======== volume.gel ========*/menuitem "Application Control"slider Gain(0,1000,1,1, gainParm){gain = gainParm;}menuitem "Application Control"slider Frq(300,16000,100,100, frqParm){frq = frqParm;}menuitem "Application Control"slider Wave(1,4,1,1, waveParm){wave = waveParm;}五、程序调试1、编译过程在编译程序之前,还要做一些准备工作,即这项工程的文件添加等。