Coder Social home page Coder Social logo

zihadulislam99 / fm_plotter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from denczo/fm_plotter

0.0 0.0 0.0 11 KB

FM Plotter is an interactive tool which helps you to learn about frequency modulation.

Home Page: https://www.denicz.info

License: MIT License

Python 100.00%

fm_plotter's Introduction

FM Plotter

FM Plotter is a tool which demonstrates and visualizes the basics of frequency modulation with waveforms like Sawtooth, Square Wave and Triangle. Parameters like the amount of iterations, the frequency or the modulation index can be adjusted interactively. The result is displayed immediately. It's easy to use and helps you to understand how frequency modulation actually works.

Features

  • Modulation signal (Triangle, Sawtooth, Square Wave)
    • Fourier series (with formula)
    • Trigonomic function (with formula)
  • Discrete integration of the modulating signal
  • Carrier signal (Sine, Triangle, Sawtooth, Square Wave)
  • Adjustable parameters:
    • amount of iterations to calculate fourier series
    • frequency of modulating signal
    • frequency of carrier signal
    • modulation index

Quickstart Guide

  • simply run /code/visuals.py
  • choose your modulation signal
  • set frequency of modulating signal
  • calculate Integral
  • choose carrier signal
  • set frequency of carrier signal
  • apply modulation
  • increase/decrease modulation index

Why is the Integral needed?

A basic formula for frequency modulation is (source Wikipedia):

The second part of this formula in the brackets (with the Integral) is our modulation signal. So for example if we want to modulate a Cosine carrier signal with a Square Waveform, we first will need to calculate the Integral of the Square Waveform. The Integral of the Square Waveform results into the Triangle waveform.

fm_plotter's People

Contributors

denczo avatar

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.