Overview
Welcome to SkySpark's Signal Analysis Extension! As of today, there are 8 functions in this package.
sfxFourier(hisGrid, filter: x => x, 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(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(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(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)
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(hisGrid, bins: 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(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).sfxRawFilter(50%)
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).sfxRawFilterAuto
sfxEnergyInOut(theAhu, dateRange)
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)
sfxMode(hisGrid, interval)
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.