⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weighttest.m

📁 MyGui.rar
💻 M
字号:
clc;
clear;
close all;

deltaAngle = 5;     %每隔5度一个点
roll = 4;

% W = [exp(j * 0 * pi / 180), exp(j * 45 * pi / 180), exp(j * 90 * pi /180),exp(j * 135 * pi / 180),exp(j * 180 * pi / 180),exp(j * 225 * pi / 180),exp(j * 270 * pi / 180),exp(j * 315 * pi / 180), 2 * exp(j * 0 * pi / 180), 2 * exp(j * 45 * pi / 180), 2 * exp(j * 90 * pi / 180), 2 * exp(j * 135 * pi / 180), 2 * exp(j * 180 * pi / 180), 2 * exp(j * 225 * pi / 180), 2 * exp(j * 270 * pi / 180), 2 * exp(j * 315 * pi / 180),  4 * exp(j * 0 * pi / 180), 4 * exp(j * 45 * pi / 180), 4 * exp(j * 90 * pi / 180), 4 * exp(j * 135 * pi / 180), 4 * exp(j * 180 * pi / 180), 4 * exp(j * 225 * pi / 180), 4 * exp(j * 270 * pi / 180), 4 * exp(j * 315 * pi / 180)];
% W = [exp(j * 0 * pi / 180), exp(j * 15 * pi / 180), exp(j * 30 * pi / 180),exp(j * 45 * pi / 180),exp(j * 60 * pi / 180),exp(j * 75 * pi / 180),exp(j * 90 * pi / 180),exp(j * 105 * pi / 180), exp(j * 120 * pi / 180), exp(j * 135 * pi / 180), exp(j * 150 * pi / 180), exp(j * 165 * pi / 180), exp(j * 180 * pi / 180), exp(j * 195 * pi / 180), exp(j * 210 * pi / 180), exp(j * 225 * pi / 180),  exp(j * 240 * pi / 180), exp(j * 255 * pi / 180), exp(j * 270 * pi / 180), exp(j * 285 * pi / 180), exp(j * 300 * pi / 180), exp(j * 315 * pi / 180), exp(j * 330 * pi / 180), exp(j * 345 * pi / 180)];
for ii = 1: 1: (360 / deltaAngle)
    W(ii) = 1 * exp(j * ii * deltaAngle * pi / 180);
    W(ii + (360 / deltaAngle)) = 2 * exp(j * ii * deltaAngle * pi / 180);
    W(ii + (720 / deltaAngle)) = 4 * exp(j * ii * deltaAngle * pi / 180);
    W(ii + (1080/ deltaAngle)) = 8 * exp(j * ii * deltaAngle * pi / 180);
end
W_re = real(W);
W_im = imag(W);
maxReal = max(abs(W_re));
maxImag = max(abs(W_im));
maxItem = max(maxReal, maxImag);
ratio = 500 / maxItem;

W_use = W * ratio + (512 + 512 * j);
% disp(W_use);
W_real = round(real(W_use));
W_imag = round(imag(W_use));

% W_use = W_real + W_imag * j;
% W_abs = (W_real - 512).^2 + (W_imag - 512).^2;
% disp(W_abs);
% disp(W_use)
for ii = 1: 1: (360 * roll / deltaAngle)
    %deal with the file name
    if (ii < 10)
        filename = num2str(ii,'W000%d .mif');
    elseif (ii < 100)
        filename = num2str(ii,'W00%d .mif');
    elseif (ii < 1000)
        filename = num2str(ii,'W0%d .mif');
    else
        filename = num2str(ii,'W%d .mif');
    end
    %write into files
    fid = fopen(filename,'w');
    fprintf(fid ,'--Quartus2.mif QQ\r\n');
    fprintf(fid ,'--Created for EMU test\r\n');
    fprintf(fid ,'--Created date: %s\r\n', DATESTR(now));
    fprintf(fid ,'--1:2:4:8 最大幅度500\r\n');
    fprintf(fid ,'\r\n');
    wordlength=16;                          %字长;
    arraydepth=16;                          %数组长度;
    fprintf(fid,'WIDTH=');                  %字宽显示
    fprintf(fid,'%1d;\r\n',wordlength); 
    fprintf(fid,'DEPTH=');                  %数组长度显示
    fprintf(fid,'%1d;\r\n',arraydepth);
    fprintf(fid ,'\r\n');
    fprintf(fid,'ADDRESS_RADIX=UNS;\r\nDATA_RADIX=UNS; \r\n\r\n');%以十进制无符号数显示UNS(unsigned )
    fprintf(fid ,'\r\n');
    fprintf(fid,'CONTENT BEGIN\r\n');
    for jj = 1: 1: 8
        fprintf(fid ,' %10d :  %18d;\r\n', (jj - 1) * 2, W_real(ii));
        fprintf(fid ,' %10d :  %18d;\r\n', (jj - 1) * 2 + 1, W_imag(ii));
     
    end
    fprintf(fid,'END;\r\n');
    fclose(fid);
end
figure(5)    
plot(W_imag,W_real);
disp('权值文件创建完成!');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -