Hot answers tagged

9

Phase (or carrier) Recovery for BPSK can be done over the entire sequence using the information from every sample. Here are common approaches to doing Carrier Recovery: Frequency Doubling (squaring): If you square a BPSK signal (multiply it by itself) a strong tone will be created at twice your carrier frequency. The Squaring operation strips the data ...


8

A PLL on its own will not work on the direct PSK modulation, assuming the symbols are equi-probable as that results in a nulled carrier, so there is nothing the PLL can track! Costas-Loops are effective for BPSK and QPSK implementations, and as Dilip had suggested, for BPSK you can square your signal and then use a PLL to lock onto the 2F frequency that ...


7

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, ...


7

These stuffs $E_s/N_0, E_b/N_0 \textrm{ and SNR}$ are convertible. \begin{align} E_s/N_0 &= E_b/N_0 + 10\log_{10}(k) \\ E_s/N_0 &= 10\log_{10}(T_{sym}/T_{samp}) + \mathrm{SNR} \end{align} where $k$ is the number of information bits per symbol, $T_{sym}$ is the signal's symbol period and $T_{samp}$ is the signal's sampling period. More details can ...


6

An "integrate and dump" filter is a common approach for this application, which is essentially an averaging filter averaged optimally over your symbol period. To implement this, you simply reset your accumulator at the symbol boundaries, accumulate your output over the symbol period and then "dump" your result by taking the accumulated ...


6

The final statement is correct, for PSK with proper pulse shaping the baud rate and the bandwidth are the same (the bandwidth will typically be 20-30% higher than the symbol rate, but read on). The baud rate is the symbol rate or the rate of change from one symbol to the next in the modulated constellation. Your earlier figures suggest unfiltered waveforms ...


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 ...


4

Zero-mean noise by itself can't modify the decision boundary. However, the number of things that can go wrong in your system is large. Is your channel flat or frequency-selective? You can think of the channel as the sound card and its driver, the loudspeaker, the air, the microphone, and the receiver's sound card and its driver. In my experience, there's ...


4

Well, I took a look at your code, and spent a lot of time on it, and I have discovered some mistakes, some practicals and some theoretics. Here are my answers: (1) You can use the function filter. Just remember that it returns a vector of the same length of the input, while conv returns the $ N_x + N_h - 1 $, where $ N_x $ is the length of your input and $ ...


4

The energy per bit $E_b$ means one thing and one thing only: how many joules is the transmitter spending, on average, per information bit transmitted. Note that the channel has absolutely nothing to do with $E_b$. However, your question involves the SNR too. In a channel with non-unit gain, you need to decide where you'll measure the SNR. You can define ...


4

I have a PRN generator that I have validated with live captured signals that is available on the Mathworks Exchange site at this address and equally runs in Octave (Update: I also pasted the core of this in a code block below): https://www.mathworks.com/matlabcentral/fileexchange/14670-gps-c-a-code-generator The two tap coder is as given in the diagram in ...


