已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北工业大学航海学院DSP实验报告实验一 有限冲激响应FIR滤波器实验l 实验目的:1. 学习使用汇编语言来设计FIR数字滤波器的原理和方法; 2. 进一步学习使用CCS的时域和频域波形视窗观察时域输入/输出信号波形和频谱变化情况。l 实验要求:1. 理解FIR滤波器的原理和实现方法;2. 实验提供输入数据,建立工程文件并编写实验源程序,利用编写的FIR滤波源程序对实验数据进行滤波;3. 运行程序并观察、分析滤波前后信号的时域、频域特性。l 基本原理:FIR滤波具有稳定和线性相位等优点,滤波器就是在时域或频域内,对已知激励产生规定响应的网络,使其能够从中提取有用信号,抑制并衰减不需要的信号。滤波器设计本质上就是对提出的要求给出相应的性能指标,再通过计算,使物理可实现的实际滤波器频率响应特性逼近给出的频率响应特性,FIR数字滤波器系统的传递函数为:Hz=YzXz=n=0N-1bnz-n由此得到的系统的差分方程为:yn=b(0)*xn+b1*xn-1+ bN-1*xn-N-1若FIR数字滤波器的单位冲击响应序列为hn,它就是滤波器系数向量bn。传统的滤波器分析与设计均使用繁琐的公式计算,改变参数后需要重新计算,从而在分析与设计滤波器尤其是高阶滤波器是工作量特别大。本次试验的系数是由老师给定的,再将所设计滤波器的幅频特性响应和相频特性响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。l 实验环境:1、硬件环境:PC兼容机一台;2、软件环境:操作系统为Windows Vista或Windows XP;CCS v3.3集成开发环境(可选其它版本)。l 实验步骤:1. 配置CCS v3.3集成开发环境并运行CCS v3.3;2. 创建工程文件;3. 编写、添加源文件和链接命令文件;4. 编译、链接并运行源程序;5. 观察、分析运行结果;l 附录:1) 程序清单:l CMD文件:表一:FIR滤波器实验的CMD链接文件/*-*/ MEMORY PAGE 0 : RAM_0 (R) : origin=0f6000h length=04000h PAGE 1 : RAM_1 (RW) : origin=080000h length=08FFFh PAGE 1 : RAM_2 (RW) : origin=089000h length=05FFFh PAGE 1 : RAM_3 (RW) : origin=090000h length=05FFFh PAGE 1 : RAM_4 (RW) : origin=0f0000h length=05000hSECTIONS .text : load = RAM_1, page = 1.bss : load = RAM_3, page = 1 .data : load = RAM_4, page = 1samples : load = RAM_2, page = 1 FirCoeff : load = RAM_0, page = 0/*-*/l FIR滤波汇编语言文件:表二:FIR滤波器实验C语言主程序/*-*/ .sect samplesInSamples: .include FIR_Input.asm .eval LastIn-FirstIn+1,M .sect FirCoeffFirCoeff: .include FIR_Bandpass03.asm.eval Last_BPB-FIR_B+1,N.data.bss SampleBuf,N,1.bss CoefBuf,N,1OutSamples: .bss y,M,1 SampleCnt: .set 512Num: .set N-1.text.global _c_int00_c_int00: SETC OBJMODE.lp_amode SETC AMODE SETC VMAPSETC SXM EALLOW MOVL XAR3,#OutSamplesMOV AR0,#(SampleCnt-1)clear: MOV *XAR3+,#0BANZ clear,AR0MOVL XAR2,#InSamplesMOVL XAR3,#OutSamplesMOVL XAR5,#FirCoeff MOVL XAR7,#CoefBuf MOV AR0,#Numcoefinit:MOV ACC,*XAR5+MOV *XAR7+,ACCBANZ coefinit,AR0- MOVL XAR6,#SampleBufMOV AH,#NumMOV AL,#0MOVL XAR1,ACCRPT #(Num-1)| MOV *+XAR6AR1%+,#0MOV AR0,#(SampleCnt-1)Loop: MOV ACC,*XAR2+ MOV *+XAR6AR1%+,ACC SPM -1ZAPAMOVL XAR7,#CoefBufRPT #Num| MAC P,*+XAR6AR1%+,*XAR7+ADDL ACC,PSFR ACC,#14MOV *XAR3+,ALBANZ Loop,AR0-NOPNOP .end/*-*/2) 实验图:图一:滤波器冲激响应时域波形图二:滤波器幅频响应波形图三:输入数据时域波形图四:输入数据频域波形图五:输出数据时域波形图六:输出数据频域波形2009年7月3日星期五实验二 FFT算法设计实验l 实验目的:1. 掌握FFT的原理和实现方法;2. 学会使用汇编语言实现fft的设计和编程思想。l 实验要求:1. 理解FFT的原理和实现方法;2. 实验提供数据文件,建立工程并编写源程序,利用编写的FFT程序分析数据文件的频谱特性;3. 运行程序并观察、分析运行结果。l 基本原理:快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的一种高效运算方法。对于有限长离散数字信号x(n),0=n PROG , PAGE = 0 /* 16-Bit data sections */ .data : L0RAM, PAGE = 1 .bss : L1RAM, PAGE = 1,fill=0 .coef : M0RAM, PAGE = 1 .input_data : M1RAM, PAGE = 1/*-*/l FFT程序表二:FFT算法实验的main函数/*-*/ .include INPUT_DATA.asm .include FIR_Bandpass02.asm .include FFT_N_DEF.h .dataDP_START: .set 0x200DUMP_START: .set 0x8000 .global FILTER .global FFT .global COEF_START,COEF_END .global INPUT_START,INPUT_END .global DATA_BUF .global OUTPUT_BUF .global SUM .global OUTPUT_INDEX .global INPUT_INDEX .global DATA_INDEX .global FFT_DATA_BUF .global FFT_N .global GLP_BUF .global FFT_INPUT_INDEX .global FFT_DATA_INDEX .global U .global LE .global LE1 .global TEMP .global RHT_SHFT_BIT M: .set INPUT_END-INPUT_START+1N: .set COEF_END-COEF_START .global M .global N DATA_BUF: .space N*16OUTPUT_BUF: .space M*2*16 SUM: .space 2*16OUTPUT_INDEX: .space 1*16INPUT_INDEX: .space 1*16DATA_INDEX: .space 1*16 .bss FFT_DATA_BUF,FFT_N*2 .bss GLP_BUF,FFT_N .bss FFT_INPUT_INDEX,2 .bss FFT_DATA_INDEX,2 .bss U,2 .bss LE,2 .bss LE1,2 .bss TEMP,2 .bss RHT_SHFT_BIT,1 .def _c_int00 .text_c_int00: SETC OBJMODE MOV DP, #DP_START MOVL XAR7, #DUMP_START SETC VMAP LC FILTER LC FFT NOP NOP ESTOP0 .end /*-*/表三:FFT算法实验的FFT函数/*-*/ .include FFT_N_DEF.h .include SIN.dat .global FFT .global M .global OUTPUT_BUF .global SIN0,SIN90,SIN180 .global FFT_DATA_BUF .global FFT_N .global GLP_BUF .global FFT_INPUT_INDEX .global FFT_DATA_INDEX .global U .global LE .global LE1 .global TEMP .global RHT_SHFT_BITFFT: LC INIT_FFT LC IN_DATA LC FFT_CAL LC GLP_CAL LRET NOPINIT_FFT: SPM 1 ZAPA MOV DP, #FFT_INPUT_INDEX MOVL FFT_INPUT_INDEX,ACC MOVL FFT_DATA_INDEX,ACC MOVW DP,#RHT_SHFT_BIT MOV RHT_SHFT_BIT,#0 LRET NOPIN_DATA: MOVL XAR7,#FFT_INPUT_INDEX MOV AL,*XAR7 MOV AH,#0 CMP AL,#(M*2-2) MOV *XAR7,AH,GT MOVL XAR2,#OUTPUT_BUF MOVL ACC,XAR2 MOVW DP,#FFT_INPUT_INDEX ADDL ACC,FFT_INPUT_INDEX MOVL XAR2,ACC MOVL XAR3,#FFT_DATA_BUF MOV AR0,#FFT_N MOV AR1,#(FFT_N-1) LOOP1: MOVL ACC,*XAR2+ NOP *,ARP3 MOVL *BR0+,ACC BANZ LOOP1,AR1- ZAPA MOVL FFT_DATA_INDEX,ACC nop MOVL ACC,FFT_INPUT_INDEX nop MOVL XAR1,#FFT_N ADDL ACC,XAR1 nop MOVW DP,#FFT_INPUT_INDEX nop MOVL FFT_INPUT_INDEX,ACC nop LRETFFT_CAL: MOV AR0,#1LOOP2: MOV T,AR0 MOV AL,#0 MOV AR1,#1 ZAPA ADD ACC,AR1T MOVW DP,#LE MOVL LE,ACC DEC T MOV ACC,AR1T MOVL LE1,ACC MOV U,#0X7FFF MOV (U+1),#0 MOVL XAR1,#0 LOOP3: MOVL ACC,XAR1 MOVL XAR2,ACC LOOP4: ZAPA MOVL ACC,XAR2 ADDL ACC,XAR2 MOVW DP,#LE1 ADDL ACC,LE1 ADDL ACC,LE1 MOVL XAR7,#FFT_DATA_BUF ADDL ACC,XAR7 MOVL XAR7,ACC MOVL XAR3,#FFT_DATA_BUF MOVL ACC,XAR3 ADDL ACC,XAR2 ADDL ACC,XAR2 MOVL XAR3,ACC ZAPA DMAC ACC:P,U,*XAR7 SUBL P,ACC MOV ACC,P MOV TEMP,AH MOVL ACC,U PUSH ACC POP AR5:AR4 MOV AH,AR4 MOV AL,AR5 MOVL XAR5,ACC ZAPA DMAC ACC:P,XAR5,*XAR7 ADDL ACC,P MOV (TEMP+1),AH MOV AL,*XAR3+ B S1,OV S1: SUB AL,TEMP B S8,OV PUSH AL MOV AL,*XAR3 B S2,OV S2: SUB AL,(TEMP+1) B S7,OV PUSH AL MOV AL,*-XAR3 B S3,OV S3: ADD AL,TEMP B S6,OV PUSH AL NOP *XAR3+ MOV AL,*XAR3 B S4,OV S4: ADD AL,(TEMP+1) B S5,OV PUSH AL B S9,UNC S5: POP AL S6: POP ALS7: POP AL S8: MOVW DP,#RHT_SHFT_BIT INC RHT_SHFT_BIT MOVL XAR4,#(2*FFT_N-1) MOVL XAR5,#FFT_DATA_BUF LOOP6: MOV AL,*XAR5 ASR AL,#1 MOV *XAR5+,AL BANZ LOOP6,AR4- B LOOP4,UNC S9: POP *XAR3 POP *-XAR3 NOP *XAR7+ POP *XAR7 POP *-XAR7 MOVL ACC,XAR2 ADDL ACC,LE MOVL XAR2,ACC MOVL XAR4,#FFT_N CMPL ACC,XAR4 B LOOP4,LT MOVL XAR7,#SIN0 MOVL ACC,XAR1 ADD ACC,#1 MOVL XT,ACC MOVL XAR5,#1440 IMPYL ACC,XT,XAR5 MOV T,AR0 LSRL ACC,T MOVL XAR4,ACC MOVL ACC,XAR7 ADDL ACC,XAR4 MOVL XAR6,ACC MOV AH,*XAR6 NEG AH MOVW DP,#U MOV (U+1),AH CMP AR4,#360 B L1,GT MOV AL,AR4 SUB AL,#360 NEG AL MOV AH,#0 ADDL ACC,XAR7 MOVL XAR6,ACC MOV AH,*XAR6 MOVW DP,#U MOV U,AH B L2,UNC L1: MOV AL,AR4 SUB AL,#360 MOV AH,#0 ADDL ACC,XAR7 MOVL XAR6,ACC MOV AH,*XAR6 NEG AH MOVW DP,#U MOV U,AHL2: ADDB XAR1,#1 MOVL ACC,XAR1 CMPL ACC,LE1 B LOOP3,LT INC AR0 MOV AL,AR0 CMP AL,#EXP B LOOP2,LEQ LRETGLP_CAL: MOV AR0,#(FFT_N-1)LOOP5: MOVL XAR7,#FFT_DATA_BUF MOVL ACC,XAR7 ADD ACC,AR0 ADD ACC,AR0 MOVL XAR7,ACC MOVL XAR6,#GLP_BUF MOVL ACC,XAR6 ADD ACC,AR0 MOVL XAR6,ACC ZAPA MOVL XAR5,*XAR7 DMAC ACC:P,XAR5,*XAR7 ADDL ACC,P ADDL ACC,ACC ADDL ACC,ACC MOV *XAR6,AH BANZ LOOP5,AR0- LRET/*-*/表四:FFT算法实验的FIR_FILTER函数/*-*/ .global FILTER .global COEF_START,COEF_END.global INPUT_START,INPUT_END .global DATA_BUF .global OUTPUT_BUF .global SUM .global OUTPUT_INDEX .global INPUT_INDEX .global DATA_INDEX .global M .global NFILTER: LC INIT_INDEX MOVL XAR5,#DATA_BUF MOVL XAR7,#INPUT_START MOV AR0,#(M-1)LOOP6: LC IN_DATA LC CONV LC OUT_DATA BANZ LOOP6,AR0- LRET NOP NOPINIT_INDEX: MOVL XAR7,#DATA_INDEX MOV *XAR7,#(N-1) MOVL XAR7,#INPUT_INDEX MOV *XAR7,#0 MOVL XAR7,#OUTPUT_INDEX MOV *XAR7,#0 LRET NOP NOPIN_DATA: MOVL XAR7,#INPUT_INDEX MOV AL,*XAR7 MOV AH,#0 CMP AL,#M MOV *XAR7,AH,EQ MOVL XAR4,#INPUT_START NOP NOP MOVL ACC,XAR4 NOP NOP NOP MOVL XAR3,#INPUT_INDEX NOP NOP NOP ADD ACC,*XAR3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 37400.5-2019重型机械通 用技术条件 第5部分:有色金属铸件》专题研究报告
- 自行车装配工诚信水平考核试卷含答案
- 2024年大学三年级海洋生态工程专业《生态工程设计》期末考试测验卷及答案
- 化工单元操作工持续改进强化考核试卷含答案
- 印后制作员岗前技术突破考核试卷含答案
- 《GBT 20863.2-2016 起重机 分级 第 2 部分:流动式起重机》专题研究报告
- 尿素加工工测试验证考核试卷含答案
- 蓄电池充电工岗前生产安全技能考核试卷含答案
- 锅炉大件热处理工岗位设备安全技术规程
- 农业地质调查员安全生产基础知识测试考核试卷含答案
- 2023年中国海峡人才市场招聘笔试参考题库附带答案详解
- GB/T 4798.1-1986电工电子产品应用环境条件贮存
- 新高考高中物理竞赛专题4光学50题竞赛真题强化训练原卷版
- 脑的动脉课件
- T∕IAC 40-2021 保险公司客户服务中心基本要求
- 离子的占位晶体磁晶各向异性课件
- 13.Arnold(阿诺德)渲染器
- 婚姻法教学精品课件
- DB32-T 4252-2021民用建筑燃气安全规范-(高清现行)
- 小区开放对道路通行的影响数学建模
- 降低护理文件书写缺陷率QC
评论
0/150
提交评论