Click here to Skip to main content
15,885,366 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear all,

I have a signal that is composed of five different waves and I need to "filter" each wave and display it on its own, how can I do that(I'm not that good in electricity/signal processing x) )
Posted
Comments
TRK3 8-May-12 20:14pm    
It depends on what you mean by "five different waves":

If you mean 5 different sine waves, or 5 different waves in different non-overlapping frequency bands, then it's pretty simple to do using an FFT (Fast Fourier Transform). There's plenty of literature on FFT's and Fourier Transforms -- do a little study on those and then come back and ask any specific questions you have.

If on the other hand they are 5 completely arbitrary waves -- then there isn't any easy way to do it and in fact it's impossible without some constraints on the 5 different waves.
Sergey Alexandrovich Kryukov 8-May-12 21:04pm    
Of course you can perform spectral analysis with FFT and make a Fourier image, or decompose the signal in some other functional basis -- so what? The ECG signals themselves are not orthogonal, so how can you separate them? It does not look possible.

Please see my answer.
--SA
TRK3 9-May-12 12:33pm    
My initial comment was based on OP's statement that he had an unspecified "electrical signal". With the additional data that it's an ECG and that the "5 waves" are differentiated in the time domain, not the spectral domain, then a spectral approach isn't likely to work.

I don't think it's necessarily impossible. It looks like a matter of identifying a recurring pattern of pulses and assigning each pulse in the pattern to a different wave. Though I'm not sure it's acutually worth doing.
Sergey Alexandrovich Kryukov 9-May-12 17:25pm    
Thank you. This is a different story, of course. You was the first one to mention FFT, and I responded to it. Now I see that Fourier space is maybe largely irrelevant, as OP confirmed in comments to my answer.
--SA
Mabchour 1989 8-May-12 20:24pm    
The wave I want to devide is a medical ECG wave, it's composed of 5 different waves and I want to separate them and show each one in a separate graph.

1 solution

Basically, this is how it looks: if one wave a non-sinusoidal wave, it is already composed of several sinusoidal waves, most typically -- infinite number of those. If the signal is non-periodic, you have not a countable infinite number of components, but continuum of those. In brief, the idea is that each the set of sinusoidal wave makes an infinite-dimensional space formed by the infinite-dimensional basic of orthogonal vectors, each representing a sinusoidal wave. They are orthogonal in the following sense: integral of the product of any two of them from minus to plus infinity is zero. You can decompose any signal into its sinusoidal component, which is a main task of spectral analysis.

Now, here is the problem: even though you can decompose the summary signal of your ECG signals into a set of sinusoidal components, you cannot separate original ECG signals from each other. This is because they are not orthogonal: only their sinusoidal components are. Roughly speaking: even though you could perform spectral analysis of each ECG signal, and even though you can do the same with the sum of several ECG signal with the same components, there is no a way to determine which of them "belonged" to which ECG signal.

Interestingly, in the space of frequencies, separation of the spectrum curves from different sources is possible, to certain extent, if there is some essential a priory information on the expected shape. Such mathematical technique is used in optical spectroscopy.

In the case of ECG, where the original measured signal is dependency on time (not a spectrum), the task looks hopeless to me. I'm just curious: how happens that several ECG signals was entangled together in first place? I saw such records many times; usually individual signals from different sensors are recorded. Something is wrong with your task…

Please see:
http://en.wikipedia.org/wiki/Functional_analysis[^],
http://en.wikipedia.org/wiki/Spectral_Analysis[^],
http://en.wikipedia.org/wiki/Fourier_space[^],
http://en.wikipedia.org/wiki/Fourier_transform[^],
http://en.wikipedia.org/wiki/FFT[^].

—SA
 
Share this answer
 
v2
Comments
Peter_in_2780 8-May-12 22:12pm    
ECG signals are a five- (or 6-) 'wave' time sequence. What OP is trying to do is separate them (ie recognise the start/end times of each of p,qrs,t and u components. See the first diagram at http://en.wikipedia.org/wiki/Ecg#Waves_and_intervals.
Mabchour 1989 8-May-12 22:35pm    
Peter has a point, that's what I want to do!
Sergey Alexandrovich Kryukov 9-May-12 17:02pm    
That must be a different story, so what's the problem?
--SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900