 Cedron Dawg is the pen name of a reclusive math enthusiast and programmer. His primary interest is in the Discrete Fourier Transform having discovered numerous new equations which are documented in the blog articles, with more to come. For non-members of DspRelated he can be contacted at cedron at exede dot net. Members can click on the envelope icon below.

## A Two Bin Solution

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by showing an implementation of how the parameters of a real pure tone can be calculated from just two DFT bin values. The equations from previous articles are used in tandem to first calculate the frequency, and then calculate the amplitude and phase of the tone. The approach works best when the tone is between the two DFT bins in terms of frequency.

The Coding...

## Angle Addition Formulas from Euler's Formula

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT), but only indirectly. The main intent is to get someone who is uncomfortable with complex numbers a little more used to them and relate them back to already known Trigonometric relationships done in Real values. It is essentially a followup to my first blog article "The Exponential Nature of the Complex Unit Circle".

Polar Coordinates

The more common way of...

Introduction

## Phase and Amplitude Calculation for a Pure Complex Tone in a DFT using Multiple Bins

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by deriving exact formulas to calculate the phase and amplitude of a pure complex tone from several DFT bin values and knowing the frequency. This article is functionally an extension of my prior article "Phase and Amplitude Calculation for a Pure Complex Tone in a DFT" which used only one bin for a complex tone, but it is actually much more similar to my approach for real...

## Phase and Amplitude Calculation for a Pure Complex Tone in a DFT

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by deriving exact formulas to calculate the phase and amplitude of a pure complex tone from a DFT bin value and knowing the frequency. This is a much simpler problem to solve than the corresponding case for a pure real tone which I covered in an earlier blog article. In the noiseless single tone case, these equations will be exact. In the presence of noise or other tones...

## An Alternative Form of the Pure Real Tone DFT Bin Value Formula

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by deriving alternative exact formulas for the bin values of a real tone in a DFT. The derivation of the source equations can be found in my earlier blog article titled "DFT Bin Value Formulas for Pure Real Tones". The new form is slighty more complicated and calculation intensive, but it is more computationally accurate in the vicinity of near integer frequencies. This...

## Improved Three Bin Exact Frequency Formula for a Pure Real Tone in a DFT

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by extending the exact two bin formulas for the frequency of a real tone in a DFT to the three bin case. This article is a direct extension of my prior article "Two Bin Exact Frequency Formulas for a Pure Real Tone in a DFT". The formulas derived in the previous article are also presented in this article in the computational order, rather than the indirect order they were...

## Two Bin Exact Frequency Formulas for a Pure Real Tone in a DFT

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by deriving exact formulas for the frequency of a real tone in a DFT. This time it is a two bin version. The approach taken is a vector based one similar to the approach used in "Three Bin Exact Frequency Formulas for a Pure Complex Tone in a DFT". The real valued formula presented in this article actually preceded, and was the basis for the complex three bin...

## Exact Near Instantaneous Frequency Formulas Best at Zero Crossings

Introduction

This is an article that is the last of my digression from trying to give a better understanding of the Discrete Fourier Transform (DFT). It is along the lines of the last two.

In those articles, I presented exact formulas for calculating the frequency of a pure tone signal as instantaneously as possible in the time domain. Although the formulas work for both real and complex signals (something that does not happen with frequency domain formulas), for real signals they...

## Exact Near Instantaneous Frequency Formulas Best at Peaks (Part 2)

Introduction

This is an article that is a continuation of a digression from trying to give a better understanding of the Discrete Fourier Transform (DFT). It is recommended that my previous article "Exact Near Instantaneous Frequency Formulas Best at Peaks (Part 1)" be read first as many sections of this article are directly dependent upon it.

A second family of formulas for calculating the frequency of a single pure tone in a short interval in the time domain is presented. It...

## Exact Near Instantaneous Frequency Formulas Best at Peaks (Part 1)

Introduction

This is an article that is a another digression from trying to give a better understanding of the Discrete Fourier Transform (DFT). Although it is not as far off as the last blog article.

