0
votes

I have 2 arrays of 800000 input and output data samples of a system. The system in a kind of oven that works among 0 and 10 volts. The sample time is 0.001s.

I have to identify the model of this system, but first of all, given that the data are clearly dirty, I would like to filter the noise.

How can I do it with the System Identification Toolbox of Matlab? Moreover, how can I estimate the cutoff frequency to remove the noise?

Thank you in advance.

PS: given that this is a bit out of topic, please, post your answer here thank you.

2
If you can explain how you would tackle this with pencil on paper do so and ask for help implementing it in Matlab. If you can't you are probably asking for help with matters that are off-topic, and you might have better luck at dsp.stackexchange.comHigh Performance Mark
Sounds like you need a basic introduction to DSP. As High Performance Mark says, this is a bit off topic, but here is a good starter book (online, free) for people learning DSP dspguide.com/pdfbook.htm .wakjah
Ok sorry, actually I wasn't sure this was the right place where to ask. Btw, thank you for the tip :)Daniele Vitali

2 Answers

0
votes

The cutoff frequency is directly given by you sampling time or sampling frequency. you sampling frequency is 1/(sampling time) and must at least 2 the factor of the highest frequency of interest: http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem

f_s = 1/T_s >= 2*f_cutOff

You can then simply to same frequency domain processing in the case you sampling frequency is realy high enough. The easiest way would to have a look at the frequency domain (with function fft() ). And check first where you have high noise components. Then filter out these components (zeroing) and then transform it back into time domain ( with function ifft() ).

0
votes

Noise is modeled as a white Gaussian distribution in the simplest case. If you estimate the noise energy, you can make a dummy noise by calling

noise = A*randn(1,N); 

Here, A is the amplitude and N is the sample count. then just take the fft of this signal and subtract it from the fft of input signal and take the inverse fft (ifft)