 ### Neil Robertson (@neirober)

Neil Robertson worked at Scientific Atlanta, Cisco, and ST Micro doing RF design, System Design, and DSP design for cable TV set-top boxes and cable modems. He is retired and lives in Columbus, Ohio.

## Simple Discrete-Time Modeling of Lossy LC Filters

There are many software applications that allow modeling LC filters in the frequency domain.  But sometimes it is useful to have a time domain model, such as when you need to analyze a mixed analog and DSP system.  For example, the system in Figure 1 includes an LC filter as well as a DSP portion.  The LC filter could be an anti-alias filter, a channel filter, or some other LC network.  For a design using undersampling, the filter would be bandpass .  By modeling...

## The Discrete Fourier Transform as a Frequency Response

The discrete frequency response H(k) of a Finite Impulse Response (FIR) filter is the Discrete Fourier Transform (DFT) of its impulse response h(n) .  So, if we can find H(k) by whatever method, it should be identical to the DFT of h(n).  In this article, we’ll find H(k) by using complex exponentials, and we’ll see that it is indeed identical to the DFT of h(n).

Consider the four-tap FIR filter in Figure 1, where each block labeled Ts represents a delay of one...

In this part, I’ll show how to design a Hilbert Transformer using the coefficients of a half-band filter as a starting point, which turns out to be remarkably simple.  I’ll also show how a half-band filter can be synthesized using the Matlab function firpm, which employs the Parks-McClellan algorithm.

A half-band filter is a type of lowpass, even-symmetric FIR filter having an odd number of taps, with the even-numbered taps (except for the main tap) equal to zero.  This...

In some previous articles, I made use of the Hilbert transformer, but did not explain its theory in any detail.  In this article, I’ll dig a little deeper into how the Hilbert Transformer works.  Understanding the Hilbert Transformer involves a modest amount of mathematics, but the payoff in useful applications is worth it.

As we’ll learn, a Hilbert Transformer is just a particular type of Finite Impulse Response (FIR) filter.  In Part 1 of this article, I’ll...

## Book Recommendation "What is Mathematics?"

What is Mathematics is a classic, lucidly written survey of mathematics by Courant and Robbins.  The first edition was published in 1941!  I have only read a portion of it, mainly the chapter on calculus.  One page of Courant is worth about five pages of my old college calculus textbook, and it’s a lot more fun to read.

The reader of this book should already be familiar with algebra and trigonometry.  For engineers, some worthwhile sections of the book are:

## Evaluate Noise Performance of Discrete-Time Differentiators

When it comes to noise, all differentiators are not created equal.  Figure 1 shows the magnitude response of two differentiators.  They both have a useful bandwidth of a little less than π/8 radians (based on maximum magnitude response error of 2%).  Suppose we apply a signal with Gaussian noise to each of these differentiators.  The sinusoidal signal with noise is shown in the top of Figure 2.  Signal frequency is π/12.5 radians.  The output of the so-called...

## Learn About Transmission Lines Using a Discrete-Time Model

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

## The Discrete Fourier Transform and the Need for Window Functions

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

## Modeling Anti-Alias Filters

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

## Digital Filter Instructions from IKEA?

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

## Setting Carrier to Noise Ratio in Simulations

When simulating digital receivers, we often want to check performance with added Gaussian noise.  In this article, I’ll derive the simple equations for the rms noise level needed to produce a desired carrier to noise ratio (CNR or C/N).  I also provide a short Matlab function to generate a noise vector of the desired level for a given signal vector.

Definition of C/N

The Carrier to noise ratio is defined as the ratio of average signal power to noise power for a modulated...

## Add a Power Marker to a Power Spectral Density (PSD) Plot

Perhaps we should call most Power Spectral Density (PSD) calculations relative PSD, because usually we don’t have to worry about absolute power levels.  However, for cases (e.g., measurements or simulations) where we are concerned with absolute power, it would be nice to be able to display it on a PSD plot.  Unfortunately, you can’t read the power directly from the plot.  For example, the plotted spectral peak of a narrowband signal, such as a sinewave, is lower than the...

## Find Aliased ADC or DAC Harmonics (with animation)

