Mit Hilfe des Filemanagers der LCS-Software können Sie sehr einfach eine dBm-Anzeige mit bis zu drei Nachkomastellen programieren.
Rufen Sie das Programm "scanprog" im Verzeichnis "Spezial" im Filemanager auf:
LOADSET PEAK1FREQ STOREVAR 05h LOADSET SPECDISP JUMPNZ LABEL-1 LOADSET PEAK1POW LOADSET PEAK1FREQ ACALL PROG-0 LOADSET PEAK2POW LOADSET PEAK2FREQ ACALL PROG-0 MAX LOADSET PEAK3POW LOADSET PEAK3FREQ ACALL PROG-0 MAX LOADVAR 01h JUMPZ LABEL-2 LOADVAR 01h LDSHCO 02h JUMPGE LABEL-3 PPIXTEXT 00h, 0000h, "ICNIRP" JUMP LABEL-4 LABEL-3: LOADVAR 01h LDSHCO 01h SUB PPIXDBL 00h, 0000h, "Salzb#" LDSHCO 64h LDSHCO 04h LOADVAR 01h SUB POW LDSHCO 0Ah DIV LDSHCO 01h MAX DIV LABEL-4: DUP PPIXBAR 02h LDCONST 100 MUL PPIXDBL 00h, 0100h, "###.##" LABEL-1: AJUMP LABEL-5 LABEL-2: PPIXTEXT 00h, 0001h, "W/m" DUP LOG10 LDSHCO 00h MAX LDSHCO 06h DIV PPIXBAR 02h DUP LDSHCO 01h JUMPLT LABEL-6 DUP LDCONST 1000 JUMPGE LABEL-7 PPIXTEXT 00h, 0000h, "u" JUMP LABEL-8 LABEL-7: LDCONST 1000 DIV DUP LDCONST 1000 JUMPGE LABEL-9 PPIXTEXT 00h, 0000h, "m" JUMP LABEL-8 LABEL-9: LDCONST 1000 DIV PPIXTEXT 00h, 0000h, " " JUMP LABEL-8 LABEL-6: LDCONST 1000 MUL DUP LDSHCO 01h JUMPLT LABEL-10 PPIXTEXT 00h, 0000h, "n" JUMP LABEL-8 LABEL-10: LDCONST 1000 MUL PPIXTEXT 00h, 0000h, "p" LABEL-8: PPIXDBL 00h, 0100h, "###.##" LABEL-5: LOADVAR 03h JUMPNZ LABEL-11 STOP LABEL-11: LDCONST 170 CHAIN PROG-0: STOREVAR 02h LDSHCO 0Ah SWAP LOADSET 97 SUB LDSHCO 0Ah DIV POW LDCONST 1000 DIV LOADVAR 01h LDSHCO 01h JUMPEQ LABEL-12 LOADVAR 02h SQUARE MUL LDCONST 139.8 MUL JUMP LABEL-13 LABEL-12: SQRT LOADVAR 02h MUL LDCONST 2295 MUL LDCONST 10000 DIV LOADVAR 02h LDCONST 2000 JUMPGE LABEL-14 LOADVAR 02h LDCONST 400 JUMPLT LABEL-15 LOADVAR 02h SQRT LDCONST 1.375 MUL JUMP LABEL-16 LABEL-14: LDCONST 61 JUMP LABEL-16 LABEL-15: LDCONST 28 LABEL-16: DIV LABEL-13: RET STOP
Fügen Sie nun direakt am Anfang folgende Codezeilen ein:
LDCONST 301 CHAIN
(Hierdurch wird nach jedem Sweep das Unterprogramm 301 aufgerufen und die dortigen Befehle ausgeführt)
Das geänderte "scanprog" sollte dann wie folgt aussehen:
LDCONST 301 CHAIN LOADSET PEAK1FREQ STOREVAR 05h LOADSET SPECDISP JUMPNZ LABEL-1 LOADSET PEAK1POW LOADSET PEAK1FREQ ACALL PROG-0 LOADSET PEAK2POW LOADSET PEAK2FREQ ACALL PROG-0 MAX LOADSET PEAK3POW LOADSET PEAK3FREQ ACALL PROG-0 MAX LOADVAR 01h JUMPZ LABEL-2 LOADVAR 01h LDSHCO 02h JUMPGE LABEL-3 PPIXTEXT 00h, 0000h, "ICNIRP" JUMP LABEL-4 LABEL-3: LOADVAR 01h LDSHCO 01h SUB PPIXDBL 00h, 0000h, "Salzb#" LDSHCO 64h LDSHCO 04h LOADVAR 01h SUB POW LDSHCO 0Ah DIV LDSHCO 01h MAX DIV LABEL-4: DUP PPIXBAR 02h LDCONST 100 MUL PPIXDBL 00h, 0100h, "###.##" LABEL-1: AJUMP LABEL-5 LABEL-2: PPIXTEXT 00h, 0001h, "W/m" DUP LOG10 LDSHCO 00h MAX LDSHCO 06h DIV PPIXBAR 02h DUP LDSHCO 01h JUMPLT LABEL-6 DUP LDCONST 1000 JUMPGE LABEL-7 PPIXTEXT 00h, 0000h, "u" JUMP LABEL-8 LABEL-7: LDCONST 1000 DIV DUP LDCONST 1000 JUMPGE LABEL-9 PPIXTEXT 00h, 0000h, "m" JUMP LABEL-8 LABEL-9: LDCONST 1000 DIV PPIXTEXT 00h, 0000h, " " JUMP LABEL-8 LABEL-6: LDCONST 1000 MUL DUP LDSHCO 01h JUMPLT LABEL-10 PPIXTEXT 00h, 0000h, "n" JUMP LABEL-8 LABEL-10: LDCONST 1000 MUL PPIXTEXT 00h, 0000h, "p" LABEL-8: PPIXDBL 00h, 0100h, "###.##" LABEL-5: LOADVAR 03h JUMPNZ LABEL-11 STOP LABEL-11: LDCONST 170 CHAIN PROG-0: STOREVAR 02h LDSHCO 0Ah SWAP LOADSET 97 SUB LDSHCO 0Ah DIV POW LDCONST 1000 DIV LOADVAR 01h LDSHCO 01h JUMPEQ LABEL-12 LOADVAR 02h SQUARE MUL LDCONST 139.8 MUL JUMP LABEL-13 LABEL-12: SQRT LOADVAR 02h MUL LDCONST 2295 MUL LDCONST 10000 DIV LOADVAR 02h LDCONST 2000 JUMPGE LABEL-14 LOADVAR 02h LDCONST 400 JUMPLT LABEL-15 LOADVAR 02h SQRT LDCONST 1.375 MUL JUMP LABEL-16 LABEL-14: LDCONST 61 JUMP LABEL-16 LABEL-15: LDCONST 28 LABEL-16: DIV LABEL-13: RET STOP
Betätigen Sie jetzt den Button "Übersetzen" und dann "Schreiben"
Nun müssen Sie noch das neue Unterprogramm 301 erstellen.
Klicken Sie dazu auf "Neu".
Nun geben Sie bei "Id" 301 und bei "Beschreibung" dBm-Boost ein.
Betätigen Sie jetzt den Button "Übersetzen" und dann "Schreiben"
Das Programm 301 wurde erstellt.
Fügen Sie jetzt in das Programm 301 folgenden Code ein:
LOADSET PEAK1POW PPIXDBL 00h, 0000h, "-##.##" STOP
Betätigen Sie jetzt den Button "Übersetzen" und dann "Schreiben"
Nun zur Funktion:
Im Sweepfenster wird jetzt nach jedem Sweep in der oberen Zeile die neue dBm-Anzeige eingeblendet.
Der Ausdruck "-##.##" gibt dabei die Auflösung der dBm-Anzeige an, hier also maximal -99.99dBm.
Wenn Sie den Ausdruck auf "-###.#" ändern, wäre die maximale Anzeige -999.9dBm und bei "##.###" maximal 99.999dBm (dann allerdings ohne Vorzeichen).
Alternativ können Sie auch zusätzlich noch den Display-Refresh des Sweepfensters abschalten, dies führt zu einer "ruhigen" Anzeige, schaltet aber natürlich die Spektrum-Anzeige ab. Ändern Sie dazu das Programm 301 wie folgt ab:
LDSHCO 0 STORESET SPECDISP LOADSET PEAK1POW PPIXDBL 00h, 0000h, "-##.##" STOP
Betätigen Sie jetzt wieder den Button "Übersetzen" und dann "Schreiben"
Zusätzlich können Sie auch einen Grenzwertbalken hinzufügen. So sind Pegelausschläge noch besser zu erkennen.
Ändern Sie dazu das Programm 301 wie folgt ab:
LDSHCO 00h STORESET SPECDISP LOADSET PEAK1POW PPIXDBL 00h, 0000h, "-##.##" LOADSET PEAK1POW LDCONST 100 ADD LDCONST 100 DIV PPIXBAR 01h STOP
Betätigen Sie jetzt wieder den Button "Übersetzen" und dann "Schreiben"
Der Balken bewegt sich nun von "leer bei -100dBm bis "voll" bei 0dBm (100dB Dynamik).
Im Power-Meter Modus sollten Sie aber die Dynamik verkleinern, da der unterste Pegel ja bereits bei ca. -50dBm liegt. Der Code könnte dann wie folgt aussehen:
LDSHCO 00h STORESET SPECDISP LOADSET PEAK1POW PPIXDBL 00h, 0000h, "-##.##" LOADSET PEAK1POW LDCONST 50 ADD LDCONST 100 DIV PPIXBAR 01h STOP
Betätigen Sie jetzt wieder den Button "Übersetzen" und dann "Schreiben"
Der Balken bewegt sich nun von "leer bei -50dBm bis "voll" bei 0dBm (50dB Dynamik).
Durch einen Factory-Reset können Sie die ursprüngliche Funktion natürlich jedezeit wieder herstellen.
Snip