Skip to main content

dabch2hz.sh

Dieses Snippet gibt den DAB-Kanal in Hertz aus. Ideal für Scripte, die einen Kanal übergeben und den Rückgabewert verarbeiten.
Eigener Anwendungsfall: Frequenzumrechnung in Verbindung mit einem HackRF.

Der Rückgabewert ist Hertz.

$0 12D
ch="12D"

freq=$(bash inc/dabch2hz.sh "$ch")
# Hier kann mit $freq weitergearbeitet werden

# Optional: Abfrage
if [ -n "$freq" ]; then
    echo "Frequenz von $ch ist $freq Hz"
else
    echo "Ungültiger Kanal: $ch"
fi

Script:

#!/bin/bash

ch=$(echo "$1" | sed 's/\([A-Z]\)/\L\1/g')
	
case "$ch" in
  5a) freq="174928000" ;;
  5b) freq="176640000" ;;
  5c) freq="178352000" ;;
  5d) freq="180064000" ;;
  6a) freq="181936000" ;;
  6b) freq="183648000" ;;
  6c) freq="185360000" ;;
  6d) freq="187072000" ;;
  7a) freq="188928000" ;;
  7b) freq="190640000" ;;
  7c) freq="192352000" ;;
  7d) freq="194064000" ;;
  8a) freq="195936000" ;;
  8b) freq="197648000" ;;
  8c) freq="199360000" ;;
  8d) freq="201072000" ;;
  9a) freq="202928000" ;;
  9b) freq="204640000" ;;
  9c) freq="206352000" ;;
  9d) freq="208064000" ;;
  10a) freq="209936000" ;;
  10n) freq="210096000" ;;
  10b) freq="211648000" ;;
  10c) freq="213360000" ;;
  10d) freq="215072000" ;;
  11a) freq="216928000" ;;
  11n) freq="217088000" ;;
  11b) freq="218640000" ;;
  11c) freq="220352000" ;;
  11d) freq="222064000" ;;
  12a) freq="223936000" ;;
  12n) freq="224096000" ;;
  12b) freq="225648000" ;;
  12c) freq="227360000" ;;
  12d) freq="229072000" ;;
  13a) freq="230784000" ;;
  13b) freq="232496000" ;;
  13c) freq="234208000" ;;
  13d) freq="235776000" ;;
  13e) freq="237488000" ;;
  13f) freq="239200000" ;;
  la) freq="1452960000" ;;
  lb) freq="1454672000" ;;
  lc) freq="1456384000" ;;
  ld) freq="1458096000" ;;
  le) freq="1459808000" ;;
  lf) freq="1461520000" ;;
  lg) freq="1463232000" ;;
  lh) freq="1464944000" ;;
  li) freq="1466656000" ;;
  lj) freq="1468368000" ;;
  lk) freq="1470080000" ;;
  ll) freq="1471792000" ;;
  lm) freq="1473504000" ;;
  ln) freq="1475216000" ;;
  lo) freq="1476928000" ;;
  lp) freq="1478640000" ;;
  2a) freq="47936000" ;;
  2b) freq="49648000" ;;
  2c) freq="51360000" ;;
  2d) freq="53072000" ;;
  3a) freq="54928000" ;;
  3b) freq="56640000" ;;
  3c) freq="58352000" ;;
  3d) freq="60064000" ;;
  4a) freq="61936000" ;;
  4b) freq="63648000" ;;
  4c) freq="65360000" ;;
  4d) freq="67072000" ;;
esac

echo "$freq"
exit 0