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

news/2024/6/17 14:54:32 标签: matlab, Filter Designer, fdatool, coe文件

文章目录

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


Filter Designer的打开

打开Filter Designer

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

在这里插入图片描述

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

在这里插入图片描述

滤波器参数设置

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

在这里插入图片描述

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

在这里插入图片描述

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

matlab_27">生成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.niftyadmin.cn/n/5183215.html

相关文章

23000 个恶意流量代理的 IPStorm 僵尸网络被拆除

美国司法部今天宣布,联邦调查局取缔了名为 IPStorm 的僵尸网络代理服务的网络和基础设施。 IPStorm 使网络犯罪分子能够通过世界各地的 Windows、Linux、Mac 和 Android 设备匿名运行恶意流量。 与此案相关的俄罗斯裔摩尔多瓦籍公民谢尔盖马基宁 (Sergei Makinin)…

云原生下GIS服务规划与设计

作者:lisong 目录 背景云原生环境下GIS服务的相关概念GIS服务在云原生环境下的规划调度策略GIS服务在云原生环境下的调度手段GIS服务在云原生环境下的服务规划调度实践 背景 作为云原生GIS系统管理人员,在面对新建的云GIS系统时,通常需要应对…

网络超时检测-11.9

应用场景 在网络通信中,很多操作会使得进程阻塞: TCP套接字中的recv/acceptUDP套接字中的recvfrom超时检测的必要性 避免进程在没有数据时无限制地阻塞实现某些特定协议要求,比如某些设备规定,发送请求数据后,如果多长…

sql统计某列数据出现最多的一个id

SELECT column_name, COUNT(column_name) AS occurrence_count FROM your_table GROUP BY column_name ORDER BY occurrence_count DESC LIMIT 1; 用来展示

利用Nextcloud搭建企业私有云盘系统

利用Nextcloud搭建企业私有云盘系统 1. 场景介绍2. 环境准备3. 安装NextCloud4. 系统功能验证 1. 场景介绍 Nextcloud是一款免费开源的私有云存储系统,采用PHPMySQL开发,提供了多个同步客户端支持多种设备访问,使用Nextcloud可以快速便捷地搭…

【luckfox】3、计算重量差

前言 本章结合之前的hx711驱动&#xff0c;实现读取质量&#xff0c;记录时间及剩余质量并存入csv文件&#xff0c;计算质量差并总计。 代码 luckfox-pico\project\app\test_app\hx711\hx711_app_addtime.c #include <stdio.h> #include <stdlib.h> #include &…

chatGPT真的会改变我们的生活吗?

先不说生活影响有多大&#xff0c;工作职场影响很大&#xff0c;现在在职场&#xff0c;随处可见Chat GPT的身影 OpenAI 开发的 ChatGPT 和类似的人工智能工具在短时间内不会取代我们的工作。但是&#xff0c;在科技、媒体等许多行业中&#xff0c;它们可以帮助员工更好、更快地…

ubuntu设置脚本开机自启动

rc-local.service flexmitd1:~$ cd /lib/systemd/system/ flexmitd1:/lib/systemd/system$ ls |grep rc-local.service rc-local.service rc-local.service.d flexmitd1:/lib/systemd/system$ pwd /lib/systemd/system flexmitd1:/lib/systemd/system$确保有rc-local.service文…