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

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

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

 
 
 

日志

 
 

LMS算法时序分析及截位分析  

2016-05-27 22:59:54|  分类: 数字滤波技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
杜老师您好,我买了《数字滤波器的MATLAB与FPGA实现 Altera/Verilog版》一书,一些问题恳请杜老师解答一下。
在第七章第三节   自适应均衡器的FPGA实现这一部分中:
1、在7.4.3节    1.确定运算字长及数据截位方法中
      由e3(n)到W3(n),为什么中间变量小数点关系没有变化,不是需要乘步长因子u吗?
2、同样在该节  2.计算时钟频率并分配各步骤所需的时钟周期中
     为什么要进行时钟周期分配, 并且如何在Verilog程序中实现出的
3、在自适应均衡器的设计中,杜老师有分模块化的程序吗?  只有一个Equalizer.v文件看着有些吃力,程序中截位也没有看懂,似乎和前面分析的不太一样。
1分钟前 

回复:
1) 符号LMS算法有两种形式,见书中式(7-14)\(7-15),两种形式都能够正常工作;
2)  式(7-23)中表示校正算法用的符号算法,与FPGA程序实现时的算法没有对应起来,这是书中的失误,在新版中将进行更正为以实例实现为准;
3)  图7-19中的e3(n)到w3(n)没有变化,是指在计算e3(n)时没有计算u的乘法运算,在计算w3(n)时才计算u的算法;
4) p251是,Error=E_out[20:5]只是取高16比特,符号算法只取其符号,实际上只与最高位(符号位)相关;后续计算DW时采取对Xin_Reg右移7位的方法,实现乘以1/128的运算。由于Xin_Reg的符号位在bit15与bit14之间,DW的符号位在bit14与bit13之间,因此将
Xin_Reg赋值给DW时本身需要右移1位。这样,相当于对赋值后的Xin_Reg再右移6位。由于式(7-23)中,计算dw时是乘以2u,因此程序中的u值实际上是1/128。
5)  为什么要进行时钟周期分配,因为lms算法决定要求在一个数据采样周期内完成权值更新。Verilog中的触发器串联级数就是运算周期数,请参考verilog语法方面的教程。
6) 在改版中,我会考虑将这个文件用多个模块来写,便于理解。
7) 请先理解算法原理,理解书中第3章关于数字运算处理的内容,便于理解算法的实现。
8)感谢您的问题,让我发现书中几处勘误。
祝愉快!
  评论这张
 
阅读(73)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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