TMS320C54x_fir滤波器设计_DSP实习报告格式_3237329.doc

TMS320C54x_fir滤波器设计_DSP实习报告格式_3237329.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320C54x_fir滤波器设计_DSP实习报告格式_3237329

DSP实习报告 设计课题: FIR滤波器的DSP实现 专业班级: 信息73/74 学生姓名: 戴光明 袁耀行 瞿德安 指导教师: 邹俢国 设计时间: 2010.06 一、设计题目: 数字信号处理(DigitalSignalProcessing-DSP)是把数字或符号表示的序列,通过计算机设备,用数字的方式去处理,以达到更符合人们要求的信号形式。在很多数字信号的处理过程中,如对信号的过滤、检测、预测等都要广泛地用到滤波器。数字滤波器是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。 低通有限冲激响应滤波器(Finite ImpulseResponse Filter, FIR滤波器)有其独特的优点,因为FIR系统只有零点,系统总是稳定的,且为线性相位,允许实现多通道滤波器。数字滤波器是DSP的最基本的应用领域,一个DSP芯片执行数字滤波的能力反映了这种芯片功能的大小。数字滤波器因其设计灵活、实现方便等特点被广泛应用。 要求用TMS320C54x系列DSP设计实现FIR滤波器,使其有基本的滤波功能,并能通过仿真查看滤波前后的波形。 二、设计的原理图: 设h(n)(n=0,1,2…N-1)为滤波器的冲激响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程: (1) 式(1)就是FIR滤波器的差分方程。FIR滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。由上面的方程可见, FIR滤波算法实际上是一种乘法累加运算,它不断地输入样本x(n),经延时(z-1),做乘法累加,再输出滤波结果y(n)。 对式(1)进行Z变换,整理后可得FIR滤波器的传递函数为: (2) 由式(2)可以看出,FIR滤波器的一般结构如图所示: FIR滤波器的结构图 三、系统功能及工作原理 程序中主要包含三个函数:main函数,InputWave函数,FIR函数。 各函数主要功能依次为: Main():系统的主体部分。负责信号的输入输出。 InputWave(): 产生测试信号。 FIR():进行卷积运算,得到输出值。 ------------------------------------------------fir.c------------------------------------------------------------------ #include math.h #define FIRNUMBER 25 #define SIGNAL1F 1000 #define SIGNAL2F 4500 #define SAMPLEF 10000 #define PI 3.1415926 float InputWave(); float FIR(); float fHn[FIRNUMBER]={ 0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009, -0.018,0.049,-0.02,0.11,0.28,0.64,0.28, -0.11,-0.02,0.049,-0.018,-0.009,0.01, -0.002,-0.002,0.001,0.0,0.0 }; float fXn[FIRNUMBER]={ 0.0 }; float fInput,fOutput; float fSignal1,fSignal2; float fStepSignal1,fStepSignal2; float f2PI; int i; float fIn[256],fOut[256]; int nIn,nOut; main() { nIn=0; nOut=0; f2PI=2*PI; fSignal1=0.0; fSignal2=PI*0.1; fStepSignal1=2*PI/30; fStepSignal2=2*PI*1.4; while ( 1 ) { fInput=InputWave(); fIn[nIn]=fInput; nIn++; nIn%=256;

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档