# How do you find average power?

116 visualizaciones (últimos 30 días)
Nathan Jaqua el 20 de Nov. de 2019
Comentada: Rik el 24 de Mayo de 2020
Hi y'all, I'm having an issue with this logic. I need to find the average power of but I don't see what I am doing wrong with this. Nothing shows up when I read my start.au and thusly, I'm not sure about my voiced and un_voiced segments.
clc;
clear all;
[x, Fs] = audioread('start.au');
% plot the file
plot(x, Fs);grid on;
title('raw speech data');
xlabel('samples');ylabel('amplitude');
% identify voiced segment from the speech vector. Load it in newly created
% voiced segment array
L = 300; % number of samples in sub-sample array
x_voiced = x(L:0+ L-1);
% identify unvoiced segment from the speech vector. Load it in newly created
% unvoiced segment array
x_unvoiced = x(L:0 + L-1);
% calculate average power of a voiced and unvoiced segments.
% Use avg power formula as shown in the file
P_voiced = sum(x_voiced)/L;
P_unvoiced = sum(x_unvoiced)/L;
##### 2 comentariosMostrar NingunoOcultar Ninguno
Rik el 20 de Nov. de 2019
This time I edited your question for you. Next time, please use the tools explained on this page to make your question more readable.
As for why nothing is showing up: you are only plotting a single point. Use plot(x) or plot(1:numel(x),x) instead, and you should see a curve.
I don't really understand the rest of your code, so I'm not sure if this is already the solution you need.
Nathan Jaqua el 20 de Nov. de 2019
I need to find the voiced and unvoiced portions of the signal. I thought that L:0 was what I needed in that part to find it, but I'm really not sure. Nor am I sure on how to find the average power based on the equation I attached to the question when I initially asked it.

Iniciar sesión para comentar.

### Respuesta aceptada

Daniel M el 21 de Nov. de 2019
Editada: Daniel M el 21 de Nov. de 2019
Calculating the average power of your discrete signal according to the equation in your attached figure is done as:
P = sum(x.^2)/L;
Or
P = mean(x.^2);
Or
P = rms(x)^2;
##### 2 comentariosMostrar NingunoOcultar Ninguno
Madonna Magdy el 24 de Mayo de 2020
excuse me , what's the unit of this average power ?
p= sum(x.^2)/L
Rik el 24 de Mayo de 2020
That isn't really a Matlab question, but you can figure it out with unit analysis. Squaring and division affect the unit, but sum doesn't.

Iniciar sesión para comentar.

### Categorías

Más información sobre Simulation, Tuning, and Visualization en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by