	-----=== HF ===-----
	
H F   -   H O W T O 

LINUX-AMATEURFUNK-KURZWELLEN-PROGRAMM 
FR RTTY, AMTOR, GTOR, PACTOR 1, MT63 
MIT INTERFACE ZUR F6FBB - MAILBOX 

Version 0.7 JANUAR 2005

  
1) Einfhrung :
   ============

Das hf-Paket implementiert die Amateurfunk-FSK-Protokolle 
RTTY, AMTOR (SITOR), GTOR, Pactor-1 und MT63. 
Es bentzt eine normale Soundkarte als Modem. 
Der Geschwindigkeitswechsel bei Pactor (von 100 auf 200 baud)
geschieht automatisch. 
Das PTT- (push to talk) Signal kann ber den RTS-Pin 
einer seriellen Schnittstelle ausgegeben werden.  

Die Implementation der Protokolle ist im Programm hfkernel, das im
Hintergrund als "Dmon" luft. Es stellt ein UNIX-domain-socket zur
Verfgung, das mit einer Benutzeroberflche und Mailbox-Schnittstelle 
kommunizieren kann - wie etwa dem Terminalprogramm hfterm. 
UNIX-domain-sockets wurden gewhlt, weil sie in der Zukunft leicht in 
Internet-domain-sockets umgewandelt werden knnen, so da der
hfkernel-Prozess auch auf einem anderen Computer als die

Hfkernel verwendet intern drei Unterprozesse (threads): 
einen Modemcode, der im Echtzeitmodus die Soundkarte beschreibt und liest,
einen fr das jeweils laufende Protokoll, 
und einen der die Socket- Ein- und Ausgabe steuert.

Hfkernel wurde fr den OSS-Soundtreiber geschrieben, luft aber auch mit
den neuen ALSA-Treibern, den diese haben eine OSS-Emulation, die
stndig verbessert wird. Wegen des fr das Amtor- und Pactor-Protokoll
notwendigen Echtzeitmodus und den dafr ntigen kurzen Signallaufzeiten
wird die Soundkarte ber den  "mmap()"-Mechanismus (memory mapping)
angesprochen, was nicht jede Hardware untersttzt. Es luft deswegen
nicht mit allen Soundkarten und Treibern!  Systemabstrze knnen nicht
ausgeschlossen werden! 
Die experimentelle Option '-n' (no-mmap) funktioniert oft gut,
sie ist auch fr die 2 der 3 beigefgten Kalibrierprogramme vorhanden,
die mmap() verwenden.

Fr die ARQ-Modes und MT63 kann eine Kalibrierung in vielen Fllen ntig sein. 
Dazu sind drei Kalibrierprogramme im Paket enthalten.

Das Terminalprogramm hfterm ist die Benutzeroberflche zu hfkernel.

Das Startskript hf liest die Konfigurationsdatei ein,
prft sie und startet hfkernel und hfterm.

ber einen TCP-Port kann hfterm mit dem bekannten Mailbox-Programm F6FBB
(und, wie wir hoffen, auch mit anderen Mailbox-Programmen)
verbunden werden und so als automatische Pactor- Amtor- 
oder MT63-Mailbox arbeiten.

Das Programm wurde 1997 von Tom Sailer geschrieben (Danke!!!) und wird
laufend von Axel Krause, Gnther Montag und vielen Freunden
weiterentwickelt. Ab Version 0.6.6 ist Pawel Jalocha's MT63 integriert.

Bitte um Kontakt ber die Mailingliste!


2) Installation, Konfiguration, erster Test:
   =========================================

Voraussetzungen:
Hardware: 
Pentium ab 133 MHz. Die Soundkarte mu mmap() untersttzen.
Software:
hf bentzt das gtk+ -Toolkit (Version ab 1.2.0),
das in vielen Linux-Distributionen enthalten ist.
Mit 'gtk-config --version' wird die installierte Version angezeigt.

'hf-<version>.tar.gz':
entpacke:
# tar -zxvf hf-<version>.tar.gz 
gehe in das Verzeichnis:
# cd hf-<version> ,
starte das configure-Skript:
# ./configure ,
(die Optionen sind sichtbar mit	configure --help,
aber normalerweise mssen keine Optionen mehr eingeben werden)
kompiliere es:
# mit make,
installiere es (wegen sonst fehlender Schreibrechte als root !):
# make install 

'hf-<version>.rpm':
installiere: 
# rpm -i hf-<version>.rpm
oder (bei falscher Fehlermeldung wegen fehlendem gtk)
# rpm -i --nodeps hf-<version>.rpm

Die systemweite Konfigurationsdatei ist /etc/hf.conf.
Dort mu normalerweise nur die serielle Schnittstelle fr 
die PTT-Schaltung eingestellt werden. 

Erster Test:
Von der Konsole:
Starte einmal als root und als normaler Benutzer
# /usr/bin/hf
ohne Optionen.
Das Startskript hf prft die Konfiguration und gibt Hinweise.
Als user gestartet, legt es ein Verzeichnis "hf" in Deinem Home-Verzeichnis 
an und fllt es mit Beispieldateien.
(Wenn Du das hf-Skript nicht verwendest, tue dies von Hand.
Die Beispiele sind in /usr/share/hf/hf-examplefiles.)
Bei Erfolg rollt nach den ersten Meldungen eine Zahlenreihe wie diese
ber den Schirm:
corrout	...	intermediate   ...
Das bedeutet, da das "Herz" hfkernel regelmig schlgt.

Wenn das luft, dann unter X:
mit 'ALT + F2' ein Befehlsfenster ffnen,
# /usr/bin/hf
Hfkernel erscheint in einem "xterm", danach
erscheint das graphische Terminal hfterm im Vordergrund. 
Das Spektrumdisplay (Spectrum-Button oder F2 oder <Strg>F) zeigt ob Signale
ankommen, und ob die Verstrkung der Soundkarte richtig eingestellt ist.
Im RX-Fenster erscheinen decodierte Zeichen.

Wenn hf luft: mit ln -s /usr/bin/hf /home/(Benutzername)/Desktop/hf 
ein dynamisches Link auf das Desktop legen. Dies geht auch, wenn man mit
der rechten Maustaste  auf das Desktop klickt, 'neu', 'Anwendung' ... 
aber das wei ein alter Linux-Hase schon, oder?

Wie bereits gesagt: Das Verzeichnis fr Deine persnlichen Dateien 
(Konfiguration, Fixtexte, Log...) heit "hf" in Deinem home-Verzeichnis 
und wird beim ersten Start von hf automatisch angelegt 
und mit Beispieldateien gefllt.
Die persnliche Konfiguration (Rufzeichen, Name...) erfolgt mengefhrt
von hfterm aus.

Die Dokumentation ist in /usr/share/hf, und - je nach Distribution - 
in /usr/share/doc/hf oder in /usr/share/doc/packages/hf,
der wichtigste Text ist dieser.


3) Anschlu der PTT-Buchse :
   =========================

Wie bei jedem Funkprogramm, werden mit 1 npn-Transistor und 2 Widerstnden 
Computer und Funkgert verbunden:
                              _____
                      /------|_10k_|---O  
 RTS pin             /                PTT pin 
 Computer           /                 Transceiver
       _____    B |/      C
 O----|_10k_|-----|\
                  |  \_|  E
                      \
            npn        \
            Transistor  |
                        |
                        |
               Masse  =====
                                               

Natrlich gibt es jede Menge verfeinerte Mglichkeiten
mit Optokopplern und Relais...


4) Probleme mit hfkernel:
   ======================

Manchmal "klemmt" das Programm nur einfach: 
-> mit <strg> c oder hfkernel -k beenden und nochmal probieren.

Versagt das Startskript hf oder mchtest Du "von Hand" starten?
Versuche von einer Konsole aus hfkernel starten:
# hfkernel
Fge bei Erfolg
(corrout	...	intermediate   ...)
nach und nach die weiteren bentigten Optionen hinzu.
Am wichtigsten das socket zur Verbindung mit hfterm (-c /var/run/hfapp),
und die serielle Schnittstelle.
Dann starte als normaler Benutzer unter X:
# hfterm -k /var/run/hfapp 

Hufigste Fehhlermeldungen:

Fehler mit 'MMAP': (HUFIGSTER FEHLER !)
Soundkarte und / oder -treiber untersttzt 'mmap()' nicht.
(DMA, Programm greift direkt auf den Soundkartenpuffer zu)
Versuche zuerst die experimentelle Option -n (no mmap)
oder die Option -h (Halbduplex erzwingen), ausfhrlichere Hilfe: siehe 7).
Am besten, setze die Optionen mit einem beliebigen Editor
in /etc/hf.conf, dort sind auch hilfreiche Kommentare, und starte dann 
# /usr/bin/hf

