streamsim.src.sources.sinus module

Sinuswave Signal Generation Module

This module provides a flexible, generator-based data source for creating synthetic sinusoidal wave signals. It is designed for testing, simulation, or educational purposes where controlled, periodic waveforms are required.

The SinusDataSource, implements a callable interface that yields (sample, timestamp) pairs sequentially, allowing for streaming of signal data without loading the entire waveform into memory at once.

Author: F.Feenstra

Example

>>> data_source = create_sinus_data_source(frequency=1.0, fs=100.0, duration=20)
class streamsim.src.sources.sinus.SinusDataSource(frequency: float = 1.0, fs: float = 100.0, duration: float = 20.0)[source]

Bases: object

Callable data source for sinus wave signals.

streamsim.src.sources.sinus.create_sinus_data_source(frequency: float = 1.0, fs: float = 100.0, duration: float = 20.0)[source]

Factory function to create a SinusDataSource.

Parameters:
  • frequency – Frequency of the sinus wave in Hz.

  • fs – Sampling frequency in Hz.

  • duration – Total duration in seconds.

Returns:

An initialized callable data source.

Return type:

SinusDataSource