BPSK Implementation
Transmitter
BPSK Transmitter Flow Graph Include mainly consist of the following
- File Source : for File processing processing
File Processing
it sends preamble first , then data, file name , #EOF
File processing is in the sense that , it is a embedded python block, it reads data for example if you have a file
then , the the EPB(Embedded Python Block) will first read the say 10Bytes "hi im arun" , then transmits it , under the hood , it first sends a preamble like %UUUU] , then the data("hi im arun") then a post filter "#EOF" for marking it is the end of file .
- Stream CRC32 : It computes the 32 bit checksum for the data
- Protocol Formater : adds a header with acccess code
- Tagged Stream MUX : multiplex it to gether (combines header and payload)
- Constellation Modulator : modulate to the constellations
and sps: 4
dif_encoding: true
excess_bw: 0.35 - FFT Filter : It is used to shape the signal spectrum
- Fractional Resambler : It is used to resample the signal to get the desired sampling rate , 48K to 768k
- Pluto Sink : It is used to transmit the signal
Receiver
BPSK Receiver Flow Graph Include mainly consist of the following
- Pluto Source : It is used to receive the signal
- AGC : used to automaticaly adjust the gain
- FLL Band Edge : carrier frequency synchronization
- Symbol Sync : symbol timing reecovery
- Costas Loop : phase recovery
- BPSK Demodulator
- Diff Decoder
- Detect Access Code
- Repack Bits 1 -> 8 because the demodulation happens at bit level in gnu radio
- Before repacking: [0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00] (8 bytes representing 8 bits)
- After repacking: [0x5A] (1 byte containing all 8 bits: 01011010 in binary)
- Stream CRC : Check the CRC
expects byte-aligned data to properly verify the checksum
- File Sink : It is used to save the data