- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京工业大学 信息处理工程实验报告 FIR
北京工业大学信息处理工程实验报告FIR专业:电子信息工程姓名:周鸿宇学号 指导教师:席大林完成日期:2015年 5月 19日设定指标设计按格式打印B数组(5分)double b[21],fl=200,fs=1000,fh=0;;p(0,fl,fh);firDesgin(b,21,LOWPASS,RECTANG,fs,fl);getch();for(w=0;w21;w++)printf(\n b[%d]=%lf,w,b[w]);画出幅频特性图(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();给定信号做采集(5分)for(i=0;i200;i++){x2[i]=COMPLEX((sin(150*2*pi*i/fs)),0);x3[i]=sin(150*2*pi*i/fs);}for(i=200;i512;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叠接相加法的实现与验证(10分)实现叠接相加法:重叠相加法是将待过滤的信号分割成长为?N?的若干段,,每一段都可以和有限时宽单位取样回应作卷积,再将过滤后的各段重叠相加。在实际应用中利用FFT来计算两个序列的圆周卷积从而实现计算其线性卷积,但是常遇到的问题是参加卷积的两个序列的长度相差较大,这样长度小的序列就需要补很多的零点,这样就需要大的存储量,运算时间也会变长。所以常用重叠相加法来解决。示意图根据实际数组参数对照,M-1=3,L-1=5,按这个参数设计程序,如下程序设计:COMPLEX x4[15+3+(8-(3+15)%5)],h4[8],g1[8],p[23],h1[8];int k=0;//数组的赋值与之前的方法相同//x3[]的长度为15+3+(8-(3+15)%5)=23,for(i=0;i23;i++)x4[i]=COMPLEX(0,0);for(i=3;i18;i++)x4[i]=COMPLEX(i-2,0);for(i=0;i3;i++)h4[i]=COMPLEX(3-i,0);for(i=3;i8;i++)h4[i]=COMPLEX(0,0);for(i=0;i8;i++)g1[i]=COMPLEX(0,0);//结束各数组的赋值fft(h4,8,1);//将只有三点的信号2进行fft变换for(j=0;j=23-3;j=j+3){for(i=0;i8;i++)g1[i]=COMPLEX(0,0);//每次循环前清零for(i=0;i3;i++){g1[i]=x4[i+j];}//向g数组里放三个数fft(g1,8,1);//fft变换for(i=0;i8;i++)h1[i]=g1[i]*h4[i];//频域相乘fft(h1,8,-1);//逆变换回来相当于卷积for(i=0;i6;i++){p[i+j]=p[i+j]+h1[i];}}//每次将重的点进行叠加,结果放入pfor(i=3;i23;i++)printf(p[%d]=%f+%fj\n,i-3,p[i].r,p[i].i);叠接相加法结果验证与示例叠接舍去法结果对比叠接舍去法的实际滤波信号(10分)程序:(x3为输入,b为转移函数,y为输出)for(n=0;n512;n++){y1[n]=COMPLEX(0,0);y[n]=0;}double r[52];intj;int o;for(j=0;j=512-52;j=j+32){for(o=0;o32;o++)g[o]=x3[o+j];convol(g,32,b,21,r,52);for(o=10;o42;o++)y[o+j]=r[o];if(j==0){for(o=0;o10;o++)y[o]=r[o];}for(n=0;n512;n++){y1[n]=COMPLEX(y[n],0);}采样叠接舍去法滤波后以下为fft后的滤波图像采样fft滤波fftfft滤波后信号与叠接舍去法滤波结果相同。用convol()验证FIR DF(15分)convol(x3,512,b,21,y,512);32;j=
原创力文档


文档评论(0)