Install and Run LaTeX on macOS
Installing and running LaTeX on macOS can be done in four easy steps:
- Install Homebrew
- Install pdflatex with Homebrew
- Install more LaTeX packages with tlmgr
- Compiling LaTeX with a Makefile
Fourier Transform Linearity Property Derivation
The Fourier transform is linear such that
(1)
Why an FIR Filter Should Have an Odd Length
Today’s DSP Wisdom: odd-lengths are preferable to even-lengths in an FIR filter.
Powers of 2 are ubiquitous in DSP: binary number representations are in base-2, is , and modulations are powers of 2 (BPSK, QPSK, 8-PSK, 16-QAM). The radix-2 FFT is decomposed into 2-input, 2-output butterflies. Upsampling or decimation by 2 can be done efficiently with a half band filter.
I’ve been allured many times by the siren song of choosing DSP parameters solely because they are powers of 2. A natural fallout is I have typically chosen even parameters for things such as filter lengths because they divide cleanly by a power of 2. The downside is that selecting parameters based on ease of coding results can result in unintended consequences in the DSP.
In this example choosing an even length filter incorporates a fractional time delay at the output of the filter which can negatively effect systems which require precise sampling such as sampling symbols from a demodulator or synchronizing a correlation peak to reference signal.
Marie Kondo Your Office Y’all
Take a look at your office or lab space. Does it represent the quality of work you are doing in the office? Do you think your boss wants clients looking in there?
We’ve all been to “that office”. Maybe it’s the one with IEEE papers covering the desk, floor and walls like a hamster cage. Maybe it’s the one with the broken chair office visitors have to sit in. Maybe it’s just a musk in the air. Whatever it may be, no one wants to go in there and that’s an issue.
People know who has a tidy office and whose office is a mess and no one wants to be the one with the gross office. A tidy office leads people to believe you do high quality work and generally have your stuff together. Tidy does not mean spotless, it just means organized and picked up. You will also get huge points for having even a minimal amount of decoration.
Fourier Transform Explanation as a Cross-Correlation
For years I accepted the Fourier transform equation on faith without knowing where it came from or why it worked. Were you in the same situation? Are you there now? In this post I describe how the Fourier transform is the cross correlation between a signal and a complex exponential . The Fourier transform explanation begins by reviewing cross correlation and then applies it to a complex exponential derive the continuous time and discrete time Fourier transform.
Efficient Real to Complex Conversion with a Half Band Filter
You are going to have to perform a real to complex conversion at some point in your DSP career. The most common way is having to convert samples from a real analog to digital converter (ADC) to complex baseband. There are different ways to implement real to complex conversion however this algorithm is particularly efficient by downconverting from using only a handful of multiplies. Additional computational savings will come from the decimate by 2 half band filter to remove the negative frequency spectral image.
Note: I have heard of this algorithm referred to as a “quad-band downconverter” but I have not been able to find it elsewhere. (I have looked in all the books I have, internet searches, etc.) If you have a reference for it or the correct name please leave a comment below or send me an email.
Rodney Dangerfield and DSP
I came across this GIF of Rodney Dangerfield and saw the unit circle in the bottom right hand corner.
Always nice to see elements of DSP sprinkled into the real world!
Half Band Filter Design Function in Python
The half band filter is an incredibly efficient filter useful in a number of applications as well as a great starting point for understanding fundamental DSP concepts. Previous posts covered the design of the filter weights and how to optimize the filter structure for computational efficiency. This blog posts simplifies the design of the half band filter weights using a Python function.
Cross Correlation Explained With Real Signals
Cross correlation mathematically measures the similarity of signals. Consider an example where you have a set of data samples represented by and . Cross correlation is used to measure on a sample by sample basis how similar is to . Simple examples with plots will demonstrate different combinations of positive, negative, strong and weak correlations.
1,000 Page Views!!!
It’s only been 94 days since launch and we just hit 1,000 page views! Thank you everyone!
And a very special thank you to Chad @ Cyclostationary.blog for linking to my site! Chad has published an incredible amount of DSP information on his blog and his expertise is off the charts. Cyclostationarity is a difficult subject and he describes the topic in a way that is much easier to understand than the academic literature. I particularly like his post on the Frequency Smoothing Method and the Time Smoothing Method. Please give him a look!