ngscopeclient 0.1-dev+51fbda87c
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
SParameterVector Class Reference

A single S-parameter array. More...

#include <SParameters.h>

Collaboration diagram for SParameterVector:
Collaboration graph
[legend]

Public Member Functions

 SParameterVector (const WaveformBase *wmag, const WaveformBase *wang)
 Creates an S-parameter vector from analog waveforms in dB / degree format.
 
 SParameterVector (const SparseAnalogWaveform *wmag, const SparseAnalogWaveform *wang)
 Creates an S-parameter vector from analog waveforms in dB / degree format.
 
 SParameterVector (const UniformAnalogWaveform *wmag, const UniformAnalogWaveform *wang)
 Creates an S-parameter vector from analog waveforms in dB / degree format.
 
template<class T >
 __attribute__ ((noinline)) void ConvertFromWaveforms(const T *wmag
 Loads the vector from a pair of waveforms in mag/angle format. More...
 
m_points resize (len)
 
m_points PrepareForCpuAccess ()
 
 for (size_t i=0;i< len;i++)
 
m_points MarkModifiedFromCpu ()
 
template<class T >
 __attribute__ ((noinline)) void ZeroFromWaveforms(const T *wmag
 Similar to ConvertFromWaveforms() but sets mag/angle values to zero indicating "no data". More...
 
m_points resize (len)
 
m_points PrepareForCpuAccess ()
 
 for (size_t i=0;i< len;i++) m_points[i]
 
m_points MarkModifiedFromCpu ()
 
void ConvertToWaveforms (SparseAnalogWaveform *wmag, SparseAnalogWaveform *wang)
 Copy our state to analog mag/angle waveforms.
 
SParameterPoint InterpolatePoint (float frequency) const
 
float InterpolateMagnitude (float frequency) const
 
float InterpolateAngle (float frequency) const
 
void resize (size_t nsize)
 
float GetGroupDelay (size_t bin) const
 Gets the group delay at a given bin.
 
size_t size () const
 
SParameterPointoperator[] (size_t i)
 
void clear ()
 

Public Attributes

const T * wang
 
float ascale = M_PI / 180
 
AcceleratorBuffer< SParameterPointm_points
 

Protected Member Functions

float InterpolatePhase (float phase_lo, float phase_hi, float frac) const
 Interpolates a phase angle, wrapping appropriately.
 

Detailed Description

A single S-parameter array.

Member Function Documentation

◆ __attribute__() [1/2]

template<class T >
SParameterVector::__attribute__ ( (noinline)  ) const

Loads the vector from a pair of waveforms in mag/angle format.

The waveforms may be sparse or uniformly sampled, but must be sampled at the same frequencies.

◆ __attribute__() [2/2]

template<class T >
SParameterVector::__attribute__ ( (noinline)  ) const

Similar to ConvertFromWaveforms() but sets mag/angle values to zero indicating "no data".

The waveforms may be sparse or uniformly sampled, but must be sampled at the same frequencies.

Member Data Documentation

◆ wang

const T * SParameterVector::wang
Initial value:
{
if( (wmag == nullptr) || (wang == nullptr) )
{
LogError("Null input supplied to SParameterVector::ConvertFromWaveforms\n");
return;
}
size_t len = std::min(wmag->size(), wang->size())

The documentation for this class was generated from the following files: