Hi,
I think I make some progress. I think the problem are mainly associated with "blob" used in simple_trx. I wonder except John Malsbury, who write simple_trx in pre-cog, if there is anyone who can fix the problem. The problem is to make simple_trx work with other modulation in two host computers, like bpsk, QAM.
I find in the receive path, they are same, except in simple_trx, gr_msg_queue() is set to gr_msg_queue(4) and in benchmark, it is default.
The detail of receive path is
"uhd_source->channel_filter->demodulator->correlator->frame_sink"
demodulator, and correlator are modules in gr-digital.
But in transmitter path, there is a big difference.
In simple_trx,
"pad_source->framer->modulator->muliplier->burst_gate->uhd_sink"
In benchmark
"pkt_input->modulator->amplifier->uhd_sink
From the codes of framer and burst_gate, I do not really understand how they works. But
But after I change the transmitter path of simple_trx,(remove framer and burst_gate) it can receive some data from radio, but the data type is not righ, so the recieve host print its address "86" and data receive and "not a blob --simple MAC".
But if I keep them, then modulator fails for DBPSK, but it works for GMSK. It is really strange after changing the modulation, then simple_trx fails to work.
There is some link describe pmt_blob. But I am not sure the advantage of using blob and where blob is defined.
=================================
Xiangwei Zheng
Research Assistant
ECE Department, Virginia Tech
Office: Durham Hall 365
Tel:
540-553-6235
From:
address@hiddenDate: Thu, 13 Dec 2012 11:16:01 -0500
Subject: Re: [Discuss-gnuradio] how to deal with "underride"
To:
address@hiddenCC:
address@hiddenOn Wed, Dec 12, 2012 at 6:20 PM, zhengxiangwei
<address@hidden> wrote:
I think frequency offset may not be the reason.
The attachment is the oscilloscope picture. The first one use DBPSK modulation, which can be received by simple_trx.py. The second one use GMSK modulation, which can be successfully received by simple_trx.py.
I wonder is there any reason may cause simple_trx.py fail to work using DBPSK.
Thank you.
=================================
Xiangwei Zheng
Neither of those figures really shows anything. The bandwidth is way too high. But the fact that the scope is telling you that the signal is clipping might be an indication that you're feeding way too much power into the transmitter.
Tom
On Wed, Dec 12, 2012 at 11:49 AM, zhengxiangwei
<address@hidden> wrote:
I compared the difference when using GMSK and PSK in simple_trx.grc which use radio_hier.grc.
When use GMSK,
it calls
gr_fir_fff: using SSE
When use PSK,
it calls
gr_fir_ccf: using SSE
gr_fir_ccc: using SSE
Also I compare with benchmark_tx,
when use PSK
it calls gr_fir_ccf: using SSE
when use gmsk
it calls
gr_fir_fff: using SSE
I know c, f means different data type: complex and float.
Is it the reason why PSK fail to work? which calls additional "gr_fir_ccc: using SSE"?
If it is not the reason, I will dive into framer, which may also cause failure in TX.
Thank you.
=================================
Xiangwei Zheng
No, this is not the reason. This is probably a channel filter used in PSK signals and not in the GMSK signals.
Most likely the reason is frequency offset or too much or too little power.
Tom