Hi all,
I’m playing with qam modulation and demodulation blocks using GRC.
To begin with, I built a flow graph in one computer as follows:
File source---->packet encoder---->qam mod----->qam demod----> packet
decoder----->file sink
It worked well. The file sink can get what is in the file source.
Then, I separated the flow graph in two computers connected to a USRP
N210
each to test real environment performance:
Computer1: File source---->packet encoder---->qam mod----->usrp sink
Computer2:usrp source----> qam demod----> packet decoder----->file sink
However, the file sink cannot get anything.(both with/without
differential
encoding )
To find out why, I pinted out the transmitted symbols in qam mod block
in
gnuradio/gnuradio-core/src/gengen/chunks_to_symbol_bc.cc in a txt file,
and
received symbols in qam demod block in
gnuradio/gr-digital/lib/digital_constellation_recever_cb.cc in another
txt
file. Next, I demodulate those symbols based on closet Euclidean
distance
criterion by MATLAB, however,bit error rate turned to be around 0.5
(some
shift is made to find the minimum ber ) which implies that received
symbols
and transmitted symbols are independent. AM I RIGHT ABOUT WHERE TO
PRINTING
OUT THE SYMBOLS?
One thing to notice, when I changed qam blocks to OFDM blocks, the file
sink
can get what is transmitted properly even in the case of two computers.
Therefore, I’m wondering if there is any problem with the qam blocks,
like
synchronization or channel equalization etc. that result in transmission
failure. How can I solve it? MY PURPOSE IS TO GET correct symbols to
demap
to bits by myself.
Sorry for sending such a long mail. Thank you very much for your help.
Best,
Jia