|Subject:||Re: [Discuss-gnuradio] tx <-> rx transmission|
|Date:||Mon, 14 Mar 2016 17:49:07 +0000|
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.
|[Prev in Thread]||Current Thread||[Next in Thread]|