BPSK implementation