123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using XdCxRhDW.Dto.Attribute;
- namespace XdCxRhDW.Dto
- {
- /// <summary>
- /// 多个时隙的CPU参估参数模型
- /// </summary>
- public class CpuCgMultiDto
- {
- /// <summary>
- /// 上传后返回的文件名
- /// </summary>
- [FileMustExist]
- public string file1 { get; set; }
- /// <summary>
- /// 上传后返回的文件名
- /// </summary>
- [FileMustExist]
- public string file2 { get; set; }
- /// <summary>
- /// 样点位置
- /// </summary>
- public List<SmpPosition> smpPositions { get; set; } = new List<SmpPosition>();
- /// <summary>
- /// 采样率(Hz)
- /// </summary>
- [RangeDouble(0, 100e6)]
- public double samplingRate { get; set; }
- /// <summary>
- /// 时差中心(us)
- /// </summary>
- public double dtCenter { get; set; }
- /// <summary>
- /// 时差范围(us)
- /// </summary>
- [RangeDouble(0, 100000)]
- public double dtRange { get; set; }
- /// <summary>
- /// 频差范围(单位Hz,默认16384)
- /// </summary>
- [Pow2]
- public double dfRange { get; set; } = 16384;
- /// <summary>
- /// 信噪比门限dB
- /// </summary>
- [RangeDouble(10, 50, IncludeMin = true)]
- public double snrThreshold { get; set; }
- /// <summary>
- /// 超时时间(单位秒,默认30秒)
- /// </summary>
- [RangeInt(1, 600, IncludeMin = true)]
- public int TimeoutSeconds { get; set; } = 30;
- /// <summary>
- /// 模型参数自定义验证(复杂的验证逻辑在这里面写)
- /// </summary>
- /// <param name="validationContext"></param>
- /// <returns></returns>
- public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
- {
- //if (this.Age<18)
- // yield return new ValidationResult("你太年轻了", new[] { nameof(this.Age) });
- yield return null;
- }
- }
- /// <summary>
- /// 时隙样点信息
- /// </summary>
- public class SmpPosition
- {
- /// <summary>
- ///
- /// </summary>
- public SmpPosition() { }
- /// <summary>
- ///
- /// </summary>
- /// <param name="smpStart"></param>
- /// <param name="smpCount"></param>
- public SmpPosition(long smpStart, long smpCount)
- {
- this.smpStart = smpStart;
- this.smpCount = smpCount;
- }
- /// <summary>
- /// 54专用,避免样点转时间出现毫秒级误差
- /// </summary>
- [Obsolete]
- public float TimeSeconds { get; set; }
- /// <summary>
- /// 开始样点
- /// </summary>
- [RangeLong(0, IncludeMin = true)]
- public long smpStart { get; set; }
- /// <summary>
- /// 样点数
- /// </summary>
- [RangeLong(0, IncludeMin = true)]
- public long smpCount { get; set; }
- }
- }
|