📄 emu8channel360_jam2.m
字号:
% emu 8 channel 360 度
clc;
clear;
close all;
iNumOfChannel = 8;
fprintf('*******************************\n');
fprintf(' 901加权单元测试仿真\n');
fprintf('*******************************\n\n');
CON1orOUT2=1;
while CON1orOUT2==1
loadpath=input('\nloadpath=','s');
strLocalPath = loadpath;
for ii = 1: 1: iNumOfChannel
AmpC(ii, :) = load(sprintf('%s\\%d\\Mark2Amp.txt', strLocalPath, ii));
PhaC(ii, :) = load(sprintf('%s\\%d\\Mark2Phas.txt', strLocalPath, ii));
end
% t = 1 * pi / 180: pi / 180: 2 * pi;
% figure(1);
% for ii = 1: 1: iNumOfChannel
% polar(t, AmpC(ii, :));
% hold all;
% end
figure(2);
for ii = 1: 1: iNumOfChannel
title('幅度');
plot(AmpC(ii, :));
hold all;
end
figure(3);
for ii = 1: 1: iNumOfChannel
title('相位');
plot(PhaC(ii, :));
hold all;
end
fprintf('\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
fprintf('\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
CON1orOUT2=input('\nCON1orOUT2=');
end;
% subplot(2, 1, 2);
% for ii = 1: 1: iNumOfChannel
% plot(AmpC_new(ii, :));
% hold all;
% end
% 计算8路之间幅度和相位的差异
% t = linspace(5 * pi / 180, 2 * pi , 72);
% figure(4);
% plot(AmpC(1, 1:72));
% % AmpAdj = AmpC(1, :); %确定标准
% AmpAdj = mean(AmpC(1, 1:72));
%
% PhaAdj = PhaC(1, :); %确定标准
% for ii = 1: 1: iNumOfChannel
% AmpDiff(ii, :) = AmpC(ii, :) - AmpAdj;
% maxAmpDiff(ii) = max(abs(AmpDiff(ii, :)));
% PhaDiff(ii, :) = PhaC(ii, :) - PhaAdj;
% end
% for ii = 1: 1: iNumOfChannel
% for jj = 1: 1: length(PhaDiff)
% if (abs(PhaDiff(ii, jj)) > 7) %去除掉180-(-180)所产生的极大点
% PhaDiff(ii, jj) = 0;
% end
% end
% maxPhaDiff(ii) = max(abs(PhaDiff(ii, :)));
% end
% disp('各路最大幅度差和相位差:');
% disp(maxAmpDiff);
% disp(maxPhaDiff);
% % 选取其中一个360度范围内的差异进行差异向量的计算
% for ii = 1: 1: iNumOfChannel
% for jj = 1: 1: (360 / deltaAngle)
% avrAmpDiff(ii, jj) = 10 ^ (AmpDiff(ii, jj) / 20);
% avrPhaDiff(ii, jj) = PhaDiff(ii, jj);
% %errVector(ii, jj) = (1 / avrAmpDiff(ii, jj)) * exp(- j * avrPhaDiff(ii, jj) * pi / 180);
% errVector(ii, jj) = (1 / avrAmpDiff(ii, jj)); % 只校幅度不校相位
% end
% end
% % 将校准向量输出到文件
% for ii = 1: 1: (360 / deltaAngle)
% strFileName = sprintf('%s\\校为直线\\%d度.dat', strLocalPath, ii * deltaAngle);
% fid = fopen(strFileName, 'w');
% for jj = 1: 1: iNumOfChannel
% fprintf(fid, '%g\r\n', real(errVector(jj, ii)));
% fprintf(fid, '%g\r\n', imag(errVector(jj, ii)));
% end
% fclose(fid);
% end
% disp('文件保存完成!');
% myAmpData = load('F:\工作文件\901\仿真平台加权单元测试记录\干扰2第一路1248\Mark2Amp.txt');
% myPhaData = load('F:\工作文件\901\仿真平台加权单元测试记录\干扰2第一路1248\Mark2Phas.txt');
% figure(3);
% subplot(2, 1, 1);
% plot(myAmpData);
% hold all;
% subplot(2, 1, 2);
% plot(myPhaData);
% hold all;
% % 四个阶梯的幅度分别求平均
% for ii = 1: 1: 4
% avrAmp(ii, :) = mean(myAmpData((ii - 1) * 360 + 1: (ii - 1) * 360 + 360)) * ones(1, 360);
% divAmp(ii, :) = myAmpData((ii - 1) * 360 + 1: (ii - 1) * 360 + 360).' - avrAmp(ii, :);
% subplot(2, 1, 1);
% x = ((ii - 1) * 360 + 1: 1: (ii - 1) * 360 + 360);
% plot(x, avrAmp(ii, :));
% hold all;
% end
% figure(4);
% for ii = 1: 1: 4
% x = ((ii - 1) * 360 + 1: 1: (ii - 1) * 360 + 360);
% plot(x, divAmp(ii, :));
% hold all;
% end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -