我在Matlab中有一个位流,以行矩阵的形式。例如[0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 ...]如果它们匹配某个位组合,我想将它们分组成不等长的帧......任何想法我该怎么办?在Matlab中。
clear all;
bits = randi([0 1],1,100);
a1 = [0 0];
a2 = [1 0 0];
a3 = [0 1 0];
a4 = [1 1 0];
a5 = [0 1 1];
a6 = [1 0 1 0];
a7 = [1 1 1 0];
a8 = [1 1 1 1];
a9 = [1 0 1 1];
我想以a1 a2 a3 ......帧的形式对比特流进行分组或映射..
解决办法:
这听起来像你想解析顺序的比特流,发现在不等长的模式匹配a1通过a9。您没有明确指出的是您想要的输出。您可以将2,3或4位的组分组到单元阵列的单元格中,也可以创建一个新的整数数组1到9,表示匹配的位模式。这是实现第一种选择的一种方法:
function bitCell = group_bits(bits)
grouping = [];
nBits = numel(bits);
index = 1;
while (index <= nBits)
if (index+1 <= nBits) && isequal(bits(index+[0 1]), [0 0])
grouping = [grouping 2]