CCS Modul   R_ACC2ANT
 
   $Id: r_acc2ant.C,v 1.18 2005/06/01 16:07:48 gew3rt Exp $
   ---------------------------------------------------------------------
   Kurzbeschreibung: 	Normierung und Berechnung Antennendiagramm fuer ACC2
   ---------------------------------------------------------------------
   Projekt:			CCS
   Sourcefile:		r_acc2ant.C
   Autor:			RtW2/TEF32-Greule (15.11.02)
   Zielsystem:		LINUX bzw. HP9000/V743 (HP-RT 3.01), /7/C/D (HP-UX 10.20)
   Sprache:			ANSI-C
   ---------------------------------------------------------------------
   Prototyp:

   void r_acc2ant(
	   ,shm_stringpointer   *zeilen_wert
	   ,long index1
	   ,long anzahl)
   
   ---------------------------------------------------------------------
   Aufruf: im Vectorinterpreter
   
	 (*funktionen[modulnummer])
	    (Ssp_expand_zeile
	     ,Ssp_expand_wert
	     ,p_verwaltung->begin_modulblock
	     ,p_verwaltung->anzahl_modulparameter);
   ---------------------------------------------------------------------
   Funktionsbeschreibung:
   
   Einlesen von 9 Feldern (Winkel, Realteil Beam1 ... Imaginaerteil Beam4),
   In Abhaengigkeit vom Mode entweder folgendes tun:
   - Normierung Antennendiagramm => Mode = NORM1. 
     Rueckgabe sind Flash-Daten fuer ACC2; Groesse der Flash-Daten = 0x2000 Byte => 8192 Byte!
     Daten des Antennendiagramms, Beginn und Ende des Datenbereichs fürs Antennendiagramm und die 
     Checksumme werden als Ergebnisstring dieser Funktion zurueckgeliefert 
     
     Aktivitaeten: 
     
      Winkelwerte werden ueberprüft auf Gueltigkeit: 
          Bereich -10 .. +10Grad mit einer Aufloesung von 0.1 Grad
          
      Ergebnisdaten werden in einem STRING-Feld zurückgegeben;
         Definition des Feldes mit Modul "E_ARRAY_INI"; es erfolgt hier eine Ueberpruefung 
         auf die Laenge des Feldes mit den zu erwartenden Daten. 
         Auf die Daten vom Ergebnis-Feld kann anschliessend mit dem Modul "P_ZERLEGE_STR" 
         zugegriffen werden. Hier ist beim Parameter "INPUT_STRING" die &-Variable für das
         Feld anzugeben. Weitere Zugriffsmöglichkeit soll mit dem Modul "P_AUFTRAG" realisiert
         werden. 
      
      Datumsinformationen (Jahr, Monat, Tag, Std, Min) werden beim Programm-Durchlauf generiert,
      aufbereitet und in das Ergebnis-Feld an die entsprechende Stelle eingetragen
      
      RTC-Nummer kann optional angegeben werden; bei Angabe werden max 24 Zeichen ins Ergebnisfeld
      eingetragen
      
      Parameter DATA1 .. DATA5 sind z.Z. noch ohne Funktion!
      
      Daten der vier Beams und des Aufnahmewinkelbereichs werden nach Lastenheft berechnet und ebenfalls
      ins Ergebnisfeld eingetragen.
      
      Abschliessend erfolgt die Berechnung einer Checksumme ueber die Daten des Antennendiagramms

      
        
   - Berechnung Kennwerte (Figure of Merit) => FIG_OF_MER_01
     Überprüfung der Gültigkeit der Daten auf Basis des Winkelbereichs und der minimalen Leistung 
     
     Aktivitäten:
     
     Überprüfung des vorhandenen Winkelbereichs mit den übergebenen Daten - Parameter: DATA1 = WINKEL;
     Bestimmung, ob das Signal für den jeweiligen Winkelindex im Rauschen liegt - Parameter: DATA2 
     und die Felder WINKEL, REAL_BEAM1 ... IMAG_BEAM4
     Suchen des stärksten Beams für den Index, Selektierung des Wertes nach Bereich und Eintrag des 
     Bereichwertes in das Ergebnisfeld  
     Ergebnis ist ein Feld folgender Struktur:
     ERGEBNIS = {0,0,..0,0,3,3,...3,3,2,2,....2,2,1,1,....0,0,...0}
     Das Antennendiagramm wird somit von links ausgehend in den Bereich 0_Links, 3, 2, 1, 0_Rechts aufgeteilt.
      
   
  - Berechnung Kennwerte (Figure of Merit) => FIG_OF_MER_02  
    Bestimmung der Steigungswerte fuer Betrag und Phase, 
    Eingabewerte sind:
    DATA1 = linker Index des Bereichs 3
    DATA2 = linker Index des Bereichs 2
    DATA3 = linker Index des Bereichs 1
    DATA4 = linker Index des rechten Bereichs 0
    DATA0 = BETRAG oder PHASE 
    
    Felder WINKEL, REAL_BEAM1 ... IMAG_BEAM4
    
    Im Ergebnisfeld sind ist nun für den Betrag bzw. für die Phase die komplette Steigungkennlinie
    über den aufgenommenen Winkelbereich einhalten.
  
   ...
   
   Beschreibung der Moduluebergabeparameter:
1 PRUEFSCHRITT
   GAUDI Pruefschritt
   ------------------------------
2 POSITION
   PAV- Position
   ------------------------------
3 ANT_MODE
   Auszufuehrende Aktion bei diesem Modul 
   NORM1: Normierung Antennendiagramm
   FIG_OF_MER_01: Bereichsberechnung
   FIG_OF_MER_02: Steigungsberechnung für Betrag bzw. Phase
   ------------------------------
4 RTC_ID
   ID des verbauten RTCs.
   ------------------------------
5 DATA1
   Vorhalt fuer weitere Uebergabedaten;
   Bei ANT_MODE = FIG_OF_MER_01: Winkelbereich 
   Bei ANT_MODE = FIG_OF_MER_02: linker Index des Bereichs 3
    ------------------------------
6 DATA2
   Vorhalt fuer weitere Uebergabedaten;
   Bei ANT_MODE = FIG_OF_MER_01: minimale Leistung
   Bei ANT_MODE = FIG_OF_MER_02: linker Index des Bereichs 2 
   ------------------------------
7 DATA3
   Bei ANT_MODE = FIG_OF_MER_02: linker Index des Bereichs 1
      ------------------------------
8 DATA4
   Bei ANT_MODE = FIG_OF_MER_02: linker Index des rechten Bereichs 0
   ------------------------------
9 DATA5
   Bei ANT_MODE = FIG_OF_MER_02: BETRAG oder PHASE
   ------------------------------
10 WINKEL
   Arrayvariable 1 fuer das Winkelfeld
   ------------------------------
11 REAL_BEAM1
   Arrayvariable 2 fuer den Realteil BEAM1
   ------------------------------
12 IMAG_BEAM1
   Arrayvariable 3 fuer den Imaginaerteil BEAM1
   ------------------------------
13 REAL_BEAM2
   Arrayvariable 4 fuer den Realteil BEAM2
   ------------------------------
14 IMAG_BEAM2
   Arrayvariable 5 fuer den Imaginaerteil BEAM2
   ------------------------------
15 REAL_BEAM3
   Arrayvariable 6 fuer den Realteil BEAM3
   ------------------------------
16 IMAG_BEAM3
   Arrayvariable 7 fuer den Imaginaerteil BEAM3
   ------------------------------
17 REAL_BEAM4
   Arrayvariable 8 fuer den Realteil BEAM4
   ------------------------------
18 IMAG_BEAM4
   Arrayvariable 9 fuer den Imaginaerteil BEAM4
   ------------------------------
19 ERGEBNIS
   -  1 Feld mit xxx Daten 
   ------------------------------
20 FEHLERFLAG
   Fehlerflag