烈性果汁 - Simulation
type: channel
link: https://nhyilin.cn/category/Simulation/
items: 根据QComboBox调整界面label并整理至json
items: ADC效能分析模型

根据QComboBox调整界面label并整理至json
type: item
date: 2025-11-22T12:29:00+08:00
description: 根据界面QComboBox切换调整需要获取信息类型，按确定后将界面内容整理为json的全流程。定义需要获取的信息类型，避免字符串匹配：enum class EnvInfo { none = 0, Platform = 1, Object = 2, Env = 3 };在EditPlatformAttributeWindow类中维护AttributeWindow的vector指针列表，动态维护AttributeWindow个数：std::vector<AttributeWindow*> m_attribute_windows_;初始化comboBox，并设置槽函数onComboBoxIndexChanged，注意用QVariant绑定，方便后期获取index转为EnvInfo：void AttributeWindow::InitCombox() { ui->comboBox_model_4->clear(); ui->comboBox_model_4->addItem("请选择属性", QVariant::fromValue(static_cast<int>(EnvInfo::none))); ui->comboBox_model_4->addItem("平台", QVariant::fromValue(static_cast<int>(EnvInfo::Platform))); ui->comboBox_model_4->addItem("目标", QVariant::fromValue(static_cast<int>(EnvInfo::Object))); ui->comboBox_model_4->addItem("环境", QVariant::fromValue(static_cast<int>(EnvInfo::Env))); connect(ui->comboBox_model_4, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &AttributeWindow::onComboBoxIndexChanged); }ComboBox切换后调整需要获取的信息：void AttributeWindow::onComboBoxIndexChanged(int index) { QVariant data_ = ui->comboBox_model_4->itemData(index); m_env_type = static_cast<EnvInfo>(data_.toInt()); if (m_env_type == EnvInfo::none) { } if (m_env_type == EnvInfo::Platform) { adjustLabels(true); ui->label_2->setText("id"); ui->label_4->setText("silent_control"); ui->label_5->setText("dof.\nheading"); ui->label_9->setText("coordinate.\nlatitude"); // ... } if (m_env_type == EnvInfo::Object) { adjustLabels(true); ui->label_2->setText("id"); ui->label_3->setText("device_type"); // ... } if (m_env_type == EnvInfo::Env) { adjustLabels(false); ui->label->setText("wind_speed"); ui->label_2->setText("ship_density"); // ... } }根据需要获取的信息，调整label显隐，因为代码过于冗余，单独拆分为函数：void AttributeWindow::adjustLabels(bool is_show) { if (!is_show) { ui->label_3->hide(); ui->textEdit_3->hide(); } else { ui->label_3->show(); ui->textEdit_3->show(); } }获取内容:UIContext AttributeWindow::GetContext() { int index_ = ui->comboBox_model_4->currentIndex(); QVariant data_ = ui->comboBox_model_4->itemData(index_); m_env_type =…

ADC效能分析模型
type: item
date: 2024-09-19T22:37:00+08:00
description: 本文针对ADC模型，抛开推导过程，从算法实现角度进行阐述。正文含少量MathJax公式，加载异常刷新即可。前言系统的效能是指某系统在规定的条件下达到规定使用目标的能力，是目标系统完成规定任务程度的度量，能从总体上描绘出一个对象在特定环境下完成规定任务的实际能力。为更加清晰阐述算法实现，将以导弹武器系统为例进行描述。可用性分析表示可用性向量，表征系统在执行任务之前的状态。假设系统有 $n$ 种不同的状态，且在任一时刻系统处于状态 $i$ 的概率为 $a_i$，则可用性向量 $A=(a_1, a_2, \cdots, a_n)$ 表示。设 A、B、C 分别表示发射平台、飞航导弹和技术保障设备 3 个系统，这 3 个系统的平均故障间隔时间分别表示为 $T_1$、$T_2$、$T_3$，平均故障修复时间分别为 $M_1$、$M_2$、$M_3$。3 个组成部分在工作时有 8 种工作状态，从 $(ABC)$ 示三部分全部处于正常状态、$(AB\overline{C})$ 示发射平台和飞航导弹正常、技术保障设备故障，到 $(\overline{A}\overline{B}\overline{C})$ 表示三部分全部处于故障状态等八个。可用度是该系统处于工作状态的概率，计算公式如下：$$ \begin{cases} A_A=\frac{T_1}{T_1+M_1}\\ A_B=\frac{T_2}{T_2+M_2}\\ A_C=\frac{T_3}{T_3+M_3} \end{cases} $$推算步骤省略，可计算得到系统可用性向量：可信性分析可信性是指系统在任务开始时可用性给定的情况下，规定的任务剖面中的任一随机时刻，能够使用且能完成规定任务的能力。可信性在概念上与可靠性有相似之处。可信性参数矩阵：$$D(t)=\begin{bmatrix}d_{11}&d_{12}&\cdots&d_{1n}\\d_{21}&d_{22}&\cdots&d_{2n}\\\cdots&\cdots&\cdots&\cdots\\d_{n1}&d_{n2}&\cdots&d_{nn}\end{bmatrix}$$式中：$d_{ij}$表示若系统在开始执行任务时处于状态$i$，系统在执行任务过程中处于状态$j$的概率；$t$表示执行任务的时间。系统运行过程中的可靠性函数为指数函数，并由下式给出：因此，发射平台、飞航导弹和技术保障设备的可靠性如下：$$ R_A=\exp\left(-\frac{t}{T_1}\right) $$$$ R_B=\exp\left(-\frac{t}{T_2}\right) $$$$ R_C=\exp\left(-\frac{t}{T_3}\right) $$基本的转移概率为：$$ \begin{aligned} &P(A\to A)=R_{A},\quad P(B\to B)=R_{B}, \\ &P(C\to C)=R_{C},\quad P(A\to\overline{A})=1-R_{A}, \\ &P(B\to\overline{B})=1-R_{B},\quad P(C\to\overline{C})=1-R_{C}, \\ &P(\overline{A}\to A)=0,\quad P(\overline{B}\to B)=0,\quad P(\overline{C}\to C)=0, \\ &P(\overline{A}\to\overline{A})=1,\quad P(\overline{B}\to\overline{B})=1,\quad P(\overline{C}\to\overline{C})=1 \end{aligned} $$定义$d_{ij}=P\left\{t\text{ 时间内状态}i\text{ 转移到状态 }j\right\}$可得到系统的可信性参数矩阵：能⼒分析能⼒矩阵$C$是描述系统处于$n$个状态时，完成规定任务的固有能⼒。$C$是⼀个具有$n$个元素的列向量。$$C=(c_1,c_2\cdots c_j\cdots c_n)^\mathrm{T}$$$p_1$表⽰发射平台状态良好，能顺利完成发射任务的概率；$p_2$表⽰导弹发射后，飞⾏过程中各部件⼯作状态良好，能够完成制导、突防以及有效打击对⽅⽬标的概率；$p_3$表⽰技术保障设备状态良好，能够成功保障顺利发射的概率。$p_1^{\prime}$表示发射平台发⽣故障，但能顺利完成发射任务的概率；$p_2^{\prime}$表示导弹发射后，⻜⾏过程中某部件发⽣故障，但能够完成制导、突防以及有效打击对⽅⽬标的概率；$p_3^{\prime}$表示技术保障设备发⽣故障，能够保障顺利发射的概率。故能力参数如下：$$ \begin{align…