Skip to content

Commit

Permalink
Rename module to Chaotic Modulations and add README
Browse files Browse the repository at this point in the history
  • Loading branch information
ljwall committed Jun 12, 2021
1 parent ff14d15 commit 992e0e1
Show file tree
Hide file tree
Showing 13 changed files with 38 additions and 8 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Custom units for the ER-301

Unless otherwise stated these units are for v0.6 firmware.

* [Chaotic Mods](./chaoticmods)
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions modulations/LogisticMap.lua → chaoticmods/LogisticMap.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
local modulations = require "modulations.libmodulations"
local chaos = require "chaoticmods.libchaoticmods"

local Class = require "Base.Class"
local GainBias = require "Unit.ViewControl.GainBias"
Expand All @@ -18,7 +18,7 @@ function LogisticMapUnit:onLoadGraph(channelCount)
local clockComparator = self:addObject("clockComparator", app.Comparator())
clockComparator:setTriggerMode()

local logisticMap = self:addObject("logisticMap", modulations.LogisticMap())
local logisticMap = self:addObject("logisticMap", chaos.LogisticMap())

connect(clockComparator, "Out", logisticMap, "Trigger")
connect(logisticMap, "Out", self, "Out1")
Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions modulations/Lorenz.lua → chaoticmods/Lorenz.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
local modulations = require "modulations.libmodulations"
local chaos = require "chaoticmods.libchaoticmods"

local Class = require "Base.Class"
local Encoder = require "Encoder"
Expand All @@ -16,7 +16,7 @@ function Lorenz:init(args)
end

function Lorenz:onLoadGraph(channelCount)
local lorenz = self:addObject("lorenz", modulations.Lorenz())
local lorenz = self:addObject("lorenz", chaos.Lorenz())
local rate = self:addObject("rate", app.ParameterAdapter())
local rho = self:addObject("rho", app.ParameterAdapter())
local sigma = self:addObject("sigma", app.ParameterAdapter())
Expand Down
4 changes: 2 additions & 2 deletions modulations/Makefile → chaoticmods/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
# rather than auto-generated.

# Override these defaults on the commandline:
PKGNAME ?= modulations
PKGNAME ?= chaoticmods
PKGVERSION ?= 0.0.1
LIBNAME ?= libmodulations
LIBNAME ?= libchaoticmods
PROFILE ?= testing
SDKPATH ?= ../er-301

Expand Down
23 changes: 23 additions & 0 deletions chaoticmods/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Chaotic Modulations

Basic chaotic modulation source units.

## Logistic Map

A clocked modulation source modelling the basic [logistic map](https://en.wikipedia.org/wiki/Logistic_map) equation.

<img src="./logisticmap.png">

Other than the clock input, there is a single parameter `r`. With `r` in the range `[3.56995, 4]` the sequence is chaotic for most values of `r`. Smaller values of `r` in that range exhibit more periods of (approximately) periodic behaviour, before sudden changes. With `r` Below 3.56995 the sequence will converge towards oscillating between 1, 2, 4 , 8, or 16 fixed values.

## Lorenz system

This is a continuous modulation source.

<img src="./lorenz.png">

The [Lorenz system](https://en.wikipedia.org/wiki/Lorenz_system) is defined by a set of three ordinary differential equations.

There other than the rate, there are three parameters in the differential equations that can be adjusted from their starting values of `ρ = 28`, `σ = 10`, and `β = 8/3`. Care must be taken: it's pretty easy to land on values where oscillation stops entirely.

There are three options for the output corresponding to the the variables in the system of differential equations: `x`, `y`, and `z`. For many parameters `x` and `y` will exhibit quite similar behaviour, but not always.
File renamed without changes.
Binary file added chaoticmods/logisticmap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added chaoticmods/lorenz.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions modulations/toc.lua → chaoticmods/toc.lua
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
return {
name = "Modulations",
title = "Modulations",
name = "Chaotic Mods",
title = "Chaotic Mods",
author = "ljwall",
units = {
{
-- Title and category control how this unit appears in the unit browser.
title = "Logistic Map",
moduleName = "LogisticMap",
category = "Chaotic Modulation",
},
{
-- Title and category control how this unit appears in the unit browser.
title = "Lorenz System",
moduleName = "Lorenz",
category = "Chaotic Modulation",
},
}
}

0 comments on commit 992e0e1

Please sign in to comment.