A new family of formulas for calculating the frequency of a single pure tone in a short interval in the time domain is presented. They are a generalization of Equation (1) from Rick Lyons' recent blog article titled "Sinusoidal Frequency Estimation Based on Time-Domain Samples". ...

## A Recipe for a Common Logarithm Table

Introduction

This is an article that is a digression from trying to give a better understanding to the Discrete Fourier Transform (DFT).

A method for building a table of Base 10 Logarithms, also known as Common Logarithms, is featured using math that can be done with paper and pencil. The reader is assumed to have some familiarity with logarithm functions. This material has no dependency on the material in my previous blog articles.

If you were ever curious about how...

## Three Bin Exact Frequency Formulas for a Pure Complex Tone in a DFT

Introduction

This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by deriving exact formulas for the frequency of a complex tone in a DFT. This time it is three bin versions. Although the problem is similar to the two bin version in my previous blog article "A Two Bin Exact Frequency Formula for a Pure Complex Tone in a DFT", a slightly different approach is taken using linear algebra concepts. Because of an extra degree of freedom...

## A Two Bin Exact Frequency Formula for a Pure Complex Tone in a DFT

Introduction

This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by deriving an exact formula for the frequency of a complex tone in a DFT. It is basically a parallel treatment to the real case given in Exact Frequency Formula for a Pure Real Tone in a DFT. Since a real signal is the sum of two complex signals, the frequency formula for a single complex tone signal is a lot less complicated than for the real case.

Theoretical...

## DFT Bin Value Formulas for Pure Complex Tones

Introduction

This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by deriving an analytical formula for the DFT of pure complex tones and an alternative variation. It is basically a parallel treatment to the real case given in DFT Bin Value Formulas for Pure Real Tones. In order to understand how a multiple tone signal acts in a DFT it is necessary to first understand how a single pure tone acts. Since a DFT is a linear transform, the...

## Exponential Smoothing with a Wrinkle

Introduction

This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by providing a set of preprocessing filters to improve the resolution of the DFT. Because of the exponential nature of sinusoidal functions, they have special mathematical properties when exponential smoothing is applied to them. These properties are derived and explained in this blog article.

Basic Exponential Smoothing

Exponential smoothing is also known as...

## Phase and Amplitude Calculation for a Pure Real Tone in a DFT: Method 1

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by deriving exact formulas for the phase and amplitude of a non-integer frequency real tone in a DFT. The linearity of the Fourier Transform is exploited to reframe the problem as the equivalent of finding a set of coordinates in a specific vector space. The found coordinates are then used to calculate the phase and amplitude of the pure real tone in the DFT. This article...

## Exact Frequency Formula for a Pure Real Tone in a DFT

Introduction

This is an article to hopefully give a better understanding of the Discrete Fourier Transform (DFT) by deriving an exact formula for the frequency of a real tone in a DFT. According to current teaching, this is not possible, so this article should be considered a major theoretical advance in the discipline. The formula is presented in a few different formats. Some sample calculations are provided to give a numerical demonstration of the formula in use. This article is...

## DFT Bin Value Formulas for Pure Real Tones

Introduction

This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by deriving an analytical formula for the DFT of pure real tones. The formula is used to explain the well known properties of the DFT. A sample program is included, with its output, to numerically demonstrate the veracity of the formula. This article builds on the ideas developed in my previous two blog articles:

## DFT Graphical Interpretation: Centroids of Weighted Roots of Unity

Introduction

This is an article to hopefully give a better understanding to the Discrete Fourier Transform (DFT) by framing it in a graphical interpretation. The bin calculation formula is shown to be the equivalent of finding the center of mass, or centroid, of a set of points. Various examples are graphed to illustrate the well known properties of DFT bin values. This treatment will only consider real valued signals. Complex valued signals can be analyzed in a similar manner with...

## The Exponential Nature of the Complex Unit Circle

Introduction

This is an article to hopefully give an understanding to Euler's magnificent equation:

$$e^{i\theta} = cos( \theta ) + i \cdot sin( \theta )$$

