FIR IP 学习记录

news2024/11/28 2:35:07

工具:

matlab filterdesigner 工具箱

vivado FIR IP核

实现:

1.matlab设计与测试

先用matlab设计目标滤波器,得到滤波器的抽头系数。

如图,根据需求选择 低通/高通/带通/带阻。

由于vivado用的是FIR IP核,所以设计方法选择FIR,FIR中有多种选项,根据需求选择即可。

滤波器阶数,可以指定阶数也可以选择最小阶(这里最小阶应该是指保证性能的情况下的最小阶数)。阶数越高性能越好,耗用资源越多。

频率设定:pass 和stop就是过渡带的起始点,而Fs很重要,硬性要求是要大于两倍的max(Fpass ,Fstop),但是根据测试的结果,Fs只做到上述最低要求的话(刚好等于两倍或者略大一点),有时根本滤不了目标信号。所以要在仿真中调试Fs得到理想结果。

赋值设定:Apass一般不用改,就是允许通过的信号的强度;Astop可以根据需求改,会影响滤波效果与占用资源的大小。

设置完滤波器参数后,修改滤波器算法为定点,并根据需求改字长。

随后生成滤波器函数用于在matlab中调用:

便可进行仿真,测试。

2.vivado功能性仿真

在matlab工具箱中生成抽头系数的coe文件。

在IP核中,在cofficient file中选择生成的coe文件,其他不用修改,filter type选择单时钟即可,

在时钟这块修改频率Fs,与matlab工具箱中设置的Fs大小一致。

implement 按照图中设置,确定符号类型和数据位宽。

即可完成fir ip核的设置,接口信号也简单,就是输入信号和输出信号,时钟与Fs频率保持一致。

测试结果:

sin a :  3Mhz

sin b:4Mhz

sin ab : 1MHz,7MHz。

fir 输出:1MHz

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

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

相关文章

更换cmd下默认选择Python解释器

问题 我的电脑里有多个Python解释器,一个是自己下载的python37,版本是3.7.0,一个是anaconda的base环境,版本是3.7.4,还有虚拟环境里的python解释器。 最近发现,在cmd下输入python,使用的是anac…

卡通渲染总结《一》

本文是在看完之前的综述论文《Cartoon Style Rendering》的总结,论文时间是2008年有点早,但有一定启发意义。 前言 首先卡通渲染是非真实化渲染(NPR)的一个部分.而NPR旨在模拟出手工插图的效果例如油画、墨水画、漫画风格作品。 …

【C++】const关键字的详解!!

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

在机器学习或者深度学习中是否可以直接分为训练集和测试集而不需要验证集?我的答案如下:

文章目录 一、训练集是什么?二、验证集是什么?三、测试集是什么?四、是否可以直接分为训练集和测试集而不需要验证集?总结 在机器学习和深度学习项目中,通常会将数据集划分为三个部分:训练集,验…

个人作品集

个人作品集 封面设计 排版设计 3D建模 Pr剪辑 个人剪辑作品 场景搭建

【ArcGIS Pro微课1000例】0049:根据坐标快速定位(创建点位)的常见方法

文章目录 一、转到XY1. 闪烁位置2. 平移3. 标记位置二、定位1. 坐标定位2. 添加到图形3. 添加至要素类三、添加XY坐标四、创建点要素一、转到XY 举例:经纬度坐标:113.2583286东, 23.1492340北 。 1. 闪烁位置 输入坐标,点击闪烁位置工具,即可在对应的位置出现一个绿色闪烁…

【“C++ 精妙之道:解锁模板奇谭与STL精粹之门“】

【本节目标】 1. 泛型编程 2. 函数模板 3. 类模板 4. 什么是STL 5. STL的版本 6. STL的六大组件 7. STL的重要性 8. 如何学习STL 9.STL的缺陷 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;lef…

Hadoop学习笔记(HDP)-Part.14 安装YARN+MR

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

PRCD-1229 : An attempt to access configuration of database

今天维护oda一体机时,发现无法在grid用户下面关闭数据库实例,如下 ASM1:/home/gridoda0>srvctl stop database -d orcl -o immeidate PRCD-1229 : An attempt to access configuration of database orcl was rejected because its version 11.2.0.4.…

Lombok的踩坑系列之@Builder

背景: Lombok 这个插件大家日常工作中几乎是必备的,几个简单的注解就可以帮助我们减少一大坨get/set方法等;其中Builder注解使用的也很广泛,使用了建造者模式帮助我们构建出个性化的对象,本次踩坑点就在这个地方。 先…

智能优化算法应用:基于混沌博弈算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于混沌博弈算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于混沌博弈算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.混沌博弈算法4.实验参数设定5.算法结果6.参考…

Learning Memory-guided Normality for Anomaly Detection 论文阅读

Learning Memory-guided Normality for Anomaly Detection 摘要1.介绍2.相关工作3.方法3.1网络架构3.1.1 Encoder and decoder3.1.2 Memory 3.2. Training loss3.3. Abnormality score 4.实验5.总结总结&代码复现: 文章信息: 发表于:cvpr…

我最喜欢的白版应用,AI加持的新功能开源!强烈推荐

Excalidraw 把他们的文本到图表的功能开源了 Excalidraw是一个虚拟白板应用,专门用于绘制类似手绘的图表。它提供了一个无限的、基于画布的白板,具有手绘风格,支持多种功能。 之前我分享的:72张PNG,图解机器学习 里面…

Linux的IO模型——非阻塞IO

非阻塞IO就是当用户recvfrom时,如果内核数据没有准备好,那么就直接返回结果,而不是阻塞用户进程,让其一直等待。 我们可以发现,非阻塞IO模型中,用户进程在第一个阶段是非阻塞,第二个阶段是阻塞状…

Oracle(2-11)RMAN Backups

文章目录 一、基础知识1、RMAN Backup Concepts RMAN备份概念2、RMAN Backup Modes RMAN备份的类型3、Backup File Types 备份文件类型4、RMAN Backup Destinations RMAN备份目标5、Backup Constraints 备份约束6、Recovery Manager Backups 恢复管理器备份7、Characteristics …

黑苹果配置清单

手里的MacBookPro已经快沦为电子垃圾了,平时用MacOS比较多,Window用的比较少,而苹果电脑的价格不管是MacBookPro还是MacMini丐版的便宜但是面对现在Window动不动就64g内存的情况就显得微不足道了,高配的价格直接把我劝退&#xff…

iphone/安卓手机如何使用burp抓包

iphone 1. 电脑 ipconfig /all 获取电脑网卡ip: 192.168.31.10 2. 电脑burp上面打开设置,proxy,增加一条 192.168.31.10:8080 3. 4. 手机进入设置 -> Wi-Fi -> 找到HTTP代理选项,选择手动,192.168.31.10:8080 …

[Redis]基础入门

Redis入门 一、初识Redis Redis是一种键值型的NoSql数据库。 其中键值型,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符串、数值,甚至是json。 NoSql则是相对于传统关系型数据库而言&a…

pthread学习遇到的问题

1.pthread_t 是个类型,指的是线程ID。pthread_create()的时候穿地址进去,线程创建好后就会成为线程ID(即输出型参数) 2.pthread_self() pthread_self()获得是调用这个函数的线程ID (我以为是…

Java异步编程之利器:Guava异步编程实践

第1章:引言 - 为什么要用Guava进行异步编程? 大家好,我是小黑!今天咱们要聊的是Guava在异步编程中的应用。首先,让我们搞清楚为什么要用Guava来处理异步任务。在Java的世界里,异步编程是个老话题了&#x…