Zum Hauptinhalt springen
B

dsh-rf-toolkit

bestgi/dsh-rf-toolkit

Six RF calculators as agent tools: level conversion, link budget and maximum range, cascade noise figure, Shannon capacity, and impedance match.

Installation

dsh plugin --profile web add github:bestgi/dsh-rf-toolkit

README

dsh-rf-toolkit

RF and link-budget calculators for DeepSeek Harness, exposed as six tools the agent can call.

Language models are unreliable at RF arithmetic: they mix up dB and linear units, forget the 30 dB between dBW and dBm, and rarely convert dBµV correctly. This plugin moves those calculations into tested code, so the model only has to choose the right tool and supply the numbers.

Tools

ToolComputes
rf_convert_leveldBm ↔ dBW ↔ W ↔ mW ↔ dBµV, with the reference impedance for voltage levels
rf_link_budgetEIRP, free-space path loss, received power, noise floor, SNR and link margin
rf_max_rangeMaximum free-space range for a given EIRP and target received power
rf_cascade_noiseCascaded noise figure (Friis), total gain and equivalent noise temperature
rf_shannon_capacityShannon capacity and spectral efficiency for a bandwidth and SNR
rf_matchVSWR ↔ return loss ↔ reflection coefficient ↔ mismatch loss

Units are never guessed. Powers are dBm, gains and losses are dB, frequencies are Hz, distances are metres, and bandwidths are Hz.

Install

Open DSH, go to the plugin manager, choose to install a local bundle, and pick this directory. The manager installs the package and selects the bundle, which applies cordis.patch.yml. The tools appear in the next session in that profile.

Command line

dsh plugin --profile desktop add link:C:\path\to\dsh-rf-toolkit

This adds the dependency to the profile. The bundle still has to be selected: add dsh-rf-toolkit to dsh.profile.bundles in ~/.dsh/profiles/<profile>/package.json, then restart DSH.

Example prompts

  • Convert -73 dBm to dBµV at 50 ohms.
  • 2.4 GHz link, 1 km, 20 dBm transmitter, 6 dBi antenna, 1 dB cable loss, 20 MHz bandwidth, 3 dB noise figure, -90 dBm sensitivity. What is the margin?
  • A 20 MHz channel at 10 dB SNR: what is the Shannon limit?
  • LNA 20 dB gain with 2 dB noise figure, then a mixer with 6 dB noise figure. What is the cascaded noise figure?

Formulas

  • Path loss: 20·log10(4πdf / c), with c = 299 792 458 m/s.
  • EIRP: P_tx + G_tx − L_cable.
  • Received power: EIRP + G_rx − L_path − L_extra.
  • Thermal noise: −173.98 dBm/Hz + 10·log10(B) + NF, from k·T₀ at 290 K.
  • Friis cascade: F = F₁ + (F₂−1)/G₁ + (F₃−1)/(G₁G₂) + ….
  • Shannon: C = B·log2(1 + SNR).
  • dBµV: dBµV = dBm + 90 + 10·log10(R); at 50 Ω that is +106.99 dB.
  • VSWR: (1+|Γ|)/(1−|Γ|); return loss −20·log10|Γ|; mismatch loss −10·log10(1−|Γ|²).

All results are closed-form ideal values. A real link also sees multipath, interference, antenna efficiency and cable loss that varies with frequency, so treat the numbers as a starting point, not a measurement.

Development

No dependencies and no build step:

node --test

Layout:

  • lib/ — pure functions, one module per topic, covered by test/.
  • index.js — the six defineTool registrations and their output rendering.
  • cordis.patch.yml — the bundle patch that inserts the plugin row.

中文说明

这是一个 DSH 插件,把射频常用计算做成模型可调用的工具:电平换算、链路预算、 最大通信距离、级联噪声系数、香农容量、阻抗匹配。公式都在 lib/ 里,test/ 覆盖了 26 个用例。安装后在插件管理器里启用,然后在对话里直接让它算即可。

License

MIT

Ähnliche Plugins