pspectrumにてデフォルトで使われている式を変える方法
5 次查看(过去 30 天)
显示 更早的评论
表題の件について,解決策をご存じの方がいらっしゃいましたら,ご回答いただけましたら幸いでございます.
以下,質問の詳細について述べさせていただきます.
現在,pspectrum関数を用いて,power spectrum densityを示そうと考えております.
MATLABのヘルプセンターには「出力引数を設定せずに pspectrum(___) を使用すると、現在の Figure ウィンドウにスペクトル推定がプロットされます。プロットでは、この関数が 10 log10(p) を使用して p を dB に変換します。」と書かれております.
ご存じの方がいらっしゃいましたら,ご教授いただければ幸いです.よろしくお願いいたします.
0 个评论
采纳的回答
Hernia Baby
2022-3-6
ちょっと懸念点合わせて回答させてください
■懸念事項
pは平均パワーなので振幅をAとすると となっています
なので の状態です
ここで は望んでいない数字かもしれません
■質問の回答
■例
まずは準備
Fs = 1e3;
t = (0:1/Fs:1)';
% 振幅5 周波数10[Hz] の信号
A = 5;
f1 = 10;
x = A*sin(2*pi*f1*t);
plot(t,x)
[p,f] = pspectrum(x,Fs);
figure
plot(f,p)
xlim([0 50])
xlabel('周波数[Hz]')
text(f(p==max(p)),p(p==max(p))+.5,sprintf('%g',round(max(p),1)));
ここでだいたい振幅の二乗の半分で表記されていることがわかります
このあとは回答になります
SP = 20*log10(p/20);
figure
plot(f,SP)
xlim([0 50])
xlabel('周波数[Hz]')
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 スペクトル推定 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!