当前位置: 首页 > news >正文

Matlab-FPGA 小数转换为定点二进制小数脚本和转coe文件格式脚本

Matlab-FPGA 小数转换为定点二进制小数脚本:

% 更新于2023年6月17日,修改旋转因子文件,不修改fpga
%首先明确我们的二维FFT的数组维数,此为1024*8的二维矩阵,1024行,8列
column = 1024;
row = 8;
nk=[];
N=column*row;
for i=0:row-1for j=0:column-1nk=[nk,j*i];end
end
for k=1:column*row %必须保存所有可能的数值w_re(k)=cos(2*pi*(nk(k))/N);w_im(k)=-sin(2*pi*(nk(k))/N);
end
W2=w_re+1i*w_im;
numint=1;%numint位整数,numdec位小数
numdec=14;%选取的总位数为1+numint+numdec,其中1为符号位所占用。
fp1=fopen("w_re_data.txt",'w');
fp2=fopen("w_im_data.txt",'w');
% temp=diag(ones(length(a)))';
a=w_re;%a 为被定点化的矩阵或标量,为实数
for i=1:length(a)fixed_a=floor(a(i)*2^numdec);  %模拟计算机中直接截位的结果%限幅if ((fixed_a>=2^(numint+numdec))||(fixed_a<-2^(numint+numdec)))fixed_a=sign(a(i))*(2^(numint+numdec)-1)+0.5*(sign(a(i))-1);%正数最大是2^(numint+numdec)-1,负数最大是-2^(numint+numdec)end%转化为补码if (a(i)<0)%需要写成补码的形式!fixed_a=fixed_a+2^(numint+numdec);fixed_bin=dec2bin(fixed_a,numint+numdec);fixed_bin=strcat('1',fixed_bin);   elsefixed_bin=dec2bin(fixed_a,numint+numdec);fixed_bin=strcat('0',fixed_bin);end% 保存数据到txt文件
%     for j=1:numint+numdec+1fprintf(fp1,"%s",fixed_bin);fprintf(fp1,'\r\n');end
fclose(fp1);
clear a;
a=w_im;
for i=1:length(a)fixed_a=floor(a(i)*2^numdec);  %模拟计算机中直接截位的结果%限幅if ((fixed_a>=2^(numint+numdec))||(fixed_a<-2^(numint+numdec)))fixed_a=sign(a(i))*(2^(numint+numdec)-1)+0.5*(sign(a(i))-1);%正数最大是2^(numint+numdec)-1,负数最大是-2^(numint+numdec)end%转化为补码if (a(i)<0)%需要写成补码的形式!fixed_a=fixed_a+2^(numint+numdec);fixed_bin=dec2bin(fixed_a,numint+numdec);fixed_bin=strcat('1',fixed_bin);   elsefixed_bin=dec2bin(fixed_a,numint+numdec);fixed_bin=strcat('0',fixed_bin);end% 保存数据到txt文件
%     for j=1:numint+numdec+1fprintf(fp2,"%s",fixed_bin);fprintf(fp2,'\r\n');end
fclose(fp2);

数据转.coe文件脚本:

clear
clc
depth    =8192; % rom深度    
% width    =32;   % 数据宽度
cstr0=textread("w_re_data.txt",'%s'); % 将TXT中的数据以文本的方式取回
cstr1=textread("w_im_data.txt",'%s');
%实部
fid   =fopen('rotate_re.coe','wt');             % 创建文件
fprintf(fid,'memory_initialization_radix=2;\n'); % memory_initialization_radix:定义存储器初始化值的基,可取值为2进制,10进制,16进制等
fprintf(fid,'memory_initialization_vector=\n');  % memory_initialization_vector 储存器内数据向量
for  idnex =1:depthif(idnex<depth)    fprintf(fid,'%s,\n',char(cstr0{idnex}));else fprintf(fid,'%s;\n',char(cstr0{idnex}));  % 最后的数据应以[;]结尾end 
end 
% 虚部
fid   =fopen('rotate_im.coe','wt');             % 创建文件
fprintf(fid,'memory_initialization_radix=2;\n'); % memory_initialization_radix:定义存储器初始化值的基,可取值为2,10,16等
fprintf(fid,'memory_initialization_vector=\n');  % memory_initialization_vector 储存器内数据向量for  idnex =1:depthif(idnex<depth)    fprintf(fid,'%s,\n',char(cstr1{idnex}));else fprintf(fid,'%s;\n',char(cstr1{idnex}));  % 最后的数据应以[;]结尾end 
end 

相关文章:

Matlab-FPGA 小数转换为定点二进制小数脚本和转coe文件格式脚本

