北京工业大学 信息处理工程实验报告 FIR.docx
- 文档编号:9320761
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:11
- 大小:331.96KB
北京工业大学 信息处理工程实验报告 FIR.docx
《北京工业大学 信息处理工程实验报告 FIR.docx》由会员分享,可在线阅读,更多相关《北京工业大学 信息处理工程实验报告 FIR.docx(11页珍藏版)》请在冰点文库上搜索。
北京工业大学信息处理工程实验报告FIR
北京工业大学
信息处理工程实验报告
FIR
专业:
电子信息工程
姓名:
周鸿宇
学号:
12021031
指导教师:
席大林
完成日期:
2015年5月19日
A、设定指标设计按格式打印B数组(5分)
doubleb[21],fl=200,fs=1000,fh=0;;
p(0,fl,fh);
firDesgin(b,21,LOWPASS,RECTANG,fs,fl);
getch();
for(w=0;w<21;w++)printf("\nb[%d]=%lf",w,b[w]);
B、画出幅频特性图(5分)
window2("低通幅频特性",-fs/2,2,fs/2,-2,
"hz","|H|");
xy2(BLUE);
plotxy2(GREEN,2,f,firAbs(f,fs,b,N));
getch();
window2("低通相频特性",-fs/2,5,fs/2,-5,
"hz","FI");
xy2(BLUE);
plotxy2(RED,3,f,firPhase(f,fs,b,N));
getch();
C、给定信号做采集(5分)
for(i=0;i<200;i++){x2[i]=COMPLEX((sin(150*2*pi*i/fs)),0);x3[i]=sin(150*2*pi*i/fs);}
for(i=200;i<512;i++){x2[i]=COMPLEX(0,0);x3[i]=0;}
window2("采样",-1,-1,70,5,"w","phase");
xy2(RED);
plotgri1(BLUE,BLUE,x2,512);
plotxy2(GREEN,2,i,sin(150*2*pi*i/fs));
getch();
信号为前200位sin(150*2*pi*i/fs),后312位为0
D、叠接相加法的实现与验证(10分)
(1)实现
叠接相加法:
重叠相加法是将待过滤的信号分割成长为 N 的若干段,,每一段都可以和有限时宽单位取样回应作卷积,再将过滤后的各段重叠相加。
在实际应用中利用FFT来计算两个序列的圆周卷积从而实现计算其线性卷积,但是常遇到的问题是参加卷积的两个序列的长度相差较大,这样长度小的序列就需要补很多的零点,这样就需要大的存储量,运算时间也会变长。
所以常用重叠相加法来解决。
示意图
根据实际数组参数对照,M-1=3,L-1=5,按这个参数设计程序,如下
程序设计:
COMPLEXx4[15+3+(8-(3+15)%5)],h4[8],g1[8],p[23],h1[8];
intk=0;//数组的赋值与之前的方法相同
//x3[]的长度为15+3+(8-(3+15)%5)=23,
for(i=0;i<23;i++)x4[i]=COMPLEX(0,0);
for(i=3;i<18;i++)x4[i]=COMPLEX(i-2,0);
for(i=0;i<3;i++)h4[i]=COMPLEX(3-i,0);
for(i=3;i<8;i++)h4[i]=COMPLEX(0,0);
for(i=0;i<8;i++)g1[i]=COMPLEX(0,0);//结束各数组的赋值
fft(h4,8,1);//将只有三点的信号2进行fft变换
for(j=0;j<=23-3;j=j+3){for(i=0;i<8;i++)g1[i]=COMPLEX(0,0);//每次循环前清零
for(i=0;i<3;i++){g1[i]=x4[i+j];}//向g数组里放三个数
fft(g1,8,1);//fft变换
for(i=0;i<8;i++)h1[i]=g1[i]*h4[i];//频域相乘
fft(h1,8,-1);//逆变换回来相当于卷积
for(i=0;i<6;i++){p[i+j]=p[i+j]+h1[i];}}//每次将重的点进行叠加,结果放入p
for(i=3;i<23;i++)printf("p[%d]=%f+%fj\n",i-3,p[i].r,p[i].i);
叠接相加法结果
(2)验证
与示例叠接舍去法结果对比
E、叠接舍去法的实际滤波信号(10分)
程序:
(x3为输入,b为转移函数,y为输出)
for(n=0;n<512;n++){y1[n]=COMPLEX(0,0);y[n]=0;}
doubler[52];intj;into;
for(j=0;j<=512-52;j=j+32){
for(o=0;o<32;o++)g[o]=x3[o+j];
convol(g,32,b,21,r,52);
for(o=10;o<42;o++)y[o+j]=r[o];
if(j==0){for(o=0;o<10;o++)y[o]=r[o];}
for(n=0;n<512;n++){y1[n]=COMPLEX(y[n],0);}
采样
叠接舍去法滤波后
以下为fft后的滤波图像
采样fft
滤波fft
fft滤波后信号
与叠接舍去法滤波结果相同。
F、用convol()验证FIRDF(15分)
convol(x3,512,b,21,y,512);
32;j=j+32){for(o=0;o<32;o++)g[o]=COMPLEX(0,0);
for(n=0;n<512;n++){y1[n]=COMPLEX(y[n],0);}
window2("convol验证",-10,-10,100,5,"w","phase");
xy2(RED);
plotgri1(BLUE,BLUE,y1,512);
结果见下页
采样
滤波后信号
与之前滤波结果吻合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京工业大学 信息处理工程实验报告 FIR 信息处理 工程 实验 报告