题目: iir算法的软件实验。
学生姓名:
学号: 院(系): 信息工程学院
专业: 电子信息工程专业。
iir算法实验。
摘要:本课题通过软件设计iir数字滤波器,并对所设计的滤波器进行**:应用dsp集成开发环境—ccs调试程序,用tms320f2812实现iir数字滤波。
具体工作包括:对iir数字滤波器的基本理论进行分析和**。应用dsp集成开发环境调试程序,用tms320f2812来实现iir数字滤波。
关键词:数字滤波器;dsp;tms320f2812;无限冲激响应滤波器(iir)。
引言:21世纪是数字化的时代,随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为一门主流技术。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。
这些优势决定数字滤波器的应用越来越广泛。数字滤波器是数字信号处理中最重要的组成部分之一,被广泛应用于语音图像处理、数字通信、谱分析、模式识别、自动控制等领域。
实验原理。1.无限冲激响应数字滤波器的基础理论。
2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3.数字滤波器系数的确定方法。
4.根据要求设计低通iir滤波器。
要求:低通巴特沃斯滤波器在其通带边缘1khz处的增益为-3db,12khz处的阻带衰减为30db,采样频率25khz。设计:
确定待求通带边缘频率fp1hz、待求阻带边缘频率fs1hz和待求阻带衰减-20logδsdb。
模拟边缘频率为:fp1=1000hz,fs1=12000hz 阻带边缘衰减为:-20logδs=30db
用ω=2πf/fs把由hz表示的待求边缘频率转换成弧度表示的数字频率,得到ωp1和ωs1。
p1=2πfp1/fs=2π1000/25000=0.08π弧度。
s1=2πfs1/fs=2π12000/25000=0.96π弧度。
计算预扭曲模拟频率以避免双线性变换带来的失真。
由w=2fs tan(ω/2)求得wp1和ws1,单位为弧度/秒。
wp1=2fs tan(ωp1/2)=6316.5弧度/秒。
ws1=2fs tan(ωs1/2)=794727.2弧度/秒。
由已给定的阻带衰减-20logδs确定阻带边缘增益δs。
因为-20logδs=30,所以logδs=-30/20,δs=0.03162
计算所需滤波器的阶数:
因此,一阶巴特沃斯滤波器就足以满足要求。
一阶模拟巴特沃斯滤波器的传输函数为:
h(s)=wp1/(s+wp1)=6316.5/(s+6316.5)
由双线性变换定义s=2fs(z-1)/(z+1)得到数字滤波器的传输函数为:
因此,差分方程为:y[n]=0.3307y[n-1]+0.3346x[n]+0.3346x[n-1]
软件程序流程图。
调试过程与步骤:
1.实验准备。
设置软件**模式。
启动ccs2.打开工程,浏览程序,工程目录为d:\dsp\t6\iir\
3.编译并**程序。
4.打开观察窗口:*选择菜单view->graph->time/frequency…,进行如下设置:
选择菜单view->graph->time/frequency…,进行如下设置:
5.清除显示:在以上打开的窗口中单击鼠标右键,选择弹出式菜单中“clear display”功能。
6.设置断点:在程序中有注释“/*请在此句上设置软件断点 */的语句上。
置软件断点。
7.运行并观察结果。
选择“debug”菜单的“run”项,或按f5键运行程序。
观察“iir”窗口中时域图形;观察滤波效果。
实验结果。输入波形为一个低频率的正弦波与一个高频的余弦波叠加而成。如图:
通过观察频域和时域图,得知:输入波形中的低频波形通过了滤波器,而高频部分则被衰减。
iir算法相对应c语言编程及汇编程序。
#include "dsp281x_" dsp281x headerfile include file
#include "dsp281x_" dsp281x examples include file
#include ""
#include""
#define iirnumber 2
#define signal1f 1000
#define signal2f 4500
#define samplef 10000
#define pi 3.1415926
float inputw**e();
float iir();
float fbn[iirnumber]=;
float fan[iirnumber]=;
float fxn[iirnumber]=;
float fyn[iirnumber]=;
float finput,foutput;
float fsignal1,fsignal2;
float fstepsignal1,fstepsignal2;
float f2pi;
int i;
float fin[256],fout[256];
int nin,nout;
main(void)
nin=0; nout=0;
f2pi=2*pi;
fsignal1=0.0;
fsignal2=pi*0.1;
/ fstepsignal1=2*pi/30;
/ fstepsignal2=2*pi*1.4;
fstepsignal1=2*pi/50;
fstepsignal2=2*pi/2.5;
while ( 1 )
float inputw**e()
for ( i=iirnumber-1;i>0;i--
fxn[0]=sin(fsignal1)+cos(fsignal2)/6.0;
fyn[0]=0.0;
fsignal1+=fstepsignal1;
if ( fsignal1>=f2pi ) fsignal1-=f2pi;
fsignal2+=fstepsignal2;
if ( fsignal2>=f2pi ) fsignal2-=f2pi;
return(fxn[0]);
float iir()
float fsum;
fsum=0.0;
for ( i=0;i
return(fsum);
iir:addb sp,#
movb ah,#
movb al,#
movl *-sp[4],acc
movw dp,#0xfe00
mov @0,#
mov al,@0
cmpb al,#
sb l7,geq
l6:setc sxm
movl xar4,#0x3f8016
mov acc,@0 <<1
addl @xar4,acc
movl acc,*+xar4[0]
movl *-sp[2],acc
movl xar4,#0x3f8012
mov acc,@0 <<1
addl @xar4,acc
movl acc,*+xar4[0]
lcr fs$$mpy
movl *-sp[2],acc
movl acc,*-sp[4]
lcr fs$$add
movl *-sp[4],acc
setc sxm
movw dp,#0xfe00
mov acc,@0 <<1
movl xar4,#0x3f801e
addl @xar4,acc
movl acc,*+xar4[0]
movl xar4,#0x3f801a
movl *-sp[2],acc
mov acc,@0 <<1
addl @xar4,acc
movl acc,*+xar4[0]
lcr fs$$mpy
movl *-sp[2],acc
movl acc,*-sp[4]
lcr fs$$add
movl *-sp[4],acc
movw dp,#0xfe00
inc @0
mov al,@0
cmpb al,#
sb l6,lt
l7:movl acc,*-sp[4]
subb sp,#
lretr
结果分析:通过运行和观察实验结果,输入波形中的低频波形通过了滤波器,而高频部分则被衰减。经过对实验程序的阅读以及熟悉,了解了各种窗函数对波器特性的各自不同的影响。
通过观察运行结果的图像,进一步熟悉了iir数字滤波器特性。根据实验要求所涉及的低通iir滤波器可以很好的完成无限冲击响应滤波器的算法实验。
《DSP原理及应用》试卷答案
姓名学号班级分数。考试时间 15 40 17 30考试方式 开卷 注意 所有答案必须写在答题纸上,试卷上的答案无效!一 填空题 每空2分,共20分 1 在c语言和c55x汇编语言的混合程序设计中,c函数的参数和返回值传递到c55x的寄存器中。在函数 long func int p1,int i2,i...
《DSP原理及应用》试卷答案
姓名学号班级分数。考试时间 15 40 17 30考试方式 开卷 注意 所有答案必须写在答题纸上,试卷上的答案无效!一 填空题 每空2分,共20分 1 在c语言和c55x汇编语言的混合程序设计中,c函数的参数和返回值传递到c55x的寄存器中。在函数 long func int p1,int i2,i...
DSP原理与应用提交作业要求
通信0901 04信工0901 03 dsp原理与应用 提交作业要求。一。课程分析报告。请使用标准封面格式,内封面可自行设计。a4纸打印。格式规范,请注意格式是您报告或 的 脸面 注意事项 1.请同学们写清班级 姓名 学号和课程序号。2.请同学们注意提交报告的时间节点 初步确定考试结束后1周内,请提...