Beispiel #1
0
        /// <summary>
        /// Gets usable samples based provided FFT length and required points.
        /// </summary>
        /// <param name="radio">Radio context.</param>
        /// <param name="fftlength">Length of FFT.</param>
        /// <param name="points">Required points.</param>
        /// <returns>Returns usable points.</returns>
        public static int UsableDownSamples(this G313Radio radio, int fftlength, int points)
        {
            var binsPerPoints = (int)Math.Ceiling(fftlength / (float)points);
            var res           = (fftlength / binsPerPoints) / 2;

            return(res);
        }
Beispiel #2
0
        /// <summary>
        /// Gets default sweep parameters.
        /// </summary>
        /// <param name="radio">Radio context.</param>
        /// <param name="from">Frist frequency.</param>
        /// <param name="to">Last frequency.</param>
        /// <returns>Returns <see cref="BinParameters"/> specified parameters.</returns>
        public static SweepParameters SweepParametersDefault(this G313Radio radio, uint from, uint to)
        {
            var parameters = new SweepParameters
            {
                AutoConfigure = true,
                From          = from,
                IfGain        = 50,
                Precision     = 31.25,//15.7, //2.93,
                SweepSpan     = 10000,
                To            = to
            };

            return(parameters);
        }
Beispiel #3
0
        /// <summary>
        /// Gets BinPrameters with high resolution FFT settings.
        /// </summary>
        /// <param name="radio">Radio context.</param>
        /// <returns>Returns <see cref="BinParameters"/> specified parameters.</returns>
        public static BinParameters BinParametersDetailed(this G313Radio radio)
        {
            var parameters = new BinParameters
            {
                BinsPerPoint         = 1,
                CalibrationAmplitude = 1.0,//1.0 in sweeper is better
                CarrierFrequency     = radio.Frequency(),
                MinimumIntensityDb   = -100,
                Relative             = true,
                SamplingRate         = radio.Demodulator().IfSamplingRate()
            };

            return(parameters);
        }
Beispiel #4
0
 /// <summary>
 /// Creates WinRadio G313 audio provider fro specified radio context.
 /// </summary>
 /// <param name="radio">Radio context.</param>
 public G313IfProvider(G313Radio radio)
 {
     _radio = radio;
 }
Beispiel #5
0
 /// <summary>
 /// Creates G313 limiter based on provided radio instance
 /// </summary>
 /// <param name="radio">G313 radio instance</param>
 public G313RadioLimits(G313Radio radio)
 {
     _radio = radio;
 }
Beispiel #6
0
 /// <summary>
 /// Gets BinPrameters suitable for wide spectrum analysis.
 /// </summary>
 /// <param name="radio">Radio context.</param>
 /// <returns>Returns <see cref="BinParameters"/> specified parameters.</returns>
 public static BinParameters BinParametersWideSpectrum(this G313Radio radio)
 {
     return(radio.BinParametersDetailed().SetCalibrationAmplitude(1.0));//.SetCalibrationOffset(10);
 }
Beispiel #7
0
        /// <summary>
        /// Gets BinPrameters with configurable resolution settings.
        /// </summary>
        /// <param name="radio">Radio context.</param>
        /// <param name="fftlength">Length of FFT</param>
        /// <param name="points">Number of Required points.</param>
        /// <returns>Returns <see cref="BinParameters"/> specified parameters.</returns>
        public static BinParameters BinParametersVideoFilter(this G313Radio radio, int fftlength, int points)
        {
            var binsPerPoints = (int)Math.Ceiling(fftlength / (float)points);

            return(radio.BinParametersDefault().SetBinsPerPoint(binsPerPoints));
        }
Beispiel #8
0
 /// <summary>
 /// provides software baes Sweeper unit for WinRadio G313 devices.
 /// </summary>
 /// <param name="radio">Radio context.</param>
 /// <param name="from">First frequency.</param>
 /// <param name="to">Last frequency.</param>
 /// <returns>Returns <see cref="G313Sweeper"/> sweeper context.</returns>
 public static G313Sweeper Sweeper(this G313Radio radio, uint from, uint to)
 {
     return(new G313Sweeper(radio, radio.SweepParametersDefault(from, to)));
 }
Beispiel #9
0
 /// <summary>
 /// provides software baes Sweeper unit for WinRadio G313 devices.
 /// </summary>
 /// <param name="radio">Radio context.</param>
 /// <param name="parameters">Specified Sweep parameters.</param>
 /// <returns>Returns <see cref="G313Sweeper"/> sweeper context.</returns>
 public static G313Sweeper Sweeper(this G313Radio radio, SweepParameters parameters)
 {
     return(new G313Sweeper(radio, parameters));
 }
Beispiel #10
0
 /// <summary>
 /// Creates a WinRadio G313 sweeper context.
 /// </summary>
 /// <param name="radio">Radio context.</param>
 /// <param name="parameters">Sweepe parameters</param>
 public G313Sweeper(G313Radio radio, SweepParameters parameters)
 {
     _radio           = radio;
     _sweepParameters = parameters;
 }
Beispiel #11
0
 public DebugModel(G313Radio radio)
 {
     _radio = radio;
 }
Beispiel #12
0
 /// <summary>
 /// Creates WinRadio G313 audio provider fro specified radio context.
 /// </summary>
 /// <param name="radio">Radio context.</param>
 public G313AudioProvider(G313Radio radio)
 {
     _radio = radio;
 }