# Neural network input/output problem, signal estimation

12 views (last 30 days)
Michal Taraaram on 13 May 2016
Answered: Staffan on 14 May 2016
Hello everyone.
I'm new in NN stuff and I've got a problem.
I want to project a neural network which can estimate amplitudes and frequencies of periodic signal with additional noise. This signal is a sum of 2-4 sine waves (+noise). I tried to solve it in several ways but nothing works. Maybe can you give me any advice, what should I give to input, and what kind of array/matrix I need to put on target output? What kind of network should it be? I tried to put on output every single A*sin(2*pi*f*t) but on training data - that works, on testing data - definitely no.
I will be so grateful for every advice! Hope you can help me! :) Thank you.

Greg Heath on 14 May 2016
Neural Nets are not appropriate for that type of task. See
help fft
doc fft
Hope this helps.
Thank you for formally accepting my answer
Greg
##### 1 CommentShowHide None
Michal Taraaram on 14 May 2016
But theoretically if I have real amplitudes (A1, A2, A3) and frequencies (f1, f2, f3) from signal without noise, is there a possibility to project neural net that on input have a matrix with few rows containing few samples of signal with noise, and on target there will be some kind of array containing those amplitudes and frequencies?

Staffan on 14 May 2016
Hello Michal,
Could this solve your issue?
I just used the code in the accepted answer to fit a sine function. Since the original data (simplenar_dataset, may be used e.g. when working with narnet) had a rather sparse sampling rate I added a third vector to the figure in which I decreased the between the points with two orders of magnitude. If you would like to do the same, just replace the plot command with this line:
plot(x,y,'b', xp,fit(s,xp), 'r', min(xp):0.01:max(xp),fit(s,min(xp):0.01:max(xp)),'g')
Regards
Staffan