Hot answers tagged

25

To demodulate a phase-shift keyed signal, of which BPSK is the simplest, you have to recover the carrier frequency, phase, and symbol timing. Bursty Signals Some signals are bursty and provide a known data sequence called a preamble or mid-amble (depending on whether it shows up at the beginning or middle of the burst). Demodulators can use a matched ...


11

ISI, or intersymbol interference, means different things in the context of PSK and OFDM signals. In PSK signals the symbols almost always have tails that extend, in the time-domain, into the times of other symbols. This is what they mean by "intersymbol interference". Unfortunately they have to do this to reduce the bandwidth of the signal. They ...


9

The simple explanation is that there is an error in your simulation. Here's one that works in MATLAB: % number of symbols in simulation Nsyms = 1e6; % energy per symbol Es = 1; % energy per bit (2 bits/symbol for QPSK) Eb = Es / 2; % Eb/No values to simulate at, in dB EbNo_dB = linspace(0, 10, 11); % Eb/No values in linear scale EbNo_lin = 10.^(EbNo_dB / ...


7

Ideal symbol pulses are sequences of rectangular pulses. Rectangular pulses, unfortunately, have horrible frequency profiles, as shown below. The main lobe is where most of the pulse power is, and the other lobes are called side lobes. Though they do diminish in power the farther out they go, they don't diminish very quickly. The main purpose of pulse ...


6

Unfortunately you did not mention what your channel is so I assume that merely AWGN is present. Furthermore I assume symbol-by-symbol detection is desired since a decoder for the Hammingcode is following later. So a single symbol $x$ is received as $y = x + n$ where $x \in [1,j,-j,-1]$ and $n$ is distributed according to a zero-mean complex normal ...


5

Two successive symbols in the demodulator are $Z_1 = (X_1,Y_1)$ and $Z_2 =(X_2,Y_2)$ where $X$ is the output of the I branch and $Y$ the output of the Q branch of the receiver. The hard-decision DBPSK decision device considers the question: Is the new symbol $Z_2$ closer to the old symbol $Z_1$ or to the negative $-Z_1$ of the old symbol? and thus ...


5

Wow, I'm honored by Matt L. doing what I'm often doing: Referring people to GNU Radio. The project actually has a list of recommended literature, but I don't know how well that'd fit you. It's probably still worth looking into. Then, regarding QPSK: Well, it's one of the basic constellations, and you'd probably be best off reading a textbook intro to ...


4

