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资源管理器复制的路径,需要把所有的反斜杠改正正斜杠才能正确读取数据。

相关推荐
前端世界7 分钟前
从“看不懂”到“能用”:一次搞清 C 语言指针数组
c语言·开发语言
jllllyuz7 分钟前
基于遗传算法的33节点配电网网络重构MATLAB实现
matlab·重构·php
gao_shengping7 分钟前
Queue(队列)两组增删查操作的区别
java·开发语言
weixin_307779139 分钟前
Jenkins Pipeline: Multibranch 插件详解:现代CI/CD的多分支管理利器
运维·开发语言·自动化·jenkins·etl
Da Da 泓9 分钟前
多线程(四)【线程安全问题】
java·开发语言·jvm·学习·安全·多线程·线程安全问题
wuk99812 分钟前
C# 开发 FTP 客户端
开发语言·c#
淼淼76319 分钟前
Qt拖动工具栏控件到图页中均匀展示
开发语言·c++·windows·qt
二狗哈24 分钟前
Cesium快速入门22:fabric自定义着色器
运维·开发语言·前端·webgl·fabric·cesium·着色器
白狐_79825 分钟前
计算机网络复习全书(详细整理)
开发语言·计算机网络·php
黑岚樱梦25 分钟前
Linux系统编程
java·开发语言·前端