注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

构建数字通信技术理论与实践之间的桥梁

孤云出岫去留一无所系 朗镜悬空静躁两不相干 菜根谭.明.洪应明

 
 
 

日志

 
 

周问题回复:20171120~20171217  

2017-12-18 20:35:39|  分类: 周问题回复 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
15222532080@163.com
老师,我看你一直强调晚节约FPGA资源,到我看你得代码里使用课for语句,那是不是跟很费资源?
A:
用for语句并不代表会多用资源呢,你可以试着查看一下代码实现后的资源占用情况,可查看RTL图即可知。所有的语句仅是工具,写代码的时候,心中要先用功能图,这样无论用什么语句,最终只是实现所需的功能电路即可。

49644331@qq.com
杜老师:
      您好,最近有幸拜读了您《数字滤波器的matlab与fpga实现alter版本》很感谢您能把您实际工作和研究中关于数字滤波器的设计经验分享给我们广大读者。在读您的书第6章关于使用FIR IP核设计多速率滤波器的FPGA中有几个疑惑,还望老师能解答一二。
     第一:在多级抽取滤波器设计中,fpga系统时钟和数据输入频率是不是要保持一样
     第二:如果我想用该方法(IP核法)设计多级插值滤波器,那我的FPGA系统时钟和数据输入频率有关吗,还是系统时钟与ast_sink_valid端口有关系?
比如我想对一种 采样率为44.1KHZ,频率为10khz的信号进行3级128倍的插值滤波,前两级使用半带滤波实现4倍插值,后一级使用CIC滤波器实现32倍插值,那我的第一级的系统时钟和ast_sink_valid端口有关系吗?
比如我的第一级系统的时钟为5.644MHZ,ast_sink_valid端口设置为88.2KHZ可以吗?
由于对这种多级插值原理理解不太好,问的比较多,还望老师能抽出一点您宝贵的时间解答一二。
不胜感激!
                                                                                                                                                                      您诚挚的读者                  2017/12/12
A:
1)这个没有具体要求,使用FIR核时,读其datasheet可知,时钟频率相对于数据速率越高,所需资源越小
2)多级滤波器,也是通过多个滤波器级联的。你只需分别设计好单个滤波器即可,并且掌握每级滤波器的输入输出数据速率。FIR核的使用方法很灵活。根据fpga面积与速度互换原则,你尝试设置不同时钟频率,通过仿真测试,可深入体会这之间的差别。


lxe3272@126.com
尊敬的杜老师:
您好!
我最近在学习您的Altera/Verilog版的调制解调实现,想要实现基于Gardner的内插位同步算法,想要实现OOK的位同步,但是有几个问题不明白,想请教您。
您给出的代码里面,我实现了,但是觉得有一点问题,就是我四倍采样得到数据,每个时钟周期读入一个数据,进入内插滤波器与插值间隔u进行计算得到内插后的值,之后用得到的内插值继续进行计算,
为下一个数据提供插值间隔u,这是一个流水线的过程,但是运算需要经过好几个时钟周期,当我前一个数据经过一系列运算为下一个数据提供插值间隔u时,已经过去了好几个时钟周期,这样它提供的反馈就不是给
一个数据,而是好几个clk之后的另外的数据了,但是这个数据需要的反馈又不是这个,那这样,整个同步算法出现了问题,这个要怎么解决?开始我想的是加寄存器,但是一个数据计算得到插值间隔u必须要好几
个clk,而只有得到u后才能进行下一个插值计算,这个运算的延迟是避免不了的,当得到4个插值时,已经经过了好多clk,再在这四个里面选择第二个作为最佳采样点,那得到的数据周期特别长,就不是每四个clk得
到一个最佳采样点了,请问您这个问题要怎么呢解决?

感谢您百忙之中抽出时间帮我答疑解惑,希望早日收到的您的回复!
祝您身体健康,工作顺利!
                                                                                      您的忠实读者
                                                                                      2017年12月13日
A:
根据gardner算法,每4个采样点计算出一个u值,并根据这个u值计算到一个最佳采样值即可。这个算法本身原理比较繁杂,建议仿真书中实例,查看modelsim波形,理解每个中间值的时序。
或者你再理解一下常规的fir滤波器,如9阶滤波器,有9个采样点参与运算,滤波得到一个值,其间的时序关系可以类比学习。
祝愉快!
  评论这张
 
阅读(21)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018