find power of signal

13 Ansichten (letzte 30 Tage)
Daemian
Daemian am 23 Dez. 2014
Bearbeitet: Image Analyst am 24 Dez. 2014
Hi, how do i find total power of signal from a wav file and display it on axes ? I currently only have this.
[myRecording,fs] = audioread('filename.wav',[1,2*8000]); %fs = sample rate
Nsamps = length(myRecording);
t = (1/fs)*(1:Nsamps); %Prepare time data for plot
%Do Fourier Transform
y_fft = abs(fft(myRecording)); %Retain Magnitude
y_fft = y_fft(1:Nsamps/2); %Discard Half of Points
f = fs*(0:Nsamps/2-1)/Nsamps; %Prepare freq data for plot
%Plot Sound File in Time Domain
plot(handles.normalLies,t, myRecording)
xlabel(handles.normalLies,'Time (s)')
ylabel(handles.normalLies,'Amplitude')
%Plot Sound File in Frequency Domain
plot(handles.fttLies,f, y_fft)
xlim(handles.fttLies,[0 20])
xlabel(handles.fttLies,'Frequency (Hz)')
ylabel(handles.fttLies,'Amplitude')

Akzeptierte Antwort

Shoaibur Rahman
Shoaibur Rahman am 24 Dez. 2014
In time domain: for discrete signal x(n)
Instantaneous power = x(n)^2
Average power = (1/N) * sum(x(n).^2)
N = data length or period

Weitere Antworten (1)

Image Analyst
Image Analyst am 24 Dez. 2014
Bearbeitet: Image Analyst am 24 Dez. 2014
The total power would be a single number - a scalar. Do you mean power as a function of frequency, like the spectrum like you'd get from pwelch(), or fft()? From the help: "pxx = pwelch(x) returns the power spectral density (PSD) estimate, pxx, of the input signal, x, found using Welch's overlapped segment averaging estimator. " pwelch() is in the Signal Processing Toolbox. There is a webinar on spectral analysis that hopefully you can find on the Mathworks web site that goes over it and the fft in detail.

Community Treasure Hunt

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

Start Hunting!

Translated by