ise的时钟ip核_Vivado CIC IP核滤波器详解(一)

引言:从本文开始,我们详细介绍Xilinx CIC IP核滤波器相关知识,包括CIC IP核提供的特性、IP核接口描述以及IP核设计指导等相关内容。

1.概述

级联积分器梳状(CIC)滤波器,也称为Hogenauer滤波器,是用于实现数字系统中大采样率变化的多速率滤波器,它们通常用于具有大的过采样率的应用中。也就是说,系统采样率远大于数字下变频器(DDC)和数字上变频器(DUC)中处理信号所占用的带宽。CIC滤波器的实现具有只使用加法器、减法器和延迟元件的结构。这些结构使得CIC滤波器对其硬件高效的多速率滤波实现很有吸引力。

2.IP核特性

Xilinx提供的CIC IP核支持以下特性:

  • AXI4-Stream兼容接口
  • 支持抽取和内插
  • 固定或者可编程速率改变(4~8192)
  • 支持3~6级CIC级联
  • 差分延迟可选1或者2
  • 支持全精度或者非全精度数据输出
  • 支持单通道或者多通道(最大16通道)
  • 可选的映射到DSP48 Slices
  • 支持输入同步清零
  • 支持输入时钟使能

3.IP核接口描述

3710107a8b9e0bfc58e723a3dd3a0e03.png

图1、CIC IP核接口信号

CIC IP核接口描述如表1所示。

76546fd939c86cc798d8d3051ef4141a.png

表1、CIC IP核接口描述

4.IP核设计指导

4.1通用设计指导

CIC滤波器的系统响应可以表示为式1:

9da21f45e8f9c6028a71265fa081dbff.png

其中,N表示CICI滤波器的级数;R表示滤波器速率改变(抽取或者内插);M表示差分延迟。

CIC滤波器的幅频相应如式2所示,式中f表示离散时间频率。

1e6805941dbda548963c4864caad9bbe.png

图2举例CIC幅频相应。由式2及图2,可知在f=n*(1/RM),n为整数,存在零点,因此,差分延迟M可以调整零点的位置。

fd21780166cf52ebe107df7386a2e5f1.png

图2、CIC滤波器幅频相应

图3显示了差分延迟M对CIC滤波器的影响。从图中可以看到,M除了影响零点的位置,增加M也会对旁瓣衰减产生较大影响,但是通带边沿衰减也较为严重。

e5fdd42a2e0de40aebe5b7350cd8028a.png

图3、差分延迟M对CIC滤波器的影响

图4显示了CIC滤波器速率变化参数R对频率响应的影响。从图中可以看到,随着R的增大,通带边沿衰减加大,旁瓣由一定程度的衰减,但变化不大。从时域来讲,增加R即增加CIC滤波器矩形窗口RM长度。

6ff075bc6f745631797f6ba691eb6408.png

图4、速率改变因子R对CIC滤波器幅频相应影响

图5显示了改变CIC滤波器阶数N对幅频特性的影响。增加N即增加CIC滤波器级联级数,级联数越大,旁瓣衰减也越大,同时通带边沿衰减也有一定程度增大。

687cee4453a6aa67e226b3591a69ca6b.png

图5、CIC滤波器阶数N对幅频特性的影响

从图3~图5中可以看到,增大M、R及N都能增大CIC滤波器的旁瓣衰减,但对于具体项目应用来说,通常将M及R作为“固定值”,仅通过调整N来改变CIC滤波器旁瓣衰减,以满足滤波器要求。

另外,也可以看到随着N的增加,通带边沿衰减也较为严重,导致CIC通带不平坦加大,对信号带来失真。因此,在使用CIC滤波器时,通常要求设计补偿滤波器(CFIR),主要是补偿CIC滤波器通带衰减,使其通带尽量平坦。

对于补偿滤波器,由于CIC滤波器频率响应具有sinc函数形状,通常补偿滤波器具有反sinc函数形状,如式3所示。

c1b65c984d632fa63c813264880ccfb5.png

图6显示了补偿滤波器的应用。

6d7ec801092baca8539b1aab0a7792d4.png

图6、CIC补偿滤波器应用

