Phoenix: Synthetic Time Series Generator

Phoenix is Kronts's synthetic time series data generator, designed to help you create realistic test data for developing, testing, and validating data processing pipelines and algorithms.

What is Phoenix?

Phoenix allows you to generate configurable synthetic time series data that mimics real-world sensor data from industrial environments. Whether you need simple signals for quick testing or complex multi-channel datasets with correlations and quality issues, Phoenix provides the tools to create exactly what you need.

Key Capabilities

  • Single and Multi-Channel Generation - Create up to 10 independent channels with shared timestamps
  • Flexible Signal Components - Combine mean values, noise, trends, oscillations, and transient events
  • Channel Correlations - Define statistical relationships between channels for realistic multi-sensor data
  • Data Quality Simulation - Add missing data points and outliers to test cleaning algorithms
  • Aliasing Detection - Built-in warnings help you avoid undersampling issues
  • Multiple Export Formats - Save to database, export as CSV/Excel/JSON, or send to SENTINEL

Why Use Synthetic Time Series Data?

Development & Testing

  • Controlled Testing - Test your algorithms with known characteristics
  • Edge Cases - Create extreme scenarios that are rare in real data
  • Repeatability - Generate the same dataset multiple times for consistent testing
  • No Data Privacy Concerns - Use synthetic data without exposing sensitive information

Algorithm Validation

  • Ground Truth - Know the exact parameters and characteristics of your test data
  • Parameter Sweeps - Systematically test how algorithms respond to different conditions
  • Benchmark Creation - Create standard datasets for comparing algorithm performance

Pipeline Development

  • FORGE Testing - Generate data with quality issues to test cleaning workflows
  • CEREBRO Training - Create labeled event datasets for training classifiers
  • Integration Testing - Validate end-to-end data workflows without production data

Quick Start: Your First Time Series

Let's generate a simple time series in under 5 minutes.

Step 1: Access Phoenix

Navigate to Phoenix from the main Kronts menu or go directly to:

http://your-kronts-instance/phoenix/generate/

[Screenshot Required: Phoenix Main Interface] 1. Navigate to /phoenix/generate/ 2. Capture: Full page showing sidebar (left) and empty chart area (right) 3. Purpose: Show the main Phoenix interface before any generation

Step 2: Configure Time Settings

In the left sidebar, find the "Time Configuration" section and set:

  • Duration: 1 hour
  • Sampling Frequency: 1 Hz (1 sample per second)
  • End Time: Leave as default (current time)

This will create a time series with 3,600 data points (1 hour × 60 minutes × 60 seconds × 1 Hz).

[Screenshot Required: Time Configuration] 1. Configure: - Hours: 1 - Days/Minutes/Seconds: 0 - Sampling Frequency: 1 2. Capture: Time Configuration section of sidebar 3. Purpose: Show how to set basic time parameters

Step 3: Set Base Signal Properties

Scroll down to "Base Signal Configuration" and set:

  • Mean Value: 100
  • Noise Amplitude: 5

This creates a signal centered around 100 with random fluctuations of about ±5 units.

[Screenshot Required: Base Signal Configuration] 1. Configure: - Mean Value: 100 - Noise Amplitude: 5 2. Capture: Base Signal Configuration section 3. Purpose: Show basic signal parameter setup

Step 4: Preview Your Data

Click the blue "Preview" button at the top or bottom of the sidebar.

Phoenix will: 1. Generate the time series based on your parameters 2. Display an interactive chart in the main area 3. Show statistics (min, max, mean, total points)

[Screenshot Required: First Generated Chart] 1. After clicking "Preview" with above parameters 2. Capture: Full page showing chart with generated noisy signal around mean=100 3. Purpose: Show what a basic generated time series looks like

Step 5 (Optional): Save Your Time Series

If you want to save this time series for later use:

  1. Click "Save Time Series" button
  2. Enter a name: "My First Time Series"
  3. Add description (optional): "Simple signal for testing"
  4. Click "Save"

You can now use this time series in SENTINEL or export it for external use.

What You Just Created

Your first time series contains: - 3,600 data points sampled at 1-second intervals - Mean value of 100 as the baseline - Gaussian noise with standard deviation of 5 - Random variations around the mean between approximately 85 and 115

Next Steps

Now that you've created your first time series, explore Phoenix's more advanced capabilities:

Learn Core Features

Explore Advanced Features

Understand the Theory

Integration & Workflow

Common Use Cases

Rotating Machinery Simulation

Generate vibration data from a motor running at 1800 RPM (30 Hz): - Base signal: Mean=0, Noise=0.1 - Main oscillation: Frequency=30 Hz, Amplitude=2 - Add 2x harmonic: Frequency=60 Hz, Amplitude=0.5

See Oscillations Guide for details.

Seismograph Recording

Simulate a vertical-component seismograph with P-wave and S-wave arrivals: - Base signal: Mean=0, Noise=0.5 mm/s - P-wave transient: Onset=5s, Amplitude=50, Frequency=8 Hz, Damping=0.06 - S-wave transient: Onset=15s, Amplitude=120, Frequency=3 Hz, Damping=0.04

See Transient Events Guide for details.

Temperature Sensor Array

Create 3 correlated temperature sensors in the same room: - 3 channels with similar means (20-22°C) - Positive correlations (0.7-0.9) between channels - Slow daily cycle oscillation (period=24 hours)

See Multi-Channel Guide and Correlations Guide.

Data Quality Testing

Generate data with realistic quality issues: - Remove 5% of data points (sensor dropouts) - Insert 2% outliers with constant value 9999 (sensor saturation) - Test your FORGE cleaning pipeline

See Data Degradation Guide.

System Limits

Be aware of these constraints when using Phoenix:

Limit Value Applies To
Maximum channels 10 Multi-channel generation
Maximum total data points 10,000 Across all channels
Maximum saved series 3 Per regular user (unlimited for admins)
Minimum sampling frequency 0.001 Hz All generations
Minimum time step 0.001 seconds All generations

See Technical Reference for complete specifications.

Tips for Success

Start Simple

Begin with basic signals and gradually add complexity. Don't try to use all features at once.

Preview Before Saving

Always preview your data before saving. This lets you verify the signal looks correct and catches configuration errors.

Watch for Aliasing Warnings

Phoenix will warn you if your oscillation frequencies are too high for your sampling rate. Pay attention to these warnings to avoid unexpected results.

Name Your Series Clearly

Use descriptive names when saving time series, especially if you're generating multiple variations for testing.

Use Appropriate Sampling Rates

Higher sampling rates create larger datasets. Use the minimum rate needed for your oscillations (generally 2.5× the highest frequency).

Troubleshooting Quick Reference

"Data point limit exceeded" - Reduce duration, decrease sampling frequency, or reduce number of channels - Maximum 10,000 total points across all channels

"Maximum series limit reached" - Delete old saved time series or contact admin for increased limits - Regular users limited to 3 saved series

"Correlation matrix is not valid" - Check that correlation values are between -1.0 and 1.0 - Ensure correlations don't create impossible mathematical constraints - See Channel Correlations Guide

Aliasing warnings appear - Increase sampling frequency to at least 2× the highest oscillation frequency - Or reduce oscillation frequencies - See Sampling and Aliasing Guide

Get More Help

  • Feature-Specific Guides - See navigation links above for detailed documentation
  • Technical Questions - Refer to Technical Reference
  • Examples - Each guide includes real-world use cases with specific parameters

Ready to explore Phoenix in depth? Continue to the Basic Usage Guide for a comprehensive walkthrough of single-channel generation.