MATLAB中Filter Designer的使用以及XILINX Coefficient(.coe)File的导出

文章目录

  • Filter Designer的打开
  • 滤波器参数设置
  • 生成matlab代码
  • 生成XILINX Coefficient(.COE) File
  • 实际浮点数的导出
  • 官方使用教程


Filter Designer的打开

打开Filter Designer:

方法一:命令行中输入Filter Designer,再回车打开。

在这里插入图片描述

方法二:APP中调用Filter Designer打开。

在这里插入图片描述

滤波器参数设置

界面的多种滤波器设置选项:

在这里插入图片描述

根据设计需求设置滤波器参数:

在这里插入图片描述

具体界面介绍参看此文章:MATLAB滤波器设计fdatool(filterDesigner)工具箱使用

生成matlab代码

如需要生成MATLAB,配置后可以生成matlab函数在matlab中进行滤波处理。

具体方式为:可以使用File>Generate MATLAB Code生成 MATLAB 代码:有三种生成方式。

  1. 利用Filter Design Function (with System Objects)生成的matlab程序

    这种方式仅生成了系数,系数文件用保存的名字来表示,进行滤波时采用filter函数进行滤波。

  2. 利用Data Filtering Function (with System Objects)生成的matlab程序

    这种方式生成了一个函数,进行滤波时直接调用该函数进行滤波。

多种滤波器的配置界面说明以及生成代码的区别参看:https://blog.csdn.net/QUACK_G/article/details/124433102

在这里插入图片描述

生成XILINX Coefficient(.COE) File

在Targets -> XILINX Coefficient(.coe)File进行导出。.coe文件的格式如下:

在这里插入图片描述

Radix = RADIX;

Coefficient_Width = COEFFICIENT_WIDTH;

CoefData = VECTOR;

RADIX为数据进制类型,包括十进制、二进制、十六进制。

COEFFICIENT_WIDTH为数据对应的二进制位宽。

VECTOR为数据,数据以",“为间隔进行分开,最后以”; "结尾。

在这里插入图片描述

导出时提示错误:Your flter must be a fixed-point single-section, direct-form FIR flter to generate a XILINX cofficient (.COE) file.

在这里插入图片描述

