📄 framecheck2.m
字号:
function Buffer_Data = framecheck2(in_data,count_buffer)
looptime = length(in_data);
DM_I_old = 0; % 前项
BinFlag = 0; % 跳变检测开始标志
sum_data = 0; % 累加数据
sum_flag = 0; % 累加计数标志
Buffer_Data = []; % 解调输出祯
for k = 1:1:looptime
IPSum = in_data(k); % 待检测数据
DM_I = sign(real(IPSum));
diff = DM_I*DM_I_old; % 跳变判断
DM_I_old = DM_I;
position_judge = mod(count_buffer(k),20);
if ((diff == -1)&&(position_judge == 1))
BinFlag = 1;
end
if BinFlag == 1
dem_data = DM_I;
sum_data = sum_data+dem_data;
sum_flag = sum_flag+1;
if sum_flag>=20; % 每累计20个数据,累加计数标志复0位
sum_flag = 0;
out_sum_data = sum_data; % 将累加的20个数据之和付给out_sum_data
sum_data = 0; % 将累加数据复位为0
% if abs(out_sum_data) == 10 % 当out_sum_data为+10/-10时则为正确检测祯,否则其中有错误解调数据
if abs(out_sum_data) >= 10
out_data = sign(out_sum_data); % 正确时对应该20位,输出1bit数据
else
out_data = 0; % 错误时,用0代表该20位出错。
end
Buffer_Data = [Buffer_Data out_data]; % 祯检测输出
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -