The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
Username:
Password:
Save Password
Forgot your Password? | Admin Options

 All Forums
 Origin Forum
 Origin Forum
 Deconvolution in Origin
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

richardgrc

Ireland
Posts

Posted - 08/19/2005 :  09:39:30 AM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Origin Version (Select Help-->About Origin): 7.0
Operating System: Win 2000 pro

I'm a new user to origin and I'm having some trouble deconvolving data. I've got the response data set and the signal data set. I'm looking to deconvolve the response with the signal so that I can get the true output of my system. How important is it to have the response data set symmetrical? I have an exponential decay in my response and I want to remove the signal from the response to allow me to obtain the true output. Is there a way around this?

Thank you to anyone that can help me with this problem,
Richard

easwar

USA
1964 Posts

Posted - 08/22/2005 :  09:43:01 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Hi Richard,

The menu deconvolution command currently does have this limitation that the response be symmetrical. However one could use the NAG library FFT functions to programmatically perform deconvolution. In version 7.5, there is a function available in fft_utils.c that can be called to perform the deconvolution, with code such as below. You could try this with the 7.5 demo.

Easwar
OriginLab


// Code starts here----- need v 7.5 ------
#include <Origin.h>
#include <fft_utils.h>

void deconvolute(string strSignal1, string strSignal2, string strResult)
{
// Declare datasets and check validity
Dataset ds1(strSignal1);
Dataset ds2(strSignal2);
Dataset ds3(strResult);
if(!ds1 || !ds2 || !ds3)
{
printf("Invalid dataset(s)!\n");
return;
}

// Copy datsets to vectors to pass to fft_deconvolute function
vector vec1, vec2, vec3;
vec1 = ds1;
vec2 = ds2;
int iRet = fft_deconvolute(vec1, vec2, vec3);
if(0 != iRet)
{
printf ("FFT Deconvolution call returned error. Error code: %d\n", iRet);
return;
}

// Copy result vector to result dataset
ds3 = vec3;
}
// Code ends here-----------



Go to Top of Page
  Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000