解决办法:设置Filter arithmetic为Fixed-point(定点,由于有些FPGA中是不能直接对浮点数进行操作的,只能采用定点数进行数值运算,所以在导出前要将滤波器的系数配置为定点数,利用设置量化参数(Set Quantization Parameters )将系数改为定点数即可。

在这里插入图片描述

关于FPGA定点数的介绍参考文章:FPGA浮点小数与定点小数的换算及应用

按照上图的系数是以定点十六进制表示的,每个数据长度为16位(由Numerator word length决定),其为实际浮点数据左移16位(由Numerator frac. length决定,需要注意的是在未勾选Best-precision fraction lengths时输出的coe文件仍然按照Numerator frac. length进行量化的,所以建议不勾选Best-precision fraction lengths,进而设置Numerator frac. length)得到,例如实际浮点数据第一个系数为0.002,定点表示为0x0081((int)0.002* 2 ^ 16 = 131 = 0x0081,即0.001左移16位)。

实际浮点数的导出

点击File —> Export导出滤波器系数到matlab的工作区workspace,快捷键Ctrl+E,这种方式导出的是实际浮点数据。

在这里插入图片描述

参考使用fdatool生成Xilinx中FIR滤波器IP核的系数

官方使用教程

Using Filter Designer - MATLAB & Simulink - MathWorks 中国

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

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

相关文章

Milvus Standalone安装

使用Docker Compose安装 Milvus standalone(即单机版),进行一个快速milvus的体验。 前提条件: 1.系统可以使用centos 2.系统已经安装docker和docker-compose 3.milvus版本这里选择2.3.1 由于milvus依赖etcd和minio&#xff0c…

数据结构和算法八股与手撕

数据结构和算法八股文 第一章 数据结构 1.1 常见结构 见http://t.csdnimg.cn/gmc3U 1.2 二叉树重点 1.2.1 各种树的定义 满二叉树:只有度为0的结点和度为2的结点,并且度为0的结点在同一层上 完全二叉树:除了最底层节点可能没填满外&…

北邮22级信通院数电:Verilog-FPGA(9)第九周实验(4)实现寄存器74LS374

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 1.1 reg_74LS374.v 1.2 reg_LS3…

Adobe Illustrator——原创设计的宝藏软件

今天,我们来谈谈一款在Adobe系列中曾经多次给大家都提到的原创性极强的设计理念丰富的矢量图形编辑软件——Adobe Illustrator。 Adobe Illustrator,其定位是一款与Photoshop相类似对矢量图形进行编辑的软件。 Adobe Illustrator,作为全球最著…

镀膜与干刻中的平均自由程是什么?

在芯片制造中,镀膜和干刻是其中的重要环节,通常要用到CVD,RIE等技术,对材料表面进行纳米级的精细操作。在这些工序中,原子,分子,离子等,会在气体或真空中进行自由运动,直…

C++类与对象(1)—初步认识

目录 一、面向过程和面向对象 二、类 1、定义 2、类的两种定义方式 3、访问限定符 4、命名规范化 5、类的实例化 6、计算类对象的大小 7、存储方式 三、this指针 1、定义 2、存储位置 3、辨析 四、封装好处 一、面向过程和面向对象 C语言是面向过程的&#xf…

基于单片机的温度控制器系统设计

**单片机设计介绍, 基于单片机的温度控制器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的温度控制器系统是一种利用单片机来检测环境温度并控制温度的系统。它通常由以下几个部分组成&#xff…

Zookeeper Java 开发,自定义分布式锁示例

文章目录 一、概述二、导入依赖包三、创建锁的过程3.1 通过 create 创建节点信息3.2 AsyncCallback.StringCallback 回调函数3.3 AsyncCallback.Children2Callback 的回调函数3.4 Watcher 的回调函数 四、完整示例4.1 完整分布式锁代码4.2 测试类 如果您还没有安装Zookeeper请看…

让你的Mac体验更便捷,快速启动工具Application Wizard为你助力!

亲爱的Mac用户们,你是否经常感到在繁琐的软件启动过程中浪费了太多时间?你是否希望能够以更快的速度找到并启动你所需的应用程序?如果是的话,那么不要犹豫,让我们来介绍一款强大的软件快速启动工具——Application Wiz…

uniapp app tabbar 页面默认隐藏

1.在page.json 中找到tabbar visible 默认为true,设为false则是不显示 uni.setTabBarItem({ index: 1, //列表索引 visible:true //显示或隐藏 })

12-1- GAN -简单网络-线性网络

功能 随机噪声→生成器→MINIST图像。 训练方法 0 损失函数:gan的优化目标是一个对抗损失,是二分类问题,用BCELoss 1 判别器的训练,首先固定生成器参数不变,其次判别器应当将真实图像判别为1,生成图像判别为0 loss=loss(real_out, 1)+loss(fake_out, 0) 2 生成器的…

开源简历生成器OpenResume

什么是 OpenResume ? OpenResume 是一个功能强大的开源简历生成器和简历解析器。OpenResume 的目标是为每个人提供免费的现代专业简历设计,让任何人都能充满信心地申请工作。 OpenResume 有 5 个核心特点: 特征描述1. 实时UI更新当您输入简历…

高德地图系列(一):vue项目如何使用高德地图、入门以及基本控件使用

目录 第一章 前言 第二章 准备工作 2.1 账号注册 2.2 高德地图开发平台文档 2.3 创建应用 第三章 使用地图 3.1 地图使用步骤 3.2 理解几个地图基础控件 3.3 基础类理解 第一章 前言 小编都是在vue项目中使用高德地图的,每一个功能都会亲测可用之后才会…

【机器学习10】循环神经网络

1循环神经网络 RNN通过将神经元串行起来处理序列化的数据。 由于每个神经元能用它的内部变量保存之前输入的序列信息,因此整个序列被浓缩成抽象的表示, 并可以据此进行分类或生成新的序列。 2 循环神经网络的梯度消失或梯度爆炸问题 传统的循环神经网…

WPF xaml Command用法介绍

WPF (Windows Presentation Foundation) 中的命令设计模式是一种用于分离用户界面逻辑和业务逻辑的方法。在WPF中,这种模式通过命令接口(如 ICommand)实现,使得用户界面组件(如按钮、菜单项等)可以触发不直…

k8s ingress高级用法一

前面的文章中,我们讲述了ingress的基础应用,接下来继续讲解ingress的一些高级用法 一、ingress限流 在实际的生产环境中,有时间我们需要对服务进行限流,避免单位时间内访问次数过多,常用的一些限流的参数如下&#x…

深度学习(五)softmax 回归之:分类算法介绍,如何加载 Fashion-MINIST 数据集

Softmax 回归 基本原理 回归和分类,是两种深度学习常用方法。回归是对连续的预测(比如我预测根据过去开奖列表下次双色球号),分类是预测离散的类别(手写语音识别,图片识别)。 现在我们已经对回…

JAVAEE 初阶 多线程基础(一)

多线程基础 一.线程的概念二.为什么要有线程三.进程和线程的区别和关系四.JAVA的线程和操作系统线程的关系五.第一个多线程程序1.继承Thread类 一.线程的概念 一个线程就是一个 “执行流”. 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 “同时” 执行着多份代码 同…

CV计算机视觉每日开源代码Paper with code速览-2023.11.14

点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构:Transformer】Aggregate, Decompose, and Fine-Tune: A Simple Yet Effective Factor-Tuning Method for Vision…

流媒体协议

◆ RTP(Real-time Transport Protocol),实时传输协议。 ◆ RTCP(Real-time Transport Control Protocol),实时传输控制协议。 ◆ RTSP(Real Time Streaming Protocol),实时流协议。 ◆ RTMP(Real Time Messaging Protocol),实时…