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

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 | 2 weeks 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