加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

说这个咋用matlab弄个滤波器然后导入FPGA

(2013-12-23 10:39:10)
标签:

firip核

滤波器

fpga

matlab

这两天被这破玩意坑死了.
1.流程:
1)用matlab的fdatool设计滤波器,然后file->export->参数文件,十进制
2)打开quartus,生成megaFunction->DSP->FIR
3)里面的step1 参数设置->edit coefficient set->import coefficient set.选择上面matlab生成的参数文件就行了

跟尼玛把大象放到冰箱里一样需要三步,为嘛我折腾了两天呢?原因如下:
2.软件注意事项
1)fdatool生成的参数文件后缀不要改,但是需要把文件里面所有非数据行全部删掉,包括前面的注释和结尾的空行,删不干净megaFunction向导会告诉你文件里面包含没意义的参数,这里删干净的意思是\n也得删了.
2)导入参数文件步骤,参数文件必须放在工程目录,当然是quartus工程不是matlab工程,要不也能读入,都好好的,就是你apply之后关了再开文件就找不到了,然后按默认的37阶低通滤波器给你生成一个...
3)mega向导中step1把参数设置完了需要在step2中勾上生成仿真模型,否则modelsim用不了哦,这里要注意哦,每次都要勾上哦,关了mega向导再开,又尼玛把勾去掉了
4)想用modelsim需要把生成的firXX.vo拷贝到{$ProjDirectory}/simulation/modelsim文件夹中哦,每次都要拷贝哦,拷贝的时候看一下文件生成时间对不对,不对的话参考上一条,闹不好就上当了用旧的滤波器仿真了哦...http://www/uc/myshow/blog/misc/gif/E___6706EN00SIGG.gif
5)这一条就是自己的文件了Fs=Freq Sample 不是stop..滤波器设计什么的我一个看炉子的本来就没学过,这个还要在琢磨琢磨,不过方法总是掌握了!

上张图共勉:



====2013年12月23日 15:01:52 追加以下内容====

上图还是错的,滤波器之后效果变得更差了...snr=20滤波滤出来基本上就是直线.

为嘛会错呢..补充
2.6)一旦在mega向导中发生一次参数文件无效以后,输入位数也会被重置为8哦,你要是一不留神用12位输入丫是不会截取带符号的高8位而是丢了符号位的低8位哦..


补上SNR=5的matlab和modelsim结果:

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有