# Power Spectra estimation after FFT

7 views (last 30 days)

Show older comments

Hello guys!

I am working on a frequency analysis for skin conductance. The frequencies expected on those kinds of signals are very low (between 0.045 and 0.25 Hz), so I would like to get the PSD in specific low-frequency ranges, i.e. (0 - 0.045), (0.045 - 0.15), (0.15 - 0.25), and the total power of the signal. To do so, I computed the Fast Fourier Transform, but now the problem is computing the power spectrum after the fourier.

The tutorials from Matlab have not been of much help, and also there are so many functions that can be used that I'm feeling a little lost at the moment! Can anyone help me work out this issue? Among the many options, which one do you think works best, in terms of both efficacy and computational time? I'm not looking for anything too fancy really, just an efficacious and standard protocol.

The processing pipeline I am following is:

- 8th order Chebyshev Type I lowpass filter, with 0.8 cutoff
- Downsampling from 4 to 2 Hz (factor = 2)
- 8th order Butterworth highpass filter with 0.01 cutoff (do you think is appropriate, given that I'm mostly interested in low frequencies?)
- Welch's periodogram (50% overlap)
- Blackman window (128 points) applied to each segment
- FFT computer on each windowed segment

I also attached the code because it would be amazing to have examples or suggestions about how to proceed based on real examples! Any advice is always appreciated!

Thank you very much to any of you who is willing to help!

Luca

##### 4 Comments

dpb
on 13 Jul 2020

There's a strong linear trend there with a few distinct locations where the trend line is discontinuous (mostly a drop, then continued essentially identical slope). What's the cause for that/

What are the "tag" lines? Is that some stimulus condition? Then there's a huge spike out in the middle not related to anything else noted?

Is your sample rate 4 Hz I gather? Do you have any analog lowpass filtering before the input is sampled? If there is higher energy content in the signal, once it's sampled, it's already there -- post-sampling bandpass filtering won't remove aliasing already extant in the data.

What is the end result for which one is looking? What's the information thought to be in the frequency content of these measurements? (You don't necessarily have to answer that here if it's proprietary in nature, but the basic question of "Why?" is one that always needs answering.)

### Accepted Answer

LO
on 13 Jul 2020

try this example:

sampling_freq = 5000

window = 8192,

noverlap = 4096,

nfft = 8192,

[p,f] = pwelch(your_signal, 8192,4096,8192,5000);

max_power=10*log10(max(p)); % this would be the max power

plot(f,10*log10(p)); % this would be the power plot

##### 4 Comments

LO
on 14 Jul 2020

Edited: LO
on 14 Jul 2020

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!