4.2CIC抽取器

式1中滤波器输出按照R因子抽取后,滤波器fs/R速率下的传递函数表示为式4所示。

f7240975458f6f88ba00d54429d962a1.png

该响应可以看做N级积分器和N级梳状器级联,如图7所示。

79d0a0fba55022ebfbd0d21d04ad692a.png

图7、CIC抽取滤波器结构

从图7中,可以看到,积分器工作在fs采样率,梳状器工作在fs/R速率下,滤波器只有延迟线及加、减法器组成,这有利于硬件实现速率的提高。

图8显示了抽样前CIC抽取滤波器的响应。当CIC滤波器作为抽取器时,要仔细考虑,抽取后原信号频谱的镜像不能混叠到有用信号fc的通带内。图8中采样速率改变因子R=8,级数N=3,差分延迟M=1。抽取滤波器输入频谱显示在通带(fc=1/32归一化频率)和阻带内(约1/4归一化频率)。抽取器的输出显示了CIC滤波器对输入信号频谱的衰减。图8中垂直虚线显示了抽取时镜像混叠位置,图中归一化频率为高频率(fs)。

ea3a95720bcf3b5b4b46b73740f50286.png

图8、抽样前CIC滤波器的幅频响应

图9显示了CIC抽取器输出影响。在该图中频率轴按照fs/R低频率归一化。

71a0014dbc51361de27201e0fe7eba4a.png

图9、CIC抽取器输出频谱

从图9中可以看到:

1.如果没有混叠发生,图中实红线表示CIC输出频谱;

2.如果由于下采样产生混频,虚红线显示了阻带输出频谱。该混叠频谱影响CIC抽取器最终输出;

3.实蓝线显示了CIC抽取器实际输出,它清楚的显示了下采样中混叠频谱的影响。

因此,必须确保正确选择CIC抽取器参数,以避免混叠对信号频谱噪声影响。

4.2.1 流水线CIC抽取器

为了获得更高的系统时钟频率,CIC抽取器流水线结构可以表示为图10所示。

516bb19227f74fdf9ee41368a2b4b2df.png

图9、流水线CIC抽取器结构

CIC输出数据位宽和设计参数N、M和R有关。全精度CIC抽取输出位宽Bmax可以表示为式5。

4f64ad57eaa175312341c11965a63559.png

为了获得完全的精度,CIC抽取器实现在内部为每个积分器和微分器级使用Bmax位。这在输出端不会引入量化误差。当以量化噪声为代价使用有限精度输出时,CIC抽取器实现中的硬件资源可以减少。这种权衡资源和量化噪声的能力对于实现最佳实现非常重要。

4.3CIC内插器

CIC内插器滤波器如图10所示。该结构与CIC抽取滤波器类似,只不过梳状器和积分器的顺序进行了变化。图10中,上采样速率因子R,该速率在梳状器和积分器之间变化,即每个输入采样值间插入R-1个0值。

0a29d68b7e8bc8a7d368feb70820b8bb.png

图10、CIC内插器

对于内插,CIC滤波器的响应应用于上采样(插入零值样本)输入信号。在速率变化R=7,级数N=4,差分延迟M=1的滤波器中,频率响应如图11所示。

6d824b48dc8b63301d3e72a820a6fe02.png

图11、CICI内插器响应

4.3.1流水线CIC内插器

与CIC抽取器类似,CIC内插器流水线结构如图12所示。

4ac0233fed42d4ab38a63fb37e6d49b4.png

图12、流水线CIC内插器

CIC内插器输出数据位宽和设计参数N、M和R有关。全精度CIC抽取输出位宽Bmax可以表示为式6。

81e929339e80c3701c6c598380179cc5.png

滤波器的输出可以选择为全精度或有限精度(带截断或舍入),以适应特定于应用的输出宽度。使用有限精度不会影响内部寄存器的大小,只有末级输出被缩放,如果需要的话,四舍五入以提供所选的输出宽度。

4.3.2输出位宽和增益

