在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3585|回复: 7

有关cic抽取滤波器的问题

[复制链接]
发表于 2016-3-26 17:23:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在fpga中实现cic抽取滤波器,将modelsim中的数据在MATLAB中分析时,出现图中的情况 7AA7@@B33ZG$~26ZD`@F~3L.png ,就是在开始那一段出现错误;后来在MATLAB中编程实现,也出现这样的情况,请问这是怎么回事?MATLAB程序如下:x1=cos(2*pi*f1*t);%被测信号
x2=cos(2*pi*f2*t);%DDS信号
x=x1.*x2;%混频后的信号
X=round(x*(2^19-1));%quanty,20-bit
Hm = mfilt.cicdecim(60,1,5);
y=filter(Hm,x);%用cic滤波器对混频后的信号进行滤波
y1=double(y)/max(y);%量化

MATLAB仿真时域分析图.jpg

最下面的余弦表示经过滤波器后的时域图
发表于 2016-3-27 21:52:38 | 显示全部楼层
呃...这是正常的吧,数字滤波器有时延。具体原因可以看看这篇文章,我就不码字了https://www.douban.com/note/59297172/
发表于 2016-3-27 22:50:45 | 显示全部楼层
信号的因果性,滤波器也需要初始化
 楼主| 发表于 2016-3-28 11:02:49 | 显示全部楼层
回复 2# cyqtomb

您好,我看了您推荐的这篇文章,我想问一下这个问题该怎么解决呢?扔掉前面的几个量?
 楼主| 发表于 2016-3-28 11:04:06 | 显示全部楼层
回复 3# invy


   这个怎么解决?
发表于 2016-3-28 13:32:46 | 显示全部楼层
求回复给个新元,感谢分享!
发表于 2016-3-28 23:28:42 | 显示全部楼层
如果你要保证你matlab代码里信号x1的完整性,处理办法应该是在x1后添加滤波器时延数目的0样点,然后在滤波器的输出,扔掉最前面的与滤波器时延对应数目的样点。
发表于 2016-5-5 14:58:05 | 显示全部楼层
前面错误的长度等于你滤波器的阶数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-25 23:50 , Processed in 0.078733 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表