• To Search the Seeq Knowledgebase:

# Search the Community

Showing results for tags 'filtering'.

• ### Search By Tags

Type tags separated by commas.

### Forums

• Community Technical Forums
• General Seeq Discussions
• Training Resources
• Product Suggestions
• Seeq Data Lab
• Community News
• Seeq Blog Posts
• News Articles
• Press Releases
• Upcoming Events
• Resources

### Calendars

• Community Calendar

### Categories

• Seeq FAQs
• Online Manual
• General Information

• Published
• Code
• Media

• 0 Replies

• 0 Reviews

• 0 Views

Found 4 results

1. ## Filter a Signal to View Only Samples with Values Above a Threshold

FAQ: I've got a signal with drop-outs and I want to filter my signal to only visualize samples with values above a threshold. Is there a quick way to do this in Seeq? Solution: We can use Seeq's Signal Filtering capabilities to break down a signal into individual samples and create a new signal that keeps the samples only above your specified threshold. 1. Visualize your signal with drop-outs and determine the threshold value. For this example, we will filter out all samples with a value of less than or equal to 40F. 2. Open a new Seeq Formula window and use the search documentation to look for information on filtering a signal. When we begin to type filter, we see right away an option "filter() Signal". Open the documentation to get an understanding of what the function is doing and example syntax. The first example below is taking a string signal and breaking it down into samples, then keeping samples only if their string value is not equal to 'T4A' (note single or double quotes are required for string inputs). The second example is filtering to remove infinite values or NaN values. The first logical statement "\$sample.getValue().isValid()" is keeping only the samples with valid values, removing NaN or other invalid values. The second logical statement "\$sample.getValue().isFinite()" is keeping only the samples with finite values. Note that we can string as many logical criteria together as we want here using the && operator. In our case, we want to filter our temperature signal to show only samples with values above 40F. The syntax in the formula input window below "\$Temp.filter(\$sample -> (\$sample.getValue().isGreaterThan(40)))" shows how we are able to take our temperature signal, break it down into individual samples, and then only keep samples whose value is greater than 40F. The new filtered signal appears nearly exactly the same as the original, but with the drop-outs removed.
2. ## Filtering the capsules

I need to receive the starting time of the water breakthrough in absorbers. For that I do following: Filtering the signal of water content to smooth it. Creating the derivative of the water content to use it further to find where the water content increasing Creating the conditions: A. when the inlet valve is open (adsorbtion cycle) B. when the water content is higher than 0.5 (for 5 min) C. when the derivative is higher than 0.0001 to find the increasing of the water content 4. Creating the composite conditions: AA. intersection of A & B BB. intersection of AA & C Probably it's not the optimal solution, but it works (see pic below). A, B, C...etc are the conditions (see above). Question: How to remove all other capsules which are within the specified conditions? I need only the first capsule in BB (there are 2 capsules at the pic below, I need only first). I will then export this info to excel and extract only the start time. Therefore, all other capsules except first are trash.
3. ## Comparing start and end values during an event

FAQ: I want to identify the change in value of my signal after a change has occurred. My signal is generally constant (with typical noise) aside from when an event occurs during which there is a step change in the value of the signal. Solution: In order to compare the actual value of the signal before and after some event, you must first identify the event. Method 1: Running Delta. Note: an approach using the running delta function can be preferred to the derivative function (Method 2) when step changes are present as the derivative is infinite during these steps. Using the derivative function works best if the signal is first cleansed/filtered and the interpolation method changed to linear. Use Seeq Formula to create a new signal that is the running delta of the original signal. Use the syntax: \$OrigianlSignal.runningdelta() Use the “Search Documentation” bar on the right side of the Formula window to learn more about the running delta function and syntax Once the new running delta signal has been created, do a value search on when it exceeds some threshold to identify the time periods over which you would like to know the start and end values. Note: if the step changes are occurring in both the increasing and decreasing directions, you can still identify all events by using Seeq Formula to take the absolute value of your running delta function (\$runningDeltaSignal.abs()) and applying the value search tool to the absolute value signal. The time periods identified using value search can be further manipulated to yield exactly the time periods that you are interested in using Seeq formula and the grow(), shrink(), and/or move() functions. Once the events during which the step change occurs have been identified, you can calculate statistics on them using the Signal from Condition tool. The inputs to the tool will be your original signal and the new condition that you’ve created to identify the events. A few statistics that you may be interested in: Delta: the end value minus the start value of the signal. This would give you the value drop (or gain) during one of these events. Value at start: this will grab the value of the original signal at the start of the event Value at end: this will grab the value of the original signal at the end of the event Method 2: Derivative. Best approach for most rate of change problems, excluding step changes. Use Low Pass Filter tool or Seeq Formula agileFilter() function to cleanse the original signal to remove typical noise from signal. Use Seeq Formula to create a new signal that is the derivative of the cleansed signal. Use the syntax: \$CleansedSignal.derivative() Use the “Search Documentation” bar on the right side of the Formula window to learn more about the derivative() function and syntax Once the new derivative signal has been created, do a value search on when it exceeds some threshold to identify the time periods over which you would like to know the start and end values. Note: if the value changes are occurring in both the increasing and decreasing directions, you can still identify all events by using Seeq Formula to take the absolute value of your derivative function (\$derivativeSignal.abs()) and applying the value search tool to the absolute value signal. The time periods identified using value search can be further manipulated to yield exactly the time periods that you are interested in using Seeq formula and the grow(), shrink(), and/or move() functions. Once the events during which the value change occurs have been identified, you can calculate statistics on them using the Signal from Condition tool. The inputs to the tool will be your original signal and the new condition that you’ve created to identify the events. A few statistics that you may be interested in: Delta: the end value minus the start value of the signal. This would give you the value drop (or gain) during one of these events. Value at start: this will grab the value of the original signal at the start of the event Value at end: this will grab the value of the original signal at the end of the event
4. ## Filtering on Capsule Properties

I have a condition that represent unit procedures. These capsules come from a batch execution system connector. Each capsule in the condition contains a property called 'Max Temperature'. I am trying to create a condition that just have the hot capsules. I am using a Seeq formula and filter to do this. Here's my formula: \$c.filter( \$cap -> \$cap.getProperty('Max Temperature').isGreaterThan(170) ) I don't get any errors from this formula, but, I don't get any results. I know some of the max temperatures are higher than 170 because I can view that in the Seeq Details pane: What am I doing wrong?
×