# DSP Bode Plot 專案進度總結 (2026-05-15) ## 1. 核心功能優化 (DSP & 定點數運算) - **細部微調 (Fine-tuning)**:實施了基於 $\delta$ (Delta) 與 $r$ (Radius) 的參數化微調。 - **定點數精確度修正**:採用「兩倍值整數運算」邏輯,解決了 $0.5$ 步階在浮點數圓整時產生的「按鍵沒反應」Bug。 - **防止漂移 (Oscillation Logic)**:針對數位微調,實施了奇偶震盪平衡邏輯。當調整 $\delta$ 導致 $r$ 必須隨動時,採用震盪補償防止 $r$ 產生單向累積誤差。 - **參數連動策略**:在 $0.5$ 步階時,採取「優先滿足目標變動」原則。若調整 $\delta$,則 $r$ 隨動;反之亦然。 ## 2. UI/UX 介面調整 - **側邊欄優化**: - 將 $r$ 與 $\delta$ 的調整區域改為**垂直堆疊**,適應 21rem 的窄邊欄。 - 移除冗餘的 $a1, a2$ 預覽方塊,僅保留帶有數學公式標籤的 $r, \delta$ 預覽。 - **步階序列**:數位微調步階改為自訂序列:`[0.5, 1, 2, 4, 8, 32, 256, 1024, 4096, 16384, 65536]`。 - **微調量顯示**:統一使用 `±` 符號並帶空格(例如 `± 0.5`)。 - **智能禁用**:當數位步階為 $0.5$ 時,自動禁用 $r$ 的控制項,確保以 $\delta$ 為主導。 ## 3. 繪圖系統 (Bode Plot) - **幅值圖 (Magnitude)**: - 初始範圍:基於 $systemGain \times 3$,涵蓋 $70 \text{ dB}$。 - 保留手動彈性:設定為 `fixedrange: false`,支援滑鼠縮放與 Auto Scale。 - 狀態保持:使用 `uirevision`,確保微調參數時不會跳回初始縮放。 - **相位圖 (Phase)**: - 絕對鎖死:固定範圍為 $[-180^\circ, 180^\circ]$。 - 禁止縮放:設定為 `fixedrange: true`,提供穩定的絕對參考。 - **座標軸連動**:幅值圖與相位圖的 **X 軸(頻率)已完全同步**。不論在哪一張圖進行橫向縮放,兩者都會連動。 ## 4. 數學公式參考 - **理想空間**: - $a1 = -1 - r + \delta$ - $a2 = r + \delta$ - **定點數空間 (Q14 為例)**: - $a0 = 2^{14} = 16384$ - $a1 = -a0 - r + \delta$ - $a2 = r + \delta$ - $2\delta = a1 + a2 + a0$ - $2r = a2 - a1 - a0$ ## 5. 目前 Git 狀態 - **當前分支**:`dev-ui-fix-20260515` (已於 2026-05-15 17:46 推送至 GitLab)。 - **同步說明**:此版本已安全儲存在獨立分支,不影響 `main` 分支同事的使用。 - **同事試用指令**: ```bash git fetch git checkout dev-ui-fix-20260515 ``` --- *Last Updated: 2026-05-15 17:47*