When a sinewave is applied to a data converter (ADC or DAC), device nonlinearities produce harmonics.  If a harmonic frequency is greater than the Nyquist frequency, the harmonic appears as an alias.  In this case, it is not at once obvious if a given spur is a harmonic, and if so, its order.  In this article, we’ll present Matlab code to simulate the data converter nonlinearities and find the harmonic alias frequencies.  Note that Analog Devices has an online tool for...

## Compute Images/Aliases of CIC Interpolators/Decimators

Cascade-Integrator-Comb (CIC) filters are efficient fixed-point interpolators or decimators.  For these filters, all coefficients are equal to 1, and there are no multipliers.  They are typically used when a large change in sample rate is needed.  This article provides two very simple Matlab functions that can be used to compute the spectral images of CIC interpolators and the aliases of CIC decimators.

1.  CIC Interpolators

Figure 1 shows three interpolate-by-M...

## Design Square-Root Nyquist Filters

In his book on multirate signal processing, harris presents a nifty technique for designing square-root Nyquist FIR filters with good stopband attenuation .  In this post, I describe the method and provide a Matlab function for designing the filters.  You can find a Matlab function by harris for designing the filters at .

Background

Single-carrier modulation, such as QAM, uses filters to limit the bandwidth of the signal.  Figure 1 shows a simplified QAM system block...

## Third-Order Distortion of a Digitally-Modulated Signal

Analog designers are always harping about amplifier third-order distortion.  Why?  In this article, we’ll look at why third-order distortion is important, and simulate a QAM signal with third-order distortion.

In the following analysis, we assume that signal phase at the amplifier output is not a function of amplitude.  With this assumption, the output y of a non-ideal amplifier can be written as a power series of the input signal x:

$$y=... ## Second Order Discrete-Time System Demonstration Discrete-time systems are remarkable: the time response can be computed from mere difference equations, and the coefficients ai, bi of these equations are also the coefficients of H(z). Here, I try to illustrate this remarkableness by converting a continuous-time second-order system to an approximately equivalent discrete-time system. With a discrete-time model, we can then easily compute the time response to any input. But note that the goal here is as much to... ## A Simplified Matlab Function for Power Spectral Density In an earlier post , I showed how to compute power spectral density (PSD) of a discrete-time signal using the Matlab function pwelch . Pwelch is a useful function because it gives the correct output, and it has the option to average multiple Discrete Fourier Transforms (DFTs). However, a typical function call has five arguments, and it can be hard to remember how to set them all and how they default. In this post, I create a simplified PSD function by putting a... ## Fractional Delay FIR Filters Consider the following Finite Impulse Response (FIR) coefficients: b = [b0 b1 b2 b1 b0] These coefficients form a 5-tap symmetrical FIR filter having constant group delay [1,2] over 0 to fs/2 of: D = (ntaps – 1)/2 = 2 samples For a symmetrical filter with an odd number of taps, the group delay is always an integer number of samples, while for one with an even number of taps, the group delay is always an integer + 0.5 samples. Can we design a filter... ## Model Signal Impairments at Complex Baseband In this article, we develop complex-baseband models for several signal impairments: interfering carrier, multipath, phase noise, and Gaussian noise. To provide concrete examples, we’ll apply the impairments to a QAM system. The impairment models are Matlab functions that each use at most seven lines of code. Although our example system is QAM, the models can be used for any complex-baseband signal. I used a very simple complex-baseband model of a QAM system in my last ## Compute Modulation Error Ratio (MER) for QAM This post defines the Modulation Error Ratio (MER) for QAM signals, and shows how to compute it. As we’ll see, in the absence of impairments other than noise, the MER tracks the signal’s Carrier-to-Noise Ratio (over a limited range). A Matlab script at the end of the PDF version of this post computes MER for a simplified QAM-64 system. Figure 1 is a simplified block diagram of a QAM system. The transmitter includes a source of QAM symbols, a root-Nyquist... ## Plotting Discrete-Time Signals A discrete-time sinusoid can have frequency up to just shy of half the sample frequency. But if you try to plot the sinusoid, the result is not always recognizable. For example, if you plot a 9 Hz sinusoid sampled at 100 Hz, you get the result shown in the top of Figure 1, which looks like a sine. But if you plot a 35 Hz sinusoid sampled at 100 Hz, you get the bottom graph, which does not look like a sine when you connect the dots. We typically want the plot of a... ## Interpolation Basics This article covers interpolation basics, and provides a numerical example of interpolation of a time signal. Figure 1 illustrates what we mean by interpolation. The top plot shows a continuous time signal, and the middle plot shows a sampled version with sample time Ts. The goal of interpolation is to increase the sample rate such that the new (interpolated) sample values are close to the values of the continuous signal at the sample times . For example, if... ## A Direct Digital Synthesizer with Arbitrary Modulus Suppose you have a system with a 10 MHz sample clock, and you want to generate a sampled sinewave at any frequency below 5 MHz on 500 kHz spacing; i.e., 0.5, 1.0, 1.5, … MHz. In other words, f = k*fs/20, where k is an integer and fs is sample frequency. This article shows how to do this using a simple Direct Digital Synthesizer (DDS) with a look-up table that is at most 20 entries long. We’ll also demonstrate a Quadrature-output DDS. A note on... ## IIR Bandpass Filters Using Cascaded Biquads In an earlier post , we implemented lowpass IIR filters using a cascade of second-order IIR filters, or biquads. This post provides a Matlab function to do the same for Butterworth bandpass IIR filters. Compared to conventional implementations, bandpass filters based on biquads are less sensitive to coefficient quantization . This becomes important when designing narrowband filters. A biquad section block diagram using the Direct Form II structure [3,4] is... ## Demonstrating the Periodic Spectrum of a Sampled Signal Using the DFT One of the basic DSP principles states that a sampled time signal has a periodic spectrum with period equal to the sample rate. The derivation of can be found in textbooks [1,2]. You can also demonstrate this principle numerically using the Discrete Fourier Transform (DFT). The DFT of the sampled signal x(n) is defined as:$$X(k)=\sum_{n=0}^{N-1}x(n)e^{-j2\pi kn/N} \qquad (1)

