用matlab的fdatool设计滤波器,导出参数,然后在FPGA中设计滤波器的方法。

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

MATLAB与FPGA设计滤波器2-2

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


MATLAB与FPGA设计滤波器2-2

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

MATLAB与FPGA设计滤波器2-2

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

MATLAB与FPGA设计滤波器2-2

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

Hd = fir_low;
b = filter (Hd,a_inter4);

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

MATLAB与FPGA设计滤波器2-2

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

MATLAB与FPGA设计滤波器2-2

相关文章:

  • 2021-12-30
  • 2021-12-26
  • 2021-12-08
  • 2021-08-02
  • 2021-05-10
  • 2021-12-28
  • 2021-10-08
猜你喜欢
  • 2021-07-03
  • 2021-12-23
  • 2021-04-13
  • 2022-01-18
  • 2021-08-27
  • 2021-11-17
  • 2021-08-26
相关资源
相似解决方案