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

上传人:scccc 文档编号:12258271 上传时间:2021-12-02 格式:DOC 页数:6 大小:270KB
返回 下载 相关 举报
FIR滤波器DSP实现课程设计.doc_第1页
第1页 / 共6页
FIR滤波器DSP实现课程设计.doc_第2页
第2页 / 共6页
FIR滤波器DSP实现课程设计.doc_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《FIR滤波器DSP实现课程设计.doc》由会员分享,可在线阅读,更多相关《FIR滤波器DSP实现课程设计.doc(6页珍藏版)》请在三一文库上搜索。

1、课程设计一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 个累加器

2、。共有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

3、:保留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:与 CONVR

4、ATEDIV一起决定采样 / 保持周期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

5、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)

6、 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 (

7、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) 窗,

8、又称二阶升余弦窗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)将方形下载线与实验箱上橙色铁盒接口相连;在弹出的“找到硬件向导”会话框中依次做如下操作:

9、选“否,暂时不”下一步从列表指定位置安装下一步浏览框中选择 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栏选择ICET

10、CK-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输入通道

11、0。( 2)同理,用另一根信号线连接实验箱左侧信号源的波形输出B 端口和“ A/D输入”模块的 ADCIN3插孔,使信号源波形输出B 的输出波形送到开发板的AD 输入通道1。( 3)设置波形输出A:- 向内侧轻按 波形频率选择钮 、稍停顿 ,单步操作直到标有正弦波的指示灯点亮。- 向下拨动 波形频率选择钮、稍停顿 ,单步操作直到标有100-1KHz的指示灯点亮。- 上下调节幅值调整旋钮,将波形输出 A 的幅值调到最大。( 4)设置波形输出 B:- 向下拨动 波形频率选择钮 、稍停顿 ,直到标有 1K-10KHz 的指示灯点亮。 其他同上。4、将程序编译、链接、下载到目标板上,在指定位置设置断点

12、,通过图形窗口观察并分析实验结果。( 1)编译、 链接无误后下载到目标板。 (编译: Project -> Compile File ;链接: Project ->Build ;下载: File -> Load Program -> debug ->*.out )( 2)将鼠标移动到主程序中“asm(" nop");行”的起始位置,右键选“Toggle breakpoint ,”在本行前出现红点,表示设置断点成功。选择菜单Debug -> Animate 运行程序。( 3)通过图形窗口观察输入、输出波形。选择菜单View -> Gr

13、aph-> 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 ,在弹出框中做如下设置:Gra

14、ph 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 )。认真阅读程序和参考资料,按“课程设计报告要求”完成报告

15、。四、课程设计要求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、修改程

16、序实现一个高通滤波器,通带截止频率fp=1300Hz ,阻带截止频率fst=700Hz ,阻带衰减不小于50dB。通过计算确定窗函数及滤波器阶数N,并在此基础上修改程序,实现该高通滤波器, 并通过图形观察窗口观察实验结果。 打印出信号的时域波形图 (输入、 混频、输出)。7、修改程序实现一个带通滤波器,通带频率是500Hz-5000Hz ,过渡带宽为400Hz ,阻带衰减不小于40dB 。通过计算确定窗函数及滤波器阶数N,并在此基础上修改程序,实现该带通滤波器。打印出信号的时域波形图(输入、混频、输出)。五、课程设计报告要求1、写出课程设计题目、目的;2、完成课程设计要求中的内容,回答问题、编程、将实验结果打印出来。3、程序只写相应设计内容的主要部分,不用写程序的公共部分。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


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