0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx FIR IP的介绍及仿真

电子设计 来源:电子设计 作者:电子设计 2020-10-30 12:29 次阅读

Xilinx FIR IP的介绍与仿真

1 xilinx fir ip 简介

1)符合 AXI4-Stream 的接口

2)高性能有限脉冲响应(FIR),多相抽取器,多相内插器,半带,半带抽取器和半带内插器,希尔伯特变换和内插滤波器实现

3)最多支持 256 组系数,处理一组以上时,每组 2 至 2048 个系数。

4)输入数据高达 49 位精度

5)滤波器系数高达 49 位精度

6)支持多达 1024 个交错数据通道

7)支持高级交错数据通道序列

8)通过共享控制逻辑支持多个并行数据通道

9)插值和抽取因子通常最多为 64,单通道滤波器的最大为 1024

10)支持大于时钟频率的采样频率

11)在线系数重装能力

12)用户可选的输出舍入

13)高效的多列结构,适用于所有过滤器的实现和优化

Fir 公式

常规抽头延迟线 FIR 滤波器表示

2设计验证思路

混频模块内部包含两个 dds 模块,一个产生 2khz sine 波,一个产生 3khz sine 波,然后相乘得到 1khz+6khz 的混频,然后使用 xilinx FIR IP 设计一个低通滤波器滤掉 6khz,最后只剩 1khz。

3 matlab fdatool 设计低通滤波器

1)打开 fdatool

2)低通滤波器设计

Fs=44100;

Fpass =3000;

Fstop =5000;

Apass = 1;

Astop =120;

3系数量化

4)matlab 导出.coe

4 xilinx FIR IP的设置与仿真

左侧包含 IP Symbol、Freq.Response、Implementation Details 和 CoefficientReload。右侧包括 Filter Options、Channel Specification、Implementation、Detailed Implementation、Interface 和 Summary.

1)Filter Options

(1)系数源(Coefficient Source):直接在 GUI 中使用系数矢量参数或使用由 CoefficientFile 参数指定的 .coe 文件,指定要使用的系数输入。

(2)系数向量(Coefficient Vector ):用于直接在 GUI 中指定滤波器系数。过滤器系数使用逗号分隔列表以十进制形式指定,与过滤器系数数据文件中的 coefdata 字段相同。与 .coe 文件一样,可以使用 FIR 编译器根据您的要求适当量化的非整数实数来指定滤波器系数。

(3)滤波器类型(Filter Typ ):支持五种滤波器类型:单速率 FIR,插值 FIR,抽取 FIR,希尔伯特变换和插值 FIR。

2)Channel Specification

(1)选择格式(Select format ):选择用于指定硬件过采样率,内核可用于处理输入采样并生成输出的时钟周期数的格式。该值直接影响核心实现和所使用资源的并行度。选择“频率规格”后,可以指定“输入采样频率”和“时钟频率”。这些值之间的比率以及其他核心参数决定了硬件过采样率。

选择“输入采样周期”时,可以指定输入采样之间的时钟周期数。同样,选 择“输出采样周期”时,可以指定输出采样之间的时钟周期数。

(2)采样周期(Sample Period ):输入或输出采样之间的时钟周期数。当指定了多个通道时,该值应该是时分多路复用输入样本数据流之间时钟周期的整数。可以使用分数采样周期来指定大于时钟频率的采样频率 .

(3)输入采样频率(Input Sampling Frequency ):该字段可以是整数或实数值;它指定一个通道的采样频率。根据时钟频率和滤波器参数(例如插值率和通道数)设置上限。

(4)时钟频率(Clock Frequency ):此字段可以是整数或实数值。限制是根据采样频率,内插率和通道数设置的。该领域仅影响体系结构选择。最终的实现可能无法达到指定的时钟速率。

3) Implementation

(1)系数类型(Coefficient Type ):系数数据可以指定为有符号或无符号。

(2)输入数据小数位(Input Data Fractional Bits ):用于表示过滤器输入数据样本的小数部分的输入数据宽度位数。该字段仅供参考。它与系数小数位一起使用,以计算滤波器的输出小数位值。此参数在 IP 集成器中自动设置,但也可以被覆盖。

(3)输出舍入模式(Output Rounding Mode ):指定要应用于过滤器输出的舍入类型。

(4)输出小数位(Output Fractional Bits ):此字段报告用于表示滤波器输出样本小数部分的输出宽度位数

4) Interface

5) Freq.Response

将混频信号和经过 xilinx FIR IP滤波后信号写出 matlab 观察时域和频域 .

1混频信号

滤波前的 1khz+6khz 的混频信号。

2滤波后

如上所示,经过滤波后 6khz 完全被滤除,只剩下 1khz 信号。仿真验证成功。