如式5和式6所示,CIC滤波器的增益是所有关键设计参数的函数。当输出宽度等于最大寄存器宽度时,IP核输出全精度结果,输出的幅度反映滤波器增益。当输出宽度设置为小于最大寄存器宽度时,输出将被截断,增益相应减小。

当IP核被配置为具有可编程速率变化时,随着滤波器速率的改变,增益也相应地发生变化。当输出被指定为全精度时,随着速率的变化,增益的变化在IP核输出幅度中是明显的。当输出被截断时,IP核移动内部结果,给定当前速率变化的最大值,以完全占用输出位。

4.4CIC滤波器时序描述

CIC滤波器接口采用AXI4-Stream协议进行输入输出数据处理。利用TVALID、TREADY和TDATA信号组合,实现上、下游模块数据流交互,如图13所示。

bb0400a899eb583f10f7a8fd40fdf31b.png

图13、AXI传输时序图

4.4.1 CIC抽取器时序图

图14显示了下采样因子R=4的CIC抽取器时序图。该IP核未采用过采样,每个时钟上升沿输入一个采样数据。一些时钟后,当m_axis_data_tvalid高电平时,指示第一个滤波输出值可用。该时间间隔和下采样因子R以及内部流水线寄存器设置参数相关。在第一个滤波输出采样值后,后续输出每隔R个时钟周期输出一个滤波数据。

3a9c20d1ce169099249a5b08591def63.png

图14、CIC抽取器、固定速率,单通道

图15显示了相同的滤波器,输入采样周期为3。在图中A点波形,CIC IP核准备好接受数据,但是主机未提供。CIC IP核持续询问,直到在B点提供数据。在C点主机在CIC IP核询问前提供了数据,主机持续提供,直到D点CIC IP核可以接收数据。

cc0a44389f17ba12fa1637d0bc7fd26a.png

图15、CIC抽取器、固定速率,单通道,过采样

多通道抽取器可以配置为两种模式:数据块模式和数据流模式:

  • 数据块模式:每个数据通道按照背靠背传输,即传输通道N数据后立即传输N+1通道数据;
  • 数据流模式:采样通道在整个多通道周期均匀输出。

图16显示了R=4时,多通道CIC时序图。在该举例中,抽取滤波器使用数据块模式处理3个通道数据。DIN接口按照时分复用方式输入数据,抽取输出DOUT显示了时分复用数据,CHAN_OUT显示了对应的通道号。

820b6bfebe8f1c194b0de0d33a52d737.png

图16、CIC抽取器,固定速率,多通道,数据块模式

图17显示了数据流模式下相同滤波器配置时序图。

66545e2334f8bcbff2ccad2b56c43489.png

图17、CIC抽取器,固定速率,多通道,数据流模式

图18显示了CIC抽取器可编程速率时序图。图中抽取器初始下采样率R=4,在一定时间后,下采样率变为R=7。图中A点s_axis_config_tvalid高电平时,指示速率改变可用。CIC IP核在下一采样时钟接收此速率改变,同时,s_axis_config_tready会拉低一个时钟,以防止上游主机插入新的速率改变因子。

e338f9b30e786a4a19c31dcce4a4866d.png

图18、可编程速率CIC抽取器

4.4.2 CIC内插器时序图

图19显示了CIC内插器时序图,上采样因子R=4。新的采样数据每4个时钟接收一个。在开始一定延迟之后,m_axis_data_tvalid插入,新的滤波器输出数据在后续每个时钟沿可用。图中A点波形,主机在CIC IP核请求之前提供数据,直到CIC IP核在B点可以接收数据。同样,C点CIC IP核持续请求主机发送数据,主机直到D点提供数据。

cc2a4e5fe68068e59fe8d0e40c689e35.png

图19、CIC内插器,固定速率,单通道

图20显示了相同的滤波器配置,输入采样周期为8的时序图。

ad9f4e61a2a8c98131c9ef82ba6e5d3b.png

图20、CIC内插器,固定速率,单通道,过采样

同样,多通道内插器可以配置两种时序模式:数据块模式和数据流模式。

  • 数据块模式:通道数据背靠背传输,即第N个通道传输完后立即传输第N+1个通道数据。
  • 数据流模式:采样通道在整个多通道周期均匀输出。

