Stevio Posted December 11, 2007 Report Share Posted December 11, 2007 Hellow, I need to design software for a medical application as a schoolproject. I have already a classic 1D array that is been visualized in a graph. (see attachement) How can i calculate the frequency of this signal? Another parameter i want to know is the risetime of every pulse... When i visualized the derivate of this signal i see a lot of noise in it. I guess this is because i have an array and not a real signal. Is it possible to smooth graphs? I never used filtering before. Thanks in advance Greetings Quote Link to comment
TobyD Posted December 11, 2007 Report Share Posted December 11, 2007 QUOTE(Stevio @ Dec 10 2007, 07:19 AM) Hellow,I need to design software for a medical application as a schoolproject. I have already a classic 1D array that is been visualized in a graph. (see attachement) How can i calculate the frequency of this signal? Another parameter i want to know is the risetime of every pulse... When i visualized the derivate of this signal i see a lot of noise in it. I guess this is because i have an array and not a real signal. Is it possible to smooth graphs? I never used filtering before. Thanks in advance Greetings There is an entire set of signal processing VIs that should do everything you need. I think they are part of the DSP toolkit. Quote Link to comment
eaolson Posted December 11, 2007 Report Share Posted December 11, 2007 QUOTE(Stevio @ Dec 10 2007, 09:19 AM) When i visualized the derivate of this signal i see a lot of noise in it. I guess this is because i have an array and not a real signal. Numerical derivatives are often very noisy. Your best bet might be to use some sort of peak detection. The locations of the peaks would give you your frequency. Rise time might be a bit more tricky, since looking at your data, I'm not even sure how to define the start of each pulse. Quote Link to comment
TG Posted December 12, 2007 Report Share Posted December 12, 2007 QUOTE(Stevio @ Dec 10 2007, 03:19 PM) Hellow,I need to design software for a medical application as a schoolproject. I have already a classic 1D array that is been visualized in a graph. (see attachement) How can i calculate the frequency of this signal? Another parameter i want to know is the risetime of every pulse... When i visualized the derivate of this signal i see a lot of noise in it. I guess this is because i have an array and not a real signal. Is it possible to smooth graphs? I never used filtering before. Thanks in advance Greetings There is a nice peak detector in the palletes somewhere. As long as you can find a good offset value as a trigger for the input it will work just fine Quote Link to comment
Stevio Posted December 19, 2007 Author Report Share Posted December 19, 2007 I have tried the peakdetector. I noticed some problems. There are 3 "non real" peaks (see 1st attachement). When i zoomed into the graph, i dont see special things (see 2nd attachement). The threshold is not passed. This will cause a heartbeat frequency that is much higher (+18 (3x6)). How can i solve this? I dont know how this can happen. Greetz Quote Link to comment
rpursley Posted December 19, 2007 Report Share Posted December 19, 2007 There are three things you can do to deal with this. 1. Add a filter before the peak detection to filter out the higher frequency peaks. Your data has a small bandwidth (~5-10 Hz). This will eliminate the narrow close together peaks. 2. Play with the width of the peak detector to optimize it for your data. 3. After peak detection, add some code to throw out peaks that are too close to other peaks. You know that heart rate falls within a specific range (40-300 beats/min). Any peaks that produce a heart rate measurement outside of this range are peaks that can be thrown out. QUOTE(Stevio @ Dec 18 2007, 12:21 PM) I have tried the peakdetector. I noticed some problems. There are 3 "non real" peaks (see 1st attachement). When i zoomed into the graph, i dont see special things (see 2nd attachement). The threshold is not passed. This will cause a heartbeat frequency that is much higher (+18 (3x6)). How can i solve this? I dont know how this can happen. Greetz Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.