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

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

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

 
 
 

日志

 
 

周问题回复20171030~20171105  

2017-11-06 08:08:38|  分类: 周问题回复 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1907804863@qq.com
老师,关于你写的数字滤波Verilog版本的书第七章第四节均衡器问题:
1,误差输出为什么得扩展到[20:0]?怎么体现误差输出是在(-4,4)的范围内?是不是根据yn的扩展位来的,如果扩展位不是35位而是34位,误差输出是不是得扩展到[19:0]?我认为应该取[17:0]就可以了然后截位再到[17:2]作为滤波输出!
2, 程序DW_Reg[n] <= -{{7{Xin_Reg[n][15]}},Xin_Reg[n][15:7]};是什么意思能具体说一说吗?如果U=1/128,2U=1/64,应该右移6位就可以了啊?
3,如果中间变量的范围都在(-1,1)老师能给一下滤波输出、误差输出的具体范围吗?自己试了一下总是达不到满意的结果!!!
4,您书上还说中间值w, e, y范围分别是(-2,2),(-4,4),(-4,4)。可我有时候运行的时候e,y会出现大于4的情况!该怎么解决?

A:
算法中所有中间变量的数据范围是由Matlab仿真得出的。fpga设计是根据仿真结果的数据范围确定截位方法。
把握运算原理:加减法的小数点位置必须对齐;乘法全精度运算时,运算结果的小数位为两个乘数小数位之和,整数位为两个乘数位的整数位之和。
DW_Reg[n] <= -{{7{Xin_Reg[n][15]}},Xin_Reg[n][15:7]};是简单的右移7位而已。2u是应该右移6位的。可能是笔误。u值影响收敛步长和速度。工程中需要调整测试。
如果出现大于4的情况,按照原理,需要将这个中间变量的整数位增加到4比特,再根据前面所讲的加减乘原理调整中间变量的小数点位置即可。
祝愉快!

杜老师您好,我在您书上研究的 Gardner 算法的位同步,但是我应用的体制是 GMSK 的调制解调,我目前的进展是利用松尾环完成载波同步,但是在想利用 Gardner 算法做定时同步的时候在纠结:第一,Gardner 能否用于 GMSK 解调的位同步?第二,位同步是应该在解调之后还是解调之前?针对第二个问题我可能有些结构上的不清晰。期望得到老师的回复!!!谢谢老师
A:
请再理解gardner算法原理:只要输入信号信号 满足要求:类似基带成型波形,就可以使用;
gardner同步可实现在载波同步之前,但需要用到i/Q两路数据;
仿真测试,分析理解,就明白了。
祝愉快!

杜老师,您好!2楼的问题仍有疑惑:我看的是《数字滤波器的MATLAB与FPGA实现-Altera/verilog版》,wire[22:0]madd;  reg[19:0]mult;
madd=mult+m1+m2+m3+m4+m5+m6+m7;为什么是加7个值呢(m1+m2+...m7)?
而且照这样加出来madd应该是26bit,定义23bit岂不是溢出了?
A:7个数据相加,最大是单个数据的 7倍,小于8倍,即2^3,因此增加3比特。
祝愉快!

  评论这张
 
阅读(34)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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