Fehler mit 'open':
Ist der Soundkarten-Treiber geladen ? (siehe 7).

Fehler mit 'ioctl: TIOCMBI[CS]:'
Ist die serielle Schnittstelle in /etc/hf.conf richtig? 

Fehler mit 'permission denied':
Fehler mit 'pthread_create':
Bei Start von hfkernel als Nicht-root: Ist das suid-bit gesetzt?
# ls -l /usr/bin/hfkernel 
sollte etwa ergeben:
-rwsr-xr-x   1 root     root       372757 Sep 13 10:34 /usr/bin/hfkernel
Das 's' hier ist das suid-Bit, also Superuser-Recht bei Ausfhrung.
Wenn es nicht da ist, setze das Suid-Bit von Hand mit
# chmod 4755 /usr/bin/hfkernel. 
Es gibt noch 2 andere Wege, hfkernel fr Nicht-root-Bentzer ausfhrbar
zu machen: siehe dazu 6) Root-Rechte.

Bei manchen Kombinationen von Soundkarte und -treiber kann sich der
hfkernel aufhngen mit einer Endlosschleife von 
"... fragments passed since last wakeup" 
oder 
"OSS driver lost interrupt". 
Leider gab es manchmal auch Abstrze, sorry!
In V.0.6 habe ich eine Sicherungsfunktion eingebaut, die dies
verhindern sollte.
Mehr ber Probleme mit der Soundkarte oder Sound-Treiber: 7).

Wenn bei Halbduplexbetrieb die Zahlen 
corrout	...	intermediate   ...
immer sehr gro sind (z.B. 8000)  mu evtl. die Option
'-R' (Ausschalten der RDTSC-Instruktion, prozessorabhngig, 
vor allem bei Nicht-Intel-Prozessoren) zugefgt werden.

Wenn Pactor-ARQ nicht oder nur schlecht geht, 
(vor allem dann, wenn hfkernel nur mit der Option -h oder 
- noch schlechter - -R luft) 
mut Du noch eine Kalibrierung durchfhren - siehe 8).

Versuche auf jeden Fall, hfkernel ber das Skript hf, das /etc/hf.conf 
einliest, zum Laufen zu bringen. Das kombinierten Starten mit hfterm 
ist dann leichter. Alle zustzlichen Optionen knnen 
in /etc/hf.conf in die Zeile "otheroptions" eingefgt werden, 
von Leerzeichen getrennt, z.B. "-n -i "

Hier ist die vollstndige Liste der Optionen von hfkernel:
 -2 Im Standby-Modus 200 Baud nicht decodieren
 -3 Im Standby-Modus 300 Baud nicht decodieren
 -a Pfad zum Audio-Gert (Default: /dev/dsp)
 -c Pfad zur Software-Schnittstelle (Default: /var/run/hfapp)
 -f Im Standby-Modus keine Frequenznachstellung (frequency tracking)
 -h Halbduplex erzwingen (luft mit manchen Soundkarten besser)
 -i invertiert PTT-Impuls
 -k Hfkernel beenden (wird im Startskript hf verwendet)
 -l Eintrge in Logdatei (Default: keine)
 -M Pfad zum Mixergert 
 -m CPU-Uhr in MHz (auf khz genau)
 -n Verzicht auf 'mmap()' (kein direkter Zugriff auf Soundkartenpuffer).
    Experimentell! Fr manche Soundkarten, die (oder deren Treiber) mmap
    nicht richtig untersttzen.
 -p Pfad zur seriellen Schnittstelle fr die PTT-Ausgabe (Default: keiner)
 -R deaktiviert den Gebrauch der RDTSC-Instruction (nur bei Intel-Systemen).
    Die Verwendung der RDTSC-Instruktion kann bei Laptops und/oder 
    bei aktiviertem APM (Advanced Power Management) Probleme verursachen.
 -r Zugangsrechte zur Software-Schnittstelle (Default: 0777 = rwxrwxrwx)
 -s Korrektur der soundcard sampling rate
 -t gettimeofday - Korrekturfaktor (Zeitbestimmung ber Prozessortaktrate)

   
5) hfterm und die Digimodes:
   =========================

Die Bedienung von hfterm ist intuitiv. Hilfe, wenn gebraucht: F1.
Status- und Mode-Men und die Buttons erklren sich selbst. Wenn Du, wie
ich, keine Muse magst, werden Dich die vielen Tastenkrzel siehe Mens) 
beglcken. Modus mit F..., Textmakros mit <Shft>F...

Es gibt 3 Ebenen fr Fehler- und Verlaufsmeldungen:
1. Das xterm-Fenster im Hintergrund: die unterste Soundtreiber-Ebene.
2. Das Monitorfenster: der Protokoll-Ebene
3. Fr den normalen Benutzer am ntzlichsten sind 
   die Meldungen im Status-Display-Fenster unten im Schirm. 

Wenn Du wissen mchtest, wie die Digimodes klingen:
Beispielklnge in www.wunclub.com/sounds !

hfterm denkt mit (autorx / autotx -Funktionen). Eingaben ins
Sendefenster schalten auf Senden im passenden oder letzten Modus. Nach
einigen Sekunden schaltet hfterm auf Empfang, auer es ist explizit ein
Sendemodus, z.B. Rtty-Tx, gewhlt. Autorx/tx ist hilfreich fr die
Baken- und Mailbox-Funktion, kann aber durch zu wenig Warten und zu viel
Klicken verwirrt werden! Besonders MT63 braucht lange Zeit zwischen 
Empfang und Senden und zurck, wegen der Datenverschachtelung. Aber ich 
mag es, es entspannt mich! Falls sich das Programm aufhngt, erst mal
warten,  evtl. neu starten (hf, nicht den Computer. Wir sind ja hier
nicht bei Bill.) 

 "SPEKTRUM "
Als neuer Benutzer freunde Dich zuerst mit dem Spektrum an. Falls kein
Signal erscheint, schau nach ob Rig und Soundkarte (Line out)
richtig verkabelt sind, und ob die Signalstrke gut eingestellt ist,
z.B. mit ein Poti in der Leitung vom Rig zur Soundkarte oder einen Mixer
wie aumix (fr OSS) oder alsamixer. 
Das Spektrum hat eine blaue und rote Linie fr Mark und Space, und eine
grne Linie, der Squelch. 
Du kannst Mark und Space mit der Maus ndern: 
Wenn einer der gegebenen Shifts gewhlt ist, wird der linke Knopf mark
whlen (space ist mark plus shift), oder der mittlere Knopf whlt die
Mittelfrequenz.  Wenn der "other" shift gewhlt ist, mut Du 2 mal fr
erst mark, dann space  klicken. Die Werte werden gespeichert. 
Der rechte Knopf whlt den Squelch, er wird nicht gespeichert, der
Anfangswert ist  immer 10 %. 

 "RTTY" 
Zum Anfreunden mit dem Programm versuche zuerst RTTY zu
empfangen und zu senden. blich sind Shift 170 Hz und Baudrate 45. 
Suche im 20m-Band nach dem typischen schnen
RTTY-Maschinengerusch. ffne ber das Men Utilities oder einfach mit
'<Strg> F' (<Strg>-Taste gedrckt halten und F eingeben) das
Frequenzspektrumdisplay. Nach meiner Erfahrung geht das Abstimmen am
schnellsten mit dem Transceiver.  Drehe die 2 Peaks unter die blaue und
rote Linie im Spektrum. Mit '<Strg> F' verlasse das Spektrum, gehe auf
'RTTY-Rx' und staune, das  Empfangsfenster decodiert Text. Warum nicht
einen CQ-Ruf beantworten? Natrlich nur mit Funklizenz, ohne
bersteuerte Soundkarte, mit miger Leistung (20 W gengt!), und mit
Rcksicht auf die Anderen, wie in allen Digimodes. 
Bei Dauersendung kommt ein "Diddle" mit "LTRS...".

 "PACTOR - AMTOR - GTOR"
Pactor ist eine Wissenschaft fr sich. Wenn Du noch nichts darber
weit, lies 'pactor.txt' in /usr/share/hf. be erst das Empfangen, 
es ist etwas schwieriger als bei RTTY. Im Spektrumdisplay
sieht Pactor wie RTTY aus, aber der Ton ist im 1.25 Sekunden- Rhythmus
gehackt. (Amtor: 0,45 sec.) Manchmal kannst Du zwischen den Datenblcken die kurzen
Kontrollblcke hren. Auch bei exakter Abstimmung kannst Du manchmal
nichts dekodieren, wenn die Sendung in  Pactor-Level II oder III ist (mit PTC).
Manchmal erkennst du nur ein Rufzeichen, das immer in  Level I gesendet
wird. Rufe CQ in Pactor-FEC (Geduld!). Wenn jemand in FEC ruft, antworte
in ARQ.  Rufe eine Mailbox in ARQ.  Gehe nach dem Senden nicht sofort in
'standby', das Programm knnte hngen. (Wenn es hngt, einfach warten.)
Sondern: QRT ('Alt Q'), etwas warten (QRT -Routine),  dann geht das 
Program von selbst in standby (Bereitschaft). 

 "MT63"
Vielen Dank an Pawel Jalocha, der diesen neuen Modus programmiert hat.
Er ist sehr robust, und insbesondere bei schlechten bertragungsbedingungen
besser als Pactor 3, und knnte in der Zukunft fr geplante "emcomm" Systeme 
wertvoll sein. 
(Emergency communication, Notfallnetzwerke, siehe dazu die
gegenwrtig laufende interessante Diskussion in der linlink-Mailingliste
bei www.wetnet.net).

Aufgrund der vielen interessanten Experimentiermglichkeiten
habe ich Pawel`s gesamtes MT63-Paket mit den Konsolenprogrammen
mt63tx, mt63rx und mt63trx, die Tools morsecod, peakrms, addnoise 
und das Kalibrierprogramm ratecal1 ins hf-Paket eingefgt. Danke!

Ich fge hier einen Teil von Pawel`s Dokumentation ber MT63 ein.
(Das ganze Dokument ist mt63.txt im doc-Verzeichnis.)

Das ist Version 0.5 des MT63-Modem fr LINUX. 08-JUL-2004, 
Autor: Pawel Jalocha, SP9VRC, Pawel.Jalocha@cern.ch 

Wichtig: 
1. Um das MT63-Modem voll auszunutzen, mu die sampling rate Deiner    
Soundkarte entweder kalibriert werden oder genau bei 8000.0 Hz liegen.   
Derzeit informiert der MT63-Decoder nicht ber die die Abweichung,   
vielleicht schaffe ich die Mglichkeit in zuknftigen Versionen. 
2. Beschdige beim Verbinden der Soundkarte mit Deinem PC/Laptop nicht   
die Soundkarteneingnge. Ich schlage vor, erst die Massen von Rig und    
Computer, und erst dann die Audiokabel zu verbinden. 

Das MT63-Modem ist fr Amateurfunk als RTTY-hnliche Konversation
gedacht, bei der eine Station sendet und eine oder mehr Station en
hren.  Es sendet 64 Tne in seiner Bandbreite von 1 kHz im Bereich
500-1500 Hz.  In differentialer bipolarer Phasenmodulation werden 10
Bits/s auf jedem Ton codiert. Die Daten werden als 7-bit
ASCII-Characters als Satz von  64-Punkt-Walsh-Functionen encodiert. Die
Bits werden ber 32 Symbols  (3.2 Sekunden) verschachtelt (Orig.
"interleaved", so auch die  Parametereinstellung, Anm. d. .) gesendet,
dies macht den Modus  sowohl gegen phasische als auch frequenzabhngige
Strgerusche  und Fading unempfindlich. 

Die bertragungsgeschwindigkeit fr Zeichen ist der fr Bits pro Ton 
gleich, also kann das Modem 10 7-bit-Zeichen pro Sekunde senden. Das
Modem kann auch in 2 anderen Betriebsarten laufen:

Bandbreite Frequenzbereich Baudrate Zeichenrate  Verschachtelung/Zeichen
  500 Hz   500-1000 Hz     5 baud     5 char/s   6.4 oder 12.8 sec
 1000 Hz   500-1500 Hz    10 baud    10 char/s   3.2 oder  6.4 sec
 2000 Hz   500-2500 Hz	  20 baud    20 char/s   1.6 oder  3.2 sec

Fr jeden Modus kann der Interleave-Faktor verdoppelt werden, so wird 
jedes Zeichenn ber die zweifache Zeitspanne verstreut gesendet. Die
ersten Versuche mit dieser Technik wurden mit dem EVM56K DSP evaluation
board von Motorola gemacht, das Programm hie MT63ASC.ZIP. Diese
LINUX-Implementierung ist mit diesem Paket kompatibel gehalten. Das
MT63-modem its fr SSB-Betrieb gemacht. Die Signale der Soundkarte
werden dem SSB-Modulator zugefhrt. Auf der Empfangsseite geht der
Output  des SSB-Demodulators zum Eingang der Soundkarte. 

Die Hllkurve des MT63-Signals ist nicht fest, wie in anderen
Vieltonsystemen - sie sieht mehr wie Rauschen aus. Man mu darauf
achten, den Sender nicht zu  bersteuern. 

Die Empfangsseite von MT63 ist selbstabstimmend und
selbstsynchronisierend, so mu der OP im 1000 Hz -Grundmodus nur auf +/-
100 Hz genau in das Signal hinein abstimmen. Das Modem wird die genaue
Frequenzabweichung mitteilen, nachdem es sich synchronisiert hat. Der OP
sollte nicht versuchen, diese  Abweichung zu korrigieren, wenn er nicht
sehr langsam abstimmen kann,  da MT63 als langsam phasenmoduliertes
System schnelle Frequenznderungen nicht mag. Pawel, SP9VRC. (Danke,
Pawel!)

Ich habe in hf die Zeit des Auslaufens der Datenverschachtelung 
("flushing data interleaver") am Ende jedes Sendezyklus noch mehr  als
Pawel im Originalcode verlngert, damit meine Squelch-Funktion  beim
Empfang nicht die letzten Daten abschneidet.

 "PARAMETER"
'<Strg> P' ffnet eine Eingabemglickheit fr Dein Rufzeichen und
Programm-Parameter wie Mark, Shift, Baudrate, Txdelay fr die
verschiedenen Betriebsarten. Beim Beenden von hfterm werden die
Parameter in  ~/hf/hfterm.rc  gespeichert (digital, bitte nicht editieren!).

 "'BRAG' (PERSNLICHE DATEN)"
'<Strg> B' ffnet ein Eingabefeld fr Dein Rufzeichen und 'brag'
(Angeben), also  Power, Rig, Antenne, Locator, QTH, Name, Mail. Diese
Daten werden von einer Such- und  Ersetz- Funktion zusammen mit den
Fixtexten bentzt, um Textbausteine zu senden. Der Ruhm Deiner Station
wird in ~hf/hfterm.brag gespeichert. 

 "FIXTEXTE"  
Wenn Du Textbausteine magst, editiere die Fixtexte (bis to 12) mit
'<Strg> T'. Bestimmte Begriffe in eckigen Klammern werden ersetzt -
Gedchtnissttze fr die mglichen Schlsselwrter ist das Fenster
unten im Fixtexteditor. 
Zum Beispiel: [B] = Bakenaussendung (z.B. CQ), [TIME] =
Zeitstempel. Zum Senden eines Bausteins auf einen der 12 Buttons klicken
oder  'Shift F<1 ..12>', zurcklehnen und Kaffee trinken. 
Die Fixtexte werden in ~/hf/fix.<nr> gespeichert und knnen auch 
auerhalb des Programms editiert werden. 
Durch Einfgen oder Umbenennen kannst Du 
beliebige Ascii-Texte bis zu einer Lnge von 1024 Zeichen importieren.
Mit dem File-Men  kannst Du auch eine beliebige Datei einmal oder als
Bake senden.

 "LOGBUCH"
Es gibt sogar 2. Eins fr groe Schirme, es ist immer offen.  Einfach
ausfllen und auf 'save' (oder 'clear') im Log-Men klicken. Das andere
Log ist fr meinen alten kleinen Bildschirm (ein grerer pat nicht in
mein Funkzimmer).  Entferne das groe Log-Eingabefeld mit '<Strg> Q'. 
Mit '<Strg> N' ffnet sich das kleine Log, wenn Du es brauchst, und das
Status display unten bleibt zu sehen. '<Strg> L' zeigt das ganze
Logbuch, '<Strg> A' archiviert die Logdatei und ffnet eine neue.
'<Strg> O' sucht alte Eintrge zum Editieren oder Lschen. Das Log wird
in Portionen zu je 50 Eintrgen gespeichert.

 "RX-TEXT" 
Empfangene Texte werden als hfrx gespeichert, bis zu 5 alte Texte in 
in ~/hf aufgehoben. Im File-Men kann auch zustzlich eine Datei zum
Speichern ausgewhlt werden.


6) Root-Rechte:
   ============

hfkernel mu wegen des besonderen Hardwarezugriffs (im  Echtzeitmodus,
mit hoher Prioritt) nur von root, dem Superuser, aufgerufen werden. Im
normalen Betrieb sollte man aber nur als normaler Benutzer arbeiten.
Damit normale Benutzer hfkernel mit hfterm zusammen bequem starten
knnen,  wird nun bei der Installation von hfkernel automatisch das
Suid-Bit an hfkernel  vergeben mit: 
chmod u+s /usr/bin/hfkernel.
Dann kann das Programm vom normalen user mit Superuser-Rechten 
ausgefhrt werden. 
Wenn das luft und Du so zufrieden bist, brauchst Du
nichts weiter ndern und diesen Abschnitt nicht weiterlesen.

Wenn dies nicht gewnscht wird, sind in /etc/hf.conf 2 andere Wege
vorbereitet und beschrieben. Du brauchst dazu eins der (2 oder mehr?)
Programme, die es normalen Benutzern ermglichen, Programme mit
root-Rechten auszufhren: 'su1' oder 'sudo'. Diese sind in den meisten
Linux-Versionen enthalten.

su1: (man su1). 
Installiere su1, ffne mit einem Editor 
/etc/su1.priv (als root natrlich) und ndere wie folgt:
	# Define some in allen Digimodes. 
Bei Dauersendung kommt ein "Diddle" mit "LTRS...".

 "PACTOR - AMTOR - GTOR"
Pactor ist eine Wissenschaft fr sich. Wenn Du noch nichts darber
weit, lies 'pactor.txt' in /usr/share/hf. be erst das Empfangen, 
es ist etwas schwieriger als bei RTTY. Im Spektrumdisplay
sieht Pactor wie RTTY aus, aber der Ton ist im 1.25 Sekunden- Rhythmus
gehackt. (Amtor: 0,45 sec.) Manchmal kannst Du zwischen den Datenblcken die kurzen
Kontrollblcke hren. Auch bei exakter Abstimmung kannst Du manchmal
nichts dekodieren, wenn die Sendung in  Pactor-Level II oder III ist (mit PTC).
Manchmal erkennst du nur ein Rufzeichen, das immer in  Level I gesendet
wird. Rufe CQ in Pactor-FEC (Geduld!). Wenn jemand in FEC ruft, antworte
in ARQ.  Rufe eine Mailbox in ARQ.  Gehe nach dem Senden nicht sofort in
'standby', das Programm knnte hngen. (Wenn es hngt, einfach warten.)
Sondern: QRT ('Alt Q'), etwas warten (QRT -Routine),  dann geht das 
Program von selbst in standby (Bereitschaft). 

 "MT63"
Vielen Dank an Pawel Jalocha, der diesen neuen Modus programmiert hat.
Er ist sehr robust, und insbesondere bei schlechten bertragungsbedingungen
besser als Pactor 3, und knnte in der Zukunft fr geplante "emcomm" Systeme 
wertvoll sein. 
(Emergency communication, Notfallnetzwerke, siehe dazu die
gegenwrtig laufende interessante Diskussion in der linlink-Mailingliste
bei www.wetnet.net).

Aufgrund der vielen interessanten Experimentiermglichkeiten
habe ich Pawel`s gesamtes MT63-Paket mit den Konsolenprogrammen
mt63tx, mt63rx und mt63trx, die Tools morsecod, peakrms, addnoise 
und das Kalibrierprogramm ratecal1 ins hf-Paket eingefgt. Danke!

Ich fge hier einen Teil von Pawel`s Dokumentation ber MT63 ein.
(Das ganze Dokument ist mt63.txt im doc-Verzeichnis.)

Das ist Version 0.5 des MT63-Modem fr LINUX. 08-JUL-2004, 
Autor: Pawel Jalocha, SP9VRC, Pawel.Jalocha@cern.ch 

Wichtig: 
1. Um das MT63-Modem voll auszunutzen, mu die sampling rate Deiner    
Soundkarte entweder kalibriert werden oder genau bei 8000.0 Hz liegen.   
Derzeit informiert der MT63-Decoder nicht ber die die Abweichung,   
vielleicht schaffe ich die Mglichkeit in zuknftigen Versionen. 
2. Beschdige beim Verbinden der Soundkarte mit Deinem PC/Laptop nicht   
die Soundkarteneingnge. Ich schlage vor, erst die Massen von Rig und    
Computer, und erst dann die Audiokabel zu verbinden. 

Das MT63-Modem ist fr Amateurfunk als RTTY-hnliche Konversation
gedacht, bei der eine Station sendet und eine oder mehr Station en
hren.  Es sendet 64 Tne in seiner Bandbreite von 1 kHz im Bereich
500-1500 Hz.  In differentialer bipolarer Phasenmodulation werden 10
Bits/s auf jedem Ton codiert. Die Daten werden als 7-bit
ASCII-Characters als Satz von  64-Punkt-Walsh-Functionen encodiert. Die
Bits werden ber 32 Symbols  (3.2 Sekunden) verschachtelt (Orig.
"interleaved", so auch die  Parametereinstellung, Anm. d. .) gesendet,
dies macht den Modus  sowohl gegen phasische als auch frequenzabhngige
Strgerusche  und Fading unempfindlich. 

Die bertragungsgeschwindigkeit fr Zeichen ist der fr Bits pro Ton 
gleich, also kann das Modem 10 7-bit-Zeichen pro Sekunde senden. Das
Modem kann auch in 2 anderen Betriebsarten laufen:

Bandbreite Frequenzbereich Baudrate Zeichenrate  Verschachtelung/Zeichen
  500 Hz   500-1000 Hz     5 baud     5 char/s   6.4 oder 12.8 sec
 1000 Hz   500-1500 Hz    10 baud    10 char/s   3.2 oder  6.4 sec
 2000 Hz   500-2500 Hz	  20 baud    20 char/s   1.6 oder  3.2 sec

Fr jeden Modus kann der Interleave-Faktor verdoppelt werden, so wird 
jedes Zeichenn ber die zweifache Zeitspanne verstreut gesendet. Die
ersten Versuche mit dieser Technik wurden mit dem EVM56K DSP evaluation
board von Motorola gemacht, das Programm hie MT63ASC.ZIP. Diese
LINUX-Implementierung ist mit diesem Paket kompatibel gehalten. Das
MT63-modem its fr SSB-Betrieb gemacht. Die Signale der Soundkarte
werden dem SSB-Modulator zugefhrt. Auf der Empfangsseite geht der
Output  des SSB-Demodulators zum Eingang der Soundkarte. 

Die Hllkurve des MT63-Signals ist nicht fest, wie in anderen
Vieltonsystemen - sie sieht mehr wie Rauschen aus. Man mu darauf
achten, den Sender nicht zu  bersteuern. 

Die Empfangsseite von MT63 ist selbstabstimmend und
selbstsynchronisierend, so mu der OP im 1000 Hz -Grundmodus nur auf +/-
100 Hz genau in das Signal hinein abstimmen. Das Modem wird die genaue
Frequenzabweichung mitteilen, nachdem es sich synchronisiert hat. Der OP
sollte nicht versuchen, diese  Abweichung zu korrigieren, wenn er nicht
sehr langsam abstimmen kann,  da MT63 als langsam phasenmoduliertes
System schnelle Frequenznderungen nicht mag. Pawel, SP9VRC. (Danke,
Pawel!)

Ich habe in hf die Zeit des Auslaufens der Datenverschachtelung 
("flushing data interleaver") am Ende jedes Sendezyklus noch mehr  als
Pawel im Originalcode verlngert, damit meine Squelch-Funktion  beim
Empfang nicht die letzten Daten abschneidet.

 "PARAMETER"
'<Strg> P' ffnet eine Eingabemglickheit fr Dein Rufzeichen und
Programm-Parameter wie Mark, Shift, Baudrate, Txdelay fr die
verschiedenen Betriebsarten. Beim Beenden von hfterm werden die
Parameter in  ~/hf/hfterm.rc  gespeichert (digital, bitte nicht editieren!).

 "'BRAG' (PERSNLICHE DATEN)"
'<Strg> B' ffnet ein Eingabefeld fr Dein Rufzeichen und 'brag'
(Angeben), also  Power, Rig, Antenne, Locator, QTH, Name, Mail. Diese
Daten werden von einer Such- und  Ersetz- Funktion zusammen mit den
Fixtexten bentzt, um Textbausteine zu senden. Der Ruhm Deiner Station
wird in ~hf/hfterm.brag gespeichert. 

 "FIXTEXTE"  
