您的位置:首页 > 编程语言 > MATLAB

MATLAB与FPGA设计滤波器2-2

2017-07-31 10:14 141 查看
用matlab的fdatool设计滤波器,导出参数,然后在FPGA中设计滤波器的方法。

低通滤波器设计比较简单。这里主要讲设计插值滤波器的方法。插值滤波器的思路是先插值,后滤波;抽取滤波器是先滤波再抽取。插值又分为插0值和非0值,两者的差别就是频谱的谐波分量不同。如下图



figure2 --upsample (a,4,1); %插0 。明显看到谐波分量和主瓣一样高



figure3 --sample (a,4,1); %插非0 。和插0 相比,主频没差别,只是旁瓣差别大



在fdatool中设计好滤波器之后,利用



点击粘贴 复制,将两个图放到一起,比较。

Hd = fir_low;

b = filter (Hd,a_inter4);

将滤波后波形和滤波器之前数据比较,发现,旁瓣衰减较大,主瓣基本没有改变。说明滤波器设计比较理想。



在fdatool中设计滤波器的时候,先在MATLAB中插0,然后用插0 后数据来设计普通的低通滤波器。比如在图2的基础上设计低通滤波器。为什么要用图2的结果进行仿真呢。因为在很多设计实现中,都是先插0,后滤波。观察图2,主要是要滤波150K左右以及以后的波形,工程实现中,要将旁瓣和主瓣相差最少60db,同时要尽量减少主瓣的失真。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: