find power of signal
47 次查看(过去 30 天)
显示 更早的评论
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')
0 个评论
采纳的回答
Shoaibur Rahman
2014-12-24
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
0 个评论
更多回答(1 个)
Image Analyst
2014-12-24
编辑:Image Analyst
2014-12-24
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!