Where

X(k) = discrete frequency spectrum of time sequence x(n)

## Compute the Frequency Response of a Multistage Decimator

Figure 1a shows the block diagram of a decimation-by-8 filter, consisting of a low-pass finite impulse response (FIR) filter followed by downsampling by 8 .  A more efficient version is shown in Figure 1b, which uses three cascaded decimate-by-two filters.  This implementation has the advantages that only FIR 1 is sampled at the highest sample rate, and the total number of filter taps is lower.

The frequency response of the single-stage decimator before downsampling is just...

## Use Matlab Function pwelch to Find Power Spectral Density – or Do It Yourself

In my last post, we saw that finding the spectrum of a signal requires several steps beyond computing the discrete Fourier transform (DFT).  These include windowing the signal, taking the magnitude-squared of the DFT, and computing the vector of frequencies.  The Matlab function pwelch  performs all these steps, and it also has the option to use DFT averaging to compute the so-called Welch power spectral density estimate [3,4].

## Evaluate Window Functions for the Discrete Fourier Transform

The Discrete Fourier Transform (DFT) operates on a finite length time sequence to compute its spectrum.  For a continuous signal like a sinewave, you need to capture a segment of the signal in order to perform the DFT.  Usually, you also need to apply a window function to the captured signal before taking the DFT [1 - 3].  There are many different window functions and each produces a different approximation of the spectrum.  In this post, we’ll present Matlab code that...

## Design a DAC sinx/x Corrector

This post provides a Matlab function that designs linear-phase FIR sinx/x correctors.  It includes a table of fixed-point sinx/x corrector coefficients for different DAC frequency ranges.

A sinx/x corrector is a digital (or analog) filter used to compensate for the sinx/x roll-off inherent in the digital to analog conversion process.  In DSP math, we treat the digital signal applied to the DAC is a sequence of impulses.  These are converted by the DAC into contiguous pulses...

## Digital PLL’s, Part 3 – Phase Lock an NCO to an External Clock

Sometimes you may need to phase-lock a numerically controlled oscillator (NCO) to an external clock that is not related to the system clocks of your ASIC or FPGA.  This situation is shown in Figure 1.  Assuming your system has an analog-to-digital converter (ADC) available, you can sync to the external clock using the scheme shown in Figure 2.  This time-domain PLL model is similar to the one presented in Part 1 of this series on digital PLL’s .  In that PLL, we...

## ADC Clock Jitter Model, Part 2 – Random Jitter