图21和图22显示了这两种模式时序图。

9231afb137989867506fcb0ea62e0c41.png

图21、CIC内插器,固定速率,多通道,数据块模式

2b2f68d27771388ea44d2e08af45bf3d.png

图22、CIC内插器,固定速率,多通道,数据流模式

图23显示了CIC内插器采用可编程速率时序图。在该图中,内插器开始采用R=4上采样,一定时间后,R=7。速率改变后,s_axis_config_tready拉低,直到速率R=7已经配置成功。

706a832e21321671914aa367f49058eb.png

图23、CIC内插器使用可编程速率

延伸阅读:数字信号处理(三):Xilinx FFT IP核详解(三)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

潍坊经贸每年单招计算机的成绩,2018潍坊职业学院单招成绩查询时间

2018潍坊职业学院单招成绩查询时间2017-12-28 16:59:50文/丁雪竹潍坊职业学院单招什么时候出成绩,考试分数什么时候公布?高三网小编整理了2018潍坊职业学院单招成绩查询入口,希望大家都能在系统官网上查询到自己的成绩。潍坊职业学院单招什么…

天津大学计算机预推免机试_2019预推免汇总 | 9.18New!

设计保研2019年预推免汇总栏目开通了!为了抢夺优质生源,每年9月,各大高校会以院系为单位组织开展预推免活动。对于设计保研的同学而言,预推免不容忽视!为了帮助大家打赢这场信息战,小设将在官方通知发布的第…

和在线视频会议服务器,什么是视频会议服务器端和客户端?

什么是视频会议服务器端?越来越多的企业采用私有化在企业内部部署视频会议,就不可避免的需要自行搭建视频会议服务器,什么是视频会议服务器端,视频会议服务器端有什么用?视频会议服务器端是整套视频会议的枢纽,是用来传输以及存储用户信息的…

zookeeper 默认端口_ZooKeeper知识点汇总

一、ZooKeeper简介1. ZooKeeper是什么​ Apache ZooKeeper是一个开源的分布式服务框架,为分布式应用提供协调服务,用来解决分布式应用中的数据管理问题,如:配置管理、域名服务、分布式同步、集群管理等官网 https://zookeeper.apa…

侍魂服务器维修,侍魂胧月传说合服活动开启 4月15日更新内容预告

侍魂胧月传说合服活动开启。侍魂胧月传说将会在4月15日执行停机更新,此次更新将会开启合服活动,即对多组服务器进行合服互通,随之而来还有服务器内开展一些合服活动,此外还有对家族矿战玩法的优化及商城的调整更新,那么…

电脑pro,大师屏幕,小米归来!小米笔记本Pro 15 OLED首发评测

2016 年 7 月,小米正式杀入笔记本市场,推出了两款轻薄本。在当时主流的轻薄本市场都用着低色域 TN 屏和塑料机身的情况下,小米用高素质的屏幕和金属 CNC 一体化机身搅动了整个市场。遗憾的是,小米笔记本的模具在这之后更新的并不频…

无线路由器的DNS服务器怎么设置,无线路由器DNS的设置方法

路由器DNS怎么设置?其实一般情况下路由器上的DNS是无需进行设置;如果你电脑、手机等设备连接到路由器后,只能够登录QQ,网页打不开。这是因为路由器上的DNS配置被接触/串改了原标题:"无线路由器DNS的设置方法"…

仪表盘刻度调整_惊艳了我的仪表盘 那些年我遇到最美的“面孔”

文| G哥汽仪表盘上的信息可以让车主们了解自己座驾的状况,出彩的仪表盘设计甚至能让消费者购车时对这款车一见倾心,回顾过往曾经惊艳到我们的那些酷炫仪表盘,那些面孔你是否还依稀还记得……汽车的什么地方最凸显其科技感?营造高科…

负数比较大小_人教版六下【第一单元】负数比较负数的大小

点击蓝色文字关注我们吧!主讲人邬卫老师,长沙市喻沛名师“错例研究”工作室成员。今天讲的微课是人教版小学数学六年级下册第一单元《负数》中有关“比较负数的大小”的典型错题分析。 摘要仿例组练 掌握了这些解题策略及方法之后,我们…

