完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
希望对你有用:
第一步就是分析XILINX的PC-CFR,System Generator搭建的 IP (pc_cfr_virtex5_v1_1.mdl)。不清楚PC-CFR算法是不是XILINX最早提出来的,反正个人觉得ALTERA的CFR算法肯定是参考XILINX写的呵呵,感觉XILINX在无线通信这块还是要较ALTERA强一些。pc_cfr_virtex5_v1_1.mdl一同有8个子模块: 1.cordic_mag_sin_cos模块:采用cordic算法计算信号的模值,信号的正弦、余弦值。模块的时延是10个信号采样周期。 2.peak_scale模块:计算信号峰值与削峰门限差值的正弦、余弦值。模块的时延是3个信号采样周期。 3.peak_detect模块:找峰值,要等到信号模值下降到门限下面才能确定前面的峰值是真正的峰值,而且超过门限的一批信号中,如果有多于一个的山峰,那么最大的那个峰才判定为真正的峰值。模块的时延是3+peak_delay个信号采样周期,peak_delay由peak_detect模块给出。 4.peak_align模块:峰值延时模块,让找到的峰值有固定35个信号采样周期的延时。模块的时延是32-peak_delay个信号采样周期,peak_delay由peak_detect模块给出。所以峰值的固定延时等于3+peak_delay+32-peak_delay=35个个信号采样周期 5.peak_scale_delay模块:peak_scale延时模块。模块的时延是35个信号采样周期,因为由前面可知信号的峰值也是延迟35个信号采样周期才给出的。 6.c_pulses模块:四个CPG模块采用时分复用的方式工作。PC-CFR滤波器的冲击响应与信号峰值去对消的时候,滤波器的IQ信号大小是受信号峰值与门限的距离决定的,本模块实现滤波器与信号峰值与门限的差值相乘。模块的时延是6个信号采样周期。 7.data_in_delay模块:输入信号要经过延时与滤波器相应点对齐了之后再相减,才能消去相应的峰值。延时包括两块:一是滤波器的延时(如果PC-CFR滤波器的阶数为N,则延时(N-1)/2个信号采样周期),二是前面几个模块处理的延时一共54个信号采样周期(10(cordic_mag_sin_cos)+3(peak_scale)+35(peak_delay)+6(c_pulses))。 8.subtract模块:经过延时的信号与经过缩放的PC-CFR滤波器相减。 分析完XILINX的PC-CFR IP 之后,就开始动手自己的PC-CFR。方案基本参考XILINX算法(必须的呵呵,本人也不可能提出更牛逼的算法),有两个地方做了修改: 1.XILINX的算法各个处理模块的时延都是跟信号采样周期有关系的,要想减少时延,必须在信号高速率下面做CFR,带来的问题就是滤波器的阶数要相应的增加(原因就不说了,做这块的都清楚哈)。而本人经过仿真,内插的过程中信号的峰值是不会再生的。所以CFR建议还是在信号低速率下面做(可以减少滤波器的阶数,可以让CFR的工作时钟工作在低速率下面从而容易满足时序要求),然后再对信号进行内插。我的设计上面的处理模块的延时都是跟CFR的工作时钟相关的,就是如果信号的采样率没变,而工作时钟提高的话,处理模块的时延就相应的减少了。 2.XILINX的算法找峰值模块,要等到信号模值下降到门限下面才能确定前面的峰值是真正的峰值,找到峰值有个固定的35个信号采样周期的延时,这一块的延时还是满大的。本人的设计里面信号峰值出现信号开始下降沿的时候,等N个信号采样周期没有出现更大的峰值的时候确认峰值有效 ,N可设置范围2~128。经过测试N设置为2 ,CFR就能正常工作了。所以这块就减少了33个信号采样周期的延时。 总结:做设计不仅要清楚要做什么,还必须知道为什么要这么做。做FPGA、做逻辑,画的时序图跟仿真出现的结果和你想要的结果是一样的,才OK了。如果FPGA硬件跑出来的结果跟预想的不一样,千万不要一开始就怀疑人家芯片、软件的问题(虽然Xilinx、Altera有时候还是有bug呵呵),一般情况都是自己设计的问题。没有无缘无故的问题,有果必有因,不要放过任何一个问题,把在做设计的过程中所有的问题、现象都搞清楚了才能慢慢成为高手。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1512 浏览 1 评论
1295 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1503 浏览 0 评论
922 浏览 0 评论
2300 浏览 0 评论
1453 浏览 35 评论
5641 浏览 113 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 02:15 , Processed in 0.586266 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号