Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Introduction
� Adaptable software & flexible open hardware
� SDR is being used a bit in the military area, but not being used widely
� Highly flexible solutions with benefits to operators, manufacturers and consumers
New
technology
Need
UPGRADE
SDR (Software
Defined Radio)
Introduction
� What we did before mid-presentation:
� Study of SDR HW / Python syntax
� Study of the example codes in GNU tutorials
� Modifying example codes
� Study of FSK, PSK
� What we’ve done since mid-presentation:
� Main purpose :
Transmit modulated binary data from one USRP board to another USRP board, and demodulate the received data
-> We want to extract original data!
Introduction
� What we’ve done since mid-presentation:
� Trial 1:
Sending binary data with BFSK
� Trial 2:
Change RF frequency to 1.2GHz (It needs HW setting)
� Trial 3:
Sending binary data with QPSK
� Trial 4:
Sending binary data with BPSK
� Trial 5:
Sending 2 files at once (using QPSK)
SDR Pictures
Signal Flow
1 -1 1 -1…
1-1 mapping
1 -1 1 -1…
With IF carrier
1 -1 1 -1…
With RF carrier
PC
USRP
Board
USB
Tx
Antenna
1 0 1 0…
Binary file data
Modulation
1 -1 1 -1…
1-1 mapping
1 -1 1 -1…
With IF carrier
1 -1 1 -1…
With RF carrier
PC
USRP
Board
USB
Rx
1 0 1 0…
Binary file data
Demodulation
FSK(Frequency Shift Keying)
� Binary data changes Txsignal frequency
� Tx signal equation
� GNU supports FM modulation/demodulation block
� If the data is binary, it’s BFSK!!
))(22cos( dttkmtfC ππ ∫+
QPSK(Quadrature Phase Shift Keying)
� Data changes the phase of Txsignal
� USRP can transmit 2 real signals: Inphase, Quadrature(complex signal)
� Rx part should be implemented as coherent receiver
� BPSK only has I part!!
Trial 1: BFSK with 400MHz
� GNU made a BFSK python code and we modified it
� We transmitted several binary files into USRP board, Tx (GNU supports FM modulation library)
� We got a signal stream from Rx USRP board, and demodulated it to acquire original data by the python code
� BFSK did not work well, so we changed the RF frequency to 1.2GHz (Hardware setting)
Trial 2: BFSK with 1.2GHz
� For 1.2GHz, it needs another codes about HW setting (400MHz does not need this)
� Didn’t work well
� We decided to alternate the way of modulation:
QPSK
� We figured it out in a long time
: adjusted the signal amplitude
Trial 3: QPSK
� We made a QPSK code
� Tx signal was perfect
� But Rx took a different signal
� It didn’t work at all
� We tried to implement a simpler method, BPSK
Trial 4: BPSK
� BPSK uses only I(inphase) part, Q part is all 0s (or -1s)
� Tx signal is perfect, but Rx signal is in another world
� The reason was that Tx, Rx were not coherent: phase difference
Trial 4: BPSK Error Analysis / Correction
I
Q
)2sin( tfCπ
)2cos( tfCπ
Tx signal
)2sin( φπ +tfC
)2cos( φπ +tfC
Rx signal ∫
∫
I
Q
Encoding
Decoding
-1 -1 …
Discard
Trial 4: BPSK Error Analysis / Correction
� Tx signal:
� Problem: if phi != 0, Rx signal s(t) is…
)2sin()()2cos()()( tftmtftmtT CQCI ππ +=
)()2cos()()( tKmdttftTtI IC ≠+= ∫ φπ
)()2sin()()( tKmdttftTtQ QC ≠+= ∫ φπ
Trial 4: BPSK Error Analysis / Correction
� Because of phase difference, Rx signal is different from Txsignal
� In both case, sum of amplitude square is almost same
� Need phase compensation block!!!
Trial 4: BPSK Error Analysis / Correction
� GNU Costas block adjusts Rx phase to Tx
� Using Costas block …
Trial 5: Sending 2 files (using QPSK)
� In BPSK, we didn’t use Q part
� Another data can be sent through Q part, so we did it
I
Q
)2sin( tfCπ
)2cos( tfCπ
Tx signal
)2sin( φπ +tfC
)2cos( φπ +tfC
Rx signal∫
∫
I
Q
Encoding
Decoding
Encoding
Decoding
Demonstration – FSK (using 1 board)
�Before �After
Until this line(80KB),
Error rate = 0.41%
Demonstration - BPSK (using 1 board)
�Before �After
Until this line(80KB),
Error rate = 0.44%
Demonstration – QPSK (using 1 board)
Error rate = 0.52%
Error rate = 0.49%
Future work
� For the same Tx, Rx
� Costas block doesn’t work perfectly: sometimes I and Q are reversed
� 0th packet loss: costas consumes 0th packet for synchronization
� Packet loss at the end of file: It’s a problem related to stream buffer
� For the separate Tx, Rx
� Compensation for frequency difference
Q & A
Thank you!