Hot answers tagged

5

So this seems to be a general block diagram for these types of modulations. No, this is a block diagram of a IQ upconverter with some unspecified digital data modulator on the input. You need to mentally divide the modulation from the tools you use to implement it. There's other architectures that can produce the same signal (and they're not uncommon). But ...


3

I commend you for using an intuitive algorithm. However, there are already established algorithms with far better performance. Phase recovery algorithms work by filtering the error signal down to zero. An example is the Costas loop structure shown in the figure below for QPSK. Let's start with phase error detectors (Highlighted in yellow). The arctan ...


2

Your problem parallels exactly what we do in seismic exploration, although the scale is different. We also use sound waves, with frequencies of 0-100 Hz, and record times up to about 10 s. A few ideas which may help. Autocorrelation: The correlation approach (matched filtering) is the way to go. First, suggest you look at the autocorrelation of your input ...


2

I start with BPSK achieving 1 bits/sec/Hz over passband AWGN. Factoring in 1/3 rate coding this becomes 0.333 bits/sec/Hz. This is not correct. The Shannon noisy channel coding theorem states that the reliable discrete-time rate $r$ (whose unit is bits per symbol, or bits per channel-use, or bpcu) is upper-bounded $$r \lt \frac{1}{2}\log_2\left(1 + \frac{S}{...


1

You've computed the bound on the capacity of an AWGN channel. But with the additional constraint that the signal must use BPSK modulation the capacity will be lower (I don't know offhand what it is but there should be a reference in the text). Edit: There's a good description of the difference between continuous- and discrete-input AWGN channels here: ...


1

Your signal is 8 samples per symbol. After reviewing your eye diagram it also appears that the signal is only root-raised cosine filtered. It should go through one more root raised cosine filter before final decision (the matched filter in the receiver) for optimum performance in the presence of noise.


1

I would recommend the Gardner Timing Error Detector vs the CORDIC for determining timing error for use in a timing recovery loop. (The CORDIC is an algorithm of choice when we desire to trade iteration for computation of accurate phase, but the computations required for the Gardner are so minimal that this point is mute). The Gardner works with only two ...


1

First of all, you're understating your problem. The error probability depends not only on your noise power (density), but also on the actual distribution of noise. Also, you need to realize that bit error probability is not the same as symbol error probability, not even proportional, so at best, the formula you pasted (from an uncited source) is only an ...


1

My question is what is significant of this two lines The code receives a buffer of bytes but the modulation is based on a stream of bits. The outer loop loops over all bytes in the buffer. The for (int j = 0; j < 8; j++) { This loops over all 8 bits in the current byte int bit = (buf[i] >> j) & 0x01 This tests whether the j'th bit in the ...


1

In any PSK modulation, the information is only in the phase. An unknown $h$ randomly rotates your phase. You know nothing about the phase that $x$ had when you observe $y$. Hence, you have zero mutual information. One could write that down as a very short formal proof based on conditional entropies, but I don't think that'll help you; the more intuitive ...


Only top voted, non community-wiki answers of a minimum length are eligible