DSPRelated.com

Learn About Transmission Lines Using a Discrete-Time Model

Neil Robertson January 12, 2022

We don’t often think about signal transmission lines, but we use them every day.  Familiar examples are coaxial cable, Ethernet cable, and Universal Serial Bus (USB).  Like it or not, high-speed clock and signal traces on printed-circuit boards are also transmission lines.

While modeling transmission lines is in general a complex undertaking, it is surprisingly simple to model a lossless, uniform line with resistive terminations by using a discrete-time approach.  A...


Determination of the transfer function of passive networks with MATLAB Functions

Josef Hoffmann December 7, 20212 comments

With MATLAB functions, the transfer function of passive networks can be determined relatively easily. The method is explained using the example of a passive low-pass filter of the sixth order, which is shown in Fig.1

Fig.1 Passive low-pass filter of the sixth order

If one tried, as would be logical, to calculate the transfer function starting from the input, it would be quite complicated. On the other hand, if you start from the output, the determination of this function is simple...


A DSP Quiz Question

Rick Lyons December 5, 202112 comments

Here's a DSP Quiz Question that I hope you find mildly interesting

BACKGROUND

Due to the periodic natures an N-point discrete Fourier transform (DFT) sequence and that sequence’s inverse DFT, it is occasionally reasonable to graphically plot either of those sequences as a 3-dimensional (3D) circular plot. For example, Figure 1(a) shows a length-32 x(n) sequence with its 3D circular plot given in Figure 1(b).

HERE'S THE QUIZ QUESTION:

I was reading a paper by an audio DSP engineer where the...

The Discrete Fourier Transform and the Need for Window Functions

Neil Robertson November 15, 20212 comments

The Discrete Fourier Transform (DFT) is used to find the frequency spectrum of a discrete-time signal.  A computationally efficient version called the Fast Fourier Transform (FFT) is normally used to calculate the DFT.  But, as many have found to their dismay, the FFT, when used alone, usually does not provide an accurate spectrum.  The reason is a phenomenon called spectral leakage.

Spectral leakage can be reduced drastically by using a window function in conjunction...


The 2021 DSP Online Conference

Stephane Boucher September 29, 20212 comments

The 2021 DSP Online Conference is just around the corner and this year again, the program is packed with opportunities for DSP engineers to refresh their DSP skills and learn a few new tricks along the way. 

By registering for the conference, not only will you have full access to all talks, workshops, and Q&A sessions at this year's event, but you'll also gain instant access to all talks from last year's...


Modeling Anti-Alias Filters

Neil Robertson September 26, 2021

Digitizing a signal using an Analog to Digital Converter (ADC) usually requires an anti-alias filter, as shown in Figure 1a.  In this post, we’ll develop models of lowpass Butterworth and Chebyshev anti-alias filters, and compute the time domain and frequency domain output of the ADC for an example input signal.  We’ll also model aliasing of Gaussian noise.  I hope the examples make the textbook explanations of aliasing seem a little more real.  Of course, modeling of...


In Search of The Fourth Wave

Allen Downey September 25, 20212 comments

Last year I participated in the first DSP Related online conference, where I presented a short talk called "In Search of The Fourth Wave". It's based on a small mystery I encountered when I was working on Think DSP.  As you might know:

 A sawtooth wave contains harmonics at integer multiples of the fundamental frequency, and their amplitudes drop off in proportion to 1/f.  A square wave contains only odd multiples of the fundamental, but they also drop off...

Sampling bandpass signals

Josef Hoffmann June 26, 20215 comments
Sampling bandpass signals 1.1 Introduction

It is known [1], [3] that bandpass signals can be sampled with a sampling frequency which is lower than the sampling frequency according to the sampling theorem.

Fig. 1 shows an example of how the spectrum of a bandpass signal sampled with $f_s$ (Fig. 1a) arises in the baseband with $−f_s / 2 ≤ f < f_s/2$. The bandpass signal is assumed to have a center frequency $f_c = (f_{max} + f_{min})/2$ and bandwidth $\Delta f...


Digital Filter Instructions from IKEA?

Neil Robertson June 18, 20215 comments

Swedish “Bygglek” = build and play.   Swedish “Bygglek” = build and play.

Swedish “Bygglek” = build and play.  Swedish “Bygglek” = build and play.

Swedish “Bygglek” = build and play.  Swedish “Bygglek” = build and play.

Swedish “Bygglek” = build and play.  Swedish “Bygglek” = build and play.

Swedish “Bygglek” = build and play.  Swedish “Bygglek” = build and...


Simulink-Simulation of SSB demodulation

Josef Hoffmann June 13, 20211 comment
≥≥≥ Simulink-Simulation of SSB demodulation or modulation from the article “Understanding the ‘Phasing Method’ of Single Sideband Demodulation” by Richard Lyons Josef Hoffmann

The article “Understanding the ‘Phasing Method’ of Single Sideband Demodulation” by Richard Lyons is a very good description of this topic. The block representation from the figures are clear and easy to understand. They are predestined for a simulation in Simulink. The simulation can help...


