十六进制补码文件(hex)的matlab产生方法

时间:2024-10-23 06:12:33

1、编写matlab脚本文件,定义位宽32位,将AD采样数据,正余弦数据转化为32位hex文件。% define widthN = 32;

2、打开文档。% open filesAD_FILE = fopen('AD_DATA.hex','w');SIN_FILE = fopen('SIN_VALUE.hex','w');COS_FILE = fopen('COS_VALUE.hex','w')

3、将数据转化为给定位宽的16进制补码。% transfer AD data into hex unitfor i=1:length(data) if(data(i,1)>=0) fprintf(AD_FILE, '%8x\n',floor(data(i,1)*(2^31-1))); else fprintf(AD_FILE, '%8x\n',floor(2^N +data(i,1)*(2^31-1))); endend% transfer sin/cos data into hex unitfor i=1:length(ref_drvi) if(ref_drvi(i,1)>=0) fprintf(SIN_FILE, '%8x\n',floor(ref_drvi(i,1)*(2^31-1))); else fprintf(SIN_FILE, '%8x\n',floor(2^N +ref_drvi(i,1)*(2^31-1))); endendfor i=1:length(ref_drvq) if(ref_drvq(i,1)>=0) fprintf(COS_FILE, '%8x\n',floor(ref_drvq(i,1)*(2^31-1))); else fprintf(COS_FILE, '%8x\n',floor(2^N +ref_drvq(i,1)*(2^31-1))); endend

4、关闭文档。% close filesfclose(AD_FILE);fclose(SIN_FILE);fclose(COS_FILE);

© 手抄报圈