审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FIR
    FIR
    +关注

    关注

    4

    文章

    146

    浏览量

    33169
  • 仿真
    +关注

    关注

    50

    文章

    4080

    浏览量

    133579
收藏 人收藏

    评论

    相关推荐

    Vivado中FFT IP核的使用教程

    本文介绍了Vidado中FFT IP核的使用,具体内容为:调用IP核>>配置界面介绍>>IP核端口介绍
    的头像 发表于 11-06 09:51 805次阅读
    Vivado中FFT <b class='flag-5'>IP</b>核的使用教程

    Xilinx DDS IP核的使用和参数配置

    用RAM实现一个DDS,从原理上来说很简单,在实际使用的时候,可能没有直接使用官方提供的IP核来的方便。这个博客就记录一下,最近使用到的这个DDS IP
    的头像 发表于 10-25 16:54 858次阅读
    <b class='flag-5'>Xilinx</b> DDS <b class='flag-5'>IP</b>核的使用和参数配置

    如何申请xilinx IP核的license

    在使用FPGA的时候,有些IP核是需要申请后才能使用的,本文介绍如何申请xilinx IP核的license。
    的头像 发表于 10-25 16:48 335次阅读
    如何申请<b class='flag-5'>xilinx</b> <b class='flag-5'>IP</b>核的license

    Efinity FIFO IP仿真问题 -v1

    Efinity目前不支持联合仿真,只能通过调用源文件仿真。 我们生成一个fifo IP命名为fifo_sim 在Deliverables中保留Testbench的选项。 在IP的生成目
    的头像 发表于 10-21 11:41 1005次阅读
    Efinity FIFO <b class='flag-5'>IP</b><b class='flag-5'>仿真</b>问题 -v1

    TAS5805M 128 Tap FIR filter的作用是什么?

    如下图所示 1、128 Tap FIR filter的作用是什么? 2、TAS5805M Process Flows中只是介绍FIR滤波器系数用类似于MATLAB的工具生成,再倒入进去,要怎样设置生成文件,然后再导入?
    发表于 10-15 07:41

    介绍FIR滤波模型的建立,分4个步骤

    本帖介绍FIR滤波模型的建立,分以下几个步骤: 选定滤波结构:低通、高通、带通、带阻; 选定合适的窗函数,常见的有hamming、hanning、blackman、ExactBlackman
    发表于 09-04 09:08

    如何区分fir与iir的系统函数

    在数字信号处理领域,FIR(有限冲激响应)和IIR(无限冲激响应)滤波器是两种常见的滤波器类型。它们在设计、性能和应用方面具有显著差异。 定义 1.1 FIR滤波器 FIR(Finite
    的头像 发表于 07-19 09:39 1540次阅读

    如何在ModelSim中添加Xilinx仿真

    。 9、再次打开ModelSim,即可以看到Xilinx的库已经默认出现在了库列表里。以后仿真XilinxIP核时,就不用每次都添加库了。
    发表于 07-03 18:16

    介绍如何切换动静态IP方法 # 全球ip代理#静态IP

    IP
    jf_62215197
    发布于 :2024年06月06日 08:45:01

    matlab与FPGA数字信号处理系列 Verilog 实现并行 FIR 滤波器

    讲 Matlab 与 Vivado 联合仿真 FIR 滤波器 ; 3. 编写仿真文件testbench (1)例化模块; (2)写 initial 块,初始化时钟、复位等; (3)写 always 块,给出
    发表于 05-24 07:48

    请问stm32f4的dsp库里面fir函数如何使用?

    请问在stm32f4 的dsp库里面有好几个关于fir的函数,因为没有源码,我也没有什么关于这个dsp函数的介绍,所以看不懂这些函数怎么用呢。比如说void arm_fir
    发表于 05-17 08:07

    Matlab生成fir滤波器抽头系数

    在Vivado调用fir滤波器时,我们会遇到需要填充滤波器抽头系数的问题,手工计算又不现实,所以在此向大家介绍一个生成系数的工具。 首先,我们打开matlab软件,在命令窗口输入fdatool并回
    发表于 04-30 16:17

    FPGA开发如何降低成本,比如利用免费的IP内核

    匹配的IP内核。这些免费的IP内核可能涵盖了多种功能模块,如FIFO、RAM、FIR滤波器、SDRAM控制器、PCIE接口等。例如,如果需要处理数据队列,那么FIFO IP内核可能是一
    发表于 04-28 09:41

    Vivado 使用Simulink设计FIR滤波器

    领域都有着广泛的应用。 Vivado自带的FIR滤波器IP核已经很好用,这里借FIR滤波器的设计,介绍Simulink图形设计编程方法。Simulink可以使设计更直观,使硬件资源得到
    发表于 04-17 17:29