4

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}{...


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

A random sequence of +1 and -1 is not really a BPSK signal; it's just a sequence of bits. As such, its FFT has not much meaning, at least not in the sense you're thinking of. To create an actual BPSK signal, first denote your sequence of $N-1$ bits by $a_k$, where $k=0,\ldots,N-1$ is an integer. Second, choose a bit rate $R_p=1/T_p$. Then, choose a pulse ...


3

OBPSK in the way that you describe it is also called $\pi/2$-BPSK meaning that the signal constellation is different from bit to bit, rotating by $\pi/2$ after it is used. There are two variations of this format. Use $\pm \cos(\omega_0 t)$ to transmit one bit and $\mp \sin(\omega_0 t)$ to transmit the next bit. Repeat this over and over again. Note the $\...


3

This problem is typically solved by preceding your actual payload data with a synchronization pattern, or sync word. This is a sequence of symbols that are known to the receiver ahead of time and are used to aid synchronization with the payload data frame. It could be detected in a couple ways: Sync pattern matched filtering: When looking for the ...


3

There are three different kinds of synchronization in a passband digital communications system: Carrier synchronization: the receiver needs to know the exact frequency and phase of the carrier used by the transmitter. Symbol synchronization: the receiver needs to know the optimum instants to sample the matched filter's output. Frame synchronization: the ...


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

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

I figured it out. It turned out that I don't really need that 'Phase Accumulator', and I should reverse the control signal in the NCO. So, I use -PhErr(i-1) as a control signal to NCO. Here is the modified code: % Siraj Muhammad % 25/3/2015 % BPSK Demodulator %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% load RRC.mat fc = 0.05000001; phase_offset = pi/7; N = length(...


2

Neglecting square terms of the Q function, your expression is correct, but it is the symbol error probability, not the bit error probability: $$P_s=2.5\,Q\left(\frac{d}{2\sigma}\right)\tag{1}$$ With Gray encoding, the bit error probability is closely approximated by $$P_b\approx\frac13Ps\tag{2}$$ because there are $3$ bits per symbol, and the most likely ...


2

There are a few problems with your code: You are using the index ii not the actual SNR in DB in this line: y= awgn(sFilt,ii,0); You are not taking into account the filter delay in ySamp = yFilt(os:os:N*os);. Your filter is filter = rcosine(1/T,os,'sqrt',rolloff); which will design a root-raised cosine FIR filter. Your filter delay will be (length(filter)-...


2

This is solved slightly differently if you're simulating a continuous-time or discrete-time AWGN channel. I'll assume you're simulating a discrete-time channel; that is, you're simulating the output of the receiver's matched filter sampled at correct time instants. First consider the case with no noise. In this scenario, the matched filter's output is an ...


2

The kind of AWGN channel you're simulating is sometimes called a "discrete time" channel. That means that you're going to simulate the bit error rate at the output of a decision device, the input to which is produced by a correlator. This is more easily explained by looking into the transmission and reception of a single bit. I'll assume BPSK. Let's say ...


2

In BPSK, BER is equal to $Q(\sqrt{2E_b/N_0})$, so you need $E_b/N_0>11.3$ to have a BER no larger than $10^{-6}$. Since the bandwidth is 200 kHz, the maximum rate is 400 kb/s. So, since $SNR\approx136$, $$\frac{Eb}{N_0}=\frac{S}{N}\frac{W}{R}=136\frac{200\cdot10^3}{400\cdot10^3}=\frac{136}{2}=68$$ Since $68>11.3$, you can be sure that you can ...


2

The spectral efficiency depends on the pulse shape. The basepand BPSK signal can be written as $$s(t)=\sum_k a_k p(t-kT_b),$$ where $a_k$ is equal to either $\sqrt{E_b}$ or $-\sqrt{E_b}$, $E_b$ is the bit energy, $T_b$ is the bit interval (so that the bit rate is $R_b=1/T_b$), and $p(t)$ is a Nyquist pulse. The bandwidth of $s(t)$ is equal to the bandwidth ...


2

You want to take a wav file, run it through a BPSK modulator and I'm guessing (from your #3) to plot some waveform or something. So you should find a wav file like handel.mat which is built into MATLAB, and convert it to binary. This may require some decisions like how many bits you choose to represent each sample if its not already something you can work ...


2

This can be accomplished by changing the carrier frequency using a Numerically Controlled Oscillator (NCO) which maintains an accurate and continuous phase versus time trajectory via the phase accumulator. This is markedly different than changing the frequency with a classical PLL where we would typically break and reacquire lock to change frequency ...


2

You're right that the transitions can be abrupt, but you can always choose to use pulse shaping, i.e., instead of using a rectangular pulse, use some smoother function $p(t)$. The corresponding baseband signal is then $$s(t)=\sum_kA_kp(t-kT)\tag{1}$$ where $A_k$ are the symbols, and $T$ is the symbol length. A smooth function $p(t)$ will avoid abrupt ...


2

The flaw in the problem posed starts right from the block diagram that you have posted: it is not the case in DPSK receiver that the RF signal is multiplied with a delayed version of itself and then passed through a low-pass filter followed by slicing etc. Instead, the RF signal is "demodulated" through a variant of a standard coherent QPSK receiver whose ...


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