Pseudo-periodic

using TimeseriesSurrogates
t = 0:0.05:20π
x = @. 4 + 7cos(t) + 2cos(2t + 5π/4)
x .+= randn(length(x))*0.2

# Optimal d, τ values deduced using DelayEmbeddings.jl
d, τ = 3, 31

# For ρ you can use `noiseradius`
ρ = 0.11

method = PseudoPeriodic(d, τ, ρ, false)
s = surrogate(x, method)
surroplot(x, s)
Example block output