In Part 1, I presented a Matlab function to model an ADC with jitter on the sample clock, and applied it to examples with deterministic jitter.  Now we’ll investigate an ADC with random clock jitter, by using a filtered or unfiltered Gaussian sequence as the jitter source.  What we are calling jitter can also be called time jitter, phase jitter, or phase noise.  It’s all the same phenomenon.  Typically, we call it jitter when we have a time-domain representation,...

## ADC Clock Jitter Model, Part 1 – Deterministic Jitter

Analog to digital converters (ADC’s) have several imperfections that affect communications signals, including thermal noise, differential nonlinearity, and sample clock jitter [1, 2].  As shown in Figure 1, the ADC has a sample/hold function that is clocked by a sample clock.  Jitter on the sample clock causes the sampling instants to vary from the ideal sample time.  This transfers the jitter from the sample clock to the input signal.

## Phase or Frequency Shifter Using a Hilbert Transformer

In this article, we’ll describe how to use a Hilbert transformer to make a phase shifter or frequency shifter.  In either case, the input is a real signal and the output is a real signal.  We’ll use some simple Matlab code to simulate these systems.  After that, we’ll go into a little more detail on Hilbert transformer theory and design.

Phase Shifter

A conceptual diagram of a phase shifter is shown in Figure 1, where the bold lines indicate complex...

## Coefficients of Cascaded Discrete-Time Systems

In this article, we’ll show how to compute the coefficients that result when you cascade discrete-time systems.  With the coefficients in hand, it’s then easy to compute the time or frequency response.  The computation presented here can also be used to find coefficients of mixed discrete-time and continuous-time systems, by using a discrete time model of the continuous-time portion .

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

## Design IIR Highpass Filters

This post is the fourth in a series of tutorials on IIR Butterworth filter design.  So far we covered lowpass , bandpass , and band-reject  filters; now we’ll design highpass filters.  The general approach, as before, has six steps:

Find the poles of a lowpass analog prototype filter with Ωc = 1 rad/s. Given the -3 dB frequency of the digital highpass filter, find the corresponding frequency of the analog highpass filter (pre-warping). Transform the...

## Design IIR Band-Reject Filters

In this post, I show how to design IIR Butterworth band-reject filters, and provide two Matlab functions for band-reject filter synthesis.  Earlier posts covered IIR Butterworth lowpass  and bandpass  filters.  Here, the function br_synth1.m designs band-reject filters based on null frequency and upper -3 dB frequency, while br_synth2.m designs them based on lower and upper -3 dB frequencies.   I’ll discuss the differences between the two approaches later in this...

## Design IIR Bandpass Filters

In this post, I present a method to design Butterworth IIR bandpass filters.  My previous post  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; ...

## Design IIR Butterworth Filters Using 12 Lines of Code

While there are plenty of canned functions to design Butterworth IIR filters , it’s instructive and not that complicated to design them from scratch.  You can do it in 12 lines of Matlab code.  In this article, we’ll create a Matlab function butter_synth.m to design lowpass Butterworth filters of any order.  Here is an example function call for a 5th order filter:

N= 5 % Filter order fc= 10; % Hz cutoff freq fs= 100; % Hz sample freq [b,a]=...

## Simplest Calculation of Half-band Filter Coefficients

Half-band filters are lowpass FIR filters with cut-off frequency of one-quarter of sampling frequency fs and odd symmetry about fs/4  *.  And it so happens that almost half of the coefficients are zero.  The passband and stopband bandwiths are equal, making these filters useful for decimation-by-2 and interpolation-by-2.  Since the zero coefficients make them computationally efficient, these filters are ubiquitous in DSP systems.

Here we will compute half-band...

## There's No End to It -- Matlab Code Plots Frequency Response above the Unit Circle

Reference  has some 3D plots of frequency response magnitude above the unit circle in the Z-plane.  I liked them enough that I wrote a Matlab function to plot the response of any digital filter this way.  I’m not sure how useful these plots are, but they’re fun to look at. The Matlab code is listed in the Appendix.

This post is available in PDF format for easy...

## Modeling a Continuous-Time System with Matlab

Many of us are familiar with modeling a continuous-time system in the frequency domain using its transfer function H(s) or H(jω).  However, finding the time response can be challenging, and traditionally involves finding the inverse Laplace transform of H(s).  An alternative way to get both time and frequency responses is to transform H(s) to a discrete-time system H(z) using the impulse-invariant transform [1,2].  This method provides an exact match to the continuous-time...