This question seems to be based on several misconceptions. In a QPSK modulator operating at a rate of $N$ baud, two bits enter the modulator during each $T = N^{-1}$ second interval. If the bits are entering on a single wire (at a rate of $2N$ bits per second, the QPSK modulator first converts this serial input bit stream at $2N$ bits per second into two ...


4

Your timing error detector should be run once for each input symbol. As you noted, your signal is far more oversampled than you need to be, so you won't end up using most of them for the purposes of timing error detection. As the paper suggests, the detector uses three samples, each separated by half the symbol period $T$. So, for the first timing error ...


4

Let's look at each in turn: Standard QPSK: With standard QPSK, each of the signal points are in quadrature (Note that the signal points in the constellation can be at any arbitrary phase really; either 0, 90, 180, 270 OR 45, 135, 225, 315...or any phase offset as long as the four constellation points are always in quadrature-- your interpretation of $\pi/...


4

This is to take into account the oversampling operation. Symbol time = sample time implies no oversampling. See AWGN model for more details about the conversion among EbN0, EsN0 and SNR. For example, if a complex baseband signal is oversampled by a factor of 4, then EsNo exceeds the corresponding SNR by $10\log_{10}(4)$.


3

What you are seeing is the transitions from one constellation point to another. In order to reduce the signal bandwidth, the baseband signal is low-pass filtered. This causes the transitions to not be instantaneous (i.e. the I and Q are not square waves), so they take some time. You are simply seeing those transitions. The low-pass filtering also causes ...


3

It looks like your circle got bigger. The constellation is fine.


3

Polyphase Barker sequences have been studied (Google throws up multiple hits), but from a practical viewpoint, it is usually simpler to use binary Barker sequences on the I and Q channels.


3

Regard the dibits as Gray code representations of the integers $0,1,2,3$, more specifically, $$[0, 0] \leftrightarrow 0, ~~ [0, 1] \leftrightarrow 1, ~~ [1, 1] \leftrightarrow 2, ~~ [1, 0] \leftrightarrow 3.$$ Then, the precoding scheme is nothing but differential encoding for QPSK with to send = prev - to_encode modulo $4$. For example the line [ 1 ...


3

There's a problem with your method of computing powers. If you compute the signal power as $$P_s=\sum_{i=1}^ns_i^2$$ then the quantities $$\left(\sum_{i=1}^ns_i\cos(2\pi if_m/f_s)\right)^2\text{ and } \left(\sum_{i=1}^ns_i\sin(2\pi if_m/f_s)\right)^2$$ cannot be related to $P_s$ in any way that would be meaningful for your problem of detecting the ...


3

The asterisk refers to a complex conjugate. One typical method for soft decoding of differential modulations is the delay, conjugate, multiply technique: $$ S_i = D_i D_{i-1}^* $$ where $D_i$ and $D_{i-1}$ are two consecutive differentially-encoded symbols and $S_i$ is the differentially-decoded result. This general formula will work for DBPSK or DQPSK (...


3

To add to the excellent information given by Cassman in his response, here is a block diagram of a carrier recover loop for QPSK and QAM modems using a decision directed approach. I have detailed the decision directed phase detector in this post Phase synchronization in BPSK and this one How to correct the phase offset for QPSK I-Q data, while the block ...


3

Assuming we have timing recovery resolved (meaning our system knows the correct time locations for our symbol decisions), then we can use the decided symbols along with our pre-decision values in a Decision-Directed Phase Detector. This will give us an error value that we can then feed into a phase lock loop to correct for phase error using traditional PLL ...


3

Your Gardner Loop would properly "Flywheel" in the absence of symbol transitions. So it would slowly drift off of synchronization, but would not spiral out of control as you describe. This is ideal for a control system with "missing updates"; to have the contributions for those updates with no additional information to contribute 0 to the accumulated error, ...


3

The answer to your question is yes, these two representations are equivalent. The first important thing to note is that in your formula, $d_k$ must be either $1$ or $-1$, because the frequency difference for MSK must be $\Delta f=1/2T$. I'll add some information showing the equivalence of the two representations. Expanding your first formula gives $$\begin{...


3

I think you may be missing some fundamental understanding of QPSK modulation, which was likely the point of the homework exercise so let me hopefully fill in some blanks, from which you can figure out how to code up in your Matlab. This diagram of a QPSK modulator may be helpful, taken from http://www.masoodkh.com/projects/communications/18-qpsk-...


3

You've pointed out a very important distinction between theory and practice. In theory, as suggested by your book and in Fat32's answer, modulation schemes where all information resides in the phase of the signal, not in the amplitude, are called "constant envelope modulation". However, in practice our systems have finite bandwidth and instantaneous phase ...


2

This is the analytic signal. See wikipedia for better details. Basically you are taking the carrier correlation, $f(x)$, and its Hilbert transform, $(h \ast f)(x)$ and combining them into a single complex valued signal, the analytic signal $$f_A(x) = f(x) - i (h \ast f)(x)$$ which can be written as the complex exponential $$f_A(x) = A(x) e^{i \phi(x)}$$ ...


2

So not only do you need to do timing synchronization to recover the baud clock, you need to do some form of turn on detection. You could start your PSK synchronization at the first sample, but the metrics you get out of any synchronization algorithm would be worse than meaningless with no signal present. You should read a little about detection theory ...


2

The reason cyclic prefix is used in OFDM systems is to avoid complex equalizers in receivers. Cyclic prefix converts linear convolution of fading channel(h) & Tx data(x) into circular convolution. Without cyclic prefix: symbol at receiver y = h*x; *- linear convolution Here is a useful link for your question.


2

Your measurement of the symbol and noise energy is not correct. Please note that the following is pseudo-code, not valid Python code. EbN0_dB should be an input to this code, not an output. Esymbol = sum(real(data*conj(data))) / numSymbolsInData Eb = Es/numPayloadBitsPerSymbol Eb_dB = 10*log10(Eb) N0_dB = Eb_dB - EbN0_dB N0 = (10.)**(N0_dB/10.)


2

sure, in reception of QPSK, you receive bit pairs as they are transmitted, and detangle them in the reverse manner that they were grouped together. what's really cool about OQPSK is that the order of the bits going in can naturally determine the order of bit changing in OQPSK. in fact, it can be made into a DSP modulation system without the need for ...


2

In digital communications, you can transmit a sequence of numbers using a train of pulses that don't interfere with each other. A given raised cosine pulse $p(t)$ has zero crossings every $T$ seconds around its peak (for a certain $T$). Let's say you want to transmit the number sequence $\lbrace 3, -5 \rbrace$. You can do this with the 2-pulse train $$s(t)=...


2

You can use rectangular pulses, but it is not necessary to do so. Rectangular pulses have advantages and disadvantages. The advantage is that they are very simple and easy to use, both for the modulator and the demodulator. It makes life easier for the demodulator because it makes symbol timing very forgiving- you can be off on where you sample the symbol ...


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