Wenn Du Textbausteine magst, editiere die Fixtexte (bis to 12) mit
'<Strg> T'. Bestimmte Begriffe in eckigen Klammern werden ersetzt -
Gedchtnissttze fr die mglichen Schlsselwrter ist das Fenster
unten im Fixtexteditor. 
Zum Beispiel: [B] = Bakenaussendung (z.B. CQ), [TIME] =
Zeitstempel. Zum Senden eines Bausteins auf einen der 12 Buttons klicken
oder  'Shift F<1 ..12>', zurcklehnen und Kaffee trinken. 
Die Fixtexte werden in ~/hf/fix.<nr> gespeichert und knnen auch 
auerhalb des Programms editiert werden. 
Durch Einfgen oder Umbenennen kannst Du 
beliebige Ascii-Texte bis zu einer Lnge von 1024 Zeichen importieren.
Mit dem File-Men  kannst Du auch eine beliebige Datei einmal oder als
Bake senden.

 "LOGBUCH"
Es gibt sogar 2. Eins fr groe Schirme, es ist immer offen.  Einfach
ausfllen und auf 'save' (oder 'clear') im Log-Men klicken. Das andere
Log ist fr meinen alten kleinen Bildschirm (ein grerer pat nicht in
mein Funkzimmer).  Entferne das groe Log-Eingabefeld mit '<Strg> Q'. 
Mit '<Strg> N' ffnet sich das kleine Log, wenn Du es brauchst, und das
Status display unten bleibt zu sehen. '<Strg> L' zeigt das ganze
Logbuch, '<Strg> A' archiviert die Logdatei und ffnet eine neue.
'<Strg> O' sucht alte Eintrge zum Editieren oder Lschen. Das Log wird
in Portionen zu je 50 Eintrgen gespeichert.

 "RX-TEXT" 
Empfangene Texte werden als hfrx gespeichert, bis zu 5 alte Texte in 
in ~/hf aufgehoben. Im File-Men kann auch zustzlich eine Datei zum
Speichern ausgewhlt werden.


6) Root-Rechte:
   ============

hfkernel mu wegen des besonderen Hardwarezugriffs (im  Echtzeitmodus,
mit hoher Prioritt) nur von root, dem Superuser, aufgerufen werden. Im
normalen Betrieb sollte man aber nur als normaler Benutzer arbeiten.
Damit normale Benutzer hfkernel mit hfterm zusammen bequem starten
knnen,  wird nun bei der Installation von hfkernel automatisch das
Suid-Bit an hfkernel  vergeben mit: 
chmod u+s /usr/bin/hfkernel.
Dann kann das Programm vom normalen user mit Superuser-Rechten 
ausgefhrt werden. 
Wenn das luft und Du so zufrieden bist, brauchst Du
nichts weiter ndern und diesen Abschnitt nicht weiterlesen.

Wenn dies nicht gewnscht wird, sind in /etc/hf.conf 2 andere Wege
vorbereitet und beschrieben. Du brauchst dazu eins der (2 oder mehr?)
Programme, die es normalen Benutzern ermglichen, Programme mit
root-Rechten auszufhren: 'su1' oder 'sudo'. Diese sind in den meisten
Linux-Versionen enthalten.

su1: (man su1). 
Installiere su1, ffne mit einem Editor 
/etc/su1.priv (als root natrlich) und ndere wie folgt:
	# Define some in allen Digimodes. 
Bei Dauersendung kommt ein "Diddle" mit "LTRS...".

 "PACTOR - AMTOR - GTOR"
Pactor ist eine Wissenschaft fr sich. Wenn Du noch nichts darber
weit, lies 'pactor.txt' in /usr/share/hf. be erst das Empfangen, 
es ist etwas schwieriger als bei RTTY. Im Spektrumdisplay
sieht Pactor wie RTTY aus, aber der Ton ist im 1.25 Sekunden- Rhythmus
gehackt. (Amtor: 0,45 sec.) Manchmal kannst Du zwischen den Datenblcken die kurzen
Kontrollblcke hren. Auch bei exakter Abstimmung kannst Du manchmal
nichts dekodieren, wenn die Sendung in  Pactor-Level II oder III ist (mit PTC).
Manchmal erkennst du nur ein Rufzeichen, das immer in  Level I gesendet
wird. Rufe CQ in Pactor-FEC (Geduld!). Wenn jemand in FEC ruft, antworte
in ARQ.  Rufe eine Mailbox in ARQ.  Gehe nach dem Senden nicht sofort in
'standby', das Programm knnte hngen. (Wenn es hngt, einfach warten.)
Sondern: QRT ('Alt Q'), etwas warten (QRT -Routine),  dann geht das 
Program von selbst in standby (Bereitschaft). 

 "MT63"
Vielen Dank an Pawel Jalocha, der diesen neuen Modus programmiert hat.
Er ist sehr robust, und insbesondere bei schlechten bertragungsbedingungen
besser als Pactor 3, und knnte in der Zukunft fr geplante "emcomm" Systeme 
wertvoll sein. 
(Emergency communication, Notfallnetzwerke, siehe dazu die
gegenwrtig laufende interessante Diskussion in der linlink-Mailingliste
bei www.wetnet.net).

Aufgrund der vielen interessanten Experimentiermglichkeiten
habe ich Pawel`s gesamtes MT63-Paket mit den Konsolenprogrammen
mt63tx, mt63rx und mt63trx, die Tools morsecod, peakrms, addnoise 
und das Kalibrierprogramm ratecal1 ins hf-Paket eingefgt. Danke!

Ich fge hier einen Teil von Pawel`s Dokumentation ber MT63 ein.
(Das ganze Dokument ist mt63.txt im doc-Verzeichnis.)

Das ist Version 0.5 des MT63-Modem fr LINUX. 08-JUL-2004, 
Autor: Pawel Jalocha, SP9VRC, Pawel.Jalocha@cern.ch 

Wichtig: 
1. Um das MT63-Modem voll auszunutzen, mu die sampling rate Deiner    
Soundkarte entweder kalibriert werden oder genau bei 8000.0 Hz liegen.   
Derzeit informiert der MT63-Decoder nicht ber die die Abweichung,   
vielleicht schaffe ich die Mglichkeit in zuknftigen Versionen. 
2. Beschdige beim Verbinden der Soundkarte mit Deinem PC/Laptop nicht   
die Soundkarteneingnge. Ich schlage vor, erst die Massen von Rig und    
Computer, und erst dann die Audiokabel zu verbinden. 

Das MT63-Modem ist fr Amateurfunk als RTTY-hnliche Konversation
gedacht, bei der eine Station sendet und eine oder mehr Station en
hren.  Es sendet 64 Tne in seiner Bandbreite von 1 kHz im Bereich
500-1500 Hz.  In differentialer bipolarer Phasenmodulation werden 10
Bits/s auf jedem Ton codiert. Die Daten werden als 7-bit
ASCII-Characters als Satz von  64-Punkt-Walsh-Functionen encodiert. Die
Bits werden ber 32 Symbols  (3.2 Sekunden) verschachtelt (Orig.
"interleaved", so auch die  Parametereinstellung, Anm. d. .) gesendet,
dies macht den Modus  sowohl gegen phasische als auch frequenzabhngige
Strgerusche  und Fading unempfindlich. 

Die bertragungsgeschwindigkeit fr Zeichen ist der fr Bits pro Ton 
gleich, also kann das Modem 10 7-bit-Zeichen pro Sekunde senden. Das
Modem kann auch in 2 anderen Betriebsarten laufen:

Bandbreite Frequenzbereich Baudrate Zeichenrate  Verschachtelung/Zeichen
  500 Hz   500-1000 Hz     5 baud     5 char/s   6.4 oder 12.8 sec
 1000 Hz   500-1500 Hz    10 baud    10 char/s   3.2 oder  6.4 sec
 2000 Hz   500-2500 Hz	  20 baud    20 char/s   1.6 oder  3.2 sec

Fr jeden Modus kann der Interleave-Faktor verdoppelt werden, so wird 
jedes Zeichenn ber die zweifache Zeitspanne verstreut gesendet. Die
ersten Versuche mit dieser Technik wurden mit dem EVM56K DSP evaluation
board von Motorola gemacht, das Programm hie MT63ASC.ZIP. Diese
LINUX-Implementierung ist mit diesem Paket kompatibel gehalten. Das
MT63-modem its fr SSB-Betrieb gemacht. Die Signale der Soundkarte
werden dem SSB-Modulator zugefhrt. Auf der Empfangsseite geht der
Output  des SSB-Demodulators zum Eingang der Soundkarte. 

Die Hllkurve des MT63-Signals ist nicht fest, wie in anderen
Vieltonsystemen - sie sieht mehr wie Rauschen aus. Man mu darauf
achten, den Sender nicht zu  bersteuern. 

Die Empfangsseite von MT63 ist selbstabstimmend und
selbstsynchronisierend, so mu der OP im 1000 Hz -Grundmodus nur auf +/-
100 Hz genau in das Signal hinein abstimmen. Das Modem wird die genaue
Frequenzabweichung mitteilen, nachdem es sich synchronisiert hat. Der OP
sollte nicht versuchen, diese  Abweichung zu korrigieren, wenn er nicht
sehr langsam abstimmen kann,  da MT63 als langsam phasenmoduliertes
System schnelle Frequenznderungen nicht mag. Pawel, SP9VRC. (Danke,
Pawel!)

