IEEE 802.15.4 /ZigBEEPHYをシミュレートしようとしています...
chip_values = [
1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0;
1,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,0;
0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0;
0,0,1,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,0,1;
0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,1;
0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,0,0;
1,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1;
1,0,0,1,1,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0,1,1,0,1;
1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1;
1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1;
0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1;
0,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,0;
0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0;
0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,1;
1,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,0;
1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0];
tx = [];
values = randsrc(1,1,[0:15]);
for k=1:length(values)
sym = values(k);
tx = [tx chip_values((sym+1),1:end)];
end;
tx = tx.';
h = modem.oqpskmod;
y = modulate(h, tx);
g = modem.oqpskdemod(h);
z = demodulate(g, y);
length(z)
for k=1:length(tx)
if(tx(k)~=z(k))
fprintf('%d %d\n',tx(k),z(k));
end;
end;
私の質問は、この単純なケースで、まだノイズを導入していなくても、txとzに同じ値が含まれていないのはなぜですか?ありがとう!
txの値は次のとおりです。
1列目から13列目
0 1 1 0 0 0 0 0 0 1 1 1 0
14列目から26列目
1 1 1 1 0 1 1 1 0 0 0 1 1
27列目から32列目
0 0 1 0 0 1
zの値は次のとおりです。
1列目から13列目
3 0 1 1 0 0 0 0 0 0 1 1 1
14列目から26列目
0 1 1 1 1 0 1 1 1 0 0 0 1
27列目から32列目
1 0 0 1 0 0
h =
Type: 'OQPSK Modulator'
M: 4
PhaseOffset: 0
Constellation: [1x4 double]
SymbolOrder: 'Binary'
SymbolMapping: [0 1 2 3]
InputType: 'Integer'
g =
Type: 'OQPSK Demodulator'
M: 4
PhaseOffset: 0
Constellation: [1x4 double]
SymbolOrder: 'Binary'
SymbolMapping: [0 1 2 3]
OutputType: 'Integer'
DecisionType: 'Hard decision'