Matlab-FPGA 小数转换为定点二进制小数脚本&#xff1a; % 更新于2023年6月17日&#xff0c;修改旋转因子文件&#xff0c;不修改fpga %首先明确我们的二维FFT的数组维数,此为1024*8的二维矩阵&#xff0c;1024行&#xff0c;8列 column 1024; row 8; nk[]; Ncolumn*row; fo…...

逆向案例二十三——请求头参数加密,某区块链交易逆向

网址&#xff1a;aHR0cHM6Ly93d3cub2tsaW5rLmNvbS96aC1oYW5zL2J0Yy90eC1saXN0L3BhZ2UvNAo 抓包分析&#xff0c;发现请求头有X-Apikey参数加密&#xff0c;其他表单和返回内容没有加密。 直接搜索关键字&#xff0c;X-Apikey&#xff0c;找到疑似加密位置&#xff0c;注意这里…...

CSS 导航栏:设计、定制与优化

CSS 导航栏&#xff1a;设计、定制与优化 CSS&#xff08;层叠样式表&#xff09;是网页设计中不可或缺的一部分&#xff0c;它允许开发者通过定义样式来控制网页的布局和外观。在网页设计中&#xff0c;导航栏是一个关键元素&#xff0c;它帮助用户浏览网站并找到他们感兴趣的…...

JS 如何处理链接被用户点击中键的操作

今天在开发中遇到一个问题&#xff0c;在使用类似Bootstrap中的Tabs组件时&#xff0c;当在tab导航链接点击中键时会打开一个新的窗口访问链接&#xff0c;于是我尝试在别的普通链接上点击中键时也会如此&#xff0c;我猜测这是浏览器的默认行为。 由于我开发的是一个浏览器在…...

Android 11 使用HAL层的ffmpeg库(1)

1.frameworks/av/media目录下面的修改 From edd6f1374c1f15783d9920ebda22ea915e503775 Mon Sep 17 00:00:00 2001 From: GW00219471 <zhumingxingnoboauto.com> Date: Wed, 17 Jan 2024 15:16:10 0800 Subject: [PATCH] ?UTF-8?q?[V35CUX-4542]:E7A7BBE6A48Dcux20E8…...

友力科技数据中心搬迁方案

将当前运行机房中的所有设备、应用系统安全搬迁至新数据中心机房&#xff0c;实现平滑切换、平稳过渡&#xff0c;最大限度地降低搬迁工作对业务的影响。 为了确保企事业单位能够顺利完成数据中心机房搬迁工作&#xff0c;我们根据实际经验提供了4个基本原则&#xff0c;希望能…...

GitHub敏感信息扫描工具

目录 功能设计 技术实现 程序使用 文件配置 下载地址 功能设计 GitPrey是根据企业关键词进行项目检索以及相应敏感文件和敏感文件内容扫描的工具,其设计思路如下: 根据关键词在GitHub中进行全局代码内容和路径的搜索(in:file,path),将项目结果做项目信息去重整理得到…...

Linux云计算 |【第一阶段】ENGINEER-DAY4

主要内容&#xff1a; 配置Linux网络参数、配置静态主机名、查看/修改/激活/禁用网络连接、指定DNS、虚拟网络连接、虚拟机克隆、SSH客户端、SCP远程复制、SSH无密码验证&#xff08;SERVICE-DAY5&#xff09;、虚拟网络类型 一、网络参数配置 修改网卡配置文件主要是需要配置…...

C++与VLC制作独属于你的动态壁纸背景

文章目录 前言效果展示为什么要做他如何实现他实现步骤获取桌面句柄代码获取桌面句柄libvlc_media_player_set_hwnd函数 动态壁纸代码 总结 前言 在当今的数字世界中&#xff0c;个性化和自定义化的体验越来越受到人们的欢迎。动态壁纸是其中一种很受欢迎的方式&#xff0c;它…...

平凯星辰黄东旭出席 2024 全球数字经济大会 · 开放原子开源数据库生态论坛

7 月 5 日&#xff0c;以“开源生态筑基础&#xff0c;数字经济铸未来”为主题的 2024 全球数字经济大会——开放原子开源数据库生态论坛在北京成功举办。平凯星辰&#xff08;北京&#xff09;科技有限公司联合创始人黄东旭发表了题为《TiDB 助力金融行业关键业务系统实践》的…...

Mac OS 下安装 NVM,1秒教会你

1.下载 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash或者wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash 2.安装成功后执行 nvm 提示 command not found 首先查看 ~/.bash_profile 文件是否存在&…...

搭建博客系统#Golang

WANLI 博客系统 项目介绍 基于vue3和gin框架开发的前后端分离个人博客系统&#xff0c;包含md格式的文本编辑展示&#xff0c;点赞评论收藏&#xff0c;新闻热点&#xff0c;匿名聊天室&#xff0c;文章搜索等功能。 点击跳转&#xff1a;Github 项目开源地址 功能展示 B 站…...