This equation is usually proved using the Taylor series expansion for the given functions, but this approach fails to give an understanding to the equation and the ramification for the behavior of complex numbers. Instead an intuitive approach is taken that culminates in a graphical understanding of the equation.

Complex...

## Re: N-point DFt of cosine and sine

I regard to: "(correct me if I am wrong) but it looks like this equation only has an interesting value at m=k."The equations of mine I referred you to earlier are...

## Re: N-point DFt of cosine and sine

This blog article of mine completes what you started. DFT Bin Value Formulas for Pure Real Tones Note: The simplification assumption done with equation (20)...

## Re: Why complex numbers are used/introduced in electricity

Hi Sara, If you have had your presentation already, I hope it went well. I didn't see this until just now. I would start with the proclamation: "It is the...

## Re: MathJax/Latex question

That's interesting.  I've never hung out there so I wouldn't know.You don't have to tell them it's MathJax.  I do all my rough drafts as .tex files, then I have...

## Re: MathJax/Latex question

There is a Latex group on StackExchange.  I'll bet you'd find some experts there as well.https://tex.stackexchange.com/

## Re: Simplifications With Eulers Equation (DTFT, DTFS)

That's hard for me to read.  Since you didn't post the book's answer, I can't tell you whether it's equivalent.  The thing with trig expression is they are incredibly...

## Re: Simplifications With Eulers Equation (DTFT, DTFS)

Upon a reread, it isn't even that hard:$$\sin( \frac{2}{3}\pi ) = \frac{\sqrt{3}}{2}$$Similar for the other terms.Sorry, I should have looked closer first.+++++++++++++++++++++The...

## Re: OFF TOPIC: A Question About PI

0 is rational because 0 is an integer and the integers are a subset of the rationals.Alternatively:A rational number is a number that can be represented as the ratio...

## Re: OFF TOPIC: A Question About PI

#4 is quite incorrect as well.  Only true for finite series.  It does not necessarily hold if you get to go to infinity as your ... implies. Consider the Arctangent...

## Re: OFF TOPIC: A Question About PI

Consider this:The sin(x)/x limit is my example of choice to introduce the concepts of limits to newbies, especially those who struggle with the concept.Draw a row...

## Re: Pool Ball Pendulum Animation in MATLAB

Hi Rick,Pendulums have periodic motions which approximate simple harmonic motion.  The difference is $\theta$ vs $\sin(\theta)$ in the guiding differential equation. ...

## Re: Is this time-domain aliasing?

That is very cool.  Thanks for sharing that Rick.To me, who tends to see things through DFT colored glasses, this looks like a representation of the real part of...

## Re: Low cost audio DSP Exploration

Thanks for the thoughtful reply.Discussing #1 will take us too far afield.  I don't disagree at all.  Unfortunately, I wouldn't characterize our democracy as strong...

## Re: Low cost audio DSP Exploration

Well Mr. Tomkins, that is a beautiful rendition of the siren song, and it is hard to resist.  Yes, I know it is a big thing right now, but that does not necessarily...

## Re: Low cost audio DSP Exploration

Funny you should mention edge detection.  This is my latest answer at DSP.SE:https://dsp.stackexchange.com/questions/58341/afte...Personally, I am not enthralled...

...

## Re: Low cost audio DSP Exploration

Hmmmmmmmmmm,Let's see.1) A good text editor2) A good compiler3) A half-way decent computer with a sound card.Most of us already have those, so really cheap.Let's...

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

Rough draft, but I hope you get my drift.Here are some prototypes.  I think if sections are empty, they should be eliminated entirely for that user.Ced=================================================User...

## Attn Linux Users: Check out Gambas

I wish I would have found this years ago. If you like the way you could rapidly design and code in VB in Windows, you want to seriously check this out.  It is...

## Re: The Spectral Complexity of a Single Musical Note

Followup:I took a small excerpt of ten waveforms from one of the strikes in "sound_example_8.mp3".   This is what the 1/N normalized DFT looks like: Zooming in...

