dsp课程设计报告(2)分析
DSP课程设计报告

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课程设计(课题二fft的频谱分析仪)报告

DSP课程设计报告课题:基于FFT的频谱分析仪设计班级:电子信息工程0901班小组成员:陈湛国200930410103谢海200930410124 指导老师:徐梅宣华南农业大学珠江学院信息工程系一、设计原理(1)实现输入数据的比特反转输入数据的比特反转实际上就是将输入数据进行位码倒置,以便在整个运算后的输出序列是一个自然序列。
在用汇编指令进行位码倒置时,使用位马导致寻址可以大大提高程序执行速度和使用存储器的效率。
在这种寻址方式下,AR0存放的整数N是FFT点的一半,一个辅助寄存器指向一个数据存放的单元。
当使用位码倒置寻址将AR0加到辅助寄存器时,地址将以位码倒置的方式产生。
(2)实现N点复数FFTN点复数FFT算法的实现可分为三个功能块,及第一级蝶形运算、第二级蝶形运算、第三级至log2N级蝶形运算。
在运算过程中,为了避免运算结果的溢出,可对每个蝶形的运算结果右移一位。
(3)功率谱的计算计算功率谱时只需将FFT变换好的数据,按照实部X R(k)和虚部X I(k)求它们的平方和,然后对平方和进行开平方运算。
(4)输出FFT结果二、操作步骤1、运行软件打开Setup CCStudio v3.3,在Family中选择C54XX,Platform中选择simulator,此时在My System中出现C54xx Rev.x CPU Cycle Accurate Simulator,点击,然后再点击“Save&Quit”,此时有窗口“Code Composer Studio Setup”出现,点击“Yes”,然后进入CCStudio:Parallel Debug Manager,在“Open”选项中选择“C54xx Rev.x CPU Cycle Accurate Simulator”,则进入设计的操作界面。
2、载入程序代码,编译并执行首先,点击“Project”,建立新文件;然后点击“File”,建立源文件,后缀名分别为“.C”、“.cmd”;其次,把编好的FFT程序放入“.C”文件中,命令文件也编入“.cmd”中;再次,加载文件“.C”及“.cmd”文件;接着点击“Project”中的“Rebuild Aall”,无错误出现,则继续操作;点击“File”中的“Load Program”,把后缀为“.out”的文件加载进来;然后点击“Run”,最后,点击“View”,“Graph”,进入“time/Frequency”,修改设置后,点击“ok”,则出现图像。
dsp综合设计课程设计报告

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知识。
dsp课程设计实验报告

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)太长, 实现起来很困难, 主要原因是滤波器指标太苛刻, 因此, 一般不用窗函数法设计这种类型的滤波器。
dsp课程设计报告(同名2257)

dsp课程设计报告(同名2257)DSP课程设计总结(2014-2015学年第2学期)题目:数据采集处理和控制系统设计专业班级:电子1202学生姓名:李茹学号:12052203指导教师:李莉设计成绩:2015 年7 月目录一设计目的 (1)二系统分析 (1)1.1设计要求 (1)1.2主要任务 (1)三硬件设计 (2)3.1 硬件总体结构 (2)3.2 DSP模块设计 (4)3.3 电源模块设计 (6)3.4 时钟模块设计 (6)3.5 存储器模块设计 (7)四软件设计 (9)4.1 软件总体流程 (9)4.2 核心模块及实现代码 (9)五课程设计总结 (29)六参考文献 (29)一设计目的此设计结合硬件、软件得到一个基于TMS320VC5416芯片,能完成数据采集、频谱分析、滤波、LCD显示的DSP系统。
以此加强了对DSP功能的认识,复习了Altium Designer 软件的使用方法。
并在此基础上利用CCS软件编程实现A/D采集,FFT变换处理,低通滤波,显示滤波成分等功能的完整的小型数字处理系统。
二系统分析1.1设计要求(1)硬件设计要求设计一个功能完备的,能够独立运行的精简DSP硬件系统,使用Altium Designer绘制出系统原理图和PCB图。
(2)软件设计要求利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号叠加。
在DSP中采集信号,并且对信号进行频谱分析,滤波等。
通过串口命令选择算法功能,将计算的信号频率或者滤波后的信号频率在LCD上显示。
1.2主要任务(1)DSP 硬件系统设计设计DSP基本结构并绘制单片机最小系统原理图和PCB图。
(2)数据采集处理和控制系统设计利用CCS软件编程实现数据采集x(n)→对数据FFT处理、分析频率成分→根据频率成分设计FIR低通滤波器h(n)→卷积x(n)*h(n)=y(n)得到滤波之后的信号→分析滤波之后y(n)的频率成分→LCD显示高频,低频和滤波器的截止频率。
dsp交通等课程设计报告

