欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    FIR滤波器DSP实现课程设计.doc

    • 资源ID:12258271       资源大小:270KB        全文页数:6页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    FIR滤波器DSP实现课程设计.doc

    课程设计一FIR 滤波器的 DSP 实现一、课程设计目的1、复习用C 语言对数字信号处理器的编程方法,熟悉如何使用C5000 系列数字信号处理器中的模数转换器;2、复习用窗函数法设计FIR数字滤波器;3、对TMS320VC5509编程实现不同参数的FIR滤波器。二、课程设计原理(一) TMS320VC5509简介TMS320VC5509 是 TI 公司出产的定点DSP 芯片,它的源代码与C54x 系列兼容,但速度更快,时钟频率可达300MHz ,功耗是C54x 系列的 1/6。 C5509 的 CPU 内部有 2 个乘法器、 1 个 40 位的加法器、 1 个 16 位的加法器、 4 个累加器。共有12 组总线,其中3 组数据存储器读总线,2 组数据存储器写总线,及相应5 组数据存储器地址总线,程序存储器读总线及地址线各一组。片内外设资源也比C54x 系列数字信号处理器丰富,4 通道 10 位 A/D 、DMA 单元、 RTC 电路、 McBSP 、定时器等。本设计中将用到A/D 单元。TMS320C5509A 内部有一个4 通道 10 位 A/D ,相关寄存器有4 个,通过对这4 个寄存器的操作来控制A/D 模块。1.、 ADC控制寄存器:ADCCTLADCSTART : 0无作用; 1启动 A/D 转换CHSELECT :从 4 个模拟通道中选择一个作为输入信号Reserved:保留2、 ADC 数据寄存器:ADCDATAADCBUSY : 0 ADC 数据准备好,即 A/D 转换结束; 1 正在进行 A/D 转换 CHSELECT :从 4 个模拟通道中选择一个作为输入信号ADCDATA : A/D 转换得到的10 位二进制数3、 ADC 时钟控制寄存器:ADCCLKCTLIDLEEN : 0 不允许 ADC 处于休眠状态; 1 允许 ADC 处于休眠状态 CPUCLKDIV :决定 ADC 时钟频率ADC Clock : (CPU Clock) / ( CPUCLKDIV+1)4、 ADC 时钟分频寄存器:ADCCLKDIVSAMPTIMEDIV:与 CONVRATEDIV一起决定采样 / 保持周期ADC Sample and Hold Time = (ADC Clock Period)*2*(CONVRATEDIV+1+ SAMPTIMEDIV)CONVRATEDIV:决定 A/D 转换时钟频率ADC Conversion Clock = (ADC Clock) / (2*( CONVRATEDIV+1)完成一次 A/D 转换需要13 个 A/D 转换时钟,所以,一次转换时间是t = 13 / ADC Conversion Clock一次完整的A/D 转换时间是采样/保持周期和转换时间的和,采样频率是其倒数ADC Total Conversion Time = ADC Sample and Hold Period+tSampling Rate = 1/ ADC Total Conversion Time(二)窗函数法设计FIR 滤波器的原理根据阻带最小衰减和过渡带宽选择合适的窗函数,实现不同指标的各种类型FIR 数字滤波器的设计。1、利用窗函数设计FIR 滤波器的具体步骤如下:( 1)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应hd(n)(下面已给出,直接用)。( 2)根据下表,由阻带最小衰减选择窗函数类型w(n),由设计指标和过渡带宽 确定滤波器阶数 N,对于高通滤波器,N 只能取奇数。( 3)计算滤波器的单位脉冲响应h (n) hd( n) w(n)。窗函数加窗后滤波器性能指标过渡带宽 阻带最小衰减 /dB矩形窗0.9×2/N21三角形窗2.1×2/N25汉宁窗3.1×2/N44海明窗3.3×2/N53布拉克曼窗5.5×2/N742、理想滤波器单位脉冲响应hd (n)(1) 理想低通滤波器单位脉冲响应sin c ( n) 其中N -1nhd (n)(n)2cn(2) 理想高通滤波器单位脉冲响应sin (n)sin c ( n )其中N - 1(n)nhd (n)21cn(3) 理想带通滤波器单位脉冲响应sin2 (n)sin 1 (n)其中N - 1(n)nhd (n)221n(4) 理想带阻滤波器单位脉冲响应sin ( n) sin 1 (n) sin 2 ( n)其中N - 1n(n)2hd (n)12n3、典型窗函数( 1)矩形窗 (Rectangle Window)w( n)RN (n)( 2)三角形窗 (Bartlett Window)2n,0nN 1w(n)N1N1222nnN1,2N1( 3)汉宁 (Hanning) 窗,又称升余弦窗11cos(2n) RN ( n)w(n)N21( 4)海明 (Hamming) 窗,又称改进的升余弦窗w(n) 0.540.46 cos( 2n) RN (n)N1( 5)布拉克曼 (Blankman) 窗,又称二阶升余弦窗w(n) 0.420.5 cos( 2n)0.08 cos( 4n) RN (n)N1N1详细设计原理参见程佩青的数字信号处理教程第7.3 节窗函数设计法。三、课程设计步骤观察实验箱各部分元件, 连接电源线,打开实验箱上的主电源(位于左上角)和开发板电源(位于右下角) 。1、安装驱动( 1)将服务器 user14(或 15、或 16)上的 FIRs 文件夹拷贝到自己电脑的E 盘中;( 2)双击 E 盘 FIRs 文件夹中的 usbdrv.exe,安装仿真器驱动程序到 c:TI2下;( 3)将方形下载线与实验箱上橙色铁盒接口相连;在弹出的“找到硬件向导”会话框中依次做如下操作: 选“否,暂时不”下一步从列表指定位置安装下一步浏览框中选择 c:TI2ICETEK 完成。2、配置并运行CCS( 1)双击 Setup CCS2(C5000) ;( 2)在 Import Configuration框中选择ICETEK USB Emulator for C55x,点击 Import ,点击 close。( 3)清除其他项 (右键单击相应项, 点击 remove),保证 My System 下只有一项: C55xxXDS5510 Emulator ,右键点击该项选Properties,在弹出的关联框中选Startup GEL Files 标签,Startup GEL栏选择ICETCK-V5509-A.GEL,保存。关闭Setup CCS2(C5000)。至此,将目标板设置为通过USB口连接的实验箱。注意操作步骤的先后顺序必须正确(开实验箱电源、插USB下载线、运行CCS),若CCS 不能运行则按此步骤重新操作。( 4)打开 CCS,在 CCS 下打开工程 AD.pjt( project-open )。展开左侧 source,双击 main.c ,阅读源文件。3、准备信号源进行AD输入( 1)用一根信号线连接实验箱左侧信号源的波形输出A 端口和“ A/D输入”模块的ADCIN2插孔,注意插头要插牢、插到底。这样,信号源波形输出A 的输出波形即可送到开发板的 AD输入通道0。( 2)同理,用另一根信号线连接实验箱左侧信号源的波形输出B 端口和“ A/D输入”模块的 ADCIN3插孔,使信号源波形输出B 的输出波形送到开发板的AD 输入通道1。( 3)设置波形输出A:- 向内侧轻按 波形频率选择钮 、稍停顿 ,单步操作直到标有正弦波的指示灯点亮。- 向下拨动 波形频率选择钮、稍停顿 ,单步操作直到标有100-1KHz的指示灯点亮。- 上下调节幅值调整旋钮,将波形输出 A 的幅值调到最大。( 4)设置波形输出 B:- 向下拨动 波形频率选择钮 、稍停顿 ,直到标有 1K-10KHz 的指示灯点亮。 其他同上。4、将程序编译、链接、下载到目标板上,在指定位置设置断点,通过图形窗口观察并分析实验结果。( 1)编译、 链接无误后下载到目标板。 (编译: Project -> Compile File ;链接: Project ->Build ;下载: File -> Load Program -> debug ->*.out )( 2)将鼠标移动到主程序中“asm(" nop");行”的起始位置,右键选“Toggle breakpoint ,”在本行前出现红点,表示设置断点成功。选择菜单Debug -> Animate 运行程序。( 3)通过图形窗口观察输入、输出波形。选择菜单View -> Graph-> Time/Frequency,在弹出框中进行相应设置,图形观察窗口各项定义的意义参阅DSP 课本 369 页。a) 观察低频信号图:选择菜单View->Graph->Time/Frequency ,在弹出框中做如图所示设置。b)观察高频信号图:选择菜单View->Graph->Time/Frequency ,在弹出框中做如下设置:Graph Title : AD1 ; Start Address: nADC1 ;其它值同上图。c)观察混频信号图: 选择菜单View->Graph->Time/Frequency ,在弹出框中做如下设置:Graph Title : x;Start Address: xDSP Data Type: 32-bit floating point ;其他值同上图。d)观察滤波后信号图:选择菜单View->Graph->Time/Frequency ,在弹出框中做如下设置:Graph Title : y; Start Address: yDSP Data Type: 32-bit floating point ;其他值同上图。5、一边调节输入信号的幅值、频率,一边观察各图的变化,分析仿真结果。6、停止程序运行(Debug->Halt )。认真阅读程序和参考资料,按“课程设计报告要求”完成报告。四、课程设计要求1、计算 h(n)的子程序是哪个?2、启动 A/D 模块工作的语句是哪两句?3、经 A/D 转换后得到的数字值放在哪个寄存器中?4、阅读 main.c 中的程序段:for(i=0; i<Len; i+)rm= 0;r=0;if(i<N) M=i; else M=N;for(j=0;j<M;j+)r = hj*xi-j; rm = rm + r;yi = rm;写出该程序段实现的算法。5、已知 CPU 频率是 144MHz ,问 ADC 的采样频率为多大?读懂程序,写出程序中实现的FIR 滤波器的截止频率值,程序中选用的窗函数w(n)和滤波器阶数N。6、修改程序实现一个高通滤波器,通带截止频率fp=1300Hz ,阻带截止频率fst=700Hz ,阻带衰减不小于50dB。通过计算确定窗函数及滤波器阶数N,并在此基础上修改程序,实现该高通滤波器, 并通过图形观察窗口观察实验结果。 打印出信号的时域波形图 (输入、 混频、输出)。7、修改程序实现一个带通滤波器,通带频率是500Hz-5000Hz ,过渡带宽为400Hz ,阻带衰减不小于40dB 。通过计算确定窗函数及滤波器阶数N,并在此基础上修改程序,实现该带通滤波器。打印出信号的时域波形图(输入、混频、输出)。五、课程设计报告要求1、写出课程设计题目、目的;2、完成课程设计要求中的内容,回答问题、编程、将实验结果打印出来。3、程序只写相应设计内容的主要部分,不用写程序的公共部分。

    注意事项

    本文(FIR滤波器DSP实现课程设计.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开