Giter Site home page Giter Site logo

circles-sines-signals's Introduction

circles-sines-signals's People

Contributors

agacek avatar herrherrmann avatar irh avatar jackschaedler avatar jpf avatar lenormju avatar perey avatar robert-wallis avatar sesneaky avatar taigner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

circles-sines-signals's Issues

Suggested change to frequency resolution

I'm referring to this page, figure 3, which seems to be working as intended but I found to be misleading.

At first I thought the samples better approximated an underlying analog curve. But it soon dawned on my that the horizontal time scale is not constant, and the curve compresses in from the right. This is because the sampling frequency is fixed and the time domain increases.

I think a more honest visualization is to show the underlying curve with sample points placed only on the left side. More points are added left to right as the slider is moved. Conceptually, equal horizontal spacing corresponds to the constant sampling rate.

This is unsolicited advice that you are free to take or leave as you like. I can also try implementing it myself if you assure me you'll merge it.

"Monty" not "Morty"

In footnote #4 in signals.html, you mistakenly called him Morty. His real name is Chris "Monty" Montgomery.

typo on "sine wave properties" page

I LOVED reading your DFT guide. I wouldn't have believed that it was possible to learn so much about this topic in little over an hour, but the visualizations, together with your explanations, really make it light work. More of the same please!

There's a tiny typo at the bottom of this page: https://jackschaedler.github.io/circles-sines-signals/sine_wave_properties.html

You've written "the" twice in the third to last page. Just search for "the the" and you'll find it.

Missing Comma

At the bottom of the sound.html page, you have "4000 hertz" (without a comma,) when in the immediately preceding sentence you have "3,000 Hz".

It's a miniscule nitpick, but I figured I'd let you know just in case you care.

Discussion about phase missing

In all the examples, including:
https://jackschaedler.github.io/circles-sines-signals/dft_introduction.html

All the examples use clockwise rotation for their phasors, and use phase = 0 at t=0.

A concept that is missing is the relationship between the direction of the unit circle phasors (clockwise or counter-clockwise (or anti-clockwise, depending on where you grew up)) and how this effects the other transforms. For many areas of study, this is the key to understanding why Fourier spans from -Fs/2 to + Fs/2. It describes the direction of the unit circle vector (or the phase relationships between the signals).

I will not effect too many things until you get to Euler.
https://jackschaedler.github.io/circles-sines-signals/euler.html

If the phasor rotates the other way, the relationship between I & Q changes, and the FFT shows up on the opposite side of the -Fs/2 to +Fs/2 scale. It's just a mathematical way of representing phase. (that's the part that is difficult to digest for some).

Just a suggestion.

Customizing/changing this primer

Hello,

I am interested in using this as a starting point for notes for a class I am teaching. Was there a tool you used to build the pages themselves? Some theme/framework? Im just wondering if I start editing the HTML directly from this repository, or I start from using a tool.

Thanks!

Sampling rate with sinus waves

Hi,
I'm new to signal processing so it may be that this is a misunderstanding:
In the sampling.html page, to illustrate the nyquist theorem at play you give us an interactive tool with different frequencies and a bar to change the sample rate.

The issue is that the theorem has, if I understand correctly, a caveat: If sampling a pure sin wave, the theorem will need that the sampling frequency be strictly larger. As we can see we wouldn't be able to recover the 1Hz signal by setting the sampling frequency to two hertz, as it just gives values of 0.

To solve this I would shift the sampling, so as to make it a little more comprehensible for the reader.
I'm unsure what you think of this, and I am, again, new so it might not be a better solution :)

Have a great day!

Small remarks

Missing Prev button by the Next button.

PASSING THE NYQUIST LIMIT

  • Slider instead Play button to allow for real playing with visualization
  • vertical guiding lines like in Fig.2 in CORRELATION chapter to emphasize that sampling points stay at the same position

THE FOURIER TRANSFORM: interactive animation with sliders
This chapter requires quiet long "mental jump"
Personally, I would preset sliders setting to leave non zero for two of them to leave only 2 spinning circles.
(1: max and 3: 1/3 max for example to show something people are familiar one)

GEOMETRIC INTERPRETATION OF THE DFT: last equation
Maybe it is possible to recall definition of alpha like in the first equation in the chapter A WALKTHROUGH OF THE DFT
At first look there ere 3 free variables in the equation (k, n and alpha)

SINE WAVE ORTHOGONALITY
There two statement which seems to "interfere"
"any two sine waves whose frequencies are multiples of one another are also orthogonal"
"dot product is always zero unless the two waves are at the exact same frequency"
so taking into account that sliders positions are multiple of one can say that:
"a dot product of any integer frequencies are zero excluding the same frequency"
(examples: 2,3; 5,6)

License?

Can you please mention the license for the project? I am trying to make a personal blog/site and I would like to use the website template. Also, I enjoyed reading the content. It's really great!

  • Amitabh

MathJax formula can't be rendered offline

Hi,
I git clone the repository to local machine, open it locally and found that MathJax formula can't be rendered. For example, notation.html include Equation 1. The Discrete Fourier Transform1

$$ \mathrm{DFT}[k] = \sum_{n=0}^{N-1} \mathrm{x}[n] \cdot e^{-\varphi\mathrm{i}} \\ where \quad \varphi = k \frac{n}{N} 2\pi $$

thanks

Translations?

I'm a native speaker of Ukrainian. This would be of big interest to many, especially given how horrible our books on DSP are.

What do you think?

Increasing vibration frequency shouldn't increase velocity

In figure 1 on https://jackschaedler.github.io/circles-sines-signals/sound.html, increasing the vibration frequency makes the waves move faster through the air. This isn't physically accurate. All frequencies move at the speed of sound. When the vibration speed changes, the wavelength should change and the velocity should remain constant.

It's interesting to imagine what sound would be like if velocity was proportional to frequency. The higher harmonics of a sound would reach the listener before the fundamental frequency. It would be an incoherent mess. But if that's how the physical world worked, maybe our brains would have evolved to interpret sound differently.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.