clc
clear all
close all
load orinal.mat
orinal=orinal(1:end,43:1066);
orinal=orinal';
aa=orinal(:)';
% jiaoyan=43;
% for i=1:length(aa)
% if(jiaoyan==201)
% jiaoyan=0;
% end
% if(aa(i)~=jiaoyan)
% fprintf('wrong!index=%d',i);
% break;
% end
% jiaoyan=jiaoyan+1;
% end
data=aa';
[m,n]=size(data);
measurement_number = 22+19+25;
% 计算电路C-V转换灵敏度
f = 100e3;
w = 2*pi*f;
Rf = 33e+03;
Cf = 4.7e-12;
Vi = 22;
sensitivity = Rf/(sqrt((w*Cf*Rf)^2+1));
phi_sen = 90 + atand(1/(w*Cf*Rf));
for i = 1 : 4000 % 1激励时上传的是0激励的解调数据
mark1 = floor(data(i)/(2^4));
mark2 = floor(data(i+4)/(2^4));
mark3 = floor(data(i+8)/(2^4));
mark4 = floor(data(i+12)/(2^4));
if (mark1 == 11 && mark1 == mark2 && mark2 == mark3 && mark3 == mark4)
mark1 = floor(data(i+16)/(2^4));
mark2 = floor(data(i+20)/(2^4));
mark3 = floor(data(i+24)/(2^4));
mark4 = floor(data(i+28)/(2^4));
if (mark1 == 4 && mark1 == mark2 && mark2 == mark3 && mark3 == mark4)
start = i + 16;
break;
end
end
end
data=data(start:end);
[m,n]=size(data);
j = 0;
for i = 1 : floor(m/8)
j = j + 1
sin_cos(j, :) = data(1+8*(i-1): 8+8*(i-1));
data_sin(j, :) = sin_cos(j, 1)* 2^24 + sin_cos(j, 2)* 2^16 + sin_cos(j, 3)* 2^8 + sin_cos(j, 4);
data_cos(j, :) = sin_cos(j, 5)* 2^24 + sin_cos(j, 6)* 2^16 + sin_cos(j, 7)* 2^8 + sin_cos(j, 8);
% 去掉标志位
board_flag(j, :) = [floor(data_sin(j, :)/(2^28)), floor(data_cos(j, :)/(2^28))];
data_sin2(j, :) = (data_sin(j, :) - floor(data_sin(j, :)/(2^28))* 2^28); % bitshift
data_cos2(j, :) = (data_cos(j, :) - floor(data_cos(j, :)/(2^28))* 2^28);
if(floor(data_sin2(j, :)/(2^27))==1)
data_sin2(j, :) = -(2^28 - data_sin2(j, :));
end
if(floor(data_cos2(j, :)/(2^27))==1)
data_cos2(j, :) = -(2^28 - data_cos2(j, :));
end
% 计算解调幅值
data_new(j, :) = sqrt(data_sin2(j, :)^2 + data_cos2(j, :)^2)/64/50;
end
[m,n]=size(data_new);
% 整理帧数据
j = 0;
for i = 1 : measurement_number : m-measurement_number+1
% for i = 1 : measurement_number : 10*measurement_number+1
j = j + 1;
C_m1(j,:) = data_new(i:i+measurement_number-1)';
flag_reshape(j,:)=board_flag(i:i+measurement_number-1,1)';
end
% save C_m.mat C_m
data_period = C_m1;
aa=[];
for i=0:47
aa=[aa 1+i*6];
end
for i=0:3
bb(i+1,:)=aa(i*6+1:i*6+6);
end
shunxu=[38,1,7,121,127,13,19,97,103,25,31,2,8,122,128,14,20,98,104,26,32,43,75,76,111,112,113,114,77,78,9,10,117,118,119,120,83,84,51,52,124,125,126,27,33,129,130,131,132,28,34,57,63,18,89,90,23,24,95,96,66,65,102,107,108,71];
xulie=sort(shunxu);
xx(:,xulie)=data_period;
side3=xx(:,shunxu);
save side3.mat side3
figure(1)
plot(SNR(xx(:,shunxu)),'r');
figure(2)
plot(xx(:,shunxu)','r');