## Re: The Spectral Complexity of a Single Musical Note

Sorry, I should have mentioned that I am quite familiar with the concept of this missing fundamental. What your ear hears (and autocorrelation detects) is the repeat...

## Re: The Spectral Complexity of a Single Musical Note

Hi Rick,I, too, was puzzled by the lack of the fundamental.  Out of the three explanations so far:1) Sounding board2) Recording Equipment3) Actually MissingI would...

## Re: find out frequency of complex sinusoidal without FFT or DFT

Or my generalized followup articles:https://www.dsprelated.com/showarticle/1051.phphttps://www.dsprelated.com/showarticle/1056.phphttps://www.dsprelated.com/showarticle/1074.phpThey...

## Re: Far Off Topic: A Simple Geometry Problem That Had Me "Going in Circles"

This problem is usually posed as one coin being spun around another.  From the stationary penny's perspective, the rotating penny makes one revolution.  From an...

## Re: spectrum of rectangular pulse using two methods

Hi kaz,That is a different issue, one I am not that knowledgeable in, but I believe that is correct.Ced

## Re: spectrum of rectangular pulse using two methods

That would be equation (27) in my article I referenced (adjusted to T).Ced

## Re: spectrum of rectangular pulse using two methods

The sinc function is for the continuous case and is only an approximation in the discrete case.It is fairly straightforward to derive the DFT bin values of a rectangular...

## Re: Lyons needs help with a "Frequency Estimation" paper.

The math looks kind of bad to me.  As the others have already pointed out, (5) comes from applying the geometric series sum formula to the "n=0 to L-1" summation...

## Re: FFT complexity

Hey, that last point is a neat trick.  New to me, so I looked it up.Solve for A and B:A + Bi = ( a + bi )( c + di )Straightforward:A + Bi = ( ac - bd ) + ( ad +...

## Re: How to detect ringbacktone ivrs and hold music from an audio recording

The two biggest questions in an application like this are:1) Does it need to be done real time?  Your answer is no.2) Does it have to be done efficiently? You haven't...

## Re: C5505 eZdsp - reproducing wav file

You're welcome.A few notes:1) This code is for a stereo file.  If you want to produce a mono file the track count should be one.  This also affects the 'theBytesPerSample'...

## Re: C5505 eZdsp - reproducing wav file

Reading and writing .wav files is rather straightforward in C or C++, you don't need any special libraries. There are a couple of header blocks that hold the configuration...

## Re: fft/ifft scaling revisited

All the answers have been good.  I just wanted to add the term "unitary matrix" to the discussion for the 1/sqrt(N) scaling.  It is the one that preserves the...

## Re: reconstruct phase-shifted sine tone

"I believe the reason for this is my one frame of sine wave does not contain the complete cycles."Yep, this is your main problem.  This is why I added my edit of...

## Re: reconstruct phase-shifted sine tone

Hi,You have a few things wrong:1) As Y(J)S alluded to, real valued signals have the top half of the DFT as the conjugate mirror of the bottom half so if you rotate...

## Re: Off Topic: A geometry problem

Rick, yes and yes.If you look carefully at the photo, the line m is actually superimposed.  Poor color choice.The problem is also poorly worded.  Taken literally,...

## Re: Off Topic: A geometry problem

It would have been clearer had I originally said "Thus the solution stays in the same place horizontally."  or "Thus the solution stays in the same place on the...

## Re: Off Topic: A geometry problem

Assuming the line is moved in a parallel manner, e.g. the sidewalk is wider or narrower.Yes, it will move vertically on the diagram, but not horizontally.  It will...

## Re: Off Topic: A geometry problem

Hi Rick,I think you have made a small mistake in your analysis of the book's solution.  If you move the line "m", you also move the point "B'" as it is supposed...

## Re: Off Topic: A geometry problem

Hi Rick,No.The first paragraph is the same sentiment as SteveSmith's comment below.  Showing alternatives to the final solution would better show why the final...

## Re: Off Topic: A geometry problem

