Allows you to filter out noise, only show noise, or plot duration vs frequency of events in history grids.

sfxSignalAnalysisExtAxon funcs

Registered StackHub users may elect to receive email notifications whenever a new package version is released.

There are **3** watchers.

v1.4.0

sfxEnergyInOut

sfxEnergyInOut(theAhu, dates)

Compare Temperature Differential to SiteMeter's Energy

- Requires
`zone air temp sensor`

point on equip,`weatherPoint temp`

, and`siteMeter`

needs`energy`

point - Side Effects: None
- Input: equip (usually
`ahu`

) with`zone air temp sensor`

and`dates`

- Output: kWh / deltaTemp hisGrid
`read(ahu).sfxEnergyInOut(pastMonth)`

sfxFourier

sfxFourier(hisGrid, filter: null, theChartType: "bar")

Plot duration vs frequency

- Works on booleans or lambdas of other kinds such as numerics
- Must only have 2 states (forced by lambdas)
- Only works on a single ts and a single v0 column
- Side Effects: None
- Input: ts, v0 grid
- Output: Transmuted history grid of ts, v0 columns
- Filter used appears in col meta data
`read(cool).hisRead(2016-07).sfxFourier`

`read(temp and discharge).hisRead(2016-07).sfxFourier(x => x > 70, "scatter")`

sfxHisDurPlot

sfxHisDurPlot(hisGrid, delta: 0%, dur: 16min, theChartType: "scatter")

Plot duration bucket vs frequency

- Percentage and Duration thresholds determined manually or automatically
- Supports a true History Grid with multiple V columns
- Side Effects: Data interpolated, multiple histories that do not start and/or end around same time will result in leading and trailing 0s
- leading and trailing 0s and length of entire window will affect results in auto mode
- Input: ts, val*n grid where val*n can be multiple V columns with only numbers
- Output: Transmuted history grid of ts, V*n columns
- delta and dur used appear in column meta data
`read(temp and discharge).hisRead(yesterday).sfxHisDurPlot`

`read(temp and discharge).hisRead(yesterday).sfxHisDurPlot(50%, 16min, "bar")`

`readAll(temp and discharge).hisRead(yesterday).sfxHisDurPlot`

`readAll(temp and discharge).hisRead(yesterday).sfxHisDurPlot(50%, 16min)`

sfxHisNoiseFilter

sfxHisNoiseFilter(hisGrid, delta: 0%, dur: 16min)

Remove low duration events

- Percentage and Duration thresholds determined manually or automatically
- Supports a true History Grid with multiple V columns
- Side Effects: Data interpolated, multiple histories that do not start and/or end around same time will result in leading and trailing 0s
- leading and trailing 0s and length of entire window will affect results in auto mode
- Input: ts, val*n grid where val*n can be multiple V columns with only numbers
- Output: Transmuted history grid of ts, V*n columns
- delta and dur used appear in column meta data
`read(temp and discharge).hisRead(yesterday).sfxHisNoiseFilter`

`read(temp and discharge).hisRead(yesterday).sfxHisNoiseFilter(50%, 16min)`

`readAll(temp and discharge).hisRead(yesterday).sfxHisNoiseFilter`

`readAll(temp and discharge).hisRead(yesterday).sfxHisNoiseFilter(50%, 16min)`

sfxHisShowNoise

sfxHisShowNoise(hisGrid, delta: 0%, dur: 16min)

Remove high duration events

- Percentage and Duration thresholds determined manually or automatically
- Supports a true History Grid with multiple V columns
- Side Effects: Data interpolated, multiple histories that do not start and/or end around same time will result in leading and trailing 0s
- leading and trailing 0s and length of entire window will affect results in auto mode
- Input: ts, val*n grid where val*n can be multiple V columns with only numbers
- Output: Transmuted history grid of ts, V*n columns
- delta and dur used appear in column meta data
`read(temp and discharge).hisRead(yesterday).sfxHisShowNoise`

