FIR滤波器的DSP实现

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计一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控制寄存器:ADCCTL

ADCSTART:0 无作用;1 启动A/D转换

CHSELECT:从4个模拟通道中选择一个作为输入信号

Reserved:保留

2、ADC数据寄存器:ADCDA TA

ADCBUSY:0 ADC数据准备好,即A/D转换结束;1 正在进行A/D转换

CHSELECT:从4个模拟通道中选择一个作为输入信号

ADCDA TA:A/D转换得到的10位二进制数

3、ADC时钟控制寄存器:ADCCLKCTL

IDLEEN:0 不允许ADC处于休眠状态;1 允许ADC处于休眠状态

CPUCLKDIV:决定ADC时钟频率

ADC Clock:(CPU Clock) / ( CPUCLKDIV+1)

4、ADC时钟分频寄存器:ADCCLKDIV

SAMPTIMEDIV :与CONVRA TEDIV 一起决定采样/保持周期

ADC Sample and Hold Time = (ADC Clock Period)*2*(CONVRA TEDIV+1+ SAMPTIMEDIV)

CONVRA TEDIV :决定A/D 转换时钟频率

ADC Conversion Clock = (ADC Clock) / (2*( CONVRA TEDIV+1))

完成一次A/D 转换需要13个A/D 转换时钟,所以,一次转换时间是

t = 13 / ADC Conversion Clock

一次完整的A/D 转换时间是采样/保持周期和转换时间的和,采样频率是其倒数

ADC Total Conversion Time = ADC Sample and Hold Period+t

Sampling Rate = 1/ ADC Total Conversion Time

(二)窗函数法设计FIR 滤波器的原理

根据阻带最小衰减和过渡带宽选择合适的窗函数,实现不同指标的各种类型FIR 数字滤波器的设计。

1、利用窗函数设计FIR 滤波器的具体步骤如下:

(1)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应h d (n )(下面已给出,直接用)。

(2)根据下表,由阻带最小衰减选择窗函数类型w (n ),由设计指标和过渡带宽△ω确定滤波器阶数N ,对于高通滤波器,N 只能取奇数。

(3)计算滤波器的单位脉冲响应h (n ) =h d (n ) w (n )。

2、理想滤波器单位脉冲响应h d (n )

(1) 理想低通滤波器单位脉冲响应

⎪⎪⎩⎪

⎪⎨⎧=≠=--=απ

ωαααπαωn n n n n h c c d 21-N )()]

(sin[)(其中

(2) 理想高通滤波器单位脉冲响应

⎪⎪⎩

⎪⎨⎧=-≠=----=απωαααπαωαπn n n n n n h c c d 121-N )()]

(sin[)](sin[)(其中

(3) 理想带通滤波器单位脉冲响应

⎪⎪⎩

⎪⎨⎧=-≠=----=απωωαααπαωαωn n n n n n h d 121221-N )()]

(sin[)](sin[)(其中

(4) 理想带阻滤波器单位脉冲响应

⎪⎪⎩

⎪⎨⎧=-+≠=----+-=απωωπαααπαωαωαπn n n n n n n h d 212121-N )()]

(sin[)](sin[)](sin[)(其中

3、典型窗函数

(1)矩形窗(Rectangle Window)

)

()(n R n w N =

(2)三角形窗(Bartlett Window)

⎪⎩

⎪⎨

-≤<----≤≤-=1

2

1,

1222

10,

12)(N n N N n N n N n n w

(3)汉宁(Hanning)窗,又称升余弦窗

)

()]1

2cos(

1[2

1)(n R N n n w N --=

π

(4)海明(Hamming)窗,又称改进的升余弦窗

)

()]1

2cos(

46.054.0[)(n R N n n w N --=π

(5)布拉克曼(Blankman)窗,又称二阶升余弦窗

)

()]1

4cos(

08.0)1

2cos(

5.042.0[)(n R N n N n n w N -+--=ππ

详细设计原理参见《数字信号处理教程》课本窗函数设计法。

三、课程设计步骤

1、安装驱动

将方形下载线与实验箱上橙色铁盒接口相连;在弹出的“找到硬件向导”会话框中依次做如下操作:选“否,暂时不”→下一步→从列表指定位置安装→下一步→浏览框中选择c:\TI2\ICETEK →完成。 2、配置并运行CCS

(1)双击Setup CCS2(C5000);

(2)在Import Configuration 框中选择ICETEK USB Emulator for ‘C55x ,点击Import ,点击close 。

(3)清除其他项(右键单击相应项,点击remove ),保证My System 下只有一项:C55xx XDS5510 Emulator ,右键点击该项选Properties ,在弹出的关联框中选Startup GEL Files 标签,Startup GEL 栏选择ICETEK-VC5509-A.GEL ,保存。关闭Setup CCS2(C5000)。

相关文档
最新文档