收藏 分销(赏)

DSP课设报告.doc

上传人:a199****6536 文档编号:3372219 上传时间:2024-07-03 格式:DOC 页数:20 大小:205.50KB 下载积分:10 金币
下载 相关 举报
DSP课设报告.doc_第1页
第1页 / 共20页
DSP课设报告.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
课程设计报告(论文) 数字信号处理与DSP 课程设计任务书 课程设计题目:数字信号处理与DSP课程设计 已知技术参数和设计要求:1.设计一个采样频率为32KHz,截止频率约为6.5KHz的低通FIR滤波器,要求阻带衰减大于50dB。2.由实验箱信号发生器产生4KHz的模拟方波信号,然后进行AD转换存放在内存单元中观察这些数据的波形,然后通过DA转换后输出,在示波器上观察输出方波信号,完成对串口数据的采集和发送编程。3.在串口数据的采集和发送程序中插入设计好的FIR低通滤波器。对采集的方波信号进行数字低通滤波得到基波分量,存放在内存单元中观察这些数据的波形,并将滤波得到的基波分量通过DA转换后输出,在示波器上观察输出信号。 所需仪器设备:计算机一台、示波器一台、DSP试验箱、CCS Simulator环境 成果验收形式:操作运行结果和程序答辩 参考文献:张雄伟.DSP集成开发与应用实例[M]. 北京:电子工业出版社.2002. 邹彦. DSP原理及应用. 电子工业出版社,2009.8 周霖. DSP算法设计与系统方案. 国防工业出版社,2004.7. 时间 安排 第1单元 发设计任务书,明确设计任务、技术要求,查找资料。 第2、3单元 FIR滤波器设计及DSP编程。 第4、5单元 学习串行A/D转换芯片TLV1572和串行D/A转换芯片TLC5617的使用。学习和掌握TMS320C5402多通道缓冲串口与串行A/D、D/A转换器的接口方法。 第6、7单元 完成对串口数据的采集和发送。 第8单元 在串口数据的采集和发送程序中插入设计好的FIR低通滤波器,在示波器上观察输出信号。 指导教师: 教研室主任: 20年 11 月 22 日 内 容 摘 要 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科。数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效地传输与应用。 本文设计了一个采样频率为32KHz,截止频率约为6.5KHz的低通FIR滤波器,阻带衰减大于50dB。实验箱信号发生器产生4KHz的模拟方波信号,进行AD转换存放在内存单元中,通过DA转换后输出,观察输出方波信号,完成对串口数据的采集和发送编程。在串口数据的采集和发送程序中插入设计好的FIR低通滤波器。对采集的方波信号进行数字低通滤波得到基波分量,存放在内存单元中观察这些数据的波形,并将滤波得到的基波分量通过DA转换后输出,在示波器上观察输出信号。 关键词:DSP FIR滤波器 数字信号处理 A/D、D/A转换 目 录 一 概 述 …………………………………………………………………1 二 DSP系统构成 ……………………………………………………………1 三 滤波器的设计原理 …………………………………………………………1 3.1数字滤波器的设计原理 ………………………………………………1 3.2 FIR滤波器的基本结构 ………………………………………………1 四 实验程序 …………………………………………………………………2 4.1 FIR滤波器源程序………………………………………………………2 4.2 A/D转换源程序…………………………………………………………2 4.3 D/A转换源程序…………………………………………………………5 4.4 A/D、D/A转换源程序 …………………………………………………7 4.5 A/D、FIR、D/A综合程序………………………………………………9 五 实验结果 ……………………………………………………………………13 六 心得体会 ……………………………………………………………………14 七 参考文献 ……………………………………………………………………14 一、概述 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科。数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效地传输与应用。 随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。 本次课程设计要求设计一个采样频率为32KHz,截止频率约为6.5KHz的低通FIR滤波器,要求阻带衰减大于50dB。同时,使用串行A/D、D/A转换芯片对实验箱产生的波形进行采集及发送。 二、DSP系统构成 典型的 DSP 系统如图2.1所示。 输入 抗混叠滤波 A\D 转换 DSP 芯片 D\A转换 平滑滤波 输出 图2.1典型的DSP系统 由于DSP是用来对数字信号进行处理的,所以首先必须将输入的模拟信号变换为数字信号。于是先对输入模拟信号进行调整,输出的模拟信号经过A/D变换后变成DSP可以处理的数字信号,DSP根据实际需要对其进行相应的处理,如FFT、卷积等;处理得到的结果仍然是数字信号,可以直接通过相应通信接口将它传输出去,或者对它进行D/A变换将其转换为模拟采样值,最后再经过内插和平滑滤波就得到了连续的模拟波形模拟信号。当然,图中的有些环节并不是必需的。如A/D转换,如果输入的是数字信号,就可以直接交给DSP进行运算。 三、滤波器的设计原理 3.1数字滤波器的设计原理 数字滤波器的设计问题就是寻找一组系数ai和bi,使得其性能在某种意义上逼近所要求的特性。如果在s平面上去逼近,就得到模拟滤波器,如果在z平面上去逼近,则得到数字滤波器。 数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系, 应满足常系数线性差分方程: (3.1.1) x(n)为输入序列,y(n)为输出序列,ai、bi 为滤波器系数,N为滤波器的阶数。 3.2 FIR滤波器的基本结构 在式3.1.1中,若所有的ai均为0,则得FIR滤波器的差分方程: (3.2.1) 对式(3.2.1)进行z变换,可得FIR滤波器的传递函数: (3.2.2) 由此可得到FIR滤波器的结构如图1所示。 FIR滤波器的单位冲击响应h(n)是一个有限长序列。若h(n)为实数,且满足偶对称或奇对称的条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n),则FIR滤波器具有线性相位特性。 四、实验程序 4.1 FIR滤波器源程序 .mmregs .global start .def start,_c_int00 INDEX .set 1 KS .set 256 .copy "firin.inc" .copy "firdata.inc" .data OUTPUT .space 1024 FIR_DP .usect "FIR_VARS",0 D_FIN .usect "FIR_VARS",1 D_FOUT .usect "FIR_VARS",1 COFFTAB .usect "FIR_COFF",N DATABUF .usect "FIR_BFR",N BOS .usect "STACK",0Fh TOS .usect "STACK",1 .text .asg AR0,INDEX_P .asg AR4,DATA_P .asg AR5,COFF_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P _c_int00 b start nop nop start: STM #COFFTAB,COFF_P RPT #N-1 MVPD #COFF_FIR,*COFF_P+ STM #INDEX,INDEX_P STM #DATABUF,DATA_P RPTZ A,#N-1 STL A,*DATA_P+ STM #(DATABUF+N-1),DATA_P STM #COFFTAB,COFF_P FIR_TASK: STM #INPUT,INBUF_P STM #OUTPUT,OUTBUF_P STM #KS-1,BRC RPTBD LOOP-1 STM #N,BK LD *INBUF_P+,A FIR_FILTER: STL A,*DATA_P+% RPTZ A,N-1 MAC *DATA_P+0%,*COFF_P+0%,A STH A,*OUTBUF_P+ LOOP: EEND B EEND .end 4.2 A/D转换源程序 A/D转换程序,输入端接了实验电路产生的模拟信号(可选择方波、正弦波、三角波),调用该程序,对所选的模拟信号进行采样,采样结果存在3000H开始的数据存储器中,可检查数据存储器的内容是否与采样波形的相对应。 .mmregs .def _c_int00 .data TEMP .usect "TEMP", 20h TMP .set 6Ah t0_flag .usect "vars",1 t0_cout .usect "vars",1 AK_SPCR11 .set 0000000000100001b AK_SPCR21 .set 0000001011000001b AK_RCR11 .set 0000000001000000b AK_RCR21 .set 0000000001000000b AK_XCR11 .set 0000000001000000b AK_XCR21 .set 0000000001000000b AK_SRGR11 .set 0000000000010000b AK_SRGR21 .set 0011000000010000b AK_PCR1 .set 0000101000000000b SPSA1 .set 48h McBSP1 .set 49h DXR11 .set 43h DXR21 .set 42h DRR11 .set 41h DRR21 .set 40h SPCR11 .set 00h SPCR21 .set 01h RCR11 .set 02h RCR21 .set 03h XCR11 .set 04h XCR21 .set 05h PCR1 .set 0Eh SRGR11 .set 06h SRGR21 .set 07h .text _c_int00 b start nop nop NMI rete nop nop nop SINT17 .space 4*16 SINT18 .space 4*16 SINT19 .space 4*16 SINT20 .space 4*16 SINT21 .space 4*16 SINT22 .space 4*16 SINT23 .space 4*16 SINT24 .space 4*16 SINT25 .space 4*16 SINT26 .space 4*16 SINT27 .space 4*16 SINT28 .space 4*16 SINT29 .space 4*16 SINT30 .space 4*16 INT0 rsbx intm rete nop nop INT1 rsbx intm rete nop nop INT2 rsbx intm rete nop nop TINT: rete nop nop nop RINT0: rete nop nop nop XINT0: rete nop nop nop SINT6 .space 4*16 SINT7 .space 4*16 INT3: rete nop nop nop HPINT: rete nop nop nop RINT1: BD RECIV nop nop nop XINT1: rete nop nop nop ;************************* start: LD #0,DP STM #200h,SP STM #0FFFFh,SWWSR STM #1020h,PMST SSBX CMPT STM #3FFFH,IFR LD #0AH,A STL A,TMP PORTW TMP,7H CALL ADCBSP STM #0400H,IMR STM #3000H,AR0 STM #256,AR1 WAIT: IDLE 1 B WAIT ;************************* ADCBSP STM #SPCR11,SPSA1 STM #0000h,McBSP1 NOP NOP STM #SPCR21,SPSA1 STM #0000h,McBSP1 NOP NOP STM #SPCR11,SPSA1 STM #AK_SPCR11,McBSP1 NOP NOP LD #02H,A STL A,TMP PORTW TMP,7H STM #SPCR21,SPSA1 STM #AK_SPCR21,McBSP1 NOP NOP STM #RCR11,SPSA1 STM #AK_RCR11,McBSP1 NOP NOP STM #XCR11,SPSA1 STM #AK_XCR11,McBSP1 NOP NOP STM #PCR1,SPSA1 STM #AK_PCR1,McBSP1 NOP NOP STM SRGR11,SPSA1 STM #AK_SRGR11,McBSP1 NOP NOP STM SRGR21,SPSA1 STM #AK_SRGR21,McBSP1 NOP NOP STM #RCR21,SPSA1 STM #AK_RCR21,McBSP1 NOP NOP STM #XCR21,SPSA1 STM #AK_XCR21,McBSP1 NOP NOP RET ;****************************** RECIV: STM #3FFFH,IFR LDM DRR11,A LD #0,ARP STL A,*AR0+ LD #1,ARP BANZ LOOP1,*AR1- STM #3000H,AR0 STM #256,AR1 LOOP1: RETE ;********************** .end 4.3 D/A转换源程序 D/A转换程序,该程序产生一个三角波。 .mmregs .def _c_int00 .data TEMP .usect "TEMP", 10h TMP .set 6Ah flag .usect "vars",1 cout .usect "vars",1 DK_SPCR10 .set 0001100010100001b DK_SPCR20 .set 0000001011100001b DK_RCR10 .set 0000000001000000b DK_RCR20 .set 0000000001000000b DK_XCR10 .set 0000000001000000b DK_XCR20 .set 0000000001000000b DK_SRGR10 .set 0000111100010011b DK_SRGR20 .set 0011000000111111b DK_PCR0 .set 0000101000001111b SPSA0 .set 38h McBSP0 .set 39h DXR10 .set 23h DXR20 .set 22h DRR10 .set 21h DRR20 .set 20h SPCR10 .set 00h SPCR20 .set 01h RCR10 .set 02h RCR20 .set 03h XCR10 .set 04h XCR20 .set 05h PCR0 .set 0Eh SRGR10 .set 06h SRGR20 .set 07h .text _c_int00 b start nop nop NMI rete nop nop nop SINT17 .space 4*16 SINT18 .space 4*16 SINT19 .space 4*16 SINT20 .space 4*16 SINT21 .space 4*16 SINT22 .space 4*16 SINT23 .space 4*16 SINT24 .space 4*16 SINT25 .space 4*16 SINT26 .space 4*16 SINT27 .space 4*16 SINT28 .space 4*16 SINT29 .space 4*16 SINT30 .space 4*16 INT0 rete rete nop nop INT1 rete rete nop nop INT2 rete rete nop nop TINT: rete nop nop nop RINT0: rete nop nop nop XINT0: B XT nop nop nop SINT6 .space 4*16 SINT7 .space 4*16 INT3: rete nop nop nop HPINT: rete nop nop nop RINT1: rete nop nop nop XINT1: rete nop nop nop ;************************* start LD #0,DP STM #200h,SP STM #07FFFh,SWWSR STM #1020h,PMST ST #0FFFH,*(cout) PORTW TMP,2H PORTW TMP,1H LD #0AH,A STL A,TMP PORTW TMP,7H ST #0,*(flag) CALL DACBSP LD #0FFFH,A SSBX INTM STM #0020H,IMR RSBX INTM STLM A,DXR10 ST #0,TMP ;************************* WAIT: B WAIT ;************************* DACBSP:STM #SPCR10,SPSA0 STM #0000h,McBSP0 NOP NOP STM #SPCR20,SPSA0 STM #0000h,McBSP0 NOP NOP STM #SPCR10,SPSA0 STM #DK_SPCR10,McBSP0 NOP NOP STM #SPCR20,SPSA0 STM #DK_SPCR20,McBSP0 NOP NOP STM #RCR10,SPSA0 STM #DK_RCR10,McBSP0 NOP NOP STM #XCR10,SPSA0 STM #DK_XCR10,McBSP0 NOP NOP STM #PCR0,SPSA0 STM #DK_PCR0,McBSP0 NOP NOP STM SRGR10,SPSA0 STM #DK_SRGR10,McBSP0 NOP NOP STM SRGR20,SPSA0 STM #DK_SRGR20,McBSP0 NOP NOP STM #RCR20,SPSA0 STM #DK_RCR20,McBSP0 NOP NOP STM #XCR20,SPSA0 STM #DK_XCR20,McBSP0 NOP NOP RET ;******************************* XT: RSBX XF LD *(cout),A ADD #-50,A STL A,*(cout) BC XT1,ANEQ ST #0FFFH,*(cout) XT1: AND #0FFCH,A CMPM TMP,#0 BC XT2,TC OR #1000H,A ST #0,TMP B XT3 XT2: OR #8000H,A ST #1,TMP XT3: STLM A,DXR10 RETE ;********************** .en 4.4 A/D、D/A转换源程序 A/D转换器和D/A转换器的直通程序,由A/D采样实验电路产生的模拟信号(可选择方波、正弦波、三角波),再由D/A直接输出,采样一个点输出一个点。 .mmregs .def _c_int00 .data TEMP .usect "TEMP", 20h t0_flag .usect "vars",1 t0_cout .usect "vars",1 AK_SPCR11 .set 0000000000100001b AK_SPCR21 .set 0000001011000001b AK_RCR11 .set 0000000001000000b AK_RCR21 .set 0000000001000000b AK_XCR11 .set 0000000001000000b AK_XCR21 .set 0000000001000000b AK_SRGR11 .set 0000000000010000b AK_SRGR21 .set 0011000000010000b AK_PCR1 .set 0000101000000000b SPSA1 .set 48h McBSP1 .set 49h DXR11 .set 43h DXR21 .set 42h DRR11 .set 41h DRR21 .set 40h TMP .set 6Ah SPCR11 .set 00h SPCR21 .set 01h RCR11 .set 02h RCR21 .set 03h XCR11 .set 04h XCR21 .set 05h PCR1 .set 0Eh SRGR11 .set 06h SRGR21 .set 07h DK_SPCR10 .set 0001100010100001b DK_SPCR20 .set 0000001011100001b DK_RCR10 .set 0000000001000000b DK_RCR20 .set 0000000001000000b DK_XCR10 .set 0000000001000000b DK_XCR20 .set 0000000001000000b DK_SRGR10 .set 0000111100000100b DK_SRGR20 .set 0011000000010000b DK_PCR0 .set 0000101000001111b SPSA0 .set 38h McBSP0 .set 39h DXR10 .set 23h DXR20 .set 22h DRR10 .set 21h DRR20 .set 20h SPCR10 .set 00h SPCR20 .set 01h RCR10 .set 02h RCR20 .set 03h XCR10 .set 04h XCR20 .set 05h PCR0 .set 0Eh SRGR10 .set 06h SRGR20 .set 07h .text _c_int00 b start nop nop NMI rete nop nop nop SINT17 .space 4*16 SINT18 .space 4*16 SINT19 .space 4*16 SINT20 .space 4*16 SINT21 .space 4*16 SINT22 .space 4*16 SINT23 .space 4*16 SINT24 .space 4*16 SINT25 .space 4*16 SINT26 .space 4*16 SINT27 .space 4*16 SINT28 .space 4*16 SINT29 .space 4*16 SINT30 .space 4*16 INT0 rsbx intm rete nop nop INT1 rsbx intm rete nop nop INT2 rsbx intm rete nop nop TINT: rete nop nop nop RINT0: rete nop nop nop XINT0: BD XT nop nop nop SINT6 .space 4*16 SINT7 .space 4*16 INT3: rete nop nop nop HPINT: rete nop nop nop RINT1: BD RECIV nop nop nop XINT1: rete nop nop nop ;************************* start: LD #0,DP STM #200h,SP STM #07FFFh,SWWSR STM #1020h,PMST STM #3FFFH,IFR PORTW TMP,2H PORTW TMP,1H LD #0AH,A STL A,TMP PORTW TMP,7H CALL ADCBSP CALL DACBSP STM #0420H,IMR RSBX INTM WAIT: IDLE 1 B WAIT ;************************* ADCBSP STM #SPCR11,SPSA1 STM #0000h,McBSP1 NOP NOP STM #SPCR21,SPSA1 STM #0000h,McBSP1 NOP NOP STM #SPCR11,SPSA1 STM #AK_SPCR11,McBSP1 NOP NOP LD #02H,A STL A,TMP PORTW TMP,7H STM #SPCR21,SPSA1 STM #AK_SPCR21,McBSP1 NOP NOP STM #RCR11,SPSA1 STM #AK_RCR11,McBSP1 NOP NOP STM #XCR11,SPSA1 STM #AK_XCR11,McBSP1 NOP NOP STM #PCR1,SPSA1 STM #AK_PCR1,McBSP1 NOP NOP STM SRGR11,SPSA1 STM #AK_SRGR11,McBSP1 NOP NOP STM SRGR21,SPSA1 STM #AK_SRGR21,McBSP1 NOP NOP STM #RCR21,SPSA1 STM #AK_RCR21,McBSP1 NOP NOP STM #XCR21,SPSA1 STM #AK_XCR21,McBSP1 NOP NOP RET ;****************************** RECIV: LDM DRR11,A RETE ;*************** XT: STLM A,DXR10 RETE ;********************** DACBSP:STM #SPCR10,SPSA0 STM #0000h,McBSP0 NOP NOP STM #SPCR20,SPSA0 STM #0000h,McBSP0 NOP NOP STM #SPCR10,SPSA0 STM #DK_SPCR10,McBSP0 NOP NOP STM #SPCR20,SPSA0 STM #DK_SPCR20,McBSP0 NOP NOP STM #RCR10,SPSA0 STM #DK_RCR10,McBSP0 NOP NOP STM #XCR10,SPSA0 STM #DK_XCR10,McBSP0 NOP NOP STM #PCR0,SPSA0 STM #DK_PCR0,McBSP0 NOP NOP STM SRGR10,SPSA0 STM #DK_SRGR10,McBSP0 NOP NOP STM SRGR20,SPSA0 STM #DK_SRGR20,McBSP0 NOP NOP STM #RCR20,SPSA0 STM #DK_RCR20,McBSP0 NOP NOP STM #XCR20,SPSA0 STM #DK_XCR20,McBSP0 NOP NOP RET ;********************** .end 4.5 A/D、FIR、D/A综合程序 该程序综合完成以下功能: 1、通过A/D转换器采集数据,由A/D采样实验电路产生的模拟信号(可选择方波、正弦波、三角波),采集的数据x(n)存放在#3000h地址开始的内存单元。 2、采用设计好的FIR低通滤波器,对采集的数据进行低通滤波,低通滤波后的数据y(n)存放在#2400h地址开始的内存单元。 3、滤波得到的数据通过D/A转换输出,在示波器上可以观察输出信号。采样一个数据,滤一个数据,输出一个数据 。 .mmregs .def _c_int00 TMP .set 6Ah AK_SPCR11 .set 0000000000100001b AK_SPCR21 .set 0000001011000001b AK_RCR11 .set 0000000001000000b AK_RCR21 .set 0000000001000000b AK_XCR11 .set 00000
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服