dsp交通等课程设计报告一、课程目标知识目标:1. 让学生理解交通信号灯的基本原理,掌握数字信号处理(DSP)技术在交通控制中的应用。
2. 使学生掌握交通流量的基本概念,学会分析交通数据,并运用DSP技术进行优化处理。
3. 帮助学生了解我国交通法规及交通信号控制的相关知识。
技能目标:1. 培养学生运用DSP技术进行交通信号灯控制程序编写的能力。
2. 培养学生运用数据分析方法,对交通流量进行有效监控和优化调整的能力。
3. 提高学生的实践操作能力,学会使用相关软件和硬件进行交通信号控制系统的设计和调试。
情感态度价值观目标:1. 培养学生关注社会交通问题,树立解决实际问题的责任感和使命感。
2. 激发学生对数字信号处理技术的兴趣,提高学生主动学习的积极性。
3. 培养学生的团队协作意识,学会与他人共同探讨、解决问题。
本课程针对年级特点,结合实际交通问题,以数字信号处理技术为载体,旨在提高学生的理论知识水平、实践操作能力以及解决实际问题的能力。
课程目标具体、可衡量,为后续教学设计和评估提供明确方向。
二、教学内容本章节教学内容主要包括以下三个方面:1. 交通信号灯原理及DSP技术基础- 教材章节:第一章 交通信号灯原理;第二章 DSP技术概述- 内容安排:介绍交通信号灯的基本原理、功能及分类;讲解DSP技术的基本概念、发展历程及其在交通控制领域的应用。
2. 交通流量分析及DSP技术应用- 教材章节:第三章 交通流量分析;第四章 DSP技术在交通控制中的应用- 内容安排:分析交通流量的基本特性,讲解数据采集、处理和优化方法;探讨DSP技术在交通信号控制、拥堵缓解等方面的应用实例。
3. 交通信号控制系统设计与实践- 教材章节:第五章 交通信号控制系统设计;第六章 实践操作- 内容安排:介绍交通信号控制系统的设计原理、硬件和软件选型;指导学生进行交通信号控制程序编写,开展实践操作,培养实际动手能力。
教学内容安排和进度:本章节共计12课时,分配如下:- 第1-4课时:交通信号灯原理及DSP技术基础- 第5-8课时:交通流量分析及DSP技术应用- 第9-12课时:交通信号控制系统设计与实践教学内容具有科学性和系统性,结合教材章节和实际案例,旨在帮助学生掌握交通信号控制相关知识,提高实践操作能力。
DSP技术课程设计实验报告
实验设计报告实验项目名称:基于DSP的数字滤波器设计与仿真目录一、课程设计的目的和要求 (3)二、系统功能介绍及总体设计方案 (3)1、系统功能介绍 (3)2、总体设计方案流程图 (3)三、主要内容和步骤 (4)1、滤波器原理 (4)2、DSP 实现FIR滤波的关键技术 (4)3.操作步骤 (6)四、详细设计 (7)1、MATLAB程序流程图 (7)2、CCS汇编程序流程图 (8)五、实验过程 (8)1.汇编语言 (8)2.C语言 (13)六、结论与体会 (18)七、参考文献 (19)八、附件:源程序清单 (19)汇编程序清单: (19)C程序清单 (21)一、课程设计的目的和要求通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。
学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。
二、系统功能介绍及总体设计方案1、系统功能介绍一个实际的应用系统中,总存在各种干扰。
数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。
在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。
设定模拟信号的采样频率为32000Hz,。
设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=40000Hz通带: 4000Hz~4500Hz过渡带: 2500Hz~3000Hz,3500Hz~4000Hz带内波动: 0.5dB阻带衰减: 50dB滤波器级数: N=154滤波器系数:由MATLAB根据前述参数求得。
2、总体设计方案流程图三、主要内容和步骤1、滤波器原理对于一个FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:其中N-1是FIR 的滤波器的阶数,为延时结,为端口信号函数。
dsp课程设计报告
DSP课程设计实验报告语音噪声滤波院(系):电子信息工程学院指导教师:杨恒小组成员:郝嘉然08212005王廓08283023一、绪论三、 设计方案、算法原理说明 .....................................4 四、 程序设计、调试与结果分析 ...................................15五、感想 六、 附录源程序 (20)、设计任务书17七、参考文献 (34)16七、一、绪论随着语音技术研究的深入和实际应用的增多,各种语音处理系统都面临着进一步提高性能的问题。
语音增强是其中的关键技术之一。
从20世纪60年代开始,对语音增强的研究就一直没有停止。
20世纪70年代由于数字信号处理理论的成熟,加速了语音增强技术的研究,使该技术走向成熟。
20世纪80年代以后,超大规模集成电路技术的发展为语音增强的实时实现提供了可能。
语音增强即语音噪声处理的目的是从带有噪声的语音信号中提取纯净的原始语音。
但由于噪声信号都是随机产生的,完全消除噪声几乎不可能,因此实际语音增强的目的主要有:改进语音质量,消除背景噪声,使听者乐于接受,不感到疲倦,同时提高语音信号的可懂度,方便听者理解。
语音增强不但与语音处理理论有关,而且涉及到人的听觉和语音学。
再者,噪声的来源众多,应用场合不同,它们的特性也各不相同。
因此在不同的噪声场合中应采用不同的语音增强方法。
语音噪声处理的应用背景语音噪声处理技术是指当语音信号被各种各样的噪声(包括语音)干扰、甚至淹没后,从噪声背景中提取、增强有用的语音信号,抑制、降低噪声干扰的技术。
语音增强技术无论在日常生活中,还是在其它的领域,或者对语音信号处理技术本身来说都很有应用价值。
在日常生活中,我们经常会遇到在噪声干扰下进行语音通信的问题。
如:使用设置在嘈杂的马路旁或市场内的公用电话,或在奔驰的汽车、火车里使用移动电话时,旁人的喧闹声、汽车和火车的轰鸣声等背景噪声都会干扰语音通讯的质量。
DSP课程设计报告
1.课程设计目的及意义........2.课程设计题目描述要求及理论基础题目要求 .............数字滤波器的简介及发展. .....FIR 数字滤波器的特点 ......FIR 滤波器具有的优点 ......MATLAB^件简介.............3.课程设计报告内容 .........设计方案的选定与原理. .....用窗函数法设计FIR滤波器......设计方案程序及图表. .......4.总结...............错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误!参考书目:1.课程设计目的及意义(1)学会MATLA的使用,掌握MATLAB勺程序设计方法;(2)掌握在Windows环境下语音信号采集的方法;( 3)掌握数字信号处理勺基本概念、基本理论和基本方法;(4)掌握MATLAB^计FIR滤波器;(5)学会用MATLAB寸信号进行分析和处理。
2.课程设计题目描述要求及理论基础题目要求(1)语音信号的采集;要求利用windows下的录音机(开始一程序一附件一娱乐一录音机,文件一属性—立即转换— 8000KHz, 8 位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。
然后在MATLAB^件平台下,禾U用函数 wavread对语音信号进行采样,记住采样频率和采样点数。
通过 wavread 函数的使用,要求理解采样频率、采样位数等概念。
wavread 函数调用格式:y=wavread(file) ,读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。
[y,fs,nbits]=wavread(file) ,采样值放在向量 y 中, fs 表示采样频率( Hz),nbits 表示采样位数。
y=wavread(file,N),读取前N点的采样值放在向量 y中。
dsp课程设计报告
DSP课程设计报告班级:姓名:学号:题目一:基于Matlab的数字滤波器设计及其对语音信号的应用1.课程设计的目的:1).掌握数字信号处理的基本概念、基本理论和基本方法;2).掌握MATLAB设计FIR和IIR数字滤波器的方法;3).掌握在Windows环境下语音信号采集以及时域、频域分析;4).学会MATLAB的使用,掌握MATLAB的程序设计方法;5).学会用MATLAB对信号进行分析和处理。
2.课程设计内容:录制一段自己的语音信号,对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采matlab设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。
3.课程设计基础:MATLAB编程基础、数字信号处理知识、语音信号处理知识。
4.具体步骤与要求:4.1 语音信号的采集录制一段自己的话音,或利用老师给的语音,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
wavrecord(2*fs,fs)4.2语音信号的频谱分析要求画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。
fft4.3设计数字滤波器,画出其频率响应曲线各滤波器的性能指标:(1)低通滤波器性能指标fp=1000Hz, fs=1200Hz, As=40dB, Ap=1dB。
(2)高通滤波器性能指标fs=4000Hz, fp=4300Hz, As=40dB, Ap=1dB(3)带通滤波器性能指标fp1=1200 Hz, fp2=3 000 Hz, fs1=1000 Hz, fs2=3200 Hz, As=40dB, Ap=1dB。
要求:(1)频率变换法设计IIR滤波器:可以利用函数butter、cheby1、cheby2和ellip等设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北水利水电大学North China University of Water Resources and Electric PowerDSP课程设计题目: FIR数字低通滤波器学院信息工程学院专业电子信息工程姓名学号指导教师摘要 (1)一. 绪论 (1)1.1设计背景 (1)1.2设计方法分析 (1)二.FIR滤波器设计过程 (2)2.1 FIR滤波器原理 (2)2.2 FIR滤波器的实现方法 (3)2.3 FIR滤波器的MATLAB实现 (4)2.4 设计流程图 (6)三.MATLAB和 CCS操作步骤及仿真结果 (7)3.1 matlab中的.M文件的编写 (7)3.2 工程文件的建立 (12)3.3 仿真结果及分析 (12)四.心得与总结 (12)摘要当前,数字信号处理技术受到了人们的广泛关注,其理论及算法随着计算机技术和微电子技术的发展得到了飞速地发展,并被广泛应用于语音和图象处理、数字通信、谱分析、模式识别和自动控制等领域。
数字滤波器是数字信号处理中最重要的组成部分之一,几乎出现在所有的数字信号处理系统中。
设计中通过MATLAB环境中图形化的方式建立数字信号处理的模型进行DSP的设计和仿真验证,将设计的图形文件.mdl直接转换成C语言程序在CCS中运行。
利用MATLAB 软件开发产品加速了开发周期,比直接在CCs中编程方便快捷了很多,对于任何复杂功能的DSP系统,只需要进行少量的添加和修改就能完成功能正确的C语言程序设计。
一. 绪论1.1设计背景一个实际的应用系统中,由于设备或者是外界环境的原因,总存在各种干扰,使信号中混入噪声,譬如音频信号中高频成分的噪声使得音乐听起来刺耳,失去了原有悦耳的音质。
为了提高信号质量,可以对信号进行滤波,从噪声中提取信号,即对一个具有噪声和信号的混合源进行采样,然后经过一个数字滤波器,滤除噪声,提取有用信号。
DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。
对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。
由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。
但是FIR系统有自己突出的优点:①系统总是稳定的;②易实现线性相位;③允许设计多通带(阻带)滤波器。
其中后两项是IIR系统不易实现的。
1.2设计方法分析FIR滤波器的设计方法分析数字滤波器依据冲激响应的宽度划分为有限冲激响应(FIR)滤波器和无限冲激响应滤波(IIR)。
FIR 滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的,有限冲激响应滤波器(FIR),具有以下的优点:(1)可以在幅度特性随意设计的同时,保证精确、严格的线性相位;(2)由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此F I R 滤波器没有不稳定的问题;(3)由于FIR 滤波器一般为非递归结构,因此在有限精度运算下,不会出现递归结构中极性震荡等不稳定现象,误差较小。
FIR 滤波器的设计方法有窗函数设计法和频率采样设计法,下面扼要介绍窗函数设计法。
窗函数法设计FIR 滤波器的基本思想是:根据给定的滤波器技术指标,选择滤波器长度N 和窗函数ω(n),使其具有最窄宽度的主瓣和最小的旁瓣。
其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。
给定滤波器的频率响应为Hd(ejw),要求设计一个频率响应为H(ejw)的滤波器来逼近Hd(ejw),其中:对Hd(ejw)进行傅立叶反变换推导出其时域响应hd(n),即由于hd(n)是无限长序列,且是非因果的。
要得到有限长的h(n),需要用一个有限长的窗口函数序列ω(n)来截取h(n),即二.FIR 滤波器设计过程2.1 FIR 滤波器原理数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR 滤波器的差分方程为:∑-=-=10)()(N k k k n x a n y对上式进行Z 变换得到FIR 滤波器的传递函数为:()()()∑-=-==10N i k k z b z X z Y z H由上式可以看出,H(z)是1-z 的N-1次多项式,它在z 平面内有N-1个零点,同时在原点处有N-1个重极点。
N 阶滤波器通常采用N 个延迟单元、N 个加法器与N+1个乘法器,取图中(a)、(b)两种结构。
FIR 滤波器的一般结构因为FIR 滤波器的单位抽样响应是有限长的,所以它永远是稳定的。
另外,若对 h(n)提出一些约束条件,那么可以很容易地使 H(z)具有线性相位,这在信号处理的很多领域是非常重要的。
FIR 滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。
这里所说的要求,除了通带频率p ω、阻带频率及两个带上的最大和最小衰减p ∂和s ∂外,很重要的一条是保证H(z)具有线性相位。
2.2 FIR 滤波器的实现方法(1)采用DSP(Digital Signal Processing)处理器来实现DSP 处理器是专为数字信号处理而设计的,它的主要数字运算单元是一个乘累加器,能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。
这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快,成本低。
用DSP 芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特点。
(2)用计算机软件实现软件实现方法即是在通用的微型计算机上用软件实现。
利用计算机的存储器、运算器和控制器把滤波所要完成的运算编成程序通过计算机来执行,软件可由使用者自己编写,也可以使用现成的。
但是这种方法速度慢,难以对信号进行实时处理,虽然可以用快速傅立叶变换算法来加快计算速度,但要达到实时处理要付出很高的代价。
(3)用FPGA 等可编程器件实现使用相关开发工具和VHDL 等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。
这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理,还是作为DSP 芯片的协作处理器都是比较活跃的研究领域。
可以采用DSP 或FPGA 来实现硬件电路。
采用固定功能的专用信号处理器实现(4) 专用信号处理器采用专用集成电路ASIC 来实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使用各种随机逻辑器件组成的信号处理器。
它们体积小、保密性好,具有极高的性能,然而灵活性差。
2.3 FIR滤波器的MATLAB实现MATLAB辅助DSP 实现FIR ,其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。
使用该方法,便于采用汇编语言来实现程序。
头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便程序调试、仿真。
MATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。
(1).打开Filter Design & Analysis Tool单击MATLAB主窗口下方的“Start”按钮,选择菜单“ToolBox”→“Filter Design”→“Filter Design & Analysis Tool(FDATool)”命令,打开FDATool,如图1所示。
图1(2)产生滤波器阶数为81阶,这里应填80,比阶数少1。
窗函数选择切比雪夫型(chebyshev),滤波器类型为Lowpass,采样频率为20000Hz,通带截止频率分别为1000HZ。
得图2图2 (3).产生滤波器系数,如图3图3 (4)头文件的产生(5)选择所需的型号:(6)生成头文件最后将产生的头文件中的滤波器系数数组放入编写好的滤波器函数中,并在进行CCS中进行调试与测试。
2.4 设计流程图程序流程图(1)对DSP进行初始化,定义DSP的一些向量和工作模式;(2)为数字滤波作准备,将预先设计好的有N个抽头的FIR数字滤波器的冲激响应序列h(n)中的N个数值放入存储单元B1~BN;(3)作好滤波准备工作后,开始进行抽样,并读入抽样值,放入存储单元A1中;(4)之后便对抽样值进行运算处理:(a)将累加器清零,并设置两个准备相乘的存储单元A与B的初始值K和L;(b)将第K个抽样值AK与冲激响应序列的第L个数值BL相乘(K+L=N+1),并将乘积送入累加器进行累加;(c)将第K-1个抽样值AK-1放入AK,此时AK中原数值被覆盖;(d)重复(b)~(c),直至共完成N次乘加运算。
(5)输出处理结果;(6)重复(3)~(5)。
三.MATLAB和CCS操作步骤及仿真结果3.1 matlab中的.M文件的编写sl=300; %有效信号ns1=2000; %高频噪声ns2=8000; %高频噪声fs=20000; %采样频率N=1000;T=1/fs;n=0:N;signal=sin(2*pi*sl*n*T);noise1=0.7*sin(2*pi*ns1*n*T);noise2=0.4*sin(2*pi*ns2*n*T);x=(signal+noise1+noise2);%待滤波信号figure(1)plot(x)figure(2)y=abs(fft(x));%待滤波频谱df=n*(fs/N);plot(df,y)figure(3)plot(n,signal)figure(4)ysignal=abs(fft(signal));%滤波后频谱df=n*(fs/N);plot(df,ysignal) %滤波数据导出xout=x/max(x); %归一化xto_css=round(32767*xout);%数据取整xoutcss=xto_css;fid=fopen('G:\2012156\d\inputld.dat','w'); %打开文件fprintf(fid,'1651 1 0 1 0\n');%输出文件头fprintf(fid,'%d\n',xoutcss); %输出fclose(fid);%fid=fopen('sine.dat','w');%将文件头写入文件,将生成的y信号写入到文件,格式四位小数%fprintf(fid,'1651 1 0 1 0\n');%fprintf(fid,'%.4f\n',y);%将文件头写入文件,将生成的y信号写入到文件,格式十六进制,负数用补码%fprintf(fid,'1651 1 0 1 0\n');%fprintf(fid,'0x%x\n', round(y*100) + (y<0)*2^16);运行此程序产生以下四个图:20040060080010001200-2.5-2-1.5-1-0.500.511.522.500.20.40.60.81 1.2 1.4 1.6 1.82x 1041002003004005006001002003004005006007008009001000-1-0.8-0.6-0.4-0.200.20.40.60.8100.20.40.60.81 1.2 1.4 1.6 1.82x 1041002003004005006003.2 工程文件的建立在CCSV3.3中建立新工程,把c源代码和.cmd文件导入后,外加rts. lib文件,它是TI提供的运行时支持库, 如果是C代码写的源程序, 必须要包含该库,该库由TI公司做好放在CCS\ cgtools\ lib中。