《FIR滤波器DSP实现课程设计通信电子数据通信与网络_通信电子-数据通信与网络.pdf》由会员分享,可在线阅读,更多相关《FIR滤波器DSP实现课程设计通信电子数据通信与网络_通信电子-数据通信与网络.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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 个
2、 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 控制寄存器:ADCCTL ADCSTART:0 无作用;1 启动 A/D 转换 CHSELECT:从 4 个
3、模拟通道中选择一个作为输入信号 Reserved:保留 2、ADC 数据寄存器:ADCDATA ADCBUSY:0 ADC 数据准备好,即 A/D 转换结束;1 正在进行 A/D 转换 CHSELECT:从 4 个模拟通道中选择一个作为输入信号 ADCDATA:A/D 转换得到的 10 位二进制数 3、ADC 时钟控制寄存器:ADCCLKCTL IDLEEN:0 不允许 ADC 处于休眠状态;1 允许 ADC 处于休眠状态 CPUCLKDIV:决定 ADC 时钟频率 ADC Clock:(CPU Clock)/(CPUCLKDIV+1)4、ADC 时钟分频寄存器:ADCCLKDIV SAMPT
4、IMEDIV:与 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 Co
5、nversion Time=ADC Sample and Hold Period+t Sampling Rate=1/ADC Total Conversion Time (二)窗函数法设计 FIR 滤波器的原理 根据阻带最小衰减和过渡带宽选择合适的窗函数,实现不同指标的各种类型 FIR 数字 滤波器的设计。1、利用窗函数设计 FIR 滤波器的具体步骤如下:(1)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应 hd(n)(下面已给出,直 接用)。(2)根据下表,由阻带最小衰减选择窗函数类型 w(n),由设计指标和过渡带宽 确 定滤波器阶数 N,对于高通滤波器,N 只能取奇数。(3)计算滤波器
6、的单位脉冲响应 h(n)hd(n)w(n)。窗函数 加窗后滤波器性能指标 过渡带宽 阻带最小衰减 /dB 矩形窗 0.92/N 21 三角形窗 2.12/N 25 汉宁窗 3.12/N 44 海明窗 3.32/N 53 布拉克曼窗 5.52/N 74 2、理想滤波器单位脉冲响应 hd(n)(1)理想低通滤波器单位脉冲响应 sin c(n)其中 N-1 n hd(n)(n)2 c n (2)理想高通滤波器单位脉冲响应 sin (n)sin c(n )其中 N-1 (n)n hd(n)2 1 c n 系列数字信号处理器复习用窗函数法设计对数字滤波器编程实现不同参数的滤波器二课程设计原理一简介是公司
7、出产的定点芯片它的源代码与系列兼容但速度更快时钟频率可达功耗是系列的的内部有个乘法器个位的加法器个位的加线各一组片内外设资源也比系列数字信号处理器丰富通道位存储器读总线单元电路定时器等本设计中将用到单元内部有一个通道位相关寄存器有个通过对这个寄存器的作来控制模块控制寄存器无作用启动转换从个模拟通道中选择一得到的位二进制数时钟控制寄存器不允许处于休眠状态允许处于休眠状态决定时钟频率时钟分频寄存器与一起决定采样保持周期决定转换时钟频率完成一次转换需要个转换时钟所以一次转换时间是一次完整的转换时间是采样保持周 (3)理想带通滤波器单位脉冲响应 sin 2(n)sin 1(n)其中 N-1 (n)n
8、hd(n)2 2 1 n (4)理想带阻滤波器单位脉冲响应 sin (n )sin 1(n)sin 2(n)其中 N-1 n (n)2 hd(n)1 2 n 3、典型窗函数 (1)矩形窗(Rectangle Window)w(n)RN(n)(2)三角形窗 (Bartlett Window)2n,0 n N 1 w(n)N 1 N 1 2 2 2n n N 1 ,2 N 1 (3)汉宁(Hanning)窗,又称升余弦窗 1 1 cos(2n)RN(n)w(n)N 2 1 (4)海明(Hamming)窗,又称改进的升余弦窗 w(n)0.54 0.46 cos(2n)RN(n)N 1 (5)布拉克曼
9、 (Blankman)窗,又称二阶升余弦窗 w(n)0.42 0.5 cos(2n)0.08 cos(4n)RN(n)N 1 N 1 详细设计原理参见程佩青的数字信号处理教程第 7.3 节窗函数设计法。三、课程设计步骤 观察实验箱各部分元件,连接电源线,打开实验箱上的主电源(位于左上角)和开发板 电源(位于右下角)。1、安装驱动 (1)将服务器 user14(或 15、或 16)上的 FIRs 文件夹拷贝到自己电脑的 E 盘中;(2)双击 E 盘 FIRs 文件夹中的 usbdrv.exe,安装仿真器驱动程序到 c:TI2 下;(3)将方形下载线与实验箱上橙色铁盒接口相连;在弹出的“找到硬件向
10、导”会话框中依次做如下操作:选“否,暂时不”下一步从列表指定位置安装下一步浏览框中选择 c:TI2ICETEK 完成。2、配置并运行 CCS (1)双击 Setup CCS2(C5000);(2)在 Import Configuration 框中选择 ICETEK USB Emulator for C55x,点击 Import ,系列数字信号处理器复习用窗函数法设计对数字滤波器编程实现不同参数的滤波器二课程设计原理一简介是公司出产的定点芯片它的源代码与系列兼容但速度更快时钟频率可达功耗是系列的的内部有个乘法器个位的加法器个位的加线各一组片内外设资源也比系列数字信号处理器丰富通道位存储器读总线单
11、元电路定时器等本设计中将用到单元内部有一个通道位相关寄存器有个通过对这个寄存器的作来控制模块控制寄存器无作用启动转换从个模拟通道中选择一得到的位二进制数时钟控制寄存器不允许处于休眠状态允许处于休眠状态决定时钟频率时钟分频寄存器与一起决定采样保持周期决定转换时钟频率完成一次转换需要个转换时钟所以一次转换时间是一次完整的转换时间是采样保持周 点击 close。(3)清除其他项(右键单击相应项,点击 remove),保证 My System 下只有一项:C55xx XDS5510 Emulator,右键点击该项选 Properties,在弹出的关联框中选 Startup GEL Files 标签,S
12、tartup 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 插孔,注意插头要插牢、插到底。这样,信
13、号源波形输出 A 的输出波形即可送到 开发板的 AD 输入通道 0。(2)同理,用另一根信号线连接实验箱左侧信号源的波形输出 B 端口和“A/D 输入”模块的 ADCIN3 插孔,使信号源波形输出 B 的输出波形送到开发板的 AD 输入通道 1。(3)设置波形输出 A:-向内侧轻按 波形频率选择钮 、稍停顿,单步操作直到标有正弦波的指示灯点亮。-向下拨动 波形频率选择钮、稍停顿,单步操作直到标有 100-1KHz 的指示灯点亮。-上下调节幅值调整旋钮,将波形输出 A 的幅值调到最大。(4)设置波形输出 B:-向下拨动 波形频率选择钮 、稍停顿,直到标有 1K-10KHz 的指示灯点亮。其他同上
14、。4、将程序编译、链接、下载到目标板上,在指定位置设置断点,通过图形窗口观察并分析实验结果。(1)编译、链接无误后下载到目标板。(编译:Project-Compile File;链接:Project-Build;下载:File-Load Program-debug-*.out )(2)将鼠标移动到主程序中“asm(nop);行”的起始位置,右键选“Toggle breakpoint,”在本行前出现红点,表示设置断点成功。选择菜单 Debug-Animate 运行程序。(3)通过图形窗口观察输入、输出波形。选择菜单 View-Graph-Time/Frequency,在弹出框中进行相应设置,图形
15、观察窗口各项定义的意义参阅 DSP 课本 369 页。a)观察低频信号图:选择菜单 View-Graph-Time/Frequency,在弹出框中做如图所示 设置。b)观察高频信号图:选择菜单 View-Graph-Time/Frequency,在弹出框中做如下设置:Graph Title:AD1;Start Address:nADC1;其它值同上图。系列数字信号处理器复习用窗函数法设计对数字滤波器编程实现不同参数的滤波器二课程设计原理一简介是公司出产的定点芯片它的源代码与系列兼容但速度更快时钟频率可达功耗是系列的的内部有个乘法器个位的加法器个位的加线各一组片内外设资源也比系列数字信号处理器丰
16、富通道位存储器读总线单元电路定时器等本设计中将用到单元内部有一个通道位相关寄存器有个通过对这个寄存器的作来控制模块控制寄存器无作用启动转换从个模拟通道中选择一得到的位二进制数时钟控制寄存器不允许处于休眠状态允许处于休眠状态决定时钟频率时钟分频寄存器与一起决定采样保持周期决定转换时钟频率完成一次转换需要个转换时钟所以一次转换时间是一次完整的转换时间是采样保持周 c)观察混频信号图:选择菜单 View-Graph-Time/Frequency ,在弹出框中做如下设置:Graph Title:x;Start Address:x DSP Data Type:32-bit floating point;
17、其他值同上图。d)观察滤波后信号图:选择菜单 View-Graph-Time/Frequency ,在弹出框中做如下设 置:Graph Title:y;Start Address:y DSP Data Type:32-bit floating point;其他值同上图。5、一边调节输入信号的幅值、频率,一边观察各图的变化,分析仿真结果。6、停止程序运行(Debug-Halt)。认真阅读程序和参考资料,按“课程设计报告要求”完成报告。四、课程设计要求 1、计算 h(n)的子程序是哪个?2、启动 A/D 模块工作的语句是哪两句?3、经 A/D 转换后得到的数字值放在哪个寄存器中?4、阅读 main
18、.c 中的程序段:for(i=0;iLen;i+)rm=0;r=0;if(iN)M=i;else M=N;for(j=0;jM;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,并在此基础上修改程序,实现 该高通滤波器,并通过图形观察窗
19、口观察实验结果。打印出信号的时域波形图(输入、混频、输出)。7、修改程序实现一个带通滤波器,通带频率是 500Hz-5000Hz,过渡带宽为 400Hz,阻带衰 减不小于 40dB。通过计算确定窗函数及滤波器阶数 N,并在此基础上修改程序,实现该带 通滤波器。打印出信号的时域波形图(输入、混频、输出)。五、课程设计报告要求 1、写出课程设计题目、目的;系列数字信号处理器复习用窗函数法设计对数字滤波器编程实现不同参数的滤波器二课程设计原理一简介是公司出产的定点芯片它的源代码与系列兼容但速度更快时钟频率可达功耗是系列的的内部有个乘法器个位的加法器个位的加线各一组片内外设资源也比系列数字信号处理器丰
20、富通道位存储器读总线单元电路定时器等本设计中将用到单元内部有一个通道位相关寄存器有个通过对这个寄存器的作来控制模块控制寄存器无作用启动转换从个模拟通道中选择一得到的位二进制数时钟控制寄存器不允许处于休眠状态允许处于休眠状态决定时钟频率时钟分频寄存器与一起决定采样保持周期决定转换时钟频率完成一次转换需要个转换时钟所以一次转换时间是一次完整的转换时间是采样保持周 2、完成课程设计要求中的内容,回答问题、编程、将实验结果打印出来。3、程序只写相应设计内容的主要部分,不用写程序的公共部分。系列数字信号处理器复习用窗函数法设计对数字滤波器编程实现不同参数的滤波器二课程设计原理一简介是公司出产的定点芯片它的源代码与系列兼容但速度更快时钟频率可达功耗是系列的的内部有个乘法器个位的加法器个位的加线各一组片内外设资源也比系列数字信号处理器丰富通道位存储器读总线单元电路定时器等本设计中将用到单元内部有一个通道位相关寄存器有个通过对这个寄存器的作来控制模块控制寄存器无作用启动转换从个模拟通道中选择一得到的位二进制数时钟控制寄存器不允许处于休眠状态允许处于休眠状态决定时钟频率时钟分频寄存器与一起决定采样保持周期决定转换时钟频率完成一次转换需要个转换时钟所以一次转换时间是一次完整的转换时间是采样保持周