算法——滑动窗口(day6)

1004.最大连续1的个数 ||| 1004. 最大连续1的个数 III - 力扣&#xff08;LeetCode&#xff09; 题目解析&#xff1a; 这道题如果能转化为滑动窗口的话就会很简单&#xff0c;因为我们如果尝试去把0翻转为1再计数的话等到第2轮又得重新翻转回来&#xff0c;费时费力~ 那么我…...

推荐一款基于Spring Boot 框架开发的分布式文件管理系统,功能齐全,非常便捷(带私活源码)

前言 在数字化时代&#xff0c;文件管理是企业和个人用户的基本需求。然而&#xff0c;现有的文件管理系统往往存在一些痛点&#xff0c;如存储空间有限、文件共享困难、缺乏在线编辑功能、移动端适配性差等。这些问题限制了用户在不同设备和场景下的文件处理能力。 为了解决…...

Mysql-查询

1.基本查询 //查询所有内容 select * from 表名;//查询指定字段 select 字段1&#xff0c;字段2&#xff0c;字段3.....from 表名;//查询时给字段起别名 select 字段1 as 别名1 , 字段2 as 别名2 ... from 表名&#xff1b;//去重查询 select distinct 字段列表 from 表名; …...

广东科学技术职业学院计算机学院领导一行莅临泰迪智能科技参观交流

7月17日&#xff0c;广东科学技术职业学院计算机学院副院长张军、计算机学院副书记吴国庆、计算机学院大数据教学部部长谢文达、科技与校企合作部副部长黄相杰、科技与校企合作部副部长吴胜兵莅临广东泰迪智能科技股份有限公司产教融合实训基地参观交流&#xff0c;泰迪智能科技…...

exo 大模型算力共享;Llama3-70B是什么

目录 exo 大模型算力共享 exo框架的特点 如何使用exo框架 注意事项 结论 Llama3-70B是什么 一、基本信息 二、技术特点 三、性能与应用 四、未来发展 exo 大模型算力共享 exo框架的特点 异构支持:支持多种不同类型的设备,包括智能手机、平板电脑、笔记本电脑以及高…...

测试——Junit

内容大纲: 常用的五个注解 测试用例顺序指定 参数化 测试套件 断言 1. 常用的五个注解 1.1 Test 通常情况下,我们输入要写在main方法下,此时我想直接输出: Test void Test01(){System.out.println("第一个测试用例"); } 1.2 BeforeAll AfterAll BeforeALL在Tes…...

BUG ImportError: cannot import name ‘QAction‘ from ‘PySide6.QtWidgets‘

BUG ImportError: cannot import name ‘QAction’ from ‘PySide6.QtWidgets’ 环境 PySide6 6.7.2详情 在参考 PyQt5 的代码写 Pyside6 的右键菜单时遇到的错误。 错误代码 from PySide6.QtWidgets import QAction错误原因&#xff1a; 在PySdie6中&#xf…...

对某次应急响应中webshell的分析

文章前言 在之前处理一起应急事件时发现攻击者在WEB应用目录下上传了webshell&#xff0c;但是webshell似乎使用了某种加密混淆手法&#xff0c;无法直观的看到其中的木马连接密码&#xff0c;而客户非要让我们连接webshell来证实此文件为后门文件且可执行和利用(也是很恼火&a…...

Vue3新特性

Vue3新特性 1、Composition API1.1 什么是 Composition API1.2 常用 Composition API1.2.1 setup1.2.2 ref1.2.3 reactive1.2.4 computed1.2.5 watchEffect、watchPostEffect、watchSyncEffect1.2.6 watch 2、生命周期2.1 Vue3生命周期钩子2.2 vue2 和 vue3 关于生命周期的对比…...

一套功能齐全、二开友好的即时通讯IM工具,提供能力库和UI库,支持单聊、频道和机器人(附源码)

前言 在当今数字化时代&#xff0c;即时通讯(IM)和实时音视频(RTC)功能已成为众多应用的标配。然而&#xff0c;现有的解-决方案往往存在一些痛点&#xff0c;如架构落后、成本高昂、数据安全性和隐私保护不足&#xff0c;以及二次开发和部署的复杂性。 为了解决这些问题&…...

MySQL:JOIN 多表查询

多表查询 在关系型数据库中&#xff0c;表与表之间是有联系的&#xff0c;它们通过 外键 联系在一起&#xff0c;所以在实际应用中&#xff0c;经常使用多表查询。多表查询就是同时查询两个或两个以上的表。 MySQL多表查询是数据库操作中非常重要的一部分&#xff0c;它允许你…...

