abs(x.^2)

25 ビュー (過去 30 日間)
Malar Vizhi
Malar Vizhi 2022 年 5 月 3 日
編集済み: Default 2023 年 8 月 5 日
Hello everyone
This was my code and i was trying to find peak power of the given sin signal.I dont understand how does it really work mathametically?
clc;f=1;
t=1/f;
x=1*sin(2*pi*f*t);
y=max (abs(x).^2);
  2 件のコメント
Martti Ilvesmäki
Martti Ilvesmäki 2022 年 5 月 3 日
.^2 is element-wise power function: https://se.mathworks.com/help/matlab/ref/power.html
abs() is absolute value and complex value function: https://se.mathworks.com/help/matlab/ref/abs.html?s_tid=doc_ta
x.^2 will raise all elements of vector or matrix x to the second power while abs() will take the absolute value of each element in vector or matrix. Using them both together in this case is unnecessary, because using x.^2 will remove all negative values already.
Walter Roberson
Walter Roberson 2022 年 5 月 3 日
That is a formula for peak power, but not with that input. For it to work, the input has to be the fft of the signal (after subtracting the mean)
Your x only has a single sample.
That code with sin() looks like the bare outline of an attempt to calculate fft.

サインインしてコメントする。

採用された回答

Malar Vizhi
Malar Vizhi 2022 年 5 月 3 日
Thankyou then what about this sir
y=mean(x.^2);
if x is array
  3 件のコメント
Martti Ilvesmäki
Martti Ilvesmäki 2022 年 5 月 3 日
% Example
x = [1 2 3];
x_squared = x.^2; % --> [1 4 9]
x_squared_mean = mean(x_squared); % --> 4.6667
Default
Default 2023 年 8 月 5 日
編集済み: Default 2023 年 8 月 5 日
This will fail for complex signals, the more accurate mean will be:
meanx = mean(abs(x).^2);
and the peak will be:
peakx = max(abs(x).^2);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWaveform Generation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by