创建数组_如何创建数组

js数组js的数组不是典型的数组典型的数组元素的数据类型相同使用连续的内存储存通过数字下标获取元素但是js的数组不这样元素的数据类型可以不同内存不一定连续的(对象是随机储存的)不可以通过数字下标,而是通过字符串下标这意味着数组可以有…

node.js 实现udp传输_Node.js实战15:通过udp传输文件。

本文将要写一个udp服务器,和一个udp客户端,并实现客户端发送文件给服务器。服务器端代码如下:var dgram require("dgram");server();function server(){var socket dgram.createSocket("udp4");socket.on("messag…

mysql镜像压缩包使用_如何连接docker的mysql镜像

展开全部推荐使用Dockerfile方式。服务的管理使用的是supervisord, 因为dockerfile里只会有一个cmd生效,如果我想62616964757a686964616fe58685e5aeb931333361326332通过ssh去管理容器还要有mysql服务的启动起来 cmd的方式就无法实现,当然容器不需要以sshd的方式去管…

alibaba 实体转json_com.alibaba.fastjson 转换List Map等对象

原文:http://www.cnblogs.com/goody9807/p/4244862.html本文讲解2点:1. fastjson生成和解析json数据(举例:4种常用类型:JavaBean,List,List,List)2.通过一个android程序测试fastjson的用法。fastjson简介:Fastjson是一个Java语言编…

高性能mysql看不懂_高性能mysql笔记1

转载请注明&#xff1a;TheViper http://www.cnblogs.com/TheViper<>这本书写的真的很好&#xff0c;只可惜本屌不才&#xff0c;大部分都看不懂&#xff0c;暂且记下与mysql优化有关&#xff0c;对自己有用的东西。测试指标吞吐量吞吐量指的是单位时间内的事务处理数&am…

python 热词分析_Python笔记:热词分析2020-01-01

热词分析在公众趋势分析、舆情分析有很宽广的应用&#xff0c;我们来看看怎么从一个TXT文件中分析出文章的热词出来&#xff0c;我们采用流行的第三方“结巴”包来实现。首先安装第三方包(matplotlib&#xff0c;jieba&#xff0c;wordcloud&#xff0c;numpy)mmatplotlib主要来…

子进程会继承父进程的哪些内容_【学习教程】Node.js创建子进程方法

来源 | https://github.com/CommanderXL/biu-blog/issues/25exec其中exec可用于在指定的shell当中执行命令。不同参数间使用空格隔开&#xff0c;可用于复杂的命令。const { exec } require(child_process)exec(cat *.js bad_file | wc -l)exec方法用于异步创建一个新的子进程…

mysql筛选两个表有相同项的数据库_用SQL查询两个表中相同的数据

展开全部 1、创建测试表; create table test_col_1(id number, var varchar2(200)); create table test_col_2(id number, var varchar2(200)); 2、插入测试数据, insert into test_col_1 select level*8, var||32313133353236313431303231363533e59b9ee7ad9431333431373839l…

MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...

Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化项目介绍基于SpringBootMybatis搭建的秒杀系统&#xff0c;并且针对高并发场景进行了优化&#xff0c;保证线程安全的同时极大地提高了服务器的吞吐量&#xff0c;主要优化手段有页面静态化、Redis缓存(页…

叶金荣mysql教程_mysql优化--叶金荣老师讲座笔记

copy to tmp table执行ALTER TABLE修改表结构时建议&#xff1a;凌晨执行Copying to tmp table拷贝数据到内存中的临时表&#xff0c;常见于GROUP BY操作时建议&#xff1a;创建索引Copying to tmp table on disk临时结果集太大&#xff0c;内存中放不下&#xff0c;需要将内存…

python qqbot实现qq聊天机器人_Python QQBot库的QQ聊天机器人

本文实例为大家分享了Python QQBot库的QQ聊天机器人的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下1.安装pip install qqbot2.主动发出消息from qqbot import _bot as bot# 登录QQbot.Login([-q, 2816626661])buddy 获取指定名称/备注的好友group 获取群buddy bot…