20

Most certainly not. While there has been some claims to break Shannon here and there, it usually turned out that the Shannon theorem was just applied in the wrong way. I've yet to see any such claim to actually prove true. There are some methods known that allow for transmission of multiple data streams at the same time on the same frequency. The MIMO ...


14

The capacity of a channel should be viewed as analogous to the speed limit on a highway. It is possible to travel at a speed greater than the posted limit on a highway but it is not possible to achieve good gas mileage while doing so. Similarly, it is possible to transmit data at rates higher than the capacity of the channel (in fact, unlike highways, ...


8

Like other comments, I don't really understand your question. What I am trying to do is to list basic things so that other ones can suggest edit because I find it is much easier to write in answer part :). Please let me know if it makes you less confused. The general communication system is At transmitter, before modulator is digital, modulator is the ...


7

There is no inherent symbol rate for any modulation type. 64 QAM symbols transmit 6 bits per symbol, and 256 QAM symbols transmit 8 bits per symbol. If the bit rate were to stay constant, then the 256 QAM symbol rate would be 6/8 of the 64 QAM symbol rate, but it appears that that is not the case (assuming your numbers are correct). That may be because ...


6

A binary symmetric channel (BSC) can be characterized by its complemented probability $p$. Its well-known capacity is $$C = 1 - H(p) = 1 - (-p\log(p) - (1-p)\log(1-p))$$ where $H(p)$ is binary entropy function: A $L-$concatenated BSC, which is also a BSC characterized by $p_L$, can be visualized as in the figure below The complemented probability $p_L$ ...


5

This is a behaviour that is commonly outlined in some textbooks and tutorials on FEC, but usually in the form of an observation. For instance, Turbo Codes are sometimes characterised by their Threshold $E_b/N_o$, which can be considered as the minimum SNR per bit from where the BER starts to decrease. I have not seen a formal explanation for this property, ...


5

I'm afraid that this will be an incomplete answer, but I'm giving it in the hopes that it is better than nothing. It is impossible to recover any information with a BER of 50% because, as information theory tells us, no information is getting through such a channel. You can see this intuitively if you realize that no matter what bit you send, 0 or 1, it ...


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

There are, a few discrepancies that might be making a difference here. My suggestion would be to edit the question for clarity. There are quite a few assumptions that lead to non-straightforward thinking about the problem which I have tried to address to an extent and I would be happy to modify the response in light of more information. In machine ...


4

As per @JasonR's suggestion (but no longer succinct...., though hopefully still correct...) Error-control coding creates redundant symbols that are also transmitted over the channel. A simple description of what happens is as follows. The data symbols are divided into chunks of $k$ (data) symbols and to each such chunk is appended a chunk of $n-k$ redundant ...


4

Your problem can be restated as the following: "Find an easily computable bijection from the integers $0 .. {n \choose n / 2} - 1$ to the set of binary strings of length $n$ with exactly $n / 2$ zeros and $n / 2$ ones." Formulated this way, this looks like a combinatorial numbering problem. Decoding is quite simple and involves accumulating binomial ...


4

As the other answers mention, the use of FEC results in post-decoding errors occurring in bursts. Indeed, this happens regardless of whether the code is a convolutional code or a block code. With a $(n,k)$ block code, the decoder output ($k$ bits) from the decoding of one received word is (hopefully with high probability) completely correct, or it has an ...


4

There are two different kinds of channel models that are being confused here. In the binary symmetric channel, the inputs and the outputs are constrained to be $0$ or $1$ and the key parameter is the transition probability: the probability that an input $0$ is changed to an output $1$ or vice versa. The channel capacity $C$ is a number between $0$ and $1$ ...


4

The Berlekamp-Massey algorithm and the extended Euclidean algorithm (both further extended with the Chien search and the Forney calculation of error values) for decoding BCH and RS codes (hereinafter referred to as the decoder) have the following characteristic that is not well understood by many people: If there is a codeword $\hat{\mathbf C}$ that ...


3

There are two main factors when figuring out how many bits are transmitted per symbol (or "channel use"): the modulation and the error correction encoding. For instance, BPSK modulation with no encoding transmits 1 bit/symbol, while QPSK with no encoding transmits 2 bits/symbol. Higher order modulation schemes (e.g. 8-PSK, 16-QAM, 32-QAM, etc.) can ...


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

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

The relationship between SNR and $E_b/N_0$ is independent of the code rate. Note that $E_b$ is the energy per data bit (not the coded bits), and $R_b$ is the (uncoded) data bit rate. As long as you keep using these values, you can use the formula given in your question. Of course, when going from an uncoded system to a coded system, the values of $E_b$ and $...


3

The energy per bit, $E_b$, is independent of the coding rate. Note that $E_b$ measures the energy per transmitted information bit, not per transmitted symbol. Let's say you're willing to spend one joule per information bit, so $E_b=1$. You use uncoded BPSK, so that each transmitted symbol carries one bit of information and so it also has energy one. Let us ...


3

I don't think you cannot state generally that $y_1$ and $y_2$ will be orthogonal. I'll try to sketch out my thinking: Since the Hamming code is a linear code, each parity bit can be represented as a linear combination of the information bits; that is, each bit can be represented as: $$ p_i = \mathbf{g_i^T}\mathbf{x} $$ where $\mathbf{x}$ is the ...


3

Because the entropy represents information quantity, or if being measured in bit, the smallest number of bits per symbol we need to represent a source. The source $A$ contains $4$ equiprobable symbols hence it is obvious that we need $\log_2(4) = 2$ bits per symbol to represent the source. The source $C$ is simply $A$ with its parity bits hence no new ...


3

First I found the sine wave extrema (black markers at the bottom) and stretched and superimposed a sine wave graph (red) on top of the signal graph with the extrema in the same locations. The signal matches (0) the sine wave over some of the non-zero segments, and over the other non-zero segments it matches the sine wave with a sign flip (1). This gives a ...


3

The IQ data looks like a sinusoidal modulated pulse train with binary phase shift keying (BPSK) superimposed. The BPSK symbol rate appears to be at the same rate as the pulse repetition frequency (PRF). I was bored, so I went ahead and modeled the data in MATLAB. clear; clc; % Measured quantities from IQ data pw = 2.1771e-4; % Pulse Width pri = ...


3

I think you're confusing two different (but related) terms. Nyquist says that in a channel of bandwidth $B$ you can transmit up to $2B$ orthogonal pulses per second. So, $R_p \leq 2B$, where $R_p$ is the pulse rate. To achieve $R_p = 2B$, the pulses need to be sinc-shaped. Other, more practical pulses achieve slightly less than that. For example, raised ...


2

To add to the other comments and answers, managing the DC component in your signaling stream is generally done by employing bipolar line coding techniques. There are many. Here is a reference: http://www.engr.sjsu.edu/rmorelos/ee161s12/PulseShaping.pdf


2

There are more modern protocols that should be able to achieve the efficiency that you want. For example, PCI Express 3.0 (the most recent revision) uses 128b/130b encoding, which encodes 128 information bits into 130 channel bits. Ther seems to be on the order of overhead that you are looking for. I'm not aware of the implementation details for this ...


2

Is the 500-bit encoded message part of a continuous stream being decoded by the Viterbi decoder, or is it a 500-bit packet that is decoded individually? If part of a stream, then decoding continuously and searching for the preamble indicates the beginning of the message. If packetized, then the decoder memory needs to be managed so that the first decoded ...


2

Is it possible to know with say a reed-Solomon technique how many paity bits I would need to add to each block to move in the neighborhoos of 100%? Normally yes, if you know that you will never have more than $e$ bit errors in a block of length $N$, then you could design a RS code that would fix them all. The problem in your case is that 30% bit errors is ...


2

I find it surprising that it didn't matter where you started. Normally incorrect symbol alignment will completely change your results. The usual method for determining the correct alignment (assuming you don't have other information like a Frame Alignment Word to help you figure it out) is to try both possible phases and see which produces a lower path ...


2

Convolutional codes are linear in the Galois{2} (i.e. binary) field. We know this because the convolution operation is linear. The fact that Viterbi codes are linear has a few implications. First, if you input all 0's you will get all 0's out. Second, if you add two inputs together the output will be the sum of their individual outputs. The last piece ...


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