data: 增加814幅相相关测试数据,包括国产调零板的测试数据

This commit is contained in:
2024-11-14 18:03:29 +08:00
parent 8662ef0ed8
commit f3f1e44d41
447 changed files with 2862 additions and 0 deletions
+4
View File
@@ -12,6 +12,10 @@
!/*.md
!/*.txt
# data files
!/data/
!/data/**/*
################################################################################
############################### Vivado Specific ################################
################################################################################
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:25df2a6d9d76fd289926d4b605c53758c49060cd31ef920f269b7f6decdb894c
3 size 6659180
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:25df2a6d9d76fd289926d4b605c53758c49060cd31ef920f269b7f6decdb894c
3 size 6659180
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:60f763cafd9d69dfd3fd296ef47828c4f045af85df3e889c0df2923b75e96ed7
3 size 6662572
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:fadbda00e7bcce773889b59619a60354a70ec05c695c01dcd0275ea928a748df
3 size 6660988
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:761758629b0c278d48ca0608e4d662ff2632004f688fb26220b53cf35d40c398
3 size 6690266
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:2528e49340838fbcbe015bf52e86761dc244d9595f1d315bf3e05f69bc36c74e
3 size 6688886
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:77819cad09644e1eed4f08acce9b3e175362569de2d13e3d2932a46b7d349a3f
3 size 6069527
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:2f2b53ea8af1d0e01b0fa7215b482bb3cbdd5843747c8a06c8c2c409db28e809
3 size 6063311
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:cb8be8458e10f9c35e03d108502e5710d626ecaaf7c44040ab3110563b043ec4
3 size 6061888
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:5b046a1653f1540f8ab72723cada6a6d6ca89a69845530f89f24a5975059dc44
3 size 6071406
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:f80162d7eedf5acfe1493c0e774ed6061b7d5a478c42eca9e073e20eb3ff9332
3 size 6048743
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:f80162d7eedf5acfe1493c0e774ed6061b7d5a478c42eca9e073e20eb3ff9332
3 size 6048743
@@ -0,0 +1,109 @@
%% File Header/文件说明
%
% Beamforming with phased array derives signal characteristics from phase
% differences between sensors. Therefore the amplitude-phase consistence is
% vital to phased systems.
%
% The script analyzes the amp-phase relations of ILA captured data, the format
% of which is square-shaped pseudorandorm bit sequence. Each channel is
% processed seperately with different frequency shifts and different optimum
% sampling points. The estimation of amplitude and phase are based on
% acculumated correlation peaks.
%
clc; clear;
%% initial parameters/初始参数
interp = 8; % interpolation factor
channelNum = 4;
dataLen = 131072;
fs = 48e6;
dataFile = "iladata_ant_3-1.csv";
% standard pn sequence
pnSequence = comm.PNSequence('Polynomial','x^7+x^6+1', ...
'InitialConditions',[zeros(1,6),1],'SamplesPerFrame',2^7-1);
PRBS7 = pnSequence();
PRBS7_polar = 1-2*[PRBS7;0];
chipLen = length(PRBS7_polar); % pn chip length
symNum = dataLen/chipLen/interp; % total symbol number
symNumPerAccum = 1; % symbol nbumber of each accumulation
accNum = symNum/symNumPerAccum; % total accumulation numbers, i.e. peak numbers
%% data analysis
% read data, and swap ch1 and ch2, because loop data locate at ch2 and ch4
rxdata = readmatrix(dataFile);
seqRx(:,1) = (rxdata(:, 6) + 1i*rxdata(:, 7)).';
seqRx(:,2) = (rxdata(:, 4) + 1i*rxdata(:, 5)).';
seqRx(:,3) = (rxdata(:, 8) + 1i*rxdata(:, 9)).';
seqRx(:,4) = (rxdata(:,10) + 1i*rxdata(:,11)).';
% compensate frequecny deviation and downsample at optimum sample position based
% on the varience of constellation
if dataFile.contains("loop")
[seqRxDown,fd,samplePos] = suqareShapeFreqEst(seqRx,interp,fs,-50,50,5);
else
[seqRxDown,fd,samplePos] = suqareShapeFreqEst(seqRx,interp,fs,24900,25100,1);
end
% split [seqRxDown] into multiple groups, each group contains several symbols to
% be correlated with PRBS7 and accumulated
seqRxDownSplit = reshape(seqRxDown(1:dataLen/interp,:),chipLen*symNumPerAccum, ...
accNum,channelNum);
seqRxAcc = zeros(chipLen,accNum,channelNum);
desiredPnt = zeros(accNum,channelNum);
ampEstSym = zeros(accNum,channelNum);
angleEstSym = zeros(accNum,channelNum);
for i = 1:accNum
for j = 1:channelNum
% correlation & multi-symbol accumulation
groupCorrAcc = sum(reshape(conv(flip(seqRxDownSplit(:,i,j)), ...
PRBS7_polar,'same'),chipLen,symNumPerAccum),2)';
seqRxAcc(:,i,j) = groupCorrAcc;
% peak position
desiredPnt(i,j) = groupCorrAcc(abs(groupCorrAcc)==max(abs(groupCorrAcc)));
end
end
for i = 1:channelNum
ampEstSym(:,i) = abs(desiredPnt(:,i))./abs(desiredPnt(:,1));
angleEstSym(:,i) = mod((angle(desiredPnt(:,i))-angle(desiredPnt(:,1)))/pi*180,360);
end
%% figures
figure(1);
if dataFile.contains("loop")
subplot(121);
plot(ampEstSym(:,[1,4]));
legend({"ch1","ch4"});
title("Amplitude Estimation");
ylim([min(ampEstSym(:,[1,4]),[],'all')-0.1,max(ampEstSym(:,[1,4]),[],'all')+0.1]);
grid on; grid minor;
subplot(122);
plot(angleEstSym(:,[1,4]));
legend({"ch1","ch4"});
title("Angle Estimation");
ylim([min(angleEstSym(:,[1,4]),[],'all')-1,max(angleEstSym(:,[1,4]),[],'all')+1]);
grid on; grid minor;
else
subplot(121);
plot(ampEstSym);
legend({"ch1","ch2","ch3","ch4"});
title("Amplitude Estimation");
ylim([min(ampEstSym,[],'all')-0.2,max(ampEstSym,[],'all')+0.2]);
grid on; grid minor;
subplot(122);
plot(angleEstSym);
legend({"ch1","ch2","ch3","ch4"});
title("Angle Estimation");
ylim([min(angleEstSym,[],'all')-10,max(angleEstSym,[],'all')+10]);
grid on; grid minor;
end
@@ -0,0 +1,50 @@
function [dataOut, fdTarget, samplePosTarget] = suqareShapeFreqEst(dataIn, interp, fs, fmin, fmax, fd)
%suqareShapeFreqEst - 利用星座图的集中程度在一定频率范围内使用频率步进估计方波成形信号的频偏
%
% data - input complex data, row vector
% dataLen - data length
% interp - interpolation rate
% fs - sampling rate, in Herts
% fmin - minimum estimation frequency, in Herts
% fmax - maximum estimation frequency, in Herts
% fd - estimation frequency step, in Herts
% dimension
[dataLen,channelNum] = size(dataIn);
freqList = fmin:fd:fmax;
freqNum = length(freqList);
varRecord = zeros(freqNum,interp);
dataOut = zeros(dataLen/interp,channelNum);
fdTarget = zeros(channelNum,1);
samplePosTarget = zeros(channelNum,1);
for channel = 1:channelNum
for freq = 1:freqNum
% carrier
cxr = exp(-1i*2*pi*freqList(freq)/fs*(0:dataLen-1)');
% apply frequency shift onto input data
seqRx = dataIn(:,channel).*cxr;
for samplePos = 0:interp-1
seqRxDown = downsample(seqRx,interp,samplePos); % 下采样
seqRxDownQuaterOne = abs(real(seqRxDown)) + 1i*abs(imag(seqRxDown)); % 集中到第一象限
varRecord(freq,samplePos+1) = var(seqRxDownQuaterOne);
end
end
[fdIndex, samplePosIndex] = find(varRecord==min(min(varRecord)));
fdTarget(channel) = freqList(fdIndex);
samplePosTarget(channel) = samplePosIndex-1;
cxrTarget = exp(-1i*2*pi*fdTarget(channel)/fs*(0:dataLen-1)');
seqRxTarget = dataIn(:,channel).*cxrTarget;
dataOut(:,channel) = downsample(seqRxTarget,interp,samplePosTarget(channel));
end
end
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:790f5cf5b157d70919303a4e935b556de371acee9dfb33269c01645e985699e3
3 size 3482472
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:f766bcf25cafe22ffdb8ee0f8fa08fb9fa02667db2d4a0a43f8cab5dd08c8f30
3 size 3486267
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:927f56c25eecf5d01e1c4cd836132a1fb37ccb7c9ed59555b800e95cd74a8be1
3 size 3475654
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:51cf16b7d78821e5d2ce9820664e5b6304289cc67189d497c3b3307bea24af9b
3 size 3477899
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:1f298bad3f2b0fcfb4ade13154e554398328fe6bfc1bf438fb4d7e3e6142cefa
3 size 3474457
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:e4c335f781215b3a5c56c9e5750bcc33b24a219cdc0f94299ef91f52e3e741ac
3 size 3476800
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:eaa8c087ae2646e12880c9f00c559c71a68fddf82ac1516fc8b83b44ae276e1f
3 size 3468319
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:ab963c00089684ac6209f5b3d7257d2f972c2c5a5621d3253a25b13e268c5edf
3 size 3474799
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:23b20c1c51059a4c2597a1a6fab8a87d6154a7fca3be0271debecfbb14f547f4
3 size 3476026
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:286410285675a6ac02e45d0f9b109f3a660b40a4eea12956d905ab706094e8b9
3 size 3486066
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:d916c65eb133a94f45ca0740f776f62ebab205bf782c6ac5c06911fe005098d2
3 size 3477343
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:53c4e244f90b31ad77f1282731830725ac47692adeec33ac36783cf02863d83f
3 size 3476390
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:9a6024f1d8054f42ff1c69fb7de3ca6b754df2236230992b5252d7963e0f8e0b
3 size 3472944
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:758e4d65581918f39c0261674ce459b8f40c33fa7a1f4e0969e15868a1a50cdd
3 size 3480993
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:74b7584c9fb282629f2140a51b81e27077ae2b7065142fc9b34b7d518a94e815
3 size 3479496
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:b17a0ec250938a59121a38d3ffd924c3f963ccc4a3741ec981c457027da09f69
3 size 3479587
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:b22458456bcc01358145fc24e025f2ea329badb896fcfe6d0c30c9d333ef1992
3 size 3482568
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:126a2830e5ccd8211ee37ccc11d2e16df721c0731678738f45f5766930e1605d
3 size 3484480
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:8bea19723b482bf9cec3a3da67f7d8def374eec24e016e9e08cea496f1a66559
3 size 4929186
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:cdf5b93215d5e7908c36656949a265523321ba6b1c65fc90614609cf6a76b8d5
3 size 4930485
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:9852d001375c99ffa7ed590311d0f17ba682c355a4b42cc4698c84a44f5183a8
3 size 4940823
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:21f77064e1e283db70319d21ea05fa587fac96c36bc36fbff7fb287c8b85c213
3 size 4921076
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:6857bec4ce503e0f93cdb9e3840dc4ed54e9c93283c0dd2edec6991c0388486b
3 size 4934355
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:a4771c547a65aa3eab0354c2c540e9718ba92bdcda2c924de23eea67a795f0ab
3 size 4920266
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:975c5b1fb434775a90e0dcaf36f037f2bc48c78e93eb4f87f79c074a49f93881
3 size 4936405
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:124e7ab5ac5ead53ce5a957ab7d05fc5a612afed586167a0246af72806b4754f
3 size 4928907
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:3ebdb353af1eab5b19ac8636118038c63077d5476f94d7a62584ffaafd619206
3 size 4940500
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:40c6c5b6cf555cb48a08d02e81fedd17878ad8146612c87c583fdc2a5cd0e048
3 size 5303446
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:571ccd76cd8090bf4a79a58e979304a7d24a88c62b11d3f0ea22e02a07056c34
3 size 5315422
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:48dcf83163b435d56687742cfa62d5920f256c28ad730ab88c0ee22e46c36f42
3 size 5299010
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:f6ecb8b545cb849c63f89ebb2bdee12a24aa7c515d1c54eb8dfc3892c11f43bb
3 size 5297553
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:1c420d92903234bdf84723dbeab5df724a49ecb0279129a57689170a913d1a33
3 size 5295567
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:0c11b2e71e265040e3f0ce2dd1936fcf314b3e05fdb4214e616c341760a1aa17
3 size 5296901
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:b0e9bb5f27d3e95b616b2de511447806638d3277a6c2bfe415e928f59d1dbf8b
3 size 5309635
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:238c4f2073c6139b3df795a272cd0739d315209a6710e6ba64db40d411d62b49
3 size 5327271
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:26e70e159bbbe831fe6955503856a366da5265c5422a27fa4f1000fe685e6050
3 size 5301573
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:5584b35f43b014f28a35184ba44cf6557ce490879d1dbc3fd60da388a9972366
3 size 5370315
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:ba3eb269c7ba5cb7f644fab740bf015306dcbf4efbfa54bdacd678fd4532c3d6
3 size 5333917
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:6b513f51ca96b0a1a79859e02459a062b1ed32c7714c26861e7fe5cd8a98dcd0
3 size 5320463
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:a71e62982070863bb838345d4779e9904c8912d3ab828ffa5b6fbd0a24f330ef
3 size 5314074
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:a289f2dfb6801cdafb906bde9652aaab17a4e92f9a423360d6ae0a6b83730439
3 size 5322122
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:286bad4aa5aac0b8a42b341b83cdadea1d3fa128e1d8ccc814e5b1f3b6f141ea
3 size 5322773
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:658b5f0ea85a08fb40ac6ac900296e51d439e27bdcc3c4b5a5ff3b9da90c61b5
3 size 5321425
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:7df519cd3e311b75df7c22c019022ae1411c86cf9572a427df181ab804cfa2de
3 size 5321573
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:c803893756bb68dfbd399819f3615db369c311d6105e97d4827abaa727b4dec6
3 size 5315360
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:601745f9a0ea47901d1569ad81e8c1c0fec85b9fe8079c0fcceaa70b964a2f35
3 size 5323219
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:8e2604100be7b603fec704db96e776aff6207d03ae9ffbad1f866e30a1c48757
3 size 5312738
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:7c42dbec5084524ac0a8eb00dbba0c5c20c49712fbf1a0912a6920420edc917d
3 size 5321634
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:90b925608eb1c34f126baaea8fd590ccfec8682195e8d0f7259d25ebd1b9b6de
3 size 5308692
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:5ae86587bbdc8fe852ce4c1b04c3b0f4f49af0570eb90733718674ece2c76707
3 size 5319336
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:670e3c157f1ca2708086ecf10de5e0e8f9eb51860a7bf8707ae4f63fd9403e80
3 size 5324940
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:749957f3533502d7d44fa1d22062e9ed95ff4367591efee814a787e60ca3cc59
3 size 5320653
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:4d089544790c762e73f954237caca6896b8f2c076bc9550853debb19da3f84ec
3 size 5313395
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:3c2f4f13fa8508cccc035291db137f357ae9d565ac9df4f361b45bd1c9ad3312
3 size 3297813
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:e586218ac85197328d8b58e857203fdfbef4e4df80dfb312fcd60c67dd956edd
3 size 3453762
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:3aa31f938be1237967a85dc673e3a42c015e445dff9903f4cb345e5165f1633c
3 size 3585983
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:3c383f26864f8af0d48fe52bcc7df8b9d6358109635feb5953df10b0f90fdd86
3 size 4957784
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:9da67f50fd03ae06f7f171308bd02c8ce815b3406ba5a880fcdff267994d3394
3 size 5240612
@@ -0,0 +1,71 @@
close all;
% 4 ch
fileNameList = [...
"iladata_814_1t1r_48msps_bw15m_ext_lo_1-1.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_1-2.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_1-3.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_2-1.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_2-2.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_2-3.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_3-1.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_3-2.csv",...
"iladata_814_1t1r_48msps_bw15m_ext_lo_3-3.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_1-1.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_1-2.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_1-3.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_2-1.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_2-2.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_2-3.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_3-1.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_3-2.csv",...
"iladata_814_1t1r_48msps_bw15m_int_lo_3-3.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_1-1.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_1-2.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_1-3.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_2-1.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_2-2.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_2-3.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_3-1.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_3-2.csv",...
"iladata_814_1t2r_48msps_bw15m_ext_lo_3-3.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_1-1.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_1-2.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_1-3.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_2-1.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_2-2.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_2-3.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_3-1.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_3-2.csv",...
"iladata_814_1t2r_48msps_bw40m_ext_lo_3-3.csv"
];
[~,fileNum] = size(fileNameList);
maxList = strings(fileNum+1,5);
stdList = strings(fileNum+1,5);
maxList(1,:) = ["Max Value", "ch1", "ch2", "ch3", "ch4"];
maxList(2:end,1) = fileNameList;
stdList(1,:) = ["Std Value", "ch1", "ch2", "ch3", "ch4"];
stdList(2:end,1) = fileNameList;
for i = 1:fileNum
rxRaw = readmatrix(fileNameList(:,i));
[rowNum,colNum] = size(rxRaw);
if (colNum == 11)
rx = [rxRaw(:, 4)+1i*rxRaw(:, 5),rxRaw(:, 6)+1i*rxRaw(:, 7),...
rxRaw(:, 8)+1i*rxRaw(:, 9),rxRaw(:,10)+1i*rxRaw(:,11)];
elseif (colNum == 7)
rx = [rxRaw(:, 4)+1i*rxRaw(:, 5),rxRaw(:, 6)+1i*rxRaw(:, 7),...
zeros(rowNum,1),zeros(rowNum,1)];
else
disp('Invalid Data Format.')
return
end
maxList(i+1,2:end) = string(max(rx));
stdList(i+1,2:end) = string(std(rx));
end
@@ -0,0 +1,11 @@
# 数据说明
1. iladata_ad9361_pure_noise.csv: 调零板 AD9361 单板噪声。
2. iladata_ad9361_ant_noise.csv: 调零板射频接收噪声。
3. iladata_ad9361_pure_noise_A-B.csv: 调零板 AD9361 单板噪声,第 A 次上电过程中第 B 次采集结果。
> 1~3 AD9361 配置均为 48Msps,BW 40MHz,外部本振,使用 AD9516-3 的 VCO 分频时钟。
4. iladata_814_1t2r_48msps_bwxxm_xxx_lo_A-B.csv:调零板 AD9361 单板噪声,48Msps,BW xxMHz,ext_lo 表示外部本振,int_lo 表示内部本振,第 A 次上电过程中第 B 次采集结果。
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:9481a51f9d7848e96a32ae7d9964de5f0b41ddcc442a375871ef11a63855a670
3 size 4975610
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:b42809aa978a924550b4f32e16867c98bdfde406dc7b93cbe4ec237a019b5a85
3 size 4973613
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:0bef9b4df8a796c56c1010ef7dda7da6c6308cf3d44248b9136981385fa1e487
3 size 4987695
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:b274afd8e83b4cc56e30f1471d3271343d9a254a3ad558bf80bb233570f30489
3 size 4987720
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:11ed5b51c3d959fff54efadfe095d290f4b9c28fc0e53292018f6db6244a9868
3 size 4986006
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:e865bc0a1e86023e1c260d3dfa749426f33ca87ed99a07b717a2bc04b7bfb245
3 size 4972988
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:022455671b948b67d5bb6e1b4c550bfd3a66c56d9cdc8843384ea8ecdc31b06f
3 size 4995284
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:9ddbc3affb1d95b1d523796a9492ba096a8dc3be95c27710a68622d35eca3383
3 size 4977121
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:167aae75e38c08a1cbb1dc177a6ed6827ab1c1226af2a6ad602c44cbf8f4242e
3 size 4988918
@@ -0,0 +1,44 @@
clear; close all;
% 4 ch
fileNameList = [...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_1-1.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_1-2.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_1-3.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_2-1.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_2-2.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_2-3.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_3-1.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_3-2.csv",...
"iladata_814_1t2r_48msps_bw15m_buff_clk_noise_3-3.csv",...
];
[~,fileNum] = size(fileNameList);
maxList = strings(fileNum+1,5);
stdList = strings(fileNum+1,5);
maxList(1,:) = ["Max Value", "ch1", "ch2", "ch3", "ch4"];
maxList(2:end,1) = fileNameList;
stdList(1,:) = ["Std Value", "ch1", "ch2", "ch3", "ch4"];
stdList(2:end,1) = fileNameList;
for i = 1:fileNum
rxRaw = readmatrix(fileNameList(:,i));
[rowNum,colNum] = size(rxRaw);
if (colNum == 11)
rx = [rxRaw(:, 4)+1i*rxRaw(:, 5),rxRaw(:, 6)+1i*rxRaw(:, 7),...
rxRaw(:, 8)+1i*rxRaw(:, 9),rxRaw(:,10)+1i*rxRaw(:,11)];
elseif (colNum == 7)
rx = [rxRaw(:, 4)+1i*rxRaw(:, 5),rxRaw(:, 6)+1i*rxRaw(:, 7),...
zeros(rowNum,1),zeros(rowNum,1)];
else
disp('Invalid Data Format.')
return
end
maxList(i+1,2:end) = string(max(rx));
stdList(i+1,2:end) = string(std(rx));
end
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:af92871a9e2e99ecde034f758916e4c89a02bf11b52ceb41206caec9a415a2f9
3 size 5599871
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:d3e25320bf75b7827bb8164cbda86cdb62623e37c2933f40740477bab18351ac
3 size 5590817
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:9e563df31c9cfe0597bb3ecb8f37e1fb1e9d7dd4fad0ccb3a07b399369c0f80a
3 size 5598411
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:55ae4408ea9c0138b4b4dcf181aa3a2da6742e3a53df0374f69b2e54a0d9f7b1
3 size 5449788
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:d42664578c25f2532c9f75b413be7cfc49e56fcc721b2ce2685df6f71014bace
3 size 5456188
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:3d7c39792950a6e61ddd63395aeadc6be8c29e05c7d462defd60168a9d7ec98a
3 size 5459474
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:3788c210d82b3cb872b99f9cb6edc329072bb48a601d42d133d7402bc2930563
3 size 5565319
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:56c4351c127ed2f0cab5bbd93ce59affa0d9c54aa240f02b83a5910009b24102
3 size 5567941
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:4a9cb4c19cc2bcb31640f94997fcf4ad515d14f5706bbb6ba862fe625e7a73e0
3 size 5564539
@@ -0,0 +1,86 @@
%% File Header/文件说明
%
% Beamforming with phased array derives signal characteristics from phase
% differences between sensors. Therefore the amplitude-phase consistence is
% vital to phased systems.
%
% The script analyzes the amp-phase relations of ILA captured data, the format
% of which is square-shaped pseudorandorm bit sequence. Each channel is
% processed seperately with different frequency shifts and different optimum
% sampling points. The estimation of amplitude and phase are based on
% acculumated correlation peaks.
%
clc; clear;
%% initial parameters/初始参数
interp = 8; % interpolation factor
channelNum = 4;
dataLen = 131072;
fs = 48e6;
dataFile = "iladata_814_1t2r_48msps_bw15m_ext_lo_rxfir_bpsk_1-1.csv";
% standard pn sequence
pnSequence = comm.PNSequence('Polynomial','x^7+x^6+1', ...
'InitialConditions',[zeros(1,6),1],'SamplesPerFrame',2^7-1);
PRBS7 = pnSequence();
PRBS7_polar = 1-2*[PRBS7;0];
chipLen = length(PRBS7_polar); % pn chip length
symNum = dataLen/chipLen/interp; % total symbol number
symNumPerAccum = 1; % symbol nbumber of each accumulation
accNum = symNum/symNumPerAccum; % total accumulation numbers, i.e. peak numbers
%% data analysis
% read data, and swap ch1 and ch2, because loop data locate at ch2 and ch4
rxdata = readmatrix(dataFile);
seqRx(:,1) = (rxdata(:, 6) + 1i*rxdata(:, 7)).';
seqRx(:,2) = (rxdata(:, 4) + 1i*rxdata(:, 5)).';
seqRx(:,3) = (rxdata(:, 8) + 1i*rxdata(:, 9)).';
seqRx(:,4) = (rxdata(:,10) + 1i*rxdata(:,11)).';
% compensate frequecny deviation and downsample at optimum sample position based
% on the varience of constellation
[seqRxDown,fd,samplePos] = suqareShapeFreqEst(seqRx,interp,fs,-50,50,5);
% split [seqRxDown] into multiple groups, each group contains several symbols to
% be correlated with PRBS7 and accumulated
seqRxDownSplit = reshape(seqRxDown(1:dataLen/interp,:),chipLen*symNumPerAccum, ...
accNum,channelNum);
seqRxAcc = zeros(chipLen,accNum,channelNum);
desiredPnt = zeros(accNum,channelNum);
ampEstSym = zeros(accNum,channelNum);
angleEstSym = zeros(accNum,channelNum);
for i = 1:accNum
for j = 1:channelNum
% correlation & multi-symbol accumulation
groupCorrAcc = sum(reshape(conv(flip(seqRxDownSplit(:,i,j)), ...
PRBS7_polar,'same'),chipLen,symNumPerAccum),2)';
seqRxAcc(:,i,j) = groupCorrAcc;
% peak position
desiredPnt(i,j) = groupCorrAcc(abs(groupCorrAcc)==max(abs(groupCorrAcc)));
end
end
for i = 1:channelNum
ampEstSym(:,i) = abs(desiredPnt(:,i))./abs(desiredPnt(:,1));
angleEstSym(:,i) = mod((angle(desiredPnt(:,i))-angle(desiredPnt(:,1)))/pi*180,360);
end
%% figures
figure(1);
subplot(121);
plot(ampEstSym(:,[1,4]));
legend({"ch1","ch4"});
title("Amplitude Estimation");
ylim([min(ampEstSym(:,[1,4]),[],'all')-0.1,max(ampEstSym(:,[1,4]),[],'all')+0.1]);
grid on; grid minor;
subplot(122);
plot(angleEstSym(:,[1,4]));
legend({"ch1","ch4"});
title("Angle Estimation");
ylim([min(angleEstSym(:,[1,4]),[],'all')-1,max(angleEstSym(:,[1,4]),[],'all')+1]);
grid on; grid minor;
@@ -0,0 +1,50 @@
function [dataOut, fdTarget, samplePosTarget] = suqareShapeFreqEst(dataIn, interp, fs, fmin, fmax, fd)
%suqareShapeFreqEst - 利用星座图的集中程度在一定频率范围内使用频率步进估计方波成形信号的频偏
%
% data - input complex data, row vector
% dataLen - data length
% interp - interpolation rate
% fs - sampling rate, in Herts
% fmin - minimum estimation frequency, in Herts
% fmax - maximum estimation frequency, in Herts
% fd - estimation frequency step, in Herts
% dimension
[dataLen,channelNum] = size(dataIn);
freqList = fmin:fd:fmax;
freqNum = length(freqList);
varRecord = zeros(freqNum,interp);
dataOut = zeros(dataLen/interp,channelNum);
fdTarget = zeros(channelNum,1);
samplePosTarget = zeros(channelNum,1);
for channel = 1:channelNum
for freq = 1:freqNum
% carrier
cxr = exp(-1i*2*pi*freqList(freq)/fs*(0:dataLen-1)');
% apply frequency shift onto input data
seqRx = dataIn(:,channel).*cxr;
for samplePos = 0:interp-1
seqRxDown = downsample(seqRx,interp,samplePos); % 下采样
seqRxDownQuaterOne = abs(real(seqRxDown)) + 1i*abs(imag(seqRxDown)); % 集中到第一象限
varRecord(freq,samplePos+1) = var(seqRxDownQuaterOne);
end
end
[fdIndex, samplePosIndex] = find(varRecord==min(min(varRecord)));
fdTarget(channel) = freqList(fdIndex);
samplePosTarget(channel) = samplePosIndex-1;
cxrTarget = exp(-1i*2*pi*fdTarget(channel)/fs*(0:dataLen-1)');
seqRxTarget = dataIn(:,channel).*cxrTarget;
dataOut(:,channel) = downsample(seqRxTarget,interp,samplePosTarget(channel));
end
end
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:279f0e70f161b24b43020d900a5654663fae389850ddc2a4656af833af613bbf
3 size 4429049
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:0b19a75bcc24e2c7338ae70699c5788cf57a4580ca46e413f075643751eae581
3 size 4423775
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:d859db3a92a9ffbd534c7352022b41ff50c126582a768563d916c52b21b48cb7
3 size 4429639
Binary file not shown.
1 version https://git-lfs.github.com/spec/v1
2 oid sha256:ecd680f7bcd1c6d252852c4c66d1372823aa43eebd9906be0982a9ac92afaaf6
3 size 4476807

Some files were not shown because too many files have changed in this diff Show More