Smoothing discrete data with hanning window
显示 更早的评论
I am new to matlab analysis and I need to smooth dicharge times of a motor unit (discrete data points representing firing times). All previous literature uses "400 ms Hanning window" to smooth the firing rate (calculated from the discharge times). My question is, I have ,for example, an array containing 800 numbers (consecutive discharge times in sec) . How can I apply 400 ms Hanning window on this data? My sampling rate is 20K Hz.
2 个评论
Adam
2018-8-29
You have nowhere near enough data to do this. 800 samples is only 4ms worth of data unless my on the spot maths is wrong.
Star Strider
2018-8-29
See the fir1 documentation section on Multiband FIR Filter (link) for an example on how to design a FIR filter with a Hanning window.
回答(2 个)
Adam Danz
2018-8-29
0 个投票
Here's a full description and examples.
5 个评论
Gizem Yilmaz
2018-8-29
Adam Danz
2018-8-29
See Adam's comment under your question. I agree that if your sampling rate is 20Khz and you've got 800 samples, you simply don't have enough data to use a 400ms window.
20kHz is 0.05 milliseconds per sample. If you have 800 equispaced samples at that rate, that's only 40ms.
Gizem Yilmaz
2018-8-29
Adam
2018-8-29
If that is the case how can you have a single sample rate? A scalar sample rate implies all data is the same distance apart on a uniform grid.
Adam Danz
2018-8-29
@Gizem, If I'm interpreting your description correctly, you've sampled a motor unit at 20kHz and recorded the timestamps of each action potential. For simplicity, let's say the sampling rate was at 1ms intervals (1kHz), if my timestamps were
[2 5 7 10]
then I could replace that with a vector sampled a 1ms resolution where a 1 indicates a spike.
[0 1 0 0 1 0 1 0 0 1]
There is a 1 (a spike) at 2ms, 5ms, 7ms, and 10ms.
Is that an accurate description of your data?
类别
在 帮助中心 和 File Exchange 中查找有关 Signal Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!