COMPGROUPS.NET | Search | Post Question | Groups | Stream | About | Register

### Is there any simple way to separate wave components?

• Follow

```I have an input signal as a combination of sin functions: f(x)=sin(k1*x)+sin(k2*x)+sin(k3*x)+.... k1,k2,k3... are the unknown wave frequency.

Is there any toolbox in matlab to obtain the total number of sin functions and separate them?

I know that I can do a fft and then find the peaks and finally do an inverse fft. But this method seems too trouble and not accurate. Any other good methods?

```
 0

```On Jan 24, 4:12=A0pm, "Hades " <hadesmaje...@yahoo.com.cn> wrote:
> I have an input signal as a combination of sin functions: f(x)=3Dsin(k1*x=
)+sin(k2*x)+sin(k3*x)+.... k1,k2,k3... are the unknown wave frequency.
>
> Is there any toolbox in matlab to obtain the total number of sin function=
s and separate them?
>
> I know that I can do a fft and then find the peaks and finally do an inve=
rse fft. But this method seems too trouble and not accurate. Any other good=
methods?
>

So, these sines have unit amplitude and zero phase, and you want the
exact frequencies, not the best fit.  Is that correct?
```
 0

```A slight correction of my problem
> I have an input signal as a combination of sin functions: f(x)=A1(x)*sin(k1*x)+A2(x)*sin(k2*x)+A3(x)*sin(k3*x)+.... k1,k2,k3... are the unknown wave frequency. A1,A2,A3... are the unknown wave amplitude. The total number of wave component is unknown.

I need to exactly obtain
g1(x)= A1(x)*sin(k1*x);
g2(x)= A2(x)*sin(k2*x);
g3(x)= A3(x)*sin(k3*x);
....
Any good methods to do this?
```
 0

```Why do you need to do this?  I ask because the Fourier transform is
related to this and might work for whatever it is that you need to
do.  The Fourier transform gives you the amplitude at all the
frequencies that are multiples of a fundamental frequency: sin(kx), sin
(2kx), sin(3kx), sin(4kx), etc.
```
 0

```ImageAnalyst <imageanalyst@mailinator.com> wrote in message <c2f70a06-b2b2-4a55-83cd-b0b1c833bddd@b9g2000yqd.googlegroups.com>...
> Why do you need to do this?  I ask because the Fourier transform is
> related to this and might work for whatever it is that you need to
> do.  The Fourier transform gives you the amplitude at all the
> frequencies that are multiples of a fundamental frequency: sin(kx), sin
> (2kx), sin(3kx), sin(4kx), etc.

But when I do a Fourier transformation in matlab, like F=fft(f), I can only obtain F, rather than the each amplitude, frequency, phase of the components of function f, isn't it?
```
 0

```On 24 Jan, 04:12, "Hades " <hadesmaje...@yahoo.com.cn> wrote:
> I have an input signal as a combination of sin functions: f(x)=sin(k1*x)+sin(k2*x)+sin(k3*x)+.... k1,k2,k3... are the unknown wave frequency.
>
> Is there any toolbox in matlab to obtain the total number of sin functions and separate them?
>
> I know that I can do a fft and then find the peaks and finally do an inverse fft. But this method seems too trouble and not accurate. Any other good methods?

No. The robust methods, like the DFT, are somewhat
inaccurate, but give the analyst a good pricture
of what is going on.

There are other, more elaborate methods that extract
different types of parameters from the data, but these
things first of all rely on certain relation between
the number of sinusoidals present in the data and the
number of data poins, and second, rely on the user to
spceify certain key characteristics of tha data, that
may or may not (usually the latter) be true.

Rune
```
 0

```On Jan 24, 4:48=A0pm, "Hades " <hadesmaje...@yahoo.com.cn> wrote:
> A slight correction of my problem
>
> > I have an input signal as a combination of sin functions: f(x)=3DA1(x)*=
sin(k1*x)+A2(x)*sin(k2*x)+A3(x)*sin(k3*x)+.... k1,k2,k3... are the unknown =
wave frequency. A1,A2,A3... are the unknown wave amplitude. The total numbe=
r of wave component is unknown.
>
> I need to exactly obtain
> g1(x)=3D A1(x)*sin(k1*x);
> g2(x)=3D A2(x)*sin(k2*x);
> g3(x)=3D A3(x)*sin(k3*x);
> ...
> Any good methods to do this?

You started by telling us the sines had unit amplitude and zero phase.
Now, you're telling us the amplitudes are a function of x, but zero
phase.
This sounds like a load of codswallop to me.

You're a troll, aren't you.
```
 0

```On Jan 24, 3:31=A0am, "Hades " <hadesmaje...@yahoo.com.cn> wrote:
> But when I do a Fourier transformation in matlab, like F=3Dfft(f), I can =
only obtain F, rather than the each amplitude, frequency, phase of the comp=
onents of function f, isn't it?
------------------------------------------------------------
And what do you think F is?

```
 0
Reply imageanalyst (7590) 1/26/2010 11:36:59 PM

7 Replies
243 Views

Similiar Articles:

7/24/2012 6:07:58 PM