discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] tx <-> rx transmission


From: Landsman, Arik
Subject: Re: [Discuss-gnuradio] tx <-> rx transmission
Date: Mon, 14 Mar 2016 17:51:05 +0000


P.S. - thread name is "costas ambiguity and correlate-and-sync block in qpsk"



From:
Landsman, Arik
Sent: Monday, March 14, 2016 1:49 PM
To: address@hidden
Cc: address@hidden
Subject: RE: [Discuss-gnuradio] tx <-> rx transmission



HI,

mfsk is the digital implementation of FM and analytically very similar to mpsk. psk is spectrally more efficient though. QAM is not feasible in wireless transmission (undeterministic amplitude of Rx stream) and is typically used for wired channels (say, docsis for cable). So I would focus on mpsk.

I had done the following, still working on recovering the 90* ambiguity for costas (see other thread), but overall here is what I have on the rx side:

power squalch --> AGC2 --> FLL (not required for a largely static channel) --> <some corr to preamble block> --> Polyphase sync (or MM) --> CMA equalizer --> costas --> demod

note that AGC is needed for CMA and costas, but would not be ok for QAM of course.

the CMA eq likes > 1sample/sec, so set the polyphase output sps appropriately. Without CMA, costas has trouble locking with real signals (ok in most sims though). This isn't a particular problem for diff encoding, but not ok for a preamble sync and traditional psk demod. I use sps_out = 1/2*sps_in.

Tx sps should be > 2. I use 8 typically. sps=2 is not enough for most algorithms to converge. you could optimize (reduce) this value later - the N210's are limited to ~15MSPS, or 1/8 of that with sps=8..

keep in mind that for qpsk, the psk_mod transmits QPSK at 45*, 135* [...] where as costas aims to lock onto 0*,90*, etc. This can be easily corrected, but the default decision making for the psk_demod would not be happy about this, especially since it is a canned block with built in FLL/PPCS/Costas under default settings (no hooks to change from GRC besides loop bw). so unless using diff encoding you may want to design your own rx signal chain as you suggested.

to do that, you would need to pass your own constellation object to a "demapping block" (sorry the actual name escapes me, search in GRC, it is a remapper with a user-defined RRC taps). There are some good examples that Tom R put together in the gr-digital/examples folder that show how to manipulate constellation objects.

What did you mean by "blocker-problems"?

See also Andy Walls' comments in the "
90* ambiguity" thread, some additional insights there.

Best Regards,
Arik


Hello friends, does anybody know where I can find some full example with

one way transmission in one of this modulations: m-psk, m-fsk, m-qam ??? -
But not Differential m-psk
I would like to   see full recovery path (carrier, symbol, equalization) in
radio receiver.
I know that there is example on gnuradio site but it doesnt involve real
devices, and if I tried myself to reconnect with devices this example I had
few blocker-problems :)
I have B210 and RTL.

PS.
What is a proper path of signal receiving in digital modulation receiver:
in my logic :

device -> clock recovery -> symbol recovery (costas loop) -> equalization
->demodulator -> packet deckoder
 ??

reply via email to

[Prev in Thread] Current Thread [Next in Thread]