FIR滤波器DSP实现课程设计_第1页
FIR滤波器DSP实现课程设计_第2页
FIR滤波器DSP实现课程设计_第3页
FIR滤波器DSP实现课程设计_第4页
FIR滤波器DSP实现课程设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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个累加器。共有12组总线,其中3组数据 存储器读总线,2

2、组数据存储器写总线,及相应5组数据存储器地址总线,程序存储器读总线及地址线各一组。片内外设资源也比C54x系列数字信号处理器丰富,4通道10位A/D、DMA单元、RTC电路、McBSP、定时器等。本设计中将用到A/D单元。TMS320C5509A内部有一个4通道10位A/D,相关寄存器有 4个,通过对这4个寄存 器的操作来控制 A/D模块。1.、ADC控制寄存器:ADCCTL151412 110ADCSTARTCHS 三 LECTReservedADCSTART : 0 无作用;1 启动A/D转换CHSELECT :从4个模拟通道中选择一个作为输入信号Reserved:保留2、ADC数据寄存器

3、:ADCDATA151412 11 1D 9DADCIBUSY CHSELECT ReservedADCD/tTAADCBUSY : 0 ADC数据准备好,即 A/D转换结束;1 正在进行A/D转换 CHSELECT :从4个模拟通道中选择一个作为输入信号 ADCDATA : A/D转换得到的10位二进制数3、 ADC时钟控制寄存器:ADCCLKCTL159870ReservedIDLzENCPJCLKDIVIDLEEN : 0 不允许ADC处于休眠状态;1 允许ADC处于休眠状态CPUCLKDIV :决定 ADC 时钟频率ADC Clock : (CPU Clock)/ ( CPUCLKDI

4、V+1)4、 ADC时钟分频寄存器:ADCCLKDIVSAMPTIMEDIVReservedC ON V RATED IV15e 74 30SAMPTIMEDIV :与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 =

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

6、下表,由阻带最小衰减选择窗函数类型w(n),由设计指标和过渡带宽确定滤波器阶数N,对于高通滤波器,N只能取奇数。(3)计算滤波器的单位脉冲响应h (n) =hd(n) w(n)。窗函数加窗后滤波器性能指标过渡带宽Aco阻带最小衰减/dB矩形窗0.9X2it/N21三角形窗2.1 X2tt/N25汉宁窗3.1 X2tt/N44海明窗3.3X2tt/N53布拉克曼窗5.5X2tt/N742、理想滤波器单位脉冲响应hd(n)(1)理想低通滤波器单位脉冲响应n过4口二2苴中0f =NJh /、j n(n八2hd (n)二'ccn 二二(2)理想高通滤波器单位脉冲响应二(n -:)hd(n)=1

7、 -sin俨(n 口) sin僧c(na)其中口 _ N-1 n#aji(3)理想带通滤波器单位脉冲响应hd(n)=sin 2 (n - ) 一 sin 1(n -:)二(n 一二)'2 - -i n =: 冗其中:N-1n 二二2(4)理想带阻滤波器单位脉冲响应"singn -ct) +sins1 (n -ct) -sin<o2(n -a)其中:N -1hd (n)=二, . 1 一 '2I n3、典型窗函数(1)矩形窗(Rectangle Window)w(n) = Rn (n)(2)三角形窗(Bartlett Window)w(n) =«22n,

8、N -12n一 N -10< n<N -12N -1n 三 N -12(3)汉宁(Hanning)窗,又称升余弦窗12n 二w(n)=二1 -cos()Rn(a)2N -1(4)海明(Hamming)窗,又称改进的升余弦窗2n 二 w(n) =0.54 -0.46cos()RN(n)N -1(5)布拉克曼(Blankman)窗,又称二阶升余弦窗2n二4n二 _w(n) -0.42 -0.5cos() 0.08cos( )RN(n)N -1N -1详细设计原理参见程佩青的数字信号处理教程第7.3节窗函数设计法。三、课程设计步骤观察实验箱各部分元件,连接电源线,打开实验箱上的主电源(位

9、于左上角)和开发板电源(位于右下角)。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

10、 'C55x,点击 Import, 点击close。(3)清除其他项(右键单击相应项,点击remove),保证My System下只有一项:C55xx XDS5510 Emulator ,右键点击该项选 Properties,在弹出的关联框中选 Startup GEL Files标签, Startup GEL 栏选择 ICETCK-V5509-A.GEL,保存。关闭 Setup CCS2(C5000)。至此,将目标板设置为通过USB 口连接的实验箱。注意操作步骤的先后顺序必须正确(开实验箱电源、插USB下载线、运行 CCS),若CCS不能运行则按此步骤重新操作。(4)打开 CCS,在

11、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:- 向内侧轻按波形频率选择钮、稍停顿,单步操作直到标有正弦波的指示灯点亮。- 向下拨

12、动波形频率选择钮、稍停顿,单步操作直到标有 100-1KHZ的指示灯点亮。- 上下调节幅值调整旋钮,将波形输出 A的幅值调到最大。(4)设置波形输出 B:- 向下拨动波形频率选择钮、稍停顿,直到标有1K-10KHz的指示灯点亮。其他同上。 4、将程序编译、链接、下载到目标板上,在指定位置设置断点,通过图形窗口观察并分析 实验结果。- 1)编译、链接无误后下载到目标板。(编译:Project -> Compile File ;链接:Project ->Build;下载:File -> Load Program -> debug ->*.out )- 2)将鼠标移动到

13、主程序中"asn(" nop");行的起始位置,右键选"Toggle breakpoint,在本行前出现红点,表示设置断点成功。选择菜单Debug -> Animate运行程序。- 3)通过图形窗口观察输入、输出波形。选择菜单 View -> Graph->Time/Frequency , 在弹出框中进行相应设置,图形观察窗口各项定义的意义参阅DSP课本369页。FS Graph Property Dialog目Display TypeSingleATitleADOStirt AddressiJJJCOPageDATARequisiti

14、on Buffer Size256Index Increment1Display 总taSI工色256DSF Data Typs16"bit unsi gn«d integerQ-value0a)观察低频信号图:选择菜单View->Graph->Time/Frequency ,在弹出框中做如图所示设置。b)观察高频信号图: 选择菜单 View->Graph->Time/Frequency ,在弹出框中做如下设置: Graph Title : AD1 ; Start Address: nADC1 ;其它值同上图。c) 观察混频信号图: 选择菜单 Vie

15、w->Graph->Time/Frequency , 在弹出框中做如下设置: Graph Title : x ; Start Address: x DSP Data Type: 32-bit floating point ;其他值同上图。d)观察滤波后信号图:选择菜单View->Graph->Time/Frequency ,在弹出框中做如下设置:Graph Title : y ; Start Address: y DSP Data Type: 32-bit floating point ;其他值同上图。5、一边调节输入信号的幅值、频率,一边观察各图的变化,分析仿真结果。

16、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)和滤波器阶数No6、修改程序实现一个高通滤波器,通带截止频率fp=1300Hz ,阻带截止频率fst=700Hz ,阻带衰减不小于 50dB。通过计算确定窗函数及滤波器阶数N,并在此基础上修改程序,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论