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
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
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
To find out why, I pinted out the transmitted symbols in qam mod block
gnuradio/gnuradio-core/src/gengen/chunks_to_symbol_bc.cc in a txt file,
received symbols in qam demod block in
gnuradio/gr-digital/lib/digital_constellation_recever_cb.cc in another
file. Next, I demodulate those symbols based on closet Euclidean
criterion by MATLAB, however,bit error rate turned to be around 0.5
shift is made to find the minimum ber ) which implies that received
and transmitted symbols are independent. AM I RIGHT ABOUT WHERE TO
OUT THE SYMBOLS?
One thing to notice, when I changed qam blocks to OFDM blocks, the file
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,
synchronization or channel equalization etc. that result in transmission
failure. How can I solve it? MY PURPOSE IS TO GET correct symbols to
to bits by myself.
Sorry for sending such a long mail. Thank you very much for your help.