Free DSP Books on the Internet

Rick Lyons February 23, 200824 comments

While surfing the "net" I have occasionally encountered signal processing books whose chapters could be downloaded to my computer. I started keeping a list of those books and, over the years, that list has grown to over forty books. Perhaps the list will be of interest to you.

Please know, all of the listed books are copyrighted. The copyright holders have graciously provided their books free of charge for downloading for individual use, but multiple copies must not be made or printed. As...


Polyphase Filters and Filterbanks

Kyle March 19, 201310 comments

ALONG CAME POLY

Polyphase filtering is a computationally efficient structure for applying resampling and filtering to a signal. Most digital filters can be applied in a polyphase format, and it is also possible to create efficient resampling filterbanks using the same theories.

This post will walk through a reference implementation of both the downsampling polyphase filter and a downsampling polyphase filterbank using scipy, numpy, matplotlib, and python. It should also highlight some of...


A Beginner's Guide to OFDM

Qasim Chaudhari May 1, 20176 comments

In the recent past, high data rate wireless communications is often considered synonymous to an Orthogonal Frequency Division Multiplexing (OFDM) system. OFDM is a special case of multi-carrier communication as opposed to a conventional single-carrier system. 

The concepts on which OFDM is based are so simple that almost everyone in the wireless community is a technical expert in this subject. However, I have always felt an absence of a really simple guide on how OFDM works which can...


Python scipy.signal IIR Filter Design

Christopher Felton May 13, 20124 comments
Introduction

The following is an introduction on how to design an infinite impulse response (IIR) filters using the Python scipy.signal package.  This post, mainly, covers how to use the scipy.signal package and is not a thorough introduction to IIR filter design.  For complete coverage of IIR filter design and structure see one of the references.

Filter Specification

Before providing some examples lets review the specifications for a filter design.  A filter...


Delay estimation by FFT

Markus Nentwig September 22, 200750 comments
Given x=sig(t) and y=ref(t), returns [c, ref(t+delta), delta)] = fitSignal(y, x);:Estimates and corrects delay and scaling factor between two signals Code snippet

This article relates to the Matlab / Octave code snippet: Delay estimation with subsample resolution It explains the algorithm and the design decisions behind it.

Introduction

There are many DSP-related problems, where an unknown timing between two signals needs to be determined and corrected, for example, radar, sonar,...


How to Find a Fast Floating-Point atan2 Approximation

Nic Taylor May 26, 201715 comments
Context Over a short period of time, I came across nearly identical approximations of the two parameter arctangent function, atan2, developed by different companies, in different countries, and even in different decades. Fascinated with how the coefficients used in these approximations were derived, I set out to find them. This atan2 implementation is based around a rational approximation of arctangent on the domain -1 to 1:

$$ atan(z) \approx \dfrac{z}{1.0 +...


Design IIR Bandpass Filters

Neil Robertson January 6, 201812 comments

In this post, I present a method to design Butterworth IIR bandpass filters.  My previous post [1] covered lowpass IIR filter design, and provided a Matlab function to design them.  Here, we’ll do the same thing for IIR bandpass filters, with a Matlab function bp_synth.m.  Here is an example function call for a bandpass filter based on a 3rd order lowpass prototype:

N= 3; % order of prototype LPF fcenter= 22.5; % Hz center frequency, Hz bw= 5; ...

Back from Embedded World 2019 - Funny Stories and Live-Streaming Woes

Stephane Boucher March 1, 20191 comment

When the idea of live-streaming parts of Embedded World came to me,  I got so excited that I knew I had to make it happen.  I perceived the opportunity as a win-win-win-win.  

  • win #1 - Engineers who could not make it to Embedded World would be able to sample the huge event, 
  • win #2 - The organisation behind EW would benefit from the extra exposure
  • win #3 - Lecturers and vendors who would be live-streamed would reach a (much) larger audience
  • win #4 - I would get...

Design IIR Filters Using Cascaded Biquads

Neil Robertson February 11, 201832 comments

This article shows how to implement a Butterworth IIR lowpass filter as a cascade of second-order IIR filters, or biquads.  We’ll derive how to calculate the coefficients of the biquads and do some examples using a Matlab function biquad_synth provided in the Appendix.  Although we’ll be designing Butterworth filters, the approach applies to any all-pole lowpass filter (Chebyshev, Bessel, etc).  As we’ll see, the cascaded-biquad design is less sensitive to coefficient...


Understanding and Implementing the Sliding DFT

Eric Jacobsen April 23, 201511 comments
Introduction

In many applications the detection or processing of signals in the frequency domain offers an advantage over performing the same task in the time-domain.   Sometimes the advantage is just a simpler or more conceptually straightforward algorithm, and often the largest barrier to working in the frequency domain is the complexity or latency involved in the Fast Fourier Transform computation.   If the frequency-domain data must be updated frequently in a...