26
votes
How can I work on DSP using C/C++?
MATLAB is a desktop computing environment, that's designed to make it easy to do math in batches. And if you were to have access to the MATLAB source code, you'd find that as you dig down into it, ...
18
votes
How can I work on DSP using C/C++?
C/C++ is the standard language for real time and embedded signal processing. MATLAB is in most cases way too memory hungry and way too slow.
There is a lot of signal processing happening in, for ...
14
votes
Capacity of AWGN channel
Assuming a channel whose input at each time is a continuous random variable $X$ and its output is $Y=X+Z$, where $Z\sim\mathcal{N}(0,N)$ and $Z$ is independent of $X$, then $$C_{\text{CI-AWGN}}=\frac{...
11
votes
Accepted
Why are QAM Constellations regular and rectangular?
The distortion you are seeing in the first figure is due to phase noise; the further you get from the origin, the further span the constellation will have for a given phase.
QAM constellations are ...
10
votes
Accepted
Location of Matched Filter
The time span of the zero crossings increases after the final RRC filtering (and the symbol sampling locations converge which is the goal for the benefit of zero ISI but the zero crossing increase in ...
10
votes
Accepted
Phase synchronization in BPSK
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):...
10
votes
Accepted
Confusion in Channel Encoding and Convolutional Encoding
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 ...
9
votes
Why are QAM Constellations regular and rectangular?
It's important to note that from a practical point of view QAM has two significant advantages:
The in-phase and quadrature components are independent PAM signals with $\sqrt{M}$ levels each (where $M=...
9
votes
Accepted
Why are Gold codes and Kasami codes used instead of pure m-sequences?
There are very few m-sequences of any given length with good cross-correlation properties. Their autocorrelation properties are excellent, but the cross-correlation properties are variable. For ...
9
votes
Accepted
QAM constellation slicer with unknown carrier phase
What you need is carrier phase synchronization. This is a complicated topic with many different approaches. The approach that you'll choose could depend on things like:
Data-aided versus blind: Does ...
9
votes
Accepted
ADC quantization +thermal noise
Treating ADC quantization noise as a uniform white noise source is generally valid. Please refer to this post where I further detail practical limitations on using white noise assumptions for ...
9
votes
Compress a signal by storing signal diff instead of actual samples - is there such a thing?
You can also think of delta encoding as linear predictive coding (LPC) where only the prediction residual ($x[n]-\hat{x}[n]$ in @robertbristow-johnson's notation) is stored and the predictor of the ...
9
votes
Isn't Gardner's algorithm and Early-Late gate the same thing?
The Gardner Timing Error Detector is diagrammed in the graphic below, where two samples per symbol are used, and the error is determined using Prompt*(Late-Early), and when synchronized the center ...
8
votes
Accepted
Why does FEC seem to make BER worse at low Eb/N0?
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 ...
8
votes
Why not use zero-signal in digital transmission?
All implementation aspects aside, the constellation you propose performs worse than QPSK in an additve white gaussian noise (AWGN) channel.
I claim this based on simulations that I have run with ...
8
votes
Practicality of the assumption of i.i.d. for Rayleigh channels
I am a little late but I post my answer anyway so that someone having the same question will find it interesting and discuss.
The discrete baseband multipath channel can be modeled as a FIR, i.e.
$$...
8
votes
Coherence bandwidth/delay spread in OFDM
Indeed, the constraint $T_s(N+N_{cp}) \gg T_m$ should be derived as $T_s(N+N_{cp}) \gg T_s N_{cp} \geq T_m$.
The first inequality to make sure that the CP overhead is as small as possible. The second ...
8
votes
Accepted
Confusion in Phase Shift Keying
Phase shift keying is linear modulation.
Digital phase modulation is not necessarily linear.
8
votes
Accepted
Relation between Bandwidth and Baud-Rate for 8-PSK
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 ...
8
votes
Accepted
Why zeroes near the unit circle cause a dip in frequency response, while poles cause a peak?
To answer this you need to understand what is a pole and what is a zero of a transfer function.
Let's look at a simple 2 poles 2 zeros filter (also called biquad filter) transfer function :
$$
H(z) = ...
8
votes
Accepted
What is a constant envelope modulation?
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 ...
8
votes
PSD of complex white gaussian noise
With reference to $N_o$ this usually is the symbol for the power spectral density (PSD) of thermal noise, where $N_o = kT$, where k is Boltzmann's Constant and T is the temperature in Kelvin. With ...
7
votes
Capacity of AWGN channel
The capacity formula
$$C = 0.5 \log (1+\frac{S}{N}) \tag{1}$$
is for discrete time channel.
Assuming you have a sequence of data $\left\lbrace a_n \right\rbrace$ to send out, you need an orthonormal ...
7
votes
How to "draw" the function/wave to send symbols using QAM?
The baseband QAM signal is complex, and the only way to draw it is by doing two drawings, one for the in-phase (real) component, and one for the quadrature (imaginary) component.
The passband QAM ...
7
votes
Lower digitisation rate for long distance communcation
At long distances, your transmit signal loses a lot of power. As a result of that, the SNR at the receiver is possibly relatively low.
A low SNR means that you cannot transport many bits per second ...
7
votes
Accepted
MATLAB: Adding Noise with Regard to Signal to Noise Ratio (SNR) or EbNo?
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}
...
7
votes
Acoustic waves propagation distance relation with carrier frequency?
For a sine wave of amplitude $A$ and frequency $f=1/T$, its energy from $-T/2$ to $T/2$ is $A^2T/2$. Thus the power depends only on amplitude. The energy over one period does depend on frequency, but ...
7
votes
Accepted
Why do we need to increase sampling frequency at the transmitter?
Three reasons to increasing the sampling rate further are
1) To relax the requirements of the post D/A conversion filtering for image rejection.
2) Increase signal SNR by spreading quantization ...
7
votes
How can I work on DSP using C/C++?
I come from the game development world, and I knew C/C++ programming way before I did my first signal processing program (in the context of audio filters for games), so I hope I can give you another ...
7
votes
How can I work on DSP using C/C++?
I find it borderline misleading to even call MATLAB a programming language. –Well, it is a Turing complete language... but so is Brainfuck (BF). You can theoretically write any software in it (given ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
digital-communications × 1491modulation × 161
matlab × 144
ofdm × 143
signal-analysis × 141
discrete-signals × 114
demodulation × 71
filters × 66
noise × 62
qpsk × 61
fading-channel × 58
bpsk × 53
channelcoding × 46
signal-detection × 45
sampling × 41
fft × 40
digital-filters × 37
snr × 37
bandwidth × 35
equalization × 35
power-spectral-density × 32
synchronization × 31
digital × 30
phase × 29
mimo × 29