## Canonic Signed Digit (CSD) Representation of Integers

In my last post I presented Matlab code to synthesize multiplierless FIR filters using Canonic Signed Digit (CSD) coefficients.  I included a function dec2csd1.m (repeated here in Appendix A) to convert decimal integers to binary CSD values.  Here I want to use that function to illustrate a few properties of CSD numbers.

In a binary signed-digit number system, we allow each binary digit to have one of the three values {0, 1, -1}.  Thus, for example, the binary value 1 1...

## Matlab Code to Synthesize Multiplierless FIR Filters

This article presents Matlab code to synthesize multiplierless Finite Impulse Response (FIR) lowpass filters.

A filter coefficient can be represented as a sum of powers of 2.  For example, if a coefficient = decimal 5 multiplies input x, the output is $y= 2^2*x + 2^0*x$.  The factor of $2^2$ is then implemented with a shift of 2 bits.  This method is not efficient for coefficients having a lot of 1’s, e.g. decimal 31 = 11111.  To reduce the number of non-zero...

## The Power Spectrum

Often, when calculating the spectrum of a sampled signal, we are interested in relative powers, and we don’t care about the absolute accuracy of the y axis.  However, when the sampled signal represents an analog signal, we sometimes need an accurate picture of the analog signal’s power in the frequency domain.  This post shows how to calculate an accurate power spectrum.

Parseval’s theorem [1,2] is a property of the Discrete Fourier Transform (DFT) that...

## Digital PLL's -- Part 2

In Part 1, we found the time response of a 2nd order PLL with a proportional + integral (lead-lag) loop filter.  Now let’s look at this PLL in the Z-domain [1, 2].  We will find that the response is characterized by a loop natural frequency ωn and damping coefficient ζ.

Having a Z-domain model of the DPLL will allow us to do three things:

Compute the values of loop filter proportional gain KL and integrator gain KI that give the desired loop natural...

## Digital PLL's -- Part 1

1. Introduction

Figure 1.1 is a block diagram of a digital PLL (DPLL).  The purpose of the DPLL is to lock the phase of a numerically controlled oscillator (NCO) to a reference signal.  The loop includes a phase detector to compute phase error and a loop filter to set loop dynamic performance.  The output of the loop filter controls the frequency and phase of the NCO, driving the phase error to zero.

One application of the DPLL is to recover the timing in a digital...

## Peak to Average Power Ratio and CCDF

Peak to Average Power Ratio (PAPR) is often used to characterize digitally modulated signals.  One example application is setting the level of the signal in a digital modulator.  Knowing PAPR allows setting the average power to a level that is just low enough to minimize clipping.

However, for a random signal, PAPR is a statistical quantity.  We have to ask, what is the probability of a given peak power?  Then we can decide where to set the average...

## Filter a Rectangular Pulse with no Ringing

To filter a rectangular pulse without any ringing, there is only one requirement on the filter coefficients:  they must all be positive.  However, if we want the leading and trailing edge of the pulse to be symmetrical, then the coefficients must be symmetrical.  What we are describing is basically a window function.

Consider a rectangular pulse 32 samples long with fs = 1 kHz.  Here is the Matlab code to generate the pulse:

N= 64; fs= 1000; % Hz sample...

## Re:

Hi,I don't understand the question.  You need to be more descriptive.

## Re: Trying to wrap my head around FFT and SDR...

Alex,Are you designing a receiver for the signal?  What do you mean by "isolating the signal"?  Do you mean you need to attenuate nearby signals?  Can you...

...

## Re: All Pole Transfer Functions

By the way, I wrote a post "Second Order Discrete-Time System Demonstration" that might interest you.--Neil

## Re: All Pole Transfer Functions

Hi Safwan,Thanks for your interesting post.  I tried comparing your 2nd order all-pole with a = 0.8 and phi= .226  to a 2nd order Butterworth with fc = .05 fs,...

## Re: How to avoid harmonic distortions in a DAC?

This may not directly answer your questions, but Analog devices has an online tool for finding aliases of a signal and its harmonics:https://www.analog.com/en/design-center/interactiv...Also,...

## Re: Effect of decimation, tuning (mixing) on phase noise

Hi Steve,Great!  Nice to see agreement of results.Neil

## Re: Effect of decimation, tuning (mixing) on phase noise

