| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | using DevExpress.Xpo;using Ips.Library.Entity;using Ips.Sps.Tsks;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Ips.Sps.Sigs{    [NonPersistent]    public class AdjaSatBasic : XPObject    {        public AdjaSatBasic() : base()        {        }        public AdjaSatBasic(Session session) : base(session)        {        }        public override void AfterConstruction()        {            base.AfterConstruction();            FixCalc = false;            this.DtoCenter = 0;            this.DtoRange = 40000;            this.DfoRange = 16384;            this.Snr = 14;            this.DtoCorr = 1;            this.DfoCorr = 10;        }        private int _satId;        [DisplayName("通联邻星")]        public int SatId        {            get => _satId;            set => SetPropertyValue(nameof(SatId), ref _satId, value);        }        private bool _FixCalc;        [DisplayName("固定计算")]        public bool FixCalc        {            get => _FixCalc;            set => SetPropertyValue(nameof(FixCalc), ref _FixCalc, value);        }        private int _DtoCenter;        [DisplayName("时差中心(us)")]        public int DtoCenter        {            get => _DtoCenter;            set => SetPropertyValue(nameof(DtoCenter), ref _DtoCenter, value);        }        private int _DtoRange;        [DisplayName("时差范围(us)")]        public int DtoRange        {            get => _DtoRange;            set => SetPropertyValue(nameof(DtoRange), ref _DtoRange, value);        }        private int _DfoCenter;        [DisplayName("频差中心(Hz)")]        public int DfoCenter        {            get => _DfoCenter;            set => SetPropertyValue(nameof(DfoCenter), ref _DfoCenter, value);        }        private int _DfoRange;        [DisplayName("频差范围(Hz)")]        public int DfoRange        {            get => _DfoRange;            set => SetPropertyValue(nameof(DfoRange), ref _DfoRange, value);        }        private int _Snr;        [DisplayName("信噪比(dB)")]        public int Snr        {            get => _Snr;            set => SetPropertyValue(nameof(Snr), ref _Snr, value);        }        private int _AddZero;        [DisplayName("补零样点数")]        public int AddZero        {            get => _AddZero;            set => SetPropertyValue(nameof(AddZero), ref _AddZero, value);        }        private int _DtoCorr;        [DisplayName("时差陷波(us)")]        public int DtoCorr        {            get => _DtoCorr;            set => SetPropertyValue(nameof(DtoCorr), ref _DtoCorr, value);        }        private int _DfoCorr;        [DisplayName("频差陷波(Hz)")]        public int DfoCorr        {            get => _DfoCorr;            set => SetPropertyValue(nameof(DfoCorr), ref _DfoCorr, value);        }        private double _sigOffset;        [DisplayName("信号偏移(s)")]        public double SigOffset        {            get => _sigOffset;            set => SetPropertyValue(nameof(SigOffset), ref _sigOffset, value);        }        public CorOptions GetCorOptions(int fs)        {            CorOptions options = new CorOptions();            options.Fs = fs;            options.DtoCenter = DtoCenter;            options.DtoRange = DtoRange;            options.DfoCenter = DfoCenter;            options.DfoRange = DfoRange;            options.Snr = Snr;            options.AddZero = AddZero;            options.DtoCorr = DtoCorr;            options.DfoCorr = DfoCorr;            options.TimeOffset = Convert.ToInt32(_sigOffset * 1e6);            return options;        }    }}
 |