Ich habe in hf die Zeit des Auslaufens der Datenverschachtelung 
("flushing data interleaver") am Ende jedes Sendezyklus noch mehr  als
Pawel im Originalcode verlngert, damit meine Squelch-Funktion  beim
Empfang nicht die letzten Daten abschneidet.

 "PARAMETER"
'<Strg> P' ffnet eine Eingabemglickheit fr Dein Rufzeichen und
Programm-Parameter wie Mark, Shift, Baudrate, Txdelay fr die
verschiedenen Betriebsarten. Beim Beenden von hfterm werden die
Parameter in  ~/hf/hfterm.rc  gespeichert (digital, bitte nicht editieren!).

 "'BRAG' (PERSNLICHE DATEN)"
'<Strg> B' ffnet ein Eingabefeld fr Dein Rufzeichen und 'brag'
(Angeben), also  Power, Rig, Antenne, Locator, QTH, Name, Mail. Diese
Daten werden von einer Such- und  Ersetz- Funktion zusammen mit den
Fixtexten bentzt, um Textbausteine zu senden. Der Ruhm Deiner Station
wird in ~hf/hfterm.brag gespeichert. 

 "FIXTEXTE"  
Wenn Du Textbausteine magst, editiere die Fixtexte (bis to 12) mit
'<Strg> T'. Bestimmte Begriffe in eckigen Klammern werden ersetzt -
Gedchtnissttze fr die mglichen Schlsselwrter ist das Fenster
unten im Fixtexteditor. 
Zum Beispiel: [B] = Bakenaussendung (z.B. CQ), [TIME] =
Zeitstempel. Zum Senden eines Bausteins auf einen der 12 Buttons klicken
oder  'Shift F<1 ..12>', zurcklehnen und Kaffee trinken. 
Die Fixtexte werden in ~/hf/fix.<nr> gespeichert und knnen auch 
auerhalb des Programms editiert werden. 
Durch Einfgen oder Umbenennen kannst Du 
beliebige Ascii-Texte bis zu einer Lnge von 1024 Zeichen importieren.
Mit dem File-Men  kannst Du auch eine beliebige Datei einmal oder als
Bake senden.

 "LOGBUCH"
Es gibt sogar 2. Eins fr groe Schirme, es ist immer offen.  Einfach
ausfllen und auf 'save' (oder 'clear') im Log-Men klicken. Das andere
Log ist fr meinen alten kleinen Bildschirm (ein grerer pat nicht in
mein Funkzimmer).  Entferne das groe Log-Eingabefeld mit '<Strg> Q'. 
Mit '<Strg> N' ffnet sich das kleine Log, wenn Du es brauchst, und das
Status display unten bleibt zu sehen. '<Strg> L' zeigt das ganze
Logbuch, '<Strg> A' archiviert die Logdatei und ffnet eine neue.
'<Strg> O' sucht alte Eintrge zum Editieren oder Lschen. Das Log wird
in Portionen zu je 50 Eintrgen gespeichert.

 "RX-TEXT" 
Empfangene Texte werden als hfrx gespeichert, bis zu 5 alte Texte in 
in ~/hf aufgehoben. Im File-Men kann auch zustzlich eine Datei zum
Speichern ausgewhlt werden.


6) Root-Rechte:
   ============

hfkernel mu wegen des besonderen Hardwarezugriffs (im  Echtzeitmodus,
mit hoher Prioritt) nur von root, dem Superuser, aufgerufen werden. Im
normalen Betrieb sollte man aber nur als normaler Benutzer arbeiten.
Damit normale Benutzer hfkernel mit hfterm zusammen bequem starten
knnen,  wird nun bei der Installation von hfkernel automatisch das
Suid-Bit an hfkernel  vergeben mit: 
chmod u+s /usr/bin/hfkernel.
Dann kann das Programm vom normalen user mit Superuser-Rechten 
ausgefhrt werden. 
Wenn das luft und Du so zufrieden bist, brauchst Du
nichts weiter ndern und diesen Abschnitt nicht weiterlesen.

Wenn dies nicht gewnscht wird, sind in /etc/hf.conf 2 andere Wege
vorbereitet und beschrieben. Du brauchst dazu eins der (2 oder mehr?)
Programme, die es normalen Benutzern ermglichen, Programme mit
root-Rechten auszufhren: 'su1' oder 'sudo'. Diese sind in den meisten
Linux-Versionen enthalten.

su1: (man su1). 
Installiere su1, ffne mit einem Editor 
/etc/su1.priv (als root natrlich) und ndere wie folgt:
	# Define some in allen Digimodes. 
Bei Dauersendung kommt ein "Diddle" mit "LTRS...".

 "PACTOR - AMTOR - GTOR"
Pactor ist eine Wissenschaft fr sich. Wenn Du noch nichts darber
weit, lies 'pactor.txt' in /usr/share/hf. be erst das Empfangen, 
es ist etwas schwieriger als bei RTTY. Im Spektrumdisplay
sieht Pactor wie RTTY aus, aber der Ton ist im 1.25 Sekunden- Rhythmus
gehackt. (Amtor: 0,45 sec.) Manchmal kannst Du zwischen den Datenblcken die kurzen
Kontrollblcke hren. Auch bei exakter Abstimmung kannst Du manchmal
nichts dekodieren, wenn die Sendung in  Pactor-Level II oder III ist (mit PTC).
Manchmal erkennst du nur ein Rufzeichen, das immer in  Level I gesendet
wird. Rufe CQ in Pactor-FEC (Geduld!). Wenn jemand in FEC ruft, antworte
in ARQ.  Rufe eine Mailbox in ARQ.  Gehe nach dem Senden nicht sofort in
'standby', das Programm knnte hngen. (Wenn es hngt, einfach warten.)
Sondern: QRT ('Alt Q'), etwas warten (QRT -Routine),  dann geht das 
Program von selbst in standby (Bereitschaft). 

 "MT63"
Vielen Dank an Pawel Jalocha, der diesen neuen Modus programmiert hat.
Er ist sehr robust, und insbesondere bei schlechten bertragungsbedingungen
besser als Pactor 3, und knnte in der Zukunft fr geplante "emcomm" Systeme 
wertvoll sein. 
(Emergency communication, Notfallnetzwerke, siehe dazu die
gegenwrtig laufende interessante Diskussion in der linlink-Mailingliste
bei www.wetnet.net).

Aufgrund der vielen interessanten Experimentiermglichkeiten
habe ich Pawel`s gesamtes MT63-Paket mit den Konsolenprogrammen
mt63tx, mt63rx und mt63trx, die Tools morsecod, peakrms, addnoise 
und das Kalibrierprogramm ratecal1 ins hf-Paket eingefgt. Danke!

Ich fge hier einen Teil von Pawel`s Dokumentation ber MT63 ein.
(Das ganze Dokument ist mt63.txt im doc-Verzeichnis.)

Das ist Version 0.5 des MT63-Modem fr LINUX. 08-JUL-2004, 
Autor: Pawel Jalocha, SP9VRC, Pawel.Jalocha@cern.ch 

Wichtig: 
1. Um das MT63-Modem voll auszunutzen, mu die sampling rate Deiner    
Soundkarte entweder kalibriert werden oder genau bei 8000.0 Hz liegen.   
Derzeit informiert der MT63-Decoder nicht ber die die Abweichung,   
vielleicht schaffe ich die Mglichkeit in zuknftigen Versionen. 
2. Beschdige beim Verbinden der Soundkarte mit Deinem PC/Laptop nicht   
die Soundkarteneingnge. Ich schlage vor, erst die Massen von Rig und    
Computer, und erst dann die Audiokabel zu verbinden. 

Das MT63-Modem ist fr Amateurfunk als RTTY-hnliche Konversation
gedacht, bei der eine Station sendet und eine oder mehr Station en
hren.  Es sendet 64 Tne in seiner Bandbreite von 1 kHz im Bereich
500-1500 Hz.  In differentialer bipolarer Phasenmodulation werden 10
Bits/s auf jedem Ton codiert. Die Daten werden als 7-bit
ASCII-Characters als Satz von  64-Punkt-Walsh-Functionen encodiert. Die
Bits werden ber 32 Symbols  (3.2 Sekunden) verschachtelt (Orig.
"interleaved", so auch die  Parametereinstellung, Anm. d. .) gesendet,
dies macht den Modus  sowohl gegen phasische als auch frequenzabhngige
Strgerusche  und Fading unempfindlich. 