Hmmmmmm.  I don't think it is as bad as you say.  Had they shown an additional different position for 'C', perhaps several of them, why this suffices as a "proof"...

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

Here is a suggestion:  There is a large history of questions in your forum, and an even larger one in comp.dsp.  I would think that looking through these should...

## Re: Has the LinkedIn.com Web Site Been Scanning Through Your Computer's E-Mail Files Without Your Permission?

Hi Jeff,I think that is how it works.  The permission is probably stated somewhere in the fine print.  I don't belong to LinkedIn so I can't tell you for sure.The...

## Re: Has the LinkedIn.com Web Site Been Scanning Through Your Computer's E-Mail Files Without Your Permission?

I suspect that "Joe Jones" used the "Add Connections feature" and RL's address was in JJ's contact list.  Since he was already a member, a confirmation email was...

## Re: Has the LinkedIn.com Web Site Been Scanning Through Your Computer's E-Mail Files Without Your Permission?

Hi Rick,I don't have an account on LinkedIn.  Every once in a while I get "invitations" from LinkedIn to join as a contact to so-and-so who I have corresponded...

## Re: Audio FFT Filter, noisy clicks

You probably have a bug in your code.  The clicks come from big discontinuities in the signal which shouldn't be there if you are just doing a forward and reverse...

## Re: Frequency Interpolation Algorithms

With other tones and noise you won't be able to get an exact answer.  There are a bunch of frequency estimators which can be divided into two classes:  exact and...

## Re: Differential frequency measurement

I whipped up a graphic to demonstrate the sum of two tones of the same amplitude.The top graph is the two tones cos(A) and cos(B).  The bottom graph has cos(A)+cos(B)...

## Re: Differential frequency measurement

Hello techn0mad,A key assumption of the approach I mentioned above is that the two tones are of the same amplitude.  If they aren't, the summation equation becomes...

## Re: Differential frequency measurement

A few questions:1) How many wavelengths are in each short duration?2) Are they consistent?3) Is the sampling rate somewhat steady?Here is an approach which may work...

## Re: Generating Random Numbers Through Audio

www.hindawi.com/journals/mpe/2013/285373/Here's one paper.  A little more searching on terms you find within it should find you some more.Ced

## Re: Generating Random Numbers Through Audio

My suggestion wasn't based on literature, so there may be some.  There is a similar approach using a webcam feed instead so you may find something written about...

## Re: Generating Random Numbers Through Audio

I'm not sure I agree with the need for your assumption about PRGs, but accepting it as a requirement you can still do it with an audio stream.  The problems mentioned...

## LabVIEW Warning

Anybody who uses LabVIEW should probably be aware of this:thehackernews.com/2017/08/hacking-labview-vi-file.htmlI'm not a user, but I think I recall seeing it discussed...

There is a faster method for smaller N, but it probably isn't fast as you desire.  Any potential savings also depends on the size of N.If you think of the DFT and...

## Re: time delay ---- frequency shift Fourier property

For complex signals, a phase shift in the time domain turns into rotation in the DFT.For real values signals, which can be thought of as the sum of two complex signals,...

## Re: Cross Correlation with Increasing Finite functions

Here's a suggestion building on what Y(J)S did:x(t) = a log( k*t + d_x )y(t) = a log( k*t + d_y )Estimate "a".  X(t) = exp( x(t)/a ) ~=~ k*t + d_xY(t) = exp( y(t)/a...

## Re: Spherical Mapping/Unmapping

Your distortion probably comes from failing to account for the perspective view introduced by your camera.Your ultimate goal is to build a mapping from the pixel...

## Re: Spherical Mapping/Unmapping

What is the nature of the image?  For instance, is it a generated image or a picture taken by a camera?I have home grown math for both cases.  Too complicated...

## Re: Magnitude of frequency components

I'm sorry, I misunderstood your original question.I thought you were trying to find the phase and magnitude of the harmonics.That becomes the first step.  Once...

## Re: Magnitude of frequency components

Hi electrin,I don't know a better way than the DFT.  However, I can make some recommendations for your DFT usage and give you formulas for when the frequency varies...

## Re: Estimating SNR without windowing

Looking at your equation again, it seems you are doing the same calculation we recommended.  Therefore, you're problem is probably how you are calculating "A".Could...

## Re: Estimating SNR without windowing

The OP has a single complex tone signal.  Your answer appears to be for a real tone.Ced

## Re: Estimating SNR without windowing

Candan's 2013 formula is compared in my three bin article.  One of my new formulas is equivalent and the others are better.Please cite any formulas since then that...

## Re: Estimating SNR without windowing

These are my articles on frequency estimation for a pure complex tone usng a DFT:A Two Bin Exact Frequency Formula for a Pure Complex Tone in a DFThttps://www.dsprelated.com/showarticle/1039.phpThree...

## Re: simple and accurate phase estimation of harmonics in a signal?

You're welcome.You may want to add that to your StackExchange post too.Ced

## Re: simple and accurate phase estimation of harmonics in a signal?

Did you figure it out?Ced

...

## Re: simple and accurate phase estimation of harmonics in a signal?

I disagree.  Judging by the second diagram in his StackExchange posting, it seems to me that he has the fundamental frequency and phase stuff pretty well figured...

## Re: simple and accurate phase estimation of harmonics in a signal?

You're welcome.I think 100 waveforms may be overkill and you will need to do a huge FFT.  The simplest (at least conceptually) way to find a frequency in the time...

## Re: simple and accurate phase estimation of harmonics in a signal?

Your situation is the kind of application for which the DFT is ideal.  What you want to do is select a frame size that is a whole multiple of your repeating pattern. ...

## Re: simple and accurate phase estimation of harmonics in a signal?

Thanks for the reference to my article, but it is not appropriate for this situation.  Even if you do separate out all the tones, my article is about finding the...

## Re: DFT/FFT

What you are doing is equivalent to using a particular window function. I have renamed your timeSeries to S to shorten the lines for display purposes.Here is the...

## Re: DFT

First off, your definition is incorrect.  You are missing a 2Pi in the exponent.  It is also important to specify whether your signal is real or complex valued.Second,...

## Re: FFT Speed, FIR Output

Upon reconsideration, I may have been wrong before.  Maybe you do want to keep the squarish waveform and use the harmonics as confirmation.  As I said in my other...

## Re: FFT Speed, FIR Output

Hi Roger,In light of the presence of the harmonics, you will want to adjust your DFT size so that both your frequencies and their harmonics are whole integer multiples...

## Re: DTFT of a signal

"something of the form (a+jb)^k is being done but how exp(-j*2*pi*k*n/N) is decomposed into this"exp(-j*2*pi*k*n/N) = e^(-j*2*pi*k*n/N)= [e^(-j*2*pi*n/N)]^k= [cos(2*pi*n/N)-j*sin(2*pi*n/N)]^ka...

## Re: FFT Speed, FIR Output

Hi Roger,Why are you trying to convert the signal to a square wave and then rounding off the corners with a low pass filter?All you are doing is introducing a bunch...

## Re: DTFT of a signal

Sharan123,The DFT *is* a matrix multiplication.Z = F * SWhere Z is your DFT bin set, F is a matrix composed of the sinusoidal basis vectors, and S is your signal.b_var...

## Re: FFT Speed, FIR Output

Hi Roger,As I read it, it is not clear from your post whether you are trying to implement a tone detection solution or just using that as an example to learn how...

## Re: sum of sinusoids

Adding sinusoids can be a powerful technique. There are two special cases where the addition of sinusoids have nice mathematical properties. The first is what...

## Re: Happy Pi Day

That's a good hint, but you want to wrap another set of parentheses around it like this:#define PI ( 4 * atan(1) )Otherwise statements like this will not give you...

## Re: Happy Pi Day

I should have said "a sum day".  Yep, we get one every month for quite a few years yet.  However, today is especially special because it is the only Pi day that...

## Happy Pi Day

...

Use this form to contact Cedron

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

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