电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

MATLAB设计FPGA实现联合ISE和Modelsim仿真的FIR滤波器设计

24页
  • 卖家[上传人]:鲁**
  • 文档编号:473912713
  • 上传时间:2023-03-24
  • 文档格式:DOC
  • 文档大小:1.07MB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、MATLAB设计,PG实现,联合IS和odelsm仿真的FR滤波器设计 摘要:本文一方面运用MTL产生两个频率不同样的正弦信号,并将这两个正弦信号相加,得到一种混叠的波形;然后运用MLA设计一种FR低通滤波器,并由Veog实现,联合I和Modesi仿真,实现滤除频率较高的信号,并将滤波后的数据送到MALB中分析。本文一方面简介IR滤波器的基本原理,然后从目前最流行的的设计方式入手,逐渐简介F滤波器的设计,其流程图如图1所示:图1一、 FR滤波器的基本原理:数字滤波器是从分析信号中提取顾客需要的信息,滤去不需要的信号成分或者干扰成分。数字滤波器的数学模型:线性时不变数字滤波器的数学模型在时域中可以用线性常系数差分方程给出:其等效的Z变换为: 当 全为0时,域系统函数只有零点,数字滤波器的单位脉冲响应有限,一般这用滤波器被称为有限冲激响应(FIR)滤波器。它的输出只与目前的输入和过去的输入有关,跟过去的输出无关。FIR滤波器的一种重要特性是具有线性相位,即系统的相异和频率成正比,可达到无失真传播。 更加具体的简介FIR滤波器的理论算法知识,请参照别的先关书籍资料、二、 FIR滤波器的设计及

      2、验证:1) 由MATLAB产生I滤波器的输入数据,并寄存到.tx文献中用MATLAB产生两个频率分别为:0.5MHz和2M的正弦信号,并将这两个正弦信号叠加,得到一种混叠的信号,并将这个混叠信号的波形数据寄存到C盘根目录下面的matab_ave_datatt文献中。MAT实现代码如下:cleall;f = 20000; %2M采样率t= 0:/fs:0.002; % 共0.002 500000= 5000个点f1 = 500000;2 = 00;sgal1 sin(2*pi*1*t); % 频率为 0.5MHz的正弦信号sgnl =n(*pi*2*t); 频率为 2.H 的正弦信%由于正、余弦波形的值在,1之间,需要量化成6bi,先将数值放大 ix(38 (24 - 1) * signal1); 量化到5bit3 fix(163 + (24 - 1) * sial2); 量化到 1ity1= y2+ y; % 量化到6 再将放大的浮点值量化,并写道到寄存在盘的文本中fi fopen(c:/tb_wve_da.txt, wt);ritf(id, %xn, y1);% 以6进制的格式将数据

      3、寄存到.tx文献中。如果不用16进制,背面% 读数会出错。fclose(i);plo(2, );hodon;plo(y3, b);hod on;p(y,);leged(0.5MH正弦,2Mz正弦,两者叠加);title(MATLB产生的两个正弦信号的叠加波形); 信号波形图如图所示:图2 寄存数据的文献途径、名称已经文本的内容如图3所示:图3用ATAB回读C盘根目录下的matlb_wve_daa.xt文献,验证存入的波形数据与否对的,MATLAB代码如下:fi= fopen(c:/mlawav_daa.txt,r);f : 00;%一共有5001个数据um(i) =fscanf(fid, x, 1);%从fid所指的文献中,以16进制的方式读出一种数据ncos(fid);iue();plot(nm,);lgd(MATLAB从x文献中读出的原始叠加波形数据);ile(直接回读MTAB产生的两个正弦信号的叠加波形); 显示的波形如图4所示:图4对比图和图2中的叠加波形,可知以上操作的对的性。2) 用MTAB设计FI滤波器输入信号是频率别为0.5MH和2MHz的正弦信号的叠加,我们的任务是设

      4、计一种低通滤波器滤除掉MHz的干扰信号。因此,我们可以设计一种采样率为25Hz的低通滤波器,其通带带宽为MHz,阻带宽度为Hz。通带内纹波抖动为dB,阻带下降为8dB。在MATAB的命令窗口输入:dtol命令并回车,打开FDol工具箱,用MTLAB的FDTool工具设计该滤波器,参数设立如图5所示:设计好参数后,点击esnFilter,可以在FTool窗口的左上角看到滤波器的阶数为3阶,点击File enerae Mile,并将滤波器命名为myowilter。图5 编写如下代码,滤除混叠信号中的高频信号。mwfiter; % 滤波器名称oput =flte(Hd,); %对叠加信号 y,进行滤波解决figure(3);plo(y2, k);hold o;plo(outut,r);legend(0.5MHz原始信号,滤波后取出的信号);tile(信号通过MTALAB的低通滤波器后的波形); 滤波后的波形如图6所示:图6生成.c文献,用于lin的IPC设计滤波器,FDAoo窗口点击FileExot,保持默认设立,点击Exort即可,次数在MLAB的workspace窗口多余一种um的164

      5、的数组,这就是滤波器的系数,如图7所示:图7由于MATLAB生成的滤波器系数全是某些小数,而FPGA只能解决整数,因此我们必须将这些小数扩大一定的倍数,使它们变成整数。在ATLAB的命令窗口输入下面的一段代码然后按t,即可将上面这些系数变为整数,注意这里的*3267,表达将系数扩大327倍,这里的扩大倍数只能选2N,目的是为了背面滤波后的波形数据的高位截取(丢掉低位,即除以2N)。返回ns,表达操作对的。coeff=rond(m/max(abs(Nm)*327); abs() 求绝对值,a() 求最大值,roud() 四舍五入f = pen(e:/firce.tx,t); %将滤波器系数写入文献件中fprintf(d,16.0fn,oe); 将滤波器系数以16位浮点数的格式保存fclose(fid) 程序运营的成果如图8所示:图8将文献的格式改为.ce格式,在文献的开口加上:rax = 10;oefdata 在每个数字前的空格处加一种逗号“,”,并在最后一种数字背面加上分号“;”如图9所示:图9 这样就产生了可供FIR滤波器的IPCre可调用的.coe文献。3) 用Vrilog编程读取

      6、ATAB产生的波形数据通过Verlog的redeh()函数即可读出txt文献中的数据(这里的数据是以16进制形式存储的),具体用法如下:re 15 :0 dtin0:; /定义一种1bt 的数组iiti en/ 读出MALA产生的波形数据0.Hz_si + 4MH_sin 信号 redemh(c:matlb_waveata.t,daa_n); /将 malawave_atx中的数据读入存储器 aa_nEnd 我在modelsi中尝试用eadmh来读取malab生成的数据,但是一旦到了负数的地方就浮现问题了,之后的所有数据都变成了xxxxx,因此我在用MATLB产生波形数据时都给正弦信号添加了一种偏移量,将正弦信号平移到了0之上。用Modelsim仿真工具可以看到读出的数据,并与原文献数据(图3)比较,可以判断读出的数据与否对的,这里是IS和odesm联合仿真的成果,如图1所示:图104) 由Xnx的FIR的IPre实现FR滤波器FI的ICor的生成环节就不多说了,简朴的说一下参数配备状况:a) 我们使用由AB生成的.coe文献导入滤波器的系数。b) 输入信号的采样频率为25MH,这里必

      7、须和MATLB产生的波形数据的采样频率保持一致。c) FIR滤波器的运营时钟,这里我们选择20MHz,这里必须和仿真文献里给的时钟保持一致。d) 输入数据的类型,我们这里选择了无符号数,输入数据位宽为16bi,由于odelsim不能读出负数(要么用补码,要么加偏移)。如图1、图12所示:图1图12FIR的IPCoe的列化如下:6_I 16_IPin(.lk(clk), / inpt lrd(rd), / ouutrd 在其上升沿将输入数据加载到滤波器内核中.ry(rd), / outpu rd 在其上升沿输出滤波器的计算成果.din(ta_nreg), / t 5 : 0 din.t(dou));/ oupt 3 : 0 dou 特别注意这个数据位宽我们重要对其进行简朴的控制:在fd 上升沿将输入数据加载到滤波器内核中,在rdy 上升沿输出滤波器的计算成果。具体的erlog代码如下:aas (osedge clk) begiif(rest= b0) begini1b0;0;t_in_rg=1h000;ndse birf1qrfd;rfd_=fd1q;if(rfd_1q&rfd) bgn/ f 信号的上升沿将输入数据加载到滤波器内核中tinreg=dta_ni;i =i + 1;m =;if( = )i=0;endedndaways (psedge lk) begnif(res = 0) beginDaa_outrg=0;=0;n=;edelsebeginrd_1q=ry;rdy_2=yq;if(y_1q & rd) bnDa_out_regdot;j=j + 11;n =n;edendend这里还做了一种附加功能,将FI滤波器的输入数据寄存到一种.txt文献当中,然后用MATLAB去读取这个波形文献数据,看看读出的波形与否和本来的混叠波形同样。具体的Verilog和AT

      《MATLAB设计FPGA实现联合ISE和Modelsim仿真的FIR滤波器设计》由会员鲁**分享,可在线阅读,更多相关《MATLAB设计FPGA实现联合ISE和Modelsim仿真的FIR滤波器设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.