I wrote a post on ADC jitter which may be of some help.  Here is a link.https://www.dsprelated.com/showarticle/1157.phpYou also can look at references 1 and 2 at...

## Re: Sampling Rate conversion with arbitrary and variable ratios

Hi Mark,We are talking about the same thing.  The Farrow interpolator is a hardware implementation of a piecewise polynomial interpolator.regards,Neil

## Re: Sampling Rate conversion with arbitrary and variable ratios

Hi,This problem comes up in timing recovery for digital receivers.  As already mentioned, you can use Lagrange polynomial interpolation, also referred to as piecewise...

## Re: Clock drift and compensation

Are the crystal frequencies equal or related by an integer factor?  If so, it may be easier to drive the DSP chip with the clock from the tuner.

## Re: Real to Complex conversion

I don't think method a) works.  I discuss the Hilbert transformer in this post:https://www.dsprelated.com/showarticle/1147.phpA Hilbert transformer could work. ...

## Re: OFF TOPIC: A Question About PI

Rick,The girl in the video asked what pi is good for.  Obviously, it's good for designing the NCO in the demodulator of her smart phone.

## Re: Window Impulse Response

The impulse response just the output of your system when the input is the unit impulse function.  The Fourier transform of the impulse response is the transfer...

## Re: Window Impulse Response

Hi Samp17,When using a window, be sure to multiply your signal by the window, sample-by-sample.  That will allow your spectrum to cover the range of 0 to fs/2. ...

## Re: Low cost audio DSP Exploration

Send a message to stephaneb -- you can contact him by clicking on his name.Neil

## Re: What papers should beginners in signal processing research read?

To continue the discussion of linear algebra:  the classic application we learned in EE was steady-state simulation of linear RLC circuits.  A circuit with N loops can...

## Re: Timing Recovery Loop Filter Rate

I agree that there is no advantage to running the loop filter faster than the rate of the TED.  It is not a big deal to do the loop computations with the loop filter...

## Re: What papers should beginners in signal processing research read?

Maybe the rules for authors that Rick mentions should be modified as follows:After you are done writing the paper add 100 or 200 words to explain "the obvious".

## Re: Todo List: Improvements to the Related Sites

Hi Stephane,On the home page, I preferred the previous list of recent blogs to the present list, which only contains 6 posts.  The present format causes blogs to...

## Re: Calculating noise floor of digitization system using FFT

Hi Naumankalia,What is the difference between your scheme and just applying a full-scale sinewave and then taking the windowed fft?  What is your definition of...

## Re: Trying to go live SOON

Stephane,Thanks for the intro to New Brunswick humor.Neil

## Re: introduction to error correcting codes book (including FEC)

Hi,I have read parts of this book by Lin and Costello.  It may be out of print.  The book was pretty straightforward, however, it is a long slog to get to the...

## Re: What is the frequency response of a resampling filter?

"Then, I view the "Taking aliasing into account" section as doing all of the decimation in one go"Yes, that's right.Neil

## Re: What is the frequency response of a resampling filter?

Weetabixharry,I'm not saying to reorder the filtering and downsampling -- If you look at figure 5, what I am doing is cascading versions of each filter that are...

## Re: What is the frequency response of a resampling filter?

Hi,Take a look at my post on this subject:https://www.dsprelated.com/showarticle/1228.phpregards,Neil

## Re: Band Edge Detector dervied from Maximum Liklihood Principle?

No need to repost.  You might want to look at Michael Rice's book, Chapter 8.https://www.pearson.com/us/higher-education/progra...

## Re: SC FDMA Channel Equalization

Hi,I think you posted this around the time dsprelated.com suffered a host outage.  It may have gone unnoticed by some.regards,Neil

## Re: Band Edge Detector dervied from Maximum Liklihood Principle?

Hi Michael,I think you posted this around the time dsprelated.com suffered a host outage.  It may have gone unnoticed by some.regards,Neil

## Re: Regarding my recent post on Multistage Decimators

Hi Kaz,Your code computes the impulse response of the decimator at the output sample rate of fs/8.  My post computes the impulse response and frequency response...

## Regarding my recent post on Multistage Decimators

I posted an article on Multistage decimators yesterday.  I decided it needed some tweaking, so today I updated it to show the stopband requirements in a couple...

## Re: 50Hz and harmonics filtering

