?? weighttest.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 + -