40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Entry  Wed Sep 14 01:21:17 2011, Jenne, Update, Adaptive Filtering, Modifications to LSC, RFM models, added OAF model 
    Reply  Wed Sep 14 12:01:05 2011, rana, Update, Adaptive Filtering, Modifications to LSC, RFM models, added OAF model 
       Reply  Mon Sep 26 18:59:11 2011, Jenne, Update, Adaptive Filtering, Plan for making MC_F 
          Reply  Tue Sep 27 09:47:52 2011, Suresh, Update, Adaptive Filtering, Plan for making MC_F 
             Reply  Tue Sep 27 11:52:33 2011, Jenne, Update, Adaptive Filtering, Plan for making MC_F 
    Reply  Sun Sep 18 15:34:09 2011, Koji, Update, Adaptive Filtering, Modifications to LSC, RFM models, added OAF model 
    Reply  Tue Dec 13 01:20:38 2011, Den, Update, Adaptive Filtering, Modifications to LSC, RFM models, added OAF model 
Message ID: 6110     Entry time: Tue Dec 13 01:20:38 2011     In reply to: 5402
Author: Den 
Type: Update 
Category: Adaptive Filtering 
Subject: Modifications to LSC, RFM models, added OAF model 

Quote:

[Jenne, Mirko, with supervision from Jamie]

We are starting to create the new OAF model, so that it works with the new CDS system. 

 Why did you place Matt's code inside the simulink library and use the same library for all DOFs? I think this won't work out. Inside the .c code there are static variables. If all DOF use the same ADAPT_XFCODE() function, it means that they all mess there signals and coefficients with each other! Or the RCD during the compilation creates a copy of the function with the name of a library name in front? For example, ADAPT_MCL_ADAPT_XFCODE(). But then in the RCG manual it is claimed to name the .c file the same.

This problem can be fixed by creating .c files with proper names for each DOF. But here a memory question may arise. For 1 DOF we now have 28 witness channel. If we have a several minute filter, we use 28 * 104(filter length) * 3 (FIR coefficients, adapt input, corr input) * 8 (number of bytes in 1 double)  = 6.7 Mb / DoF. For 8 DOF we'll allocate ~55 Mb of memory in the kernel. The c1lsc cache size is 6 Mb per cpu. So we are definitely out of cache and it will take some time for a processor to communicate with ram. I wonder if it is OKEY for us to allocate this amount of memory as static arrays inside the kernel.

Now we use 6.7 Mb of memory because it seems to be a mistake with placing the same function for all DOF and we actually allocate for 1.

 

ELOG V3.1.3-