`read(temp and discharge).hisRead(yesterday).sfxHisShowNoise(50%, 16min)`

`readAll(temp and discharge).hisRead(yesterday).sfxHisShowNoise`

`readAll(temp and discharge).hisRead(yesterday).sfxHisShowNoise(50%, 16min)`

sfxMode

sfxMode(src, binsOrInterval: 1)

Find One or More Modes for Dataset

- The interval parameter determines what range constitutes the same number
- Only works on a single ts and a single v0 column
- Side Effects: None
- Input: ts, v0 grid and the interval used for the groups (ie 1 treats 1.50 to 2.49 as 2 and so on)
- Output: List of dicts as string which can include multiple modes (if two or more numbers appear the same number of times)
`read(temp and discharge).hisRead(pastMonth).sfxMode`

`read(cool).hisRead(pastMonth).sfxMode`

`read(power).hisRead(pastMonth).sfxMode(2)`

sfxMultiFourier

sfxMultiFourier(theList)

Plot multiple Fourier grids together

- All input grids must come from sfxFourier()
- Works on booleans or lambdas of other kinds such as numerics
- Side Effects: None
- Input: Multiple Fourier grids
- Output: Multiple v columns
`sfxMultiFourier([read(temp and discharge).hisRead(2010-01).sfxFourier(x=>x<60),read(temp and discharge).hisRead(2010-01).sfxFourier(x=>x>80)])`

sfxNumbDist

sfxNumbDist(hisGrid, binsOrInterval: 10, theChartType: "bar", raw: true, forceInterval: false, forceCleanStart: false)

Plot bins vs frequency

- Also shows average and total duration in designated bin
- Works on booleans, numbers, and strings
- Only works on a single ts and a single v0 column
- Set 4th parameter (raw) to false to see percentages instead of counts
- Side Effects: None
- Input: ts, v0 grid
- Output: Transmuted history grid of ts, v0 columns
- Bins used appears in col meta data
- read(cool).hisRead(2016-07).sfxNumbDist
- read(temp and discharge).hisRead(2016-07).sfxNumbDist
- read(temp and discharge).hisRead(2016-07).sfxNumbDist(20, "scatter")
- read(temp and discharge).hisRead(2010-01).sfxNumbDist(10, "bar", false) // 10 groups
- read(temp and discharge).hisRead(2010-01).sfxNumbDist(10, "bar", false, true, true) // groups of x have interval 10 and start at whole number

sfxRawFilter

sfxRawFilter(hisGrid, delta: 50%)

Show duration buckets (manual)

- Percentage and Duration thresholds determined manually
- Debug function called by
`sfxHisNoiseFilter()`

,`sfxHisShowNoise()`

, and`sfxHisDurPlot()`

- Supports only history grids with a ts, v0 column
- Side Effects: None
- Input: ts, v0 grid where v0 can only be numbers
- Output: Transmuted history grid of ts, v0, v1 = % change, v2 = group start, v3 = group end, v4 = group duration
- delta used appears in column meta data
`read(temp and discharge).hisRead(yesterday).sfxHisRawFilter(50%)`

sfxRawFilterAuto

sfxRawFilterAuto(hisGrid)

Show duration buckets (auto)

- Percentage and Duration thresholds determined automatically
- Debug function called by
`sfxHisNoiseFilter()`

,`sfxHisShowNoise()`

, and`sfxHisDurPlot()`

- Supports only history grids with a ts, v0 column
- Side Effects: None
- Input: ts, v0 grid where v0 can only be numbers
- Output: Transmuted history grid of ts, v0, v1 = % change, v2 = group start, v3 = group end, v4 = group duration
- delta used and dur to be used appear in column meta data
`read(temp and discharge).hisRead(yesterday).sfxHisRawFilterAuto`

Published by SkyFoundry

v1.7.0

sfxCalculusExt

Allows you to perform calculus on numerical and boolean history grids in SkySpark.

by SkyFoundry