EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Using spectrumRecord of the waveProc module
From: "Condamoor, Shantha" <[email protected]>
To: "[email protected]" <[email protected]>
Date: Fri, 13 Aug 2010 10:41:04 -0700

Hi,

 

I am using the EPICS 'waveProc1-0' module for wave analysis and FFT calculations for an RF digitizer.

 

Of the three features offered in this module, I am using:

dbd/waveAnlRecord.dbd   (for calculation of min, max, standard deviation etc. of the raw waveform)

dbd/spectrumRecord.dbd  (for fft processing)

 

I based my db on the sample waTest.db provided in the waTestApp in the waveProc module for waveAnlRecord and created a spectrumRecord.db guided by spectrumRecord.dbd records.

 

I added epicsDSP.h, epicsFFT.cpp and epicsTemplateFFT.h to my src dir from the waveProc's waveProc head/src/spectrumRecord/src and included epicsFFT.cpp in my Makefile such that the epicsShareFunc epicsOneDimFFT will be available to my app for fft processing.

 

The ioc startup script loads both the databases for processing the waveAnl record 'wa' and  spectrumRecord.db for processing spectrum record 'spec'.

 

The INP field of 'wa' and INPW field of 'spec' is linked to the digitizer's raw waveform value which is an array of 4096 samples.

 

I am unsure how to have the spectrum record processing trigger the epicsOneDimFFT processing.

I set the 'spec' field SNAM to this function.

 

When the digitizer is armed and triggered, I can see the waveform's raw values and plot the graph of the signal:

 

I triggered the record processing of the 'wa' record, and can see the min, max and other values for my raw waveform correctly being updated correctly.

 

I trigger the record processing of the 'spec' record and expect to see some nice fft results but all I see is 0's expect for the first element which shows 1.02009e-300

 

Similar results for other spectrum fields.

 

Question: Is the fft record processing happening on the raw waveform data?

Is the epicsShareFunc being invoked for the spec record processing?

If so, how do I do that? A sample application showing the use of the waveProc module's SpectrumRecord (just like the waveTestApp provided in that package) will be much useful.

 

Any help on understanding this would be much helpful as I have not used epics templates or the waveProc module before.

 

I can provide more details on my hardware or EPICS setup if needed.

 

Thanks,

Shantha


Navigate by Date:
Prev: Re: EDM and waveform records with FTVL=SHORT Till Straumann
Next: IOC Build Error Andrew Wagner
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: ASYN Addition Mark Rivers
Next: IOC Build Error Andrew Wagner
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·