discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: QAM constellation script


From: Daniel Estévez
Subject: Re: QAM constellation script
Date: Sat, 6 May 2023 09:45:34 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1

On 03/05/2023 18:20, Marcus Müller wrote:

¹ this is the standard situation for me to start a flamewar on the nature of DSSS: from a coding perspective, DSSS is just a repetition code. Repetition codes are what we call "bad", so instead of concatenating a r = 1/F DSSS-repetition-code after a r=4/5 Turbo code, we'd be much much better off just using a r=b/R "proper" code to begin with. I guess the thing is that decoding complexites of very low rate code decoders are usually not fun at bad input SNRs.

Hi Marcus,

Not to start a flamewar, since I can see what you mean here, but I'm wondering: is DSSS the same as repetition code? A commonly used technique to transmit data with DSSS is to use 2^m quasi-orthogonal codes to transmit m bits per "symbol". These 2^m codes may be different codes drawn from the same pool (Gold codes, etc.), or circular shifts of the same code (this concept is being explored for future GNSS signals under the name of CSK, code shift keying). The uncoded BER performance is pretty similar to m-FSK, since the "symbols" are nearly orthogonal.

I might be misremembering things, but I think that for large m the BER performance of uncoded m-FSK is better than uncoded BPSK, simply because the BER curve falls off more steeply. In this sense, using different DSSS codes actually achieves some coding gain that justifies bandwidth expansion, whereas the alternative approach of using a single PN sequence modulated in BPSK is as you say a repetition code and doesn't provide any coding gain.

Surely this idea is very far from getting us a capacity-achieving code (any simple FEC beats uncoded m-FSK even if m is pretty large). But on the other hand, the typical bandwidth expansions of a DSSS system are on the order of 100x or more. I would be curious to know if there's an r=1/100 code that is good and can be implemented in practice. Probably there are diminishing returns when r -> 0, and decoding cost blows up. Hence the usual idea of concatenating a DSSS-repetition-code and an outer usual FEC (maybe not an r=4/5 Turbo, but r=1/6).

Best,
Daniel.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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