Die bertragungsgeschwindigkeit fr Zeichen ist der fr Bits pro Ton 
gleich, also kann das Modem 10 7-bit-Zeichen pro Sekunde senden. Das
Modem kann auch in 2 anderen Betriebsarten laufen:

Bandbreite Frequenzbereich Baudrate Zeichenrate  Verschachtelung/Zeichen
  500 Hz   500-1000 Hz     5 baud     5 char/s   6.4 oder 12.8 sec
 1000 Hz   500-1500 Hz    10 baud    10 char/s   3.2 oder  6.4 sec
 2000 Hz   500-2500 Hz	  20 baud    20 char/s   1.6 oder  3.2 sec

Fr jeden Modus kann der Interleave-Faktor verdoppelt werden, so wird 
jedes Zeichenn ber die zweifache Zeitspanne verstreut gesendet. Die
ersten Versuche mit dieser Technik wurden mit dem EVM56K DSP evaluation
board von Motorola gemacht, das Programm hie MT63ASC.ZIP. Diese
LINUX-Implementierung ist mit diesem Paket kompatibel gehalten. Das
MT63-modem its fr SSB-Betrieb gemacht. Die Signale der Soundkarte
werden dem SSB-Modulator zugefhrt. Auf der Empfangsseite geht der
Output  des SSB-Demodulators zum Eingang der Soundkarte. 

Die Hllkurve des MT63-Signals ist nicht fest, wie in anderen
Vieltonsystemen - sie sieht mehr wie Rauschen aus. Man mu darauf
achten, den Sender nicht zu  bersteuern. 

Die Empfangsseite von MT63 ist selbstabstimmend und
selbstsynchronisierend, so mu der OP im 1000 Hz -Grundmodus nur auf +/-
100 Hz genau in das Signal hinein abstimmen. Das Modem wird die genaue
Frequenzabweichung mitteilen, nachdem es sich synchronisiert hat. Der OP
sollte nicht versuchen, diese  Abweichung zu korrigieren, wenn er nicht
sehr langsam abstimmen kann,  da MT63 als langsam phasenmoduliertes
System schnelle Frequenznderungen nicht mag. Pawel, SP9VRC. (Danke,
Pawel!)

Ich habe in hf die Zeit des Auslaufens der Datenverschachtelung 
("flushing data interleaver") am Ende jedes Sendezyklus noch mehr  als
Pawel im Originalcode verlngert, damit meine Squelch-Funktion  beim
Empfang nicht die letzten Daten abschneidet.

 "PARAMETER"
'<Strg> P' ffnet eine Eingabemglickheit fr Dein Rufzeichen und
Programm-Parameter wie Mark, Shift, Baudrate, Txdelay fr die
verschiedenen Betriebsarten. Beim Beenden von hfterm werden die
Parameter in  ~/hf/hfterm.rc  gespeichert (digital, bitte nicht editieren!).

 "'BRAG' (PERSNLICHE DATEN)"
'<Strg> B' ffnet ein Eingabefeld fr Dein Rufzeichen und 'brag'
(Angeben), also  Power, Rig, Antenne, Locator, QTH, Name, Mail. Diese
Daten werden von einer Such- und  Ersetz- Funktion zusammen mit den
Fixtexten bentzt, um Textbausteine zu senden. Der Ruhm Deiner Station
wird in ~hf/hfterm.brag gespeichert. 

 "FIXTEXTE"  
Wenn Du Textbausteine magst, editiere die Fixtexte (bis to 12) mit
'<Strg> T'. Bestimmte Begriffe in eckigen Klammern werden ersetzt -
Gedchtnissttze fr die mglichen Schlsselwrter ist das Fenster
unten im Fixtexteditor. 
Zum Beispiel: [B] = Bakenaussendung (z.B. CQ), [TIME] =
Zeitstempel. Zum Senden eines Bausteins auf einen der 12 Buttons klicken
oder  'Shift F<1 ..12>', zurcklehnen und Kaffee trinken. 
Die Fixtexte werden in ~/hf/fix.<nr> gespeichert und knnen auch 
auerhalb des Programms editiert werden. 
Durch Einfgen oder Umbenennen kannst Du 
beliebige Ascii-Texte bis zu einer Lnge von 1024 Zeichen importieren.
Mit dem File-Men  kannst Du auch eine beliebige Datei einmal oder als
Bake senden.

 "LOGBUCH"
Es gibt sogar 2. Eins fr groe Schirme, es ist immer offen.  Einfach
ausfllen und auf 'save' (oder 'clear') im Log-Men klicken. Das andere
Log ist fr meinen alten kleinen Bildschirm (ein grerer pat nicht in
mein Funkzimmer).  Entferne das groe Log-Eingabefeld mit '<Strg> Q'. 
Mit '<Strg> N' ffnet sich das kleine Log, wenn Du es brauchst, und das
Status display unten bleibt zu sehen. '<Strg> L' zeigt das ganze
Logbuch, '<Strg> A' archiviert die Logdatei und ffnet eine neue.
'<Strg> O' sucht alte Eintrge zum Editieren oder Lschen. Das Log wird
in Portionen zu je 50 Eintrgen gespeichert.

 "RX-TEXT" 
Empfangene Texte werden als hfrx gespeichert, bis zu 5 alte Texte in 
in ~/hf aufgehoben. Im File-Men kann auch zustzlich eine Datei zum
Speichern ausgewhlt werden.


6) Root-Rechte:
   ============

hfkernel mu wegen des besonderen Hardwarezugriffs (im  Echtzeitmodus,
mit hoher Prioritt) nur von root, dem Superuser, aufgerufen werden. Im
normalen Betrieb sollte man aber nur als normaler Benutzer arbeiten.
Damit normale Benutzer hfkernel mit hfterm zusammen bequem starten
knnen,  wird nun bei der Installation von hfkernel automatisch das
Suid-Bit an hfkernel  vergeben mit: 
chmod u+s /usr/bin/hfkernel.
Dann kann das Programm vom normalen user mit Superuser-Rechten 
ausgefhrt werden. 
Wenn das luft und Du so zufrieden bist, brauchst Du
nichts weiter ndern und diesen Abschnitt nicht weiterlesen.

Wenn dies nicht gewnscht wird, sind in /etc/hf.conf 2 andere Wege
vorbereitet und beschrieben. Du brauchst dazu eins der (2 oder mehr?)
Programme, die es normalen Benutzern ermglichen, Programme mit
root-Rechten auszufhren: 'su1' oder 'sudo'. Diese sind in den meisten
Linux-Versionen enthalten.

su1: (man su1). 
Installiere su1, ffne mit einem Editor 
/etc/su1.priv (als root natrlich) und ndere wie folgt:
	# Define some in allen Digimodes. 
Bei Dauersendung kommt ein "Diddle" mit "LTRS...".

 "PACTOR - AMTOR - GTOR"
Pactor ist eine Wissenschaft fr sich. Wenn Du noch nichts darber
weit, lies 'pactor.txt' in /usr/share/hf. be erst das Empfangen, 
es ist etwas schwieriger als bei RTTY. Im Spektrumdisplay
sieht Pactor wie RTTY aus, aber der Ton ist im 1.25 Sekunden- Rhythmus
gehackt. (Amtor: 0,45 sec.) Manchmal kannst Du zwischen den Datenblcken die kurzen
Kontrollblcke hren. Auch bei exakter Abstimmung kannst Du manchmal
nichts dekodieren, wenn die Sendung in  Pactor-Level II oder III ist (mit PTC).
Manchmal erkennst du nur ein Rufzeichen, das immer in  Level I gesendet
wird. Rufe CQ in Pactor-FEC (Geduld!). Wenn jemand in FEC ruft, antworte
in ARQ.  Rufe eine Mailbox in ARQ.  Gehe nach dem Senden nicht sofort in
'standby', das Programm knnte hngen. (Wenn es hngt, einfach warten.)
Sondern: QRT ('Alt Q'), etwas warten (QRT -Routine),  dann geht das 
Program von selbst in standby (Bereitschaft). 

 "MT63"
Vielen Dank an Pawel Jalocha, der diesen neuen Modus programmiert hat.
Er ist sehr robust, und insbesondere bei schlechten bertragungsbedingungen
besser als Pactor 3, und knnte in der Zukunft fr geplante "emcomm" Systeme 
wertvoll sein. 
(Emergency communication, Notfallnetzwerke, siehe dazu die
gegenwrtig laufende interessante Diskussion in der linlink-Mailingliste
bei www.wetnet.net).

