DSP课程设计报告—刘雅琪
DSP课程设计报告
一、实验内容:编写程序产生正弦波二、实验目的:1.熟悉DSP实验箱的功能及应用。
2.巩固DSP书本知识,掌握编程知识。
3.提高动手和知识的拓展能力。
三、实验设备:一台HK-DSP实验箱、一台PC机四、实验步骤:1.配置实验箱,选择相应的芯片。
2.建立工程文件。
在project中点击new新建工程。
3.在新建的工程中建立汇编源文件、链接文件和复向量文件,汇编源文件的名称必须与工程名和程序名一致,链接文件必须与程序名保持一致。
4.编程。
主程序:.title "shiyan4.asm".mmregs.def start.ref d_xs,d_sinx,d_xc,d_cosx,sin_start,cos_startsin_x: .usect "sin_x",360STACK: .usect "STACK",10k_theta .set 286start: .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,DPMPYA @d_cosxSTH B,1,*AR7+MAR *AR1+0LOOP1: STM #sin_x+89,AR6STM #88,BRCRPTB LOOP2-1LD *AR6-,ASTL A,*AR7+LOOP2: STM #179,BRCSTM #sin_x,AR6RPTB LOOP3-1LD *AR6+,ANEG ASTL A,*AR7+LOOP3: NOPend: B end.end子程序:sin_start:.def sin_start,d_sinx,d_xsd_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",1 c_1_s .usect "sin_vars",1.textSSBX FRCTSTM #d_coef_s,AR4RPT #3MVPD #table_s,*AR4+STM #d_coef_s,AR2STM #d_xs,AR3STM #c_1_s,AR5ST #7FFFH,c_1_sSQUR *AR3+,AST A,*AR3MASR *AR3+,*AR2+,B,AMPYA ASTH A,*AR3MASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3|| LD *AR5,BMASR *AR3-,*AR2,B,AMPYA d_xsSTH B,d_sinxRETcos_start:.def cos_start,d_cosx,d_xc d_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,AR4RPT #3MVPD #table_c,*AR4+STM #d_coef_c,AR2STM #d_xc,AR3STM #c_1_c,AR5ST #7FFFH,c_1_cSQUR *AR3+,AST A,*AR3||LD *AR5,BMASR *AR3+,*AR2+,B,ASTH A,*AR3MASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2,B,ASFTA A,-1,ANEG AMPYA *AR3+MAR *AR3+RETDADD *AR5,16,BSTH B,*AR3RET链接文件:vectors.objshiyan4.obj-o shiyan4.out-m shiyan4.map-e startMEMORY{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}复向量文件:.title "vectors.asm".ref start.sect ".vectors"B start.end5.将文件加入工程。
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课程设计报告
家庭远程测控系统设计0 开发目的(1) 学习温湿度传感器、直流有刷电机、RS485通信应用、WIFI模块的通信实现;(2) 学习多模块协调工作的编程思想;(3) 熟悉掌握TMS320F28027硬件电路及工作原理。
1 背景和意义随着Internet 技术的发展,家用电器、计算机和通讯一体化技术也逐步走进普通家庭。
现代智能家居由于其安全、方便、高效、快捷、智能化等特点,将成为现代社会和家庭的新时尚。
当家庭智能网关将家庭中各种各样的家电通过家庭总线技术连接在一起时,就构成了功能强大、高度智能化的现代智能家居系统。
当下智能家居行业刚刚起步,建设成本高,发展不完善。
因此本文提出了使用低成本器件和多源控制技术来实现家庭的远程监控。
基于容易实现,方便操作,贴近使用的设计理念,以DSPF28027单片机为控制核心,采用包括上位机、手机应用程序、Web界面等在内的多个控制源,进行远距离、多角度的家庭实时控制。
TMS320F28027是TI公司推出的一款32位定点型DSP,可应用于一些高分辨率、高效率的场合。
它内部嵌入了2kB OTP ROM、256kB FLASH和100kB RAM,使用简单方便,成本平易,性价比高。
TMS320F28027采用3.3V单电源供电,内部集成1.8V的LDO内核供电,模拟集成度高,性能稳定;采用上电复位电路外接阻容即可工作;内部集成1%精度的振荡器,不需外接晶振,节省成本;工作主频达60MHz;同时还具有强大算术处理能力和丰富的外设支持功能。
2 系统结构本设计以DSPF28027芯片为控制核心,以温度、湿度等传感器为环境信息采集源,以Web控制为辅助,共同组成家庭远程测控系统。
在原有的机械式按键开关的基础上,采用PC上位机、Web网页和手机APP,来控制家庭开关设备(如风机,加湿器,空调,电灯等),实现了远距离,多角度对家庭进行实时控制。
传感器包括温湿度传感器等,采用多种传感器相结合,智能根据各传感器采集的数值进行自动化控制,例如,根据家庭温、湿度设定值自动开启和关闭空调。
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课程设计实验报告
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课程设计报告
课程名称:DSP技术及应用设计题目:FIR数字滤波器系别:电信系一设计目的1 掌握用窗函数法设计FIR数字滤波器的原理和方法。
2 熟悉线性相位FIR数字滤波器特性。
3 了解各种窗函数对滤波特性的影响。
二实验设备计算机,CCS2.2软件,实验箱,DSP仿真器三 FIR数字滤波器设计原理1 有限冲击响应数字滤波器的基础理论。
2 模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器)。
3 数字滤波器系数的确定方法。
四实验步骤1 复习如何设计FIR数字滤波。
阅读本实验原理,掌握设计步骤;2 阅读本实验所提供的样例子程序;3 运行CCS软件,对样例程序进行跟踪,分析结果;4 填写实验报告。
5 样例程序实验操作说明五软件设计Exp-FIR-AD.cmd-stack 0x100MEMORY{PAGE 0: PROG: origin = 2b00h, length = 1500hPAGE 1: DATA: origin = 0200h, length = 1d00h}SECTIONS{.text > PROG PAGE 0.cinit > PROG PAGE 0.switch > PROG PAGE 0vect > 3f80h PAGE 0.data > DATA PAGE 1.bss > DATA PAGE 1.const > DATA PAGE 1.sysmem > DATA PAGE 1.stack > DATA PAGE 1}Exp-FIR-AD/******************************************************************** *************The programme of the FIR filter.Using INT2 to get the input signal.Array x is the input signal from A/D, the length is 256, 32-bit floating point.Array y is the signal out of filter, the length is 256, 32-bit floating point.Array h is the coefficient of the FIR filter, the length is 51, 51 order filter.********************************************************************* *************/#pragma CODE_SECTION(vect,"vect")#include "stdio.h"#include "math.h"#define pi 3.1415927#define IMR *(pmem+0x0000)#define IFR *(pmem+0x0001)#define PMST *(pmem+0x001D)#define SWCR *(pmem+0x002B)#define SWWSR *(pmem+0x0028)#define AL *(pmem+0x0008)#define CLKMD 0x0058 /* clock mode reg*/#define Len 256#define FLen 51double npass,h[FLen], x[Len], y[Len], xmid[FLen];void firdes (double npass);unsigned int *pmem=0;ioport unsigned char port8001;int in_x[Len];int m = 0;int intnum = 0;double xmean=0;int i=0;int flag = 0;double fs,fstop,r,rm;int i,j,p,k=0;void cpu_init(){//asm(" nop");//asm(" STM #0, CLKMD");//asm(" STM #0, CLKMD");//asm(" rpt #0ffffh");//asm(" nop");//asm(" STM #0x97ff, CLKMD");*(unsigned int*)CLKMD=0x0; //switch to DIV mode clkout= 1/2 clkinwhile(((*(unsigned int*)CLKMD)&01)!=0);*(unsigned int*)CLKMD=0x27ff; //switch to PLL X 10 modePMST=0x3FA0;SWWSR=0x7fff;SWCR=0x0000;IMR=0;IFR=IFR;}interrupt void int2(){in_x[m] = port8001;in_x[m] &= 0x00FF;m++;intnum = m;if (intnum == Len){intnum = 0;xmean = 0.0;for (i=0; i<Len; i++){xmean = in_x[i] + xmean;}xmean = 1.0*xmean/Len;for (i=0; i<Len; i++){x[i] = (double)(in_x[i] - xmean);}for (i=0; i<Len; i++){for (p=0; p<FLen; p++){xmid[FLen-p-1] = xmid[FLen-p-2];}xmid[0] = x[i];r = 0;rm= 0;for (j=0; j<FLen; j++){r = xmid[j] * h[j];rm = rm + r;}y[i] = rm;}m=0;flag = 1;}}void firdes(double npass){int t;for (t=0; t<FLen; t++){h[t] = sin((t-(FLen-1)/2.0)*npass*pi)/(pi*(t-(FLen-1)/2.0));}if (t == ((FLen-1)/2)) h[t]=npass;}void set_int(){asm(" ssbx intm");IMR=IMR|0x0004;asm(" rsbx intm");}void main(void){cpu_init();fs = 250000;fstop = 20000;npass = fstop/fs;for (i=0; i<FLen; i++){xmid[i]=0;}firdes(npass);set_int();for(;;){if (flag == 1){flag = 0; /* set breakpoint here */}}}void vect(){asm(" .ref _c_int00"); /*pseudoinstruction*/asm(" .ref _int2");asm(" b _c_int00"); /* reset */ asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete");asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* int0 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* int1 */ asm(" nop");asm(" nop");asm(" nop");asm(" b _int2"); /* int2 */ asm(" nop");asm(" nop");asm(" rete"); /* tint0 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* brint0 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* bxint0 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* dmac0 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* tint1 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* int3 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* hpint */ asm(" nop");asm(" nop");asm(" rete"); /* brint1 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* bxint1 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* dmac4 */ asm(" nop");asm(" nop");asm(" nop");asm(" rete"); /* dmac5 */ asm(" nop");asm(" nop");asm(" nop");asm(" nop");asm(" nop");asm(" nop");asm(" nop");asm(" nop");asm(" nop");asm(" nop");}六实验结果截图。
DSP课程设计报告—刘雅琪
一、课程设计的目的和要求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课程设计报告
基于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技术课程设计实验报告
实验设计报告实验项目名称:基于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课程设计报告
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等设计。
dsp课程设计报告绪论
dsp课程设计报告绪论一、教学目标本课程的教学目标是使学生掌握数字信号处理的基本理论、方法和应用,培养学生运用数字信号处理技术解决实际问题的能力。
具体分为以下三个层面:1.知识目标:学生需要掌握数字信号处理的基本概念、理论体系和常用算法,包括离散时间信号处理、离散傅里叶变换、快速傅里叶变换、数字滤波器设计等。
2.技能目标:学生能够运用数字信号处理理论分析和解决实际问题,具备使用相关软件工具进行数字信号处理的能力,如MATLAB、Python等。
3.情感态度价值观目标:培养学生对数字信号处理学科的兴趣和热情,激发学生创新意识和团队合作精神,使学生在面对复杂问题时,能够运用所学知识为社会发展做出贡献。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.数字信号处理基本概念:离散时间信号、离散时间系统、Z域变换等。
2.离散傅里叶变换:DFT的基本性质、计算方法、频谱分析等。
3.快速傅里叶变换:FFT的原理、计算方法、应用实例等。
4.数字滤波器设计:滤波器的基本类型、设计方法、频率响应分析等。
5.数字信号处理应用:噪声抑制、信号恢复、图像处理等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:教师通过讲解、演示和案例分析,引导学生掌握数字信号处理的基本理论和方法。
2.讨论法:学生针对实际问题进行讨论,培养学生的思考能力和团队协作精神。
3.案例分析法:通过分析具体案例,使学生更好地理解数字信号处理技术的应用。
4.实验法:安排实验课程,让学生动手实践,提高实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统、全面的学习资料。
2.参考书:推荐学生阅读相关参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、教学视频等多媒体资料,提高课堂教学效果。
4.实验设备:配置相应的实验设备,确保学生能够进行实际操作。
dsp课程设计报告像处理
dsp课程设计报告像处理一、课程目标知识目标:1. 让学生掌握数字信号处理(DSP)的基本概念,包括采样、量化、滤波器等;2. 使学生了解图像处理的基本原理,如图像的表示、转换和增强;3. 引导学生掌握图像处理中常用的算法,如卷积、边缘检测、图像压缩等。
技能目标:1. 培养学生运用DSP技术解决实际图像处理问题的能力;2. 培养学生运用编程工具(如MATLAB)实现图像处理算法的能力;3. 培养学生通过小组合作、讨论和思考,解决图像处理中遇到的难题。
情感态度价值观目标:1. 激发学生对数字信号处理和图像处理领域的兴趣,培养其探索精神;2. 培养学生具备良好的团队协作和沟通能力,学会倾听、尊重他人意见;3. 培养学生具备严谨的科学态度和较强的实践能力,善于发现和解决问题。
课程性质分析:本课程为选修课,适用于高年级学生,具有一定的理论深度和实用性。
结合学生特点和教学要求,课程目标旨在使学生掌握数字信号处理和图像处理的基本知识,培养其实践能力和创新思维。
二、教学内容1. 数字信号处理基础- 采样与重建- 量化与编码- 离散时间信号与系统- 傅里叶变换及其应用2. 图像处理基本原理- 图像表示与转换- 图像增强- 图像滤波- 边缘检测3. 常用图像处理算法- 卷积算法- 图像压缩(如JPEG、PNG)- 图像分割- 特征提取4. 实践教学- 使用MATLAB进行图像处理编程实践- 分析实际图像处理案例- 小组项目:设计与实现一个简单的图像处理应用教学大纲安排:第一周:数字信号处理基础第二周:图像处理基本原理第三周:常用图像处理算法第四周:实践教学与小组项目教学内容进度:第一周:完成采样、重建、量化、编码等基础知识的讲解与练习;第二周:学习图像表示、转换、增强、滤波等原理,并进行相关实践;第三周:讲解卷积、图像压缩、图像分割等算法,进行案例分析;第四周:指导学生进行MATLAB编程实践,完成小组项目设计与实现。
DSP课程设计报告(精)
DSP课程设计实验报告语音压缩、存储与回放成绩:工程设计50报告20答辩30总分、—评语:指导教师签字:日期:一、实验背景与内容语音通信是现代多媒体通信中一个重要的组成部分,而语音信号是信息的重要形式, 语音信号处理有着广泛的应用领域,同时语音压缩在语音信号的传输、存储等方面有非常广泛的作用,而且在通信领域中已经有较成熟的发展和广泛应用。
本设计要求采用DSP及其A/D、D/A转换器进行语音信号的压缩、存储和回放。
语音的数字通信无论在可靠性、抗干扰能力、保密性还是价格方面都远优于模拟语音信号,但这是以信道占用宽频带宽为代价的。
因此为了减少语音信号所占用的带宽或存储空间,就必须对数字语音信号进行压缩编码。
一个优秀的语音压缩系统要求能够在软硬件资源占用比例低和压缩编解码时间短的同时,可以实现多通道语音实时压缩。
【DSP仿真器用于DSP的在线调试开发,可以通过软件在线控制DSP的运行状态,并能够查看DSP内部寄存器。
PC是开发人员和DSP系统之间的交互界面,通过PC上安装的CCS集成开发环境,开发人员可以在友好的图形界面下对目标系统进行操作。
本次实验采用DSP C5402实验板实现语音信号的压缩解压的。
SEED-VC5402 DSK实验板上集成了SRAM,FLASH,音频输入输出接口等部件。
二、实验目的1、应用DSP算法实现对语音信号的压缩、存储和回放。
2、熟悉使用C语言编写较复杂的程序;3、熟悉C语言对外设(DSK板或示波器)的访问(软件编程、硬件连接);4、熟练使用软件CCS5000对程序的完整调试过程。
三、实验设计要求及目标>1要求(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用、等语音压缩算法。
(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM存储器中,存储时间不小于10秒。
(3)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。
dsp课程设计实验报告
基于MATLAB的音乐信号处理和分析一、设计题目:基于MATLAB 的音乐信号处理和分析二、设计目的:通过对音乐信号的采样、抽取、调制、解调等多种处理过程的理论分析和MATLAB实现进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;对已掌握的基本理论和分析方法知识得到进一步扩展;增强软件编程实现能力和解决实际问题的能力。
三、课程设计内容:1、音乐信号的音谱和频谱观察使用windows下的录音机录制一段音乐信号或采用其它软件截取一段音乐信号(要求:时间不超过5s、文件格式为wav文件)①使用wavread语句读取音乐信号,获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);②输出音乐信号的波形和频谱,观察现象;③使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。
2、音乐信号的抽取(减抽样)①观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠与非混叠);②输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;③播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。
3、音乐信号的AM调制①观察音乐信号频率上限,选择适当调制频率对信号进行调制(给出高、低两种调制频率);②输出调制信号的波形和频谱,观察现象,给出理论解释;③播放调制音乐信号,注意不同调制频率下的声音,解释现象。
4、AM调制音乐信号的同步解调①设计巴特沃斯IIR滤波器完成同步解调;观察滤波器频率响应曲线;②用窗函数法设计FIR滤波器完成同步解调,观察滤波器频率响应曲线;(要求:分别使用矩形窗和布莱克曼窗,进行比较);③输出解调信号的波形和频谱,观察现象,给出理论解释;④播放解调音乐信号,比较不同滤波器下的声音,解释现象。
5、音乐信号的滤波去噪①给原始音乐信号叠加幅度为0.05,频率为3kHz、 5kHz、8kHz的三余弦混合噪声,观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;②给原始音乐信号叠加幅度为0.5的随机白噪声(可用rand语句产生),观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;③根据步骤①、②观察到的频谱,选择合适指标设计滤波器进行滤波去噪,观察去噪后信号音谱和频谱,并播放音乐,解释现象。
DSP课程设计报告
《DSP系统课程设计》课程性质:考察学号:姓名:专业:授课教师:完成日期:目录一、板卡及板卡芯片介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄31.板卡简介┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄3 2.板卡芯片的简单介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄4二、CCS4环境介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄51.CCSv4简介┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄52. CCSv4的主要功能┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄9三、滤波器的设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄91.数字滤波器的介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄92 .FIR滤波器的设计原理┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄103. 课程设计结果及分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄11四、课程设计总结及心得体会┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄15五、附件┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄15DSP系统课程设计结题报告摘要:DSP数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
传感器数字信号处理是利用传感器对模拟信号或数字信号进行采集并把其转换成计算机可识别的电信号,并利用计算机对信号进行处理以达到计算机辅助控制或是计算机自动控制的目的。
DSP芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。
用DSP 芯片实现FIR数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。
DSP课程设计报告
课程设计报告课程设计名称:DSP原理与应用系部:学生姓名:班级:学号:成绩:指导教师:开课时间:2010-2011 学年 2 学期基于TMS320VC5509 DSP 的FIR 滤波器设计一、设计的要求1、 系统地理解和掌握高速数字信号处理器的特点和基本概念。
2、 了解TMS320054x DSP 汇编语言的特点,掌握TMS320C54x DSP 常用的开发工具,掌握集成开发环境CCS 的使用,熟练掌握利用CCS 进行程序开发的一般过程。
3、 掌握汇编语言程序的编写方法,汇编器和链接器的用法,能利用汇编指令实现高速数字信号处理器的一些典型用法。
4、 在DSP 应用方面得到系统锻炼,通过该课程的学习为今后从事使用DSP 技术在通讯、控制等相关领域的应用、研究和开发打下良好的基础,为进入社会增加一种工作技能。
5、 认真查阅所需资料,按照选题编制程序框图,编写源代码程序,并在DSP 开发环境中进行调试,最终实现课题所要求的功能。
二、设计原理在数字信号处理中,滤波占有极其重要的地位。
数字滤波是语音处理、图像处理、模式识别、频谱分析等应用中的基本处理算法。
用DSP 芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。
2.1、 TMS320VC5509简介TMS320VC5509是美国德州仪器公司(TI)推出的新一代数字信号处理器,其CPU 在结构上包含一个32×16位指令缓存队列、2个17位×17位乘累16位算术逻辑单元(MAC)、一个40位算术逻辑单元(ALU)、一个16位算术逻辑单元(ALU)、一个40位桶形移位器和4个40位加法器。
TMS320 VC5509支持多种工业标准的串行口,如:多通道缓冲串行口(McBSPs)、多媒体卡/安全数据串行口(MMC /SD)、USB 和I2C 总线接口等。
还具有增强型主机接口(EHPI)、通用I /O 口、可编程数字锁相环(DPLL)、计时器和多个DMA 控制器等片上外设。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计的目的和要求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数。
当所有的b k 均为零,则有 y (n)八 时(n-k) ⑵k=0(2) 式是FIR 滤波器的差分方程,其一般形式为N -1y(n)「h k x( n-k)(3)k £对(3)式进行z 变换,整理后可得FIR 滤波器的传递函数FIR 的直接型结构:x(n) ——B——h(0)n"(2) 'b ——■—— 1h(N £3)»_mh(N £2) I---- ■—1・ ■ ”£■1h(N £l)z £i z £iy(n)H(z) =迩 2X o-kh)k)z图2 FIR的直接型结构FIR滤波器最主要的特点是没有反馈回路,因此它是无条件稳定系统。
它的单位冲激响应h(n)是一个有限长序列。
如果h(n)是实数,且满足偶对称或奇对称的条件,即h(n)二h(N ^-n)或h(n)二-h(N -仁n),则滤波器具有线性相位特性。
偶对称线性相位FIR滤波器(N为偶数)的差分方程表达式为:N/2 Jy - q[x(n —i) x(n - N Vi)]i Q线性相位FIR滤波器是用得最多的FIR滤波器。
FIR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此FIR滤波算法实际上是一种乘法累加运算。
在数字滤波器中,FIR滤波器的最主要特点是没有反馈回路,故不存在不稳定的问题。
同时可以在随意设置幅度特性的同时,保证精确无误的线性相位。
稳定的线性相位特性是FIR滤波器的突出优点。
3.1.2系数对称的FIR滤波器对于系数对称的FIR滤波器,由于其具有线性相位特性,因此应用很广,特别是对相位失真要求很高的场合,如调制解调器(MODEM一个N=8的FIR滤波器,若a(n)=a(N“-n),就是对称FIR滤波器,其输出方程为:y(n) = a o x(n) a i x(n -1) a2x(n - 2) a3x(n - 3) a3X(n - 4) a2x(n - 5) ®x(n - 6) a°x(n - 6) 总共有8次乘法和7次加法。
如果改写成:y(n) = a°[x(n) x(n - 7)] a1 [x(n -1) x(n - 6)] a2[x(n -2) x(n - 5)] a3[x(n - 3) x(n - 4)] 则变成4次乘法和7次加法。
可见乘法运算的次数减少了一半。
这是对称FIR的有一个优点。
对称FIR滤波器的C54x实现的要点(1)在数据存储区中开辟两个循环缓冲区,New循环缓冲区中存放N/2=4个新数据;Old循环缓冲区中存放老数据。
循环缓冲区的长度为N/2。
数据存储器NeW循环缓冲区Old循环缓冲区程序存储器系数表(2) 设置循环缓冲区指针,AR2指向中最新的数据,AR3指向中最老的数据 (3) 在程序存储器中设置系数表。
(4) (AR2) (AR3) > AH (累加器 A 的高位)(AR2) -1 > AR2(AR3) -1》AR3⑸ 将累加器B 清0,重复执行4次(i=0,1,2,……) (AH)*系数a i +(B)T B 系数指针(PAR 加1(AR2) (AR3) > AHAR2和 AR3减 1(6) 保存和输出结果(结果在BH 中)(7) 修正数据指针,让AR2和AR3分别指向NeW 爰冲区中最新的数据和Old 缓 冲区中最老的数据。
(8) 用NeW 爰冲区中最老的数据替代 Old 缓冲区中最老的数据。
Old 缓冲区指 针减1。
(9) 输入一个新数据替代New 缓冲区中最老的数据低地址咼地址重复执行第(4) ~ ( 9)步3.1.3关键指令在编程中要用到FIRS (系数对称有限冲激响应滤波器)指令,其操作如下:FIRS Xmem,Ymem,Pmad执行Pmad》PAR当(RC) = 0(B)+(A(32-16))*( 由PAR#址Pmem)》B((Xmem +(Ymer) <<16T A(PAR +1 > PAR(RC)-1 > RCFIRS指令在同一个机器周期内,通过C和D总线读2次数据存储器,同时通过P总线读一个系数。
3.2Matlab的仿真及滤波器系数的确定设计FIR滤波器,关键是得到正确的滤波器系数。
按照技术指标的要求,进行Matlab程序设计。
运行后生成的图像如下:观察图像可知在频率为50和350Hz上有波形,后面为镜像显示。
利用Matlab中FDATOO工具设计好滤波器,从FDATOO向CCS输出滤波器系数。
Matlab中FDATOOL X具设计好滤波器以后,可以利用C语言头文件输出滤波器系数,将头文件添加到工程中,编译连接生成可执行文件。
在把可执行文件加载到目标DSP后,会给头文件中的滤波器系数分配一个静态存储空间,滤波器系数就放入此存储空间中。
或者可以直接把滤波器系数输出到DSP的存储器中。
FDATOO设计分析后产生的幅频特性及滤波器系数表输出的滤波器系数为:.word 15, -3, -158, -448, -583, -172, 663, 1008, 2.word -1764, -2046, 1075, 6744, 11298, 11298, 6744, 1075, -2046.word -1764, 2, 1008, 663, -172, -583, -448, -158, -3.word 15四、详细设计给定FIR数字低通滤波器的技术指标为分别为50Hz和350Hz采样频率均为1kHz。
利用Matlab设计FIR低通滤波器的系数得DSP中滤波器系数列表.用.word汇编命令将各滤波器系数直接输入到DSP程序中;模拟输入数据由C语言程序实现,然后用.copy命令将C语言程序生成的数据文件拷贝到DSP 程序中。
DSP程序实现读入数据、滤波、显示波形等方面的任务。
完成FIR滤波器的程序框图如图4所示,可知FI R滤波器的DSP实现主要由以下4方面的内容组成:(1)模拟输入数据的生成用C语言程序生成输入数据,通过.copy汇编命令将生成的数据文件拷贝到汇编程序中,作为FIR滤波器的输入数据。
(2) DSP初始化程序.title "FIR.asm" .mmregs.def _c_int00N .set 28size .set N/2 ;FIR 滤波器阶数x_new .usect "x_new",N/2 ; 自定义数据空间x_old .usect "x_old",N/2 ; 自定义数据空间KS .set 256 ; 输入样本数据个数input .usect "input",KSoutput .usect "output",KS.data.copy "fdacoefs4.h" ;FIR 滤波器系数.text图4主程序流程图(3)滤波算法子程序:滤波算法流程图滤波算法子程序代码:FIR: SSBX FRCTSTM #x_new,AR2STM #x_old+(size-1),AR3 STM #-1,AR0STM #output,AR5STM #in put,AR4STM #KS-1,BRCRPTBD LOOP-1STM #size,bkLD *AR4+,ASTL A,*AR2ADD *AR2+0%,*AR3+0%,ARPTZ B,#size-1FIRS *AR2+0%,*AR3+0%,COEFSTH B,*AR5+MAR *+AR2 (2) %MAR *AR3+%MVDD *AR2,*AR3+0%(4)复位程序:中断流程图复位程序代码:.title "FIR_V.asm".ref _c_in tOO.sect "VECTORS"reset:b _c_int00.end五、调试过程编辑好.asm和.cmd文件之后并加入工程中进行编译,修改出现的错误直至无误,然后加载.out文件。
选择File菜单下的data,加入.dat文件,运行程序并打开CCS的输入输出图形界面,观察对比滤波前后的时域波形与频谱图调试过程中出现的错误及警告:(1) warning: creati ng output sect ion n ewdata without SECTIONS specificati on分析:汇编语言源程序中的未初始化段名n ewdata与链接命令文件不一致解决:将链接命令文件中相应的未初始化段名改为n ewdata(2) "fir .asm", ERROR! at line 13: [E1000] Include/Copy file not foundor opened分析:用FDATOO工具产生的系数表文件名与源程序中引用的不一致解决:保持产生的系数表文件名与源程序中引用的一致(3)分析产生的波形图不理想,有时是因为不同的参数设计出的滤波器的阶数可能不同,要注意修改源程序中滤波器阶数值(4)在CCS程序中,应先加载正确的中断向量文件,所用芯片的CMD配置文件,编译才会有效。