【机器学习】必会算法模型之:一文掌握 密度聚类,建议收藏。

密度聚类 1、引言2、密度聚类2.1 定义2.2 核心原理2.3 实现步骤2.4 算法公式2.5 代码示例 3、总结 1、引言 在机器学习的无监督学习领域&#xff0c;聚类是一项基础而重要的任务。 聚类算法通过将数据点分组&#xff0c;使同一组内的数据点具有更大的相似性&#xff0c;而组间…...

代码:前端与数据库交互的登陆界面

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>登录</title> </head> <body>…...

发电机基础知识:负载组

什么是发电机负载组&#xff1f; 简单地说&#xff0c;负载组是一种可以产生人工电力负载的设备&#xff0c;用于测试发电机并验证发电机组的性能&#xff0c;包括相关组件&#xff0c;以确保通过使发电机发动机达到适当的工作温度和压力来满足适当的负载。 它是如何工作的&a…...

内网安全:各类密码的抓取

Mimikatz在线读取SAM文件 离线读取SAM文件 在线读取lsass进程 离线读取lsass进程 BrowserGhost浏览器密码抓取 Sharp-HackBrowserData浏览器密码抓取 SharpDecryptPwd数据库密码抓取 LaZagne各类密码的抓取 Windows其他类型抓NTLM Hash工具 sam文件和lsass进程就是Wind…...

前端面试题汇总2

1. CSS 中两个 .class1 .class2 从哪个开始解析 在 CSS 中&#xff0c;选择器 .class1 .class2 表示所有 class 为 class1 的元素中的 class 为 class2 的子元素。浏览器解析这个选择器时&#xff0c;从右向左解析。也就是说&#xff0c;浏览器首先找到所有 class 为 class2 的…...

分布式服务框架zookeeper+消息队列kafka

一、zookeeper概述 zookeeper是一个分布式服务框架&#xff0c;它主要是用来解决分布式应用中经常遇到的一些数据管理问题&#xff0c;如&#xff1a;命名服务&#xff0c;状态同步&#xff0c;配置中心&#xff0c;集群管理等。 在分布式环境下&#xff0c;经常需要对应用/服…...

服务攻防-应用协议cve

Cve-2015-3306 背景&#xff1a; ProFTPD 1.3.5中的mod_copy模块允许远程攻击者通过站点cpfr和site cpto命令读取和写入任意文件。 任何未经身份验证的客户端都可以利用这些命令将文件从文件系统的任何部分复制到选定的目标。 复制命令使用ProFTPD服务的权限执行&#xff0c;…...

做防护用品的网站/促销活动推广语言

详细参考&#xff1a;http://blog.csdn.net/taiyang1987912/article/details/41869181转载于:https://blog.51cto.com/poseidon2011/1913219...

如何开始做b2b网站/能翻到国外的浏览器

LaTeXiT for mac免费版是一款mac版数学公式编辑器&#xff0c;LaTeXiT for Mac可快速方便地编辑复杂的数学公式&#xff0c;然后将其直接拖入到需要输入的文本中&#xff0c;非常方便。喜欢的小伙伴可以私信小编哦&#xff01;功能特色导出默认情况下&#xff0c;生成的方程式为…...

wordpress 会议网站/免费seo刷排名

Linux 删除命令 rm rm [选项] 文件 选项说明&#xff1a; -f    -force      忽略不存在的文件&#xff0c;强制删除&#xff0c;无任何提示 -i    --interactive    进行交互式地删除 -r | -R  --recursive    递归式地删除列出的目录下的所有目录和文…...

wordpress更改网站信息/网络营销的推广方式都有哪些

题目描述 有一个仅由数字0与1组成的nn格迷宫。若你位于一格0上&#xff0c;那么你可以移动到相邻4格中的某一格1上&#xff0c;同样若你位于一格1上&#xff0c;那么你可以移动到相邻4格中的某一格0上。 你的任务是&#xff1a;对于给定的迷宫&#xff0c;询问从某一格开始能移…...

石排仿做网站/seo网站关键词优化多少钱

scp -r D:\pycharm_work\sohu_content22\data\cifar-10-batches-py\ usernameIP:/data0/liuyongkang/pro_charm/lyk/CIFAR-10/ 文件夹加上-r scp -P 66 -r D:\dong gaozhen219.216.86.250:/data/gaozhen/wang/...

商城网站前期seo应该怎么做/新闻网站软文平台

Amazon Vendor Central可以通过EDI进行集成。如果您是亚马逊的供应商&#xff0c;您或许会考虑系统集成的问题&#xff0c;哪些信息可以被传送和接收&#xff0c;需要什么来连接&#xff0c;以及有什么好处&#xff1f; Amazon Vendor Central 长期以来一直使用电子数据交换&am…...