Also, what is the band of the desired signal?

## Re: 50Hz and harmonics filtering

Hi Dimaios,What is your sample rate?Which harmonics are you trying to attenuate?  Odd? Even? Odd and even?How high in frequency do the harmonics extend?  5th harm,...

## Re: Time domain signal slikes

Imoshe,I think you will need to provide more details.  Not being a radar person, I can make one comment -- it is probably not a good idea to zero-out data before...

## Re: Phase Locked Loop Books in a time of DSP

Tim,I'm not sure if it is appropriate, but you could do a search on "Time to Digital Converter" (TDC).regards,Neil

## Re: Real to Complex conversion

Here is my post that uses a Hilbert xfrmr:https://www.dsprelated.com/showarticle/1147.php

## Re: High-cost communications in the old days -- telegrams

Ah yes -- the Old West, before the color subcarrier.Neil

## Re: High-cost communications in the old days -- telegrams

For the elderly out there (I had to look it up):  ASA = as soon asNeil

## High-cost communications in the old days -- telegrams

I've been reading a P.G. Wodehouse book (Right-Ho, Jeeves) that has several fictional telegrams in it.  For example:Fink-Nottle, Brinkley Court, Market Snodsbury,...

## Re: Is it possible to use dsp to tune an active analog filter

Carneyc,So presumably the varactors are controlled by DC outputs of some kind of DACs (e.g. sigma-delta DACs).  I imagine you have a DAC assigned to each varactor,...

## Re: Is it possible to use dsp to tune an active analog filter

Carneyc,Can you provide more detail about what you mean by "a 4x4 array of bandpass filters"?  Also, how are the filters now tuned/calibrated?  Do they have variable...

## Re: Any examples / literature on the purposeful insertion of errors into audio / video as a means of DRM (digital rights management)?

Nelson,Pay TV is much more sophisticated now than back in the days of "scrambling" of analog video.  For that matter, analog video is almost non-existent now. ...

## Re: For those who downloaded the PDF file for Lyons' recent "FFT Interpolation" blog

Rick,Thanks.  This is an occupational hazard of being an engineer.  Another hazard is getting something to work, but having the wrong explanation of why it works...

## Re: Digital lock in amplifier on FPGA

Gabrics,I notice there are a lot of articles on this subject on the web.  For example:Microchip App note AN1115:  Implementing Digital Lock-In Amplifiers Using...

## Re: DSP diagramming software?

Hi,I use Microsoft Visio.  I created my own library of symbols for my particular applications.  It's not perfect, but it does have a lot of flexibility.Another...

## Re: MATLAB simulation of bilinear transformation

Simon,You have a lot of steps, so it's hard to say quickly where the problem is.  You can design a band-reject filter in one step using:[b,a]= butter(N,[fL fU]*2/fs,'stop')where...

## Re: DSP History

Yes!  I used a slide rule for my freshman year, and got a Texas Instrument SR-50 scientific calculator (with red LED display) my sophomore year.

## Re: DSP History

Rick,I was working on analog video modulators back in the early '80's.  Little did I know that these DSP pioneers had set in motion the technology that would replace...

## Re: How to Obtain Biquad Coefficients

I noticed there is some Matlab code for the A-weighted filter in a DSPrelated post from 2011:https://www.dsprelated.com/showcode/214.phpHere is the code, with the...

## Re: How to Obtain Biquad Coefficients

Hi,For a biquad, the feedback coeffs are [1 a1 a2] and the feedforward coeffs are [b0 b1 b2].  The a0 coefficient does not appear explicitly in the filter structure. ...

## Re: IIR filters

Hi,Good point! Thanks,Neil

## IIR filters

I am curious about the usefulness of IIR filters above 2nd order in DSP applications.  I know that first order IIR's are common, and presumably so are biquads. ...

## Re: PLL jitter and double-sideband suppressed carrier demodulation

Konejisimo,I don't want to make specific suggestions that may be totally off the mark for your situation.  A couple of possibilities for phase detectors in an all-digtial...

## Re: PLL jitter and double-sideband suppressed carrier demodulation

Konejesimo,Here are posts I wrote on digital PLL design that you might find useful:https://www.dsprelated.com/showarticle/967.phphttps://www.dsprelated.com/showarticle/973.phpUsing...

## Re: AGC on FPGA

