Create a Pulse profile that has been fully defined by N control point.
All arguments should be arrays of the same length N defining these control points.
- `time`: time since the start of this [`BuildingBlock`](@ref) in ms.
- `amplitude`: amplitude of the RF pulse at every timepoint in kHz.
- `phase`: phase of the RF pulse at every timpoint in degrees. If not set explicitly it will be determined by the provided starting `phase` (degrees) and the `frequency` (kHz).
"""
struct FixedPulse<:PulseBlock
time::Vector{Float64}
amplitude::Vector{Float64}
phase::Vector{Float64}
function FixedPulse(time::AbstractVector{<:Number},amplitude::AbstractVector{<:Number},phase::AbstractVector{<:Number})