kopia lustrzana https://github.com/proto17/dji_droneid
27 wiersze
770 B
Matlab
27 wiersze
770 B
Matlab
function [samples] = to_qpsk(bitvec)
|
|
assert(iscolumn(bitvec) || isrow(bitvec), "Bit vector must be a row or column vector");
|
|
assert(mod(length(bitvec), 2) == 0, "Length of bit vector must be an even number")
|
|
|
|
% Keep the power of each point at 1.0
|
|
amplitude = 1/sqrt(2);
|
|
|
|
samples = zeros(length(bitvec) / 2, 1);
|
|
|
|
for idx=1:2:length(bitvec)
|
|
bits = bitvec(idx:idx+1);
|
|
|
|
if (bits == [0, 0])
|
|
sample = amplitude + amplitude * 1j;
|
|
elseif (bits == [0 1])
|
|
sample = amplitude - amplitude * 1j;
|
|
elseif (bits == [1 0])
|
|
sample = -amplitude + amplitude * 1j;
|
|
else
|
|
sample = -amplitude - amplitude * 1j;
|
|
end
|
|
|
|
samples((idx + 1) / 2) = sample;
|
|
end
|
|
end
|
|
|