matlab产生数据组,MATLAB产生了一组有符号型数据,传给FPGA进行处理

data/attach/1904/1snhktv06jhb2d40ppf85e4xx6k25x3b.jpgdata/attach/1904/d5mtn2dd1pel3fcl5jvvb53dbdserkxr.jpg

%% 产生了一组有符号型数据,传给FPGA进行处理,

%% FPGA的IP核处理有符号数时就是以补码形式进行处理的

clear all;close all;clc;

fs = 50e6;

f0 = 200e3;

W = 16; %数据位宽16位

N = 1024;

t = [0:N-1]/fs;

yr = cos(2*pi*f0*t);

yi = sin(2*pi*f0*t);

% yr_N =round( yr*(2^(W-1)-1) + (2^(W-1)-1) );

% yi_N =round( yi*(2^(W-1)-1) + (2^(W-1)-1) );

% yr =round( yr*(2^(W-1)-1)); %W位的符号数,正数最大值为2^(W-1)-1,如W=4,则正数最大为7,这是幅度最大值,单负数最大为-2^(W-1) = -8,

% yi =round( yi*(2^(W-1)-1));

yr =round( yr*(2^(W-1))); %W位的符号数,正数最大值为2^(W-1)-1,如W=4,则正数最大为7,这是幅度最大值,单负数最大为-2^(W-1) = -8,

yi =round( yi*(2^(W-1)));

mag = abs(yr + j*yi);

figure

plot(t,yr,t,yi)

title('MATLAB显示数据')

sign_r = yr<0;

sign_i = yi<0;

yr_N = yr + sign_r*2^W;

yi_N = yi + sign_i*2^W;

figure

plot(t,yr_N,'r')

title('FPGA显示数据,二进制补码符号数')

fid_r = fopen('real_input.txt','w');

fprintf(fid_r,'%X

',yr_N);

fclose(fid_r);

fid_i = fopen('imag_input.txt','w');

fprintf(fid_i,'%X

',yi_N);

fclose(fid_i);

结果:

article-42254.html

article-42254.html

f50274deb886c29043dd411864206018.png

c19deddf23fe76e3843cf2a02ca4fa00.png

article-42254.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值