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

sfxSignalAnalysisExt

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

There are **3** watchers.

v1.4.0

Welcome to SkySpark's Signal Analysis Extension! As of today, there are 8 functions in this package.

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")`

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)`

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)`

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)`

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)])`

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

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).sfxRawFilter(50%)`

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).sfxRawFilterAuto`

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)`

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)`

Please contact adam@skyfoundry.com with any questions.

Published by SkyFoundry

v1.7.0

sfxCalculusExt

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

by SkyFoundry

Pricing options

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

Download now Also available via SkyArc Install Manager |

Package details

Version | 1.4.0 |
---|---|

License | n/a |

Build date | 4 months ago on Tue 30th Mar |

Depends on | |

File name | `sfxSignalAnalysisExt.pod` |

File size | `23.63 kB` |

MD5 | `e8a441a92445aea512796ab7ad0a5cdd` |

SHA1 | `6e6645756d5992fd503e0a0dab405d0a8ed835a3` |

Published by SkyFoundryDownload nowAlso available via SkyArc Install Manager |

Tags

Fantom Pod