Kaz,I am not expert on AGC.  Maybe that's something I can study and write about sometime in the future.regards,Neil

## Re: AGC on FPGA

Hi,I think you need to read up on how digital agc is typically done.  At its simplest, digital AGC consists of a threshold detector, integrator, and multiplier.Here...

## Re: New DSP FAQ Section - please suggest topics

How do I make an FIR filter have gain of 1 at f = 0?

## Re: New DSP FAQ Section - please suggest topics

What is the difference between FIR and IIR fiters?

## Re: New DSP FAQ Section - please suggest topics

I'm not sure I understand what you're getting at here.  I view the bilinear xform as a tool.  Does a hammer matter?regards,Neil

## Re: Differential frequency measurement

Hi,By way of background, Mitra discusses DTMF decoding in his book, and provides an m-file:Sanjit K. Mitra, Digital Signal Processing 2nd Ed., McGraw-Hill 2001,...

## Re: Gapped-signals

Tudelft_Res,To get more frequency resolution, you could zero-pad the segments **after** windowing.  For example, if one segment were length 1500, you could window...

## Re: Gapped-signals

Tudelft_Res,I guess the answer depends on the type of signal and what you are using the signal for.  For example, if your purpose were spectral analysis, you could...

## Re: How does one delay a signal and allow its phase to propagate vs time with a specific slope or rate?

Hi,A delay of length T can be implemented by a series of one-sample delays, and it will have a linear phase slope.  For example, if you want a delay of 5 ms and...

## Re: DSP project suggestion

Hi,A very simple project would be a one-bit sigma-delta DAC.  You could use various constants as input and measure the DC output of a one-pole RC lowpass filter...

## Re: Advice on digital phase locked loop with square wave input wanted

Yeah,I once implemented a TDC phase detector who's input was just an external clock that was captured asynchronously as a single-bit signal.  I forget how much...

## Re: Advice on digital phase locked loop with square wave input wanted

Hi John,The analysis in my PLL tutorial still applies -- however, to use that approach you would need to calculate the gain Kp of the time-stamp based phase detector....

## Re: DFT of a signal and system

Yeah, it stems from the continuous system H(s):  the transfer function H(s) is the Laplace transform of the impulse response, and H(jw) is the Fourier transform...

...

## Re: The adoption of the frequency measure "Hertz"

So you could say that they put Hertz in the driver's seat.

## Re: Eye diagram

Avi,I have not looked at your code, so this may not apply.  However...If you have RRC filtered data, to look at the eye, you need to filter it again with the same RRC...

## Re: Matlab Home-use version

Mark,They say "Get the full Capabilities of Matlab", so that implies it is full-featured.  As you noted, the DSP toolbox (a key feature) appears to be extra --...

## Matlab Home-use version

As many of you know, #Matlab is a very expensive tool -- its cost brings to mind Mylan Pharmeceuticals and the EpiPen.However, besides the student version, they...

## Re: Understanding maths behind DFT?

Hi,The tricky thing is that textbooks are not always the best at clearly explaining the DFT. You may need to try a few to find an approach you like.  You might...

...

## Re: thought experiment for modeling an aliased tone through a system

Hi,This may not relate exactly to your problem, but take a look at this article.  It shows how to plot the image response of a decimator.  This method automatically...

## Re: Error correction codes: good intuitive theory for FW developpers?

Hi Andy,I'm not an expert, but FEC can be a tricky subject to jump into. The math can be tedious. I have read parts of the Lin and Costello book below -- it...

## Re: A digital filter question

Rick,As a practical matter, if the sample rate is much higher than the filter passband,  you could insert a delay of one sample in the block diagram without affecting...

## Re: A digital filter question

Hi Rick,No I have not seen that structure -- I have seen feed-forward structures for that purpose.The transfer function of your structure is of course Ha = 1/(1...

## Re: Decimator Image response

Rick,Regarding the non-symmetric b_down and u_down: If I change two lines of code     b_down = 4*b(4:4:end);     (instead of (1:4:end) )     u_down = 4*u(2:4:end);...

## Re: Decimator Image response

Hi Rick,1.  The definition I would propose for image response would be the sum of the undesired component levels that fall in-band due to decimation, with respect...

## Decimator Image response

...

Use this form to contact neirober

Before you can contact a member of the *Related Sites:

• You must be logged in (register here)
• You must confirm you email address