Aufgrund der vielen interessanten Experimentiermglichkeiten
habe ich Pawel`s gesamtes MT63-Paket mit den Konsolenprogrammen
mt63tx, mt63rx und mt63trx, die Tools morsecod, peakrms, addnoise 
und das Kalibrierprogramm ratecal1 ins hf-Paket eingefgt. Danke!

Ich fge hier einen Teil von Pawel`s Dokumentation ber MT63 ein.
(Das ganze Dokument ist mt63.txt im doc-Verzeichnis.)

Das ist Version 0.5 des MT63-Modem fr LINUX. 08-JUL-2004, 
Autor: Pawel Jalocha, SP9VRC, Pawel.Jalocha@cern.ch 

Wichtig: 
1. Um das MT63-Modem voll auszunutzen, mu die sampling rate Deiner    
Soundkarte entweder kalibriert werden oder genau bei 8000.0 Hz liegen.   
Derzeit informiert der MT63-Decoder nicht ber die die Abweichung,   
vielleicht schaffe ich die Mglichkeit in zuknftigen Versionen. 
2. Beschdige beim Verbinden der Soundkarte mit Deinem PC/Laptop nicht   
die Soundkarteneingnge. Ich schlage vor, erst die Massen von Rig und    
Computer, und erst dann die Audiokabel zu verbinden. 

Das MT63-Modem ist fr Amateurfunk als RTTY-hnliche Konversation
gedacht, bei der eine Station sendet und eine oder mehr Station en
hren.  Es sendet 64 Tne in seiner Bandbreite von 1 kHz im Bereich
500-1500 Hz.  In differentialer bipolarer Phasenmodulation werden 10
Bits/s auf jedem Ton codiert. Die Daten werden als 7-bit
ASCII-Characters als Satz von  64-Punkt-Walsh-Functionen encodiert. Die
Bits werden ber 32 Symbols  (3.2 Sekunden) verschachtelt (Orig.
"interleaved", so auch die  Parametereinstellung, Anm. d. .) gesendet,
dies macht den Modus  sowohl gegen phasische als auch frequenzabhngige
Strgerusche  und Fading unempfindlich. 

Die bertragungsgeschwindigkeit fr Zeichen ist der fr Bits pro Ton 
gleich, also kann das Modem 10 7-bit-Zeichen pro Sekunde senden. Das
Modem kann auch in 2 anderen Betriebsarten laufen:

Bandbreite Frequenzbereich Baudrate Zeichenrate  Verschachtelung/Zeichen
  500 Hz   500-1000 Hz     5 baud     5 char/s   6.4 oder 12.8 sec
 1000 Hz   500-1500 Hz    10 baud    10 char/s   3.2 oder  6.4 sec
 2000 Hz   500-2500 Hz	  20 baud    20 char/s   1.6 oder  3.2 sec

Fr jeden Modus kann der Interleave-Faktor verdoppelt werden, so wird 
jedes Zeichenn ber die zweifache Zeitspanne verstreut gesendet. Die
ersten Versuche mit dieser Technik wurden mit dem EVM56K DSP evaluation
board von Motorola gemacht, das Programm hie MT63ASC.ZIP. Diese
LINUX-Implementierung ist mit diesem Paket kompatibel gehalten. Das
MT63-modem its fr SSB-Betrieb gemacht. Die Signale der Soundkarte
werden dem SSB-Modulator zugefhrt. Auf der Empfangsseite geht der
Output  des SSB-Demodulators zum Eingang der Soundkarte. 

Die Hllkurve des MT63-Signals ist nicht fest, wie in anderen
Vieltonsystemen - sie sieht mehr wie Rauschen aus. Man mu darauf
achten, den Sender nicht zu  bersteuern. 

Die Empfangsseite von MT63 ist selbstabstimmend und
selbstsynchronisierend, so mu der OP im 1000 Hz -Grundmodus nur auf +/-
100 Hz genau in das Signal hinein abstimmen. Das Modem wird die genaue
Frequenzabweichung mitteilen, nachdem es sich synchronisiert hat. Der OP
sollte nicht versuchen, diese  Abweichung zu korrigieren, wenn er nicht
sehr langsam abstimmen kann,  da MT63 als langsam phasenmoduliertes
System schnelle Frequenznderungen nicht mag. Pawel, SP9VRC. (Danke,
Pawel!)

Ich habe in hf die Zeit des Auslaufens der Datenverschachtelung 
("flushing data interleaver") am Ende jedes Sendezyklus noch mehr  als
Pawel im Originalcode verlngert, damit meine Squelch-Funktion  beim
Empfang nicht die letzten Daten abschneidet.

 "PARAMETER"
'<Strg> P' ffnet eine Eingabemglickheit fr Dein Rufzeichen und
Programm-Parameter wie Mark, Shift, Baudrate, Txdelay fr die
verschiedenen Betriebsarten. Beim Beenden von hfterm werden die
Parameter in  ~/hf/hfterm.rc  gespeichert (digital, bitte nicht editieren!).

 "'BRAG' (PERSNLICHE DATEN)"
'<Strg> B' ffnet ein Eingabefeld fr Dein Rufzeichen und 'brag'
(Angeben), also  Power, Rig, Antenne, Locator, QTH, Name, Mail. Diese
Daten werden von einer Such- und  Ersetz- Funktion zusammen mit den
Fixtexten bentzt, um Textbausteine zu senden. Der Ruhm Deiner Station
wird in ~hf/hfterm.brag gespeichert. 

 "FIXTEXTE"  
Wenn Du Textbausteine magst, editiere die Fixtexte (bis to 12) mit
'<Strg> T'. Bestimmte Begriffe in eckigen Klammern werden ersetzt -
Gedchtnissttze fr die mglichen Schlsselwrter ist das Fenster
unten im Fixtexteditor. 
Zum Beispiel: [B] = Bakenaussendung (z.B. CQ), [TIME] =
Zeitstempel. Zum Senden eines Bausteins auf einen der 12 Buttons klicken
oder  'Shift F<1 ..12>', zurcklehnen und Kaffee trinken. 
Die Fixtexte werden in ~/hf/fix.<nr> gespeichert und knnen auch 
auerhalb des Programms editiert werden. 
Durch Einfgen oder Umbenennen kannst Du 
beliebige Ascii-Texte bis zu einer Lnge von 1024 Zeichen importieren.
Mit dem File-Men  kannst Du auch eine beliebige Datei einmal oder als
Bake senden.

 "LOGBUCH"
Es gibt sogar 2. Eins fr groe Schirme, es ist immer offen.  Einfach
ausfllen und auf 'save' (oder 'clear') im Log-Men klicken. Das andere
Log ist fr meinen alten kleinen Bildschirm (ein grerer pat nicht in
mein Funkzimmer).  Entferne das groe Log-Eingabefeld mit '<Strg> Q'. 
Mit '<Strg> N' ffnet sich das kleine Log, wenn Du es brauchst, und das
Status display unten bleibt zu sehen. '<Strg> L' zeigt das ganze
Logbuch, '<Strg> A' archiviert die Logdatei und ffnet eine neue.
'<Strg> O' sucht alte Eintrge zum Editieren oder Lschen. Das Log wird
in Portionen zu je 50 Eintrgen gespeichert.

 "RX-TEXT" 
Empfangene Texte werden als hfrx gespeichert, bis zu 5 alte Texte in 
in ~/hf aufgehoben. Im File-Men kann auch zustzlich eine Datei zum
Speichern ausgewhlt werden.


6) Root-Rechte:
   ============

hfkernel mu wegen des besonderen Hardwarezugriffs (im  Echtzeitmodus,
mit hoher Prioritt) nur von root, dem Superuser, aufgerufen werden. Im
normalen Betrieb sollte man aber nur als normaler Benutzer arbeiten.
Damit normale Benutzer hfkernel mit hfterm zusammen bequem starten
knnen,  wird nun bei der Installation von hfkernel automatisch das
Suid-Bit an hfkernel  vergeben mit: 
chmod u+s /usr/bin/hfkernel.
Dann kann das Programm vom normalen user mit Superuser-Rechten 
ausgefhrt werden. 
Wenn das luft und Du so zufrieden bist, brauchst Du
nichts weiter ndern und diesen Abschnitt nicht weiterlesen.

Wenn dies nicht gewnscht wird, sind in /etc/hf.conf 2 andere Wege
vorbereitet und beschrieben. Du brauchst dazu eins der (2 oder mehr?)
Programme, die es normalen Benutzern ermglichen, Programme mit
root-Rechten auszufhren: 'su1' oder 'sudo'. Diese sind in den meisten
Linux-Versionen enthalten.

su1: (man su1). 
Installiere su1, ffne mit einem Editor 
/etc/su1.priv (als root natrlich) und ndere wie folgt:
	# Define some in allen Digimodes. 
Bei Dauersendung kommt ein "Diddle" mit "LTRS...".

 "PACTOR - AMTOR - GTOR"
Pactor ist eine 