matlab生成波形然后采样,FPGA写testbench读取数据

一、在matlab产生激励

复制代码
fs=1000;
% 这个是路数
M=16; 
% 这个是FFT的点数,64K
L=65536; 
% 将N写为两个整数乘积的形式,即N = ML,(log2 M和log2 L都为正整数)
N=M*L;   
% 这段 MATLAB 代码是用来生成一个时间序列的,
% 该时间序列从0开始,以1/fs的步长递增,直到(N-1)/fs为止。这里的N代表了序列的长度,而fs是采样频率。
%在这里一共是在fs=1000这个频率上,以0.001的步长,采集了65536点
t=0:1/fs:(N-1)/fs;  
f=465;
% 这个是一个离散的信号
ss=cos(2*pi*f*t);


% 把点数数据收集一下,后续用来放到FPGA上
fid1=fopen('E:\FPGA\FPGA_project\test_parallel_fft\test_parallel_fft.sim\sim_1\behav\xsim\data.txt','wt');
for i=1:N
    fwrite(fid1,ss(i));%按照行,把数据读进去,但是其实这个ss信号是一个一行的行向量
    fprintf(fid1,'\n');
end
fclose(fid1);

效果如下图

二、在testbench读取

用下面的方式读取,注意从windows资源管理器复制的路径,需要把所有的反斜杠改正正斜杠才能正确读取数据。

相关推荐
H.莓飛4 分钟前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
xxwl58515 分钟前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
茗创科技3 小时前
Nature Mental Health | 基于皮层相似性网络分析,揭示神经性厌食症的神经机制
matlab·数据分析·脑网络
code2cat3 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose4 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo4 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
-Marks-4 小时前
【C++编程】STL容器(二)--- vector底层模拟实现(常用接口实现 | 扩容机制 | 深浅拷贝 | 迭代器失效)
开发语言·c++·vector·内存管理·迭代器失效·vector底层模拟实现
Shadow(⊙o⊙)4 小时前
C++11并发支持库
开发语言·c++
一技安身4 小时前
【java】JDK8 + JDK17 绿色解压共存方案-全程不修改任何系统环境变量
java·开发语言
hudd6685 小时前
JavaEE 初阶 - 多线程(初阶)
java·开发语言·java-ee