40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Entry  Fri Nov 25 22:11:12 2011, Mirko, Update, CDS, Beware of fancy filter modules ChebyTST3.pngCheby.pngCoherenceCheby.pdfChebyAt16kHzBlackand2kHzRed.png
    Reply  Sat Nov 26 02:05:43 2011, Mirko, Update, CDS, Beware of fancy filter modules 
       Reply  Sat Nov 26 10:55:40 2011, rana, Update, CDS, Beware of fancy filter modules 
          Reply  Mon Nov 28 19:24:51 2011, Jenne, Update, CDS, Beware of fancy filter modules SUSPOS_ETMY_30and0_measured_vs_idealTF.pdfSUSPOS_ETMY_Cheby_measured_vs_idealTF.pdfSUSPOS_ETMY_30and0andCheby_measured_vs_idealTF.pdfSUSPOS_ETMY_30and0andCheby_compareCoherence.pdfSUSPOS_ETMY_30and0andCheby_compareCoherence.pdf
             Reply  Mon Nov 28 22:09:24 2011, rana, Update, CDS, Beware of fancy filter modules noise.pdf
                Reply  Tue Nov 29 15:30:01 2011, jamie, Update, CDS, location of currently used filter function 
                   Reply  Tue Nov 29 15:57:43 2011, Den, Update, CDS, location of currently used filter function 
Message ID: 6038     Entry time: Tue Nov 29 15:57:43 2011     In reply to: 6037
Author: Den 
Type: Update 
Category: CDS 
Subject: location of currently used filter function 

 

We are interested in the following question : Can the structures defined in fm10Gen.h (or some other *.c *.h files with defined as FLOAT variables) create single precision instead of double in the filter calculations?

 

typedef struct FM_OP_IN{
  UINT32 opSwitchE;     /* Epics Switch Control Register; 28/32 bits used*/
  UINT32 opSwitchP;     /* PIII Switch Control Register; 28/32 bits used*/
  UINT32 rset;          /* reset switches */
  float offset;         /* signal offset */
  float outgain;        /* module gain */
  float limiter;        /* used to limit the filter output to +/- limit val */
  int rmpcmp[FILTERS];  /* ramp counts: ramps on a filter for type 2 output*/
                        /* comparison limit: compare limit for type 3 output*/
                        /* not used for type 1 output filter */
  int timeout[FILTERS]; /* used to timeout wait in type 3 output filter */
  int cnt[FILTERS];     /* used to keep track of up and down cnt of rmpcmp */
                        /* should be initialized to zero */
  float gain_ramp_time; /* gain change ramping time in seconds */
} FM_OP_IN;  

 

ELOG V3.1.3-