feat: visualize array receive beam patterns
This commit is contained in:
@@ -90,6 +90,122 @@
|
||||
<article class="metric-card"><span>보정 채널</span><strong id="calibration-count">0</strong><small>sensitivity / phase / response</small></article>
|
||||
</section>
|
||||
|
||||
<details class="beam-pattern-card" id="beam-pattern-panel" open>
|
||||
<summary class="beam-pattern-heading">
|
||||
<div>
|
||||
<p class="eyebrow">배열 분석</p>
|
||||
<h2>수신 빔 패턴</h2>
|
||||
</div>
|
||||
<span id="beam-pattern-summary">1 kHz · XZ · +Z 조향</span>
|
||||
</summary>
|
||||
|
||||
<div class="beam-pattern-body">
|
||||
<div class="beam-pattern-controls">
|
||||
<p class="beam-pattern-model">
|
||||
Narrowband far-field conventional delay-and-sum
|
||||
<span>geometry-only</span>
|
||||
</p>
|
||||
|
||||
<div class="beam-pattern-fields">
|
||||
<label class="field">
|
||||
<span>아날로그 주파수 (Hz)</span>
|
||||
<input
|
||||
id="beam-pattern-frequency"
|
||||
type="number"
|
||||
min="1"
|
||||
max="1000000"
|
||||
step="100"
|
||||
value="1000"
|
||||
inputmode="decimal"
|
||||
/>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>음속 (m/s)</span>
|
||||
<input
|
||||
id="beam-pattern-speed-of-sound"
|
||||
type="number"
|
||||
min="250"
|
||||
max="400"
|
||||
step="0.1"
|
||||
value="343"
|
||||
inputmode="decimal"
|
||||
/>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>360° 절단면</span>
|
||||
<select id="beam-pattern-cut">
|
||||
<option value="xz">XZ · 0° +Z / 90° +X</option>
|
||||
<option value="yz">YZ · 0° +Z / 90° +Y</option>
|
||||
<option value="xy">XY · 0° +X / 90° +Y</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>조향각 (deg)</span>
|
||||
<input
|
||||
id="beam-pattern-steering-angle"
|
||||
type="number"
|
||||
min="-360"
|
||||
max="360"
|
||||
step="0.5"
|
||||
value="0"
|
||||
inputmode="decimal"
|
||||
/>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>각도 샘플</span>
|
||||
<select id="beam-pattern-samples">
|
||||
<option value="auto">자동 · 위상 간격 기준</option>
|
||||
<option value="360">360 · 1°</option>
|
||||
<option value="720">720 · 0.5°</option>
|
||||
<option value="1440">1,440 · 0.25°</option>
|
||||
<option value="2880">2,880 · 0.125°</option>
|
||||
<option value="5760">5,760 · 0.0625°</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>표시 하한 (dB)</span>
|
||||
<select id="beam-pattern-floor">
|
||||
<option value="-30">−30 dB</option>
|
||||
<option value="-40">−40 dB</option>
|
||||
<option value="-60" selected>−60 dB</option>
|
||||
<option value="-80">−80 dB</option>
|
||||
<option value="-100">−100 dB</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="beam-pattern-metrics" aria-label="빔 패턴 수치">
|
||||
<article><span>파장</span><strong id="beam-pattern-wavelength">—</strong></article>
|
||||
<article><span>각도 해상도</span><strong id="beam-pattern-resolution">—</strong></article>
|
||||
<article><span>조향 응답</span><strong id="beam-pattern-steering-response">—</strong></article>
|
||||
<article><span>−3.0103 dB 폭</span><strong id="beam-pattern-hpbw">—</strong></article>
|
||||
</div>
|
||||
|
||||
<p class="beam-pattern-status" id="beam-pattern-status" role="status" aria-live="polite">
|
||||
현재 배열의 수신 array factor를 계산하고 있습니다.
|
||||
</p>
|
||||
<p class="beam-pattern-note" id="beam-pattern-model-note">
|
||||
이상적으로 보정된 무지향성 점 마이크의 자유장 평면파 단면입니다. 3D 전체 패턴,
|
||||
근거리, 방·하우징, 마이크 주파수 응답은 포함하지 않습니다. ADC가 없으므로
|
||||
Nyquist 초과 주파수도 접지 않고 원래 파장으로 계산합니다.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<figure class="beam-pattern-figure">
|
||||
<svg
|
||||
id="beam-pattern-plot"
|
||||
viewBox="0 0 520 520"
|
||||
role="img"
|
||||
aria-label="수신 빔 패턴 polar plot"
|
||||
aria-describedby="beam-pattern-status beam-pattern-model-note beam-pattern-peaks"
|
||||
></svg>
|
||||
<figcaption id="beam-pattern-peaks">
|
||||
국소 최대를 계산하고 있습니다.
|
||||
</figcaption>
|
||||
</figure>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<details class="shortcut-help">
|
||||
<summary>빠른 편집 키</summary>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user