设计课题
FIR滤波器的DSP实现
设计目的
掌握数字滤波器的设计过程。
了解FIR的原理和特性。
熟悉设计FIR数字滤波器的原理和方法。
学习FIR滤波器的DSP实现原理。
S的波形观察窗口观察输入/输出信号波形和频谱变化情况。
设计内容
FIR滤波器结构图
在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。
通过MATLAB来设计一个低通滤波器,对它进行模拟仿真确定FIR滤波器系数;用DSP汇编语言及C语言进行编程,实现FIR运算,对产生的合成信号,滤除信号中高频成分,观察滤波前后的波形变化。
设计原理
FIR滤波器的设计方法主要有窗函数设计法和频率抽样设计法,其中窗函数设计法是最基本的设计方法。在设计FIR滤波器中,一个最重要的计算就是加窗,比较常用的窗函数有矩形窗、Hanning窗、Hamming窗、Blackman窗、Kaiser窗等。
用窗函数设计FIR滤波器的步骤为:
(1)根据对过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N。
(2)根据待求滤波器的理想频率响应求出单位脉冲响应hd(n)。
(3)计算滤波器的单位脉冲响应h(n)。
(4)验算技术指标是否满足要求。如果不满足要求,可根据具体情况,调整窗函数类型和长度,重复前面步骤,直到满足要求为止。
频率样本法目前有两种设计方法,第一种直接用上面的基本思想,对逼近误差不加任何限制;也就是说无论设计所得的误差有多大我们都接受,这种方法叫朴素设计法。第二种方法则通过改变过渡带的样本值,努力使阻带中的误差极小化,以便产生一个较好的设计,这种方法叫最优设计法。
可编程DSP芯片的开发需要一整套完整的软硬件开发工具。通常,DSP芯片的开发工具可以分为代码生成工具和代码调试工具。代码生成工具程序主要包括以下几种类型的程序:①C编译器;②汇编器和链接器;③辅助程序,如文档管理程序和代码格式转换程序等;④库文件;⑤RTS头文件。开发DSP芯片,调试工具是必不可少的,TMS320系列DSP芯片的系统集成和调试工具主要有:①C/汇编语言源码调试器;②初学者工具DSK;③软件模拟器(Simulator);④评价模块EVM;⑤软件开发系统SWDS;⑥仿真器XDS;
S是一种集成代码调试工具,S集成的调试工具使调试程序一目了然,S的引入,大大缩短了DSP的开发进程,开发成本也降低了很多。
设计过程
设计一个FIR低通滤波器
参数:阶数40
wp=
ws=
根据给给定的设计参数,由MATLAB中的fir2函数产生滤波器系数
>> f=[0 1];
>> m=[1 1 0 0 ];
>> b=fir2(39,f,m)
b =
Columns 1 through 9
- - - -
Columns 10 through 18
- - - - -
Columns 19 through 27
- -
Columns 28 through 36
- - - - - -
Columns 37 through 40
-
接着观察滤波器的幅频、相频特性
>> freqz(b,512,1000)
汇编源程序
.title ""
.mmregs
.bss y,1
K_FIR_BFFR .set 40
PA0 .set 0
PA1 .set 1
FIR_COFF_TABLE .usect "FIR_COFF",40
D_DATA_BUFFER .usect "FIR_BFR",40
.data
COFF_FIR_START: .word -7*32768/10000, 3*32768/10000
.word 14*32768/10000, 10*32768/10000
.word -16*32768/10000, -38*32768/100
《DSP硬件电路设计基础》课程设计-FIR滤波器的DSP实现 来自淘豆网m.daumloan.com转载请标明出处.