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月,各大高校会以院系为单位组织开展预推免活动。对于设计保研的同学而言,预推免不容忽视!为了帮助大家打赢这场信息战,小设将在官方通知发布的第…

中小学计算机教学大纲,中小学信息技术教材教法教学大纲

1中小学信息技术教材教法教学大纲一、课程说明1、课程简介《中小学信息技术教学基本技能训练》与《中小学信息技术教学论》配合构成计算机教育类选修课程《中小学信息技术教材教法》。该课程是发展计算机教育类学生教学技能的实践性课程,包括以课堂活动为主的教师教…

ros自带package在哪里_ROS Kinetic中自带的OpenCV使用

本文主要记录了ROS Kinetic中OpenCV的使用&#xff0c;Kinetic完全安装中本身自带了Opencv3.3.1&#xff0c;因此在ROS中可以直接用ROS自带的Opencv3.3.1。工程中包含头文件&#xff1a;#include <opencv2/core.hpp>#include <opencv/highgui.h>#include <openc…

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

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

zookeeper 默认端口_ZooKeeper知识点汇总

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

麦块不显示服务器,为什么开不了服务器啊!

我都开好服务器&#xff0c;搞好插件了&#xff0c;为什么一开服务器就这样&#xff1f;Loading libraries, please wait...2015-07-01 17:37:25,890 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream[17:37:29 INFO]: Starting minecraft server ver…

python画鱼_Python经典五人分鱼实例讲解

A、B、C、D、E 五人在某天夜里合伙去捕鱼&#xff0c;到第二天凌晨时都疲惫不堪&#xff0c;于是各自找地方睡觉。日上三杆&#xff0c;A 第一个醒来&#xff0c;他将鱼分为五份&#xff0c;把多余的一条鱼扔掉&#xff0c;拿走自己的一份。B 第二个醒来&#xff0c;也将鱼分为…

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

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

为什么idea的断点变黑了_IntelliJ IDEA Debug回退断点

IntelliJ IDEA Debug回退断点在调试的时候&#xff0c;想要重新走一下流程而不用再次发起一个请求?1、首先认识下这个方法调用栈&#xff0c;如图8.1&#xff0c;首先请求进入DemoController的insertDemo方法&#xff0c;然后调用insert方法&#xff0c;其它的invoke我们且先不…

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

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

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

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

python在电商中的应用_基于Python的聚类方法在电商客户细分中的应用研究

第&#xff13;&#xff12;卷第&#xff13;期&#xff12;&#xff10;&#xff11;&#xff18;年&#xff15;月 兰州文理学院学报(自然科学版) &#xff2a;&#xff4f;&#xff55;&#xff52;&#xff4e;&#xff41;&#xff4c; &#xff4f;&#xff46; &#…

python怎样导入scrapy_(Python)在导入的模块scrapy中找不到任何项目

看起来你正在使用教程&#xff0c;但是你发布的内容并不完整&#xff0c;这使得你很难看到你的案例发生了什么。在我会仔细检查你的密码。如果看起来正确&#xff0c;请检查日志输出。在日志应该如下所示&#xff1a;[ ... Scrapy log here ... ]2016-09-19 12:09:27 [scrapy.c…

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

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

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

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

crossin的编程教室python入门_简单三步,用 Python 发邮件

0. 前言发送电子邮件是个很常见的开发需求。比如你写了个监控天气的脚本&#xff0c;发现第二天要下雨&#xff0c;或者网站上关注的某个商品降价了&#xff0c;就可以发个邮件到邮箱来提醒自己。使用 Python 脚本发送邮件并不复杂。不过由于各家邮件的发送机制和安全策略不同&…

中线提取算法_综述|线结构光中心提取算法研究发展

摘 要: 线结构光扫描是三维重建领域的关键技术。光条纹中心提取算法是决定线结构光三维重建精度以及光条纹轮廓定位准确性的重要因素。本文详细阐述了光条纹中心提取算法的理论基础及发展历程&#xff0c;将现有算法分为三类&#xff0c;传统光条纹中心提取算法、基于传统光条纹…

oracle并行parallel update两张表_Oracle与并行性 parallel

Oracle与并行性并行化操作能力是巨型数据库(VeryLargeDatabase&#xff0c;简称VLDB)最重要的特性之一。带有多个CPU的数据库服务器&#xff0c;也被称作SMP&#xff0c;目前是大多数数据库服务器的标准配置。当性能需求以及数据量不断的增长&#xff0c;更加需要使用多处理器和…

创建数组_如何创建数组

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