1
$\begingroup$

Currently I am completely new to Signal Processing and I am about to kick off a project related to the system identification.

The general idea is given a pair of sent and received signals, I have to find the impulse response in it, i.e. the system. And I'm currently thinking if I can use the technique in deconvolution to handle this problem, so I am doing research on it and got completely messed. Here are some question I would like to ask.

As far as I got from some website, or posts here, I found that if there is no zeros in the fourier transform of the input, I can use direct division on H(w) = Y(w) / X(w), but the question is, if I received the signal datas, the dimensions on X and Y are different, How can I do the the point-to-pont division? or is there any other way to do this? or is it wrong?

Some say that I have to do some filtering/ regularization on the data, but the question is pretty much the same.

It will be much appreciated if you could anwer my question, and many thanks if you could provide me with some readings or books to tackle this problem.

$\endgroup$
1
$\begingroup$

There could be 2 reasons why your 2 time series have different lengths :

1. They have a different sample rate

The situation

The sample rate of your signal is the frequency at which samples have been converted from the analog domain to the digital domain. If 2 signals of the same duration have been sampled at different rates, the resulting time series will have different length( the longer being the one for the fastest sample rate).

problem 1 : different sample rate

The solution

The only solution to that problem is to resample one of your signals. For this, you will need an interpolation filter. In Matlab, the whole process is very simple. However, if you need to implement that in low-level code it's going to be more complex (lots of things to take in account). I won't go into technical details here, there's a lot you can find here and on the rest of the internet.

Solution 1 : resampling

2. They have different durations

The situation

It's very much possible that your output signal has been recorded for a longer time than the input signal. In that case, you end up with 2 signals sampled at the same rate but with different lengths.

problem 2 : different durations

The solution

If that's the case, you're quite lucky as the solution is trivial. You just have to do something "zero-padding" which consists simply in adding as many zeroes at the end of the shortest signal as needed for it to have the same size at the other.

solution 2 : zero-padding

Additional info

There is however something that you have to consider with deconvolution : if your system has an infinite impulse response (IIR), your deconvolution will only give you an approached image of your transfer function. Think of it as for any function : if you only see part of the plot, the best you can do is to do educated guesses on the function's expression.

Moreover, depending on your sampling frequency and recording device, you might have a phenomenon of aliasing on your recorded response, and you will not see the frequency components that are above Nyquist's frequency.

$\endgroup$
1
$\begingroup$

Deconvolution is most often asked for signals with the same sampling. If you have $x[k]$, and $y[k]$ in the (same) sampled time domain, and they are of different lengths, this is quite normal, as the filtered signal $h\ast x$ is generally longer, which is taken care of in acquiring the output signal $y[k]$.

You can still use Fourier transformations, as long as those have the same length, which you can do by filling the shortest one to the length of the biggest. Most FFT methods have options to compute them over a given number of output points, so a ratio (and variations thereof) of two FFTs with the same number of output points is a path to potential solutions.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.