MATLAB Answers

1

Neural network input/output problem, signal estimation

Asked by Michal Taraaram on 13 May 2016
Latest activity Answered by 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.

  0 Comments

Sign in to comment.

2 Answers

Answer by 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 Comment

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?

Sign in to comment.


Answer by 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

  0 Comments

Sign in to comment.