Autocorrelation matrix in Matlab & Python — build R for Wiener / MVDR
Build the autocorrelation (covariance) matrix R from snapshots in Matlab or NumPy — including complex conjugate correlation — for Wiener, LMS, and MVDR beamformers.
Signal Processing for Communication Systems
Build the autocorrelation (covariance) matrix R from snapshots in Matlab or NumPy — including complex conjugate correlation — for Wiener, LMS, and MVDR beamformers.
Mathematical details of convolution, its relationship to polynomial multiplication and the application of Toeplitz matrices in computing linear convolution are discussed in the previous article. A short survey of different techniques to compute discrete linear convolution (with Matlab code) is given here. Definition: linear convolution Given an LTI (Linear Time Invariant) system with impulse response … Read more
Convolution operation is ubiquitous in signal processing applications. The mathematics of convolution is strongly rooted in operation on polynomials. The intent of this text is to enhance the understanding on mathematical details of convolution. Polynomial functions: Polynomial functions are expressions consisting of sum of terms, where each term includes one or more variables raised to … Read more
Bandpass / IF undersampling: choose sampling rates inside allowed zones so the replica does not alias — with formulas and a live bandpass sampling demo.
Nyquist–Shannon sampling for baseband signals: sample faster than twice the highest frequency, or aliases fold into band.
Modified duobinary is the partial-response cousin of duobinary that puts a spectral null at DC. It correlates symbols two baud intervals apart, so the controlled ISI sits on the alternate sample rather than the neighbour. The Nyquist zero-ISI condition is relaxed to The minus sign at lag \(2T\) is what opens the null at DC. … Read more
The condition for zero ISI (Inter Symbol Interference) is which states that when sampling a particular symbol (at time instant nT=0), the effect of all other symbols on the current sampled symbol is zero. As discussed in the previous article, one of the practical ways to mitigate ISI is to use partial response signaling technique … Read more
This post contains interactive python code which you can execute in the browser itself. The moving average filter is a simple Low Pass FIR (Finite Impulse Response) filter commonly used for smoothing an array of sampled data/signal. It takes (L) samples of input at a time and takes the average of those (L)-samples and produces … Read more
QPSK maps two bits per symbol on four I/Q phases: modulator/demodulator, constellation, and how BER matches coherent BPSK — with Matlab simulation links.