MATLAB Deconvolving two signals with different sampling rates

AI Thread Summary
The discussion focuses on deconvolving two signals with different sampling rates, specifically a discrete time signal and an analytical signal, both with a Nyquist frequency of 50 MHz. The user seeks guidance on how to deconvolve these signals using a Wiener filter, particularly after selecting the first 400 samples from the experimental signal. Suggestions include using interpolation to match the sample sizes and employing the explicit integration (EI) approach for Fourier transforms, which can handle mismatched sample sizes and rates. This method allows for precise frequency matching and avoids the limitations of FFTs. The conversation emphasizes the importance of numerical integration techniques for accurate Fourier transform calculations.
chiraganand
Messages
111
Reaction score
1
Hi,

So i am in a fix now. I have a discrete time signal which is produced by a device with Nyquist frequency as 50MHz and 1088 samples (there is nothing i can do with the device to change the frequency or number of samples). I have an analytical signal which is produced in the frequency domain by modeling in the frequency domain with the Nyquist frequency as 50 MHz and 2176 samples (the number of samples was higher so as to reduce aliasing while carrying out an inverse fft). Now I need to deconvolve these two signals in the frequency domain to have an idea what affect the electrical system has and to introduce this into the analytical model. So the deconvolution takes place using a weiner filter.
1. I just want to know how do i deconvolve these two signals of different lengths?
2. Also in the experimental signal, I want to just take the signal for the first 8 micro seconds so around 400 samples. So can i just pick out the first 400 samples from the time domain and fft it and deconvolve with the 1st 400 samples of the analytical signal?

Any help will be appreciated

Thanks!
 
Physics news on Phys.org
Nobody has replied yet, so let me ask a couple questions...

What window function have you chosen to use in your FFT, and why did you choose that one?

Can you use interpolation to re-sample one of the frequency domain datasets to give you the same number of samples for each for the deconvolution?

Paging @Dr. Courtney
 
I'm not sure how to provide a complete and correct answer to your question.

I do think a useful approach may be to use the explicit integration (EI) approach to computing Fourier transforms rather than FFTs to account for the sample size and sampling rate mismatch between your two signals. The EI approach is not constrained by specific numbers of samples or sampling rates, and it can match the frequencies exactly in any part of the frequency spectrum up to the Nyquist frequency. If I understand what you are trying to do, you should be able to take your time domain signal and produce a frequency domain Fourier transform with values exactly matching the frequencies of your frequency domain signal.

A paper describing the method is here:
https://arxiv.org/pdf/1507.01832.pdf

My co-author's code for computing transforms with the EI method is here:
https://sourceforge.net/projects/amoreaccuratefouriertransform/

Download the code, look at the documentation, and if you think it will meet your needs, but require assistance running it, let me know. The code will produce output include frequency, magnitude, and phase. So you will have everything you need for combining with other data and performing inverse transforms, but you'll need other tools for that.
 
  • Informative
  • Like
Likes chiraganand and berkeman
Dr. Courtney said:
I'm not sure how to provide a complete and correct answer to your question.

I do think a useful approach may be to use the explicit integration (EI) approach to computing Fourier transforms rather than FFTs to account for the sample size and sampling rate mismatch between your two signals. The EI approach is not constrained by specific numbers of samples or sampling rates, and it can match the frequencies exactly in any part of the frequency spectrum up to the Nyquist frequency. If I understand what you are trying to do, you should be able to take your time domain signal and produce a frequency domain Fourier transform with values exactly matching the frequencies of your frequency domain signal.

A paper describing the method is here:
https://arxiv.org/pdf/1507.01832.pdf

My co-author's code for computing transforms with the EI method is here:
https://sourceforge.net/projects/amoreaccuratefouriertransform/

Download the code, look at the documentation, and if you think it will meet your needs, but require assistance running it, let me know. The code will produce output include frequency, magnitude, and phase. So you will have everything you need for combining with other data and performing inverse transforms, but you'll need other tools for that.
Dear Dr. Courtney,

Thank you for your reply. I will try out the numerical integration technique. So this is basically solving the Fourier transform by numerical integration techniques right and not depending on FFTs for solving the integral?
 
chiraganand said:
Dear Dr. Courtney,

Thank you for your reply. I will try out the numerical integration technique. So this is basically solving the Fourier transform by numerical integration techniques right and not depending on FFTs for solving the integral?

Right. The value of the Fourier transform at any given frequency is defined to be an integral. This value can be computed numerically with standard numerical integration techniques.
 
Back
Top