psd ----> spectrum psd?
12 ビュー (過去 30 日間)
古いコメントを表示
Hi
I try to run this prog.
du calc. the specific loudness based on the zwicker model.
Whenn I run the prog. i get this back:
"Undefined function 'psd' for input arguments of type 'double'"
the Note in the Editor says
"The function PSD is deprecated. Use SPECTRUM.PSD instead.
What to do?
0 件のコメント
回答 (5 件)
Honglei Chen
2012 年 2 月 29 日
You need to replace psd call with corresponding spectrum.psd code. Here is an example showing how to use spectrum.psd to compute PSD of a signal
Fs = 1000;
t = 0:1/Fs:.3;
x=cos(2*pi*t*200)+randn(size(t));
Hs=spectrum.periodogram;
psd(Hs,x,'Fs',Fs)
0 件のコメント
Honglei Chen
2012 年 2 月 29 日
You will replace line
[Yxx,f] = psd(y,NFFT,fs,NFFT,NOVERLAP);
with
hspec = spectrum.welch('OverlapPercent',0,'SegmentLength',NFFT);
hpsd = psd(hspec,y,'NFFT',NFFT,'Fs',fs);
Yxx = hpsd.Data;
f = hpsd.Frequencies
Alternatively, you may also use
[Yxx,f] = pwelch(y,NFFT,0,NFFT,fs);
0 件のコメント
Wayne King
2012 年 3 月 2 日
Hi Redkap, Honglei has been giving you very good advice here. What version of MATLAB are you using and do you have the Signal Processing Toolbox?
If you enter
>>which spectrum.welch
What do you get returned?
Something is wrong if you cannot execute this line:
plot(psd(spectrum.welch,randn(1e3,1)))
Can you copy and paste the above line into your workspace and see what happens?
Also, please tell us your version and make sure:
license('test','signal_toolbox')
returns a 1.
By the way, in:
hspec = spectrum.welch('OverlapPercent',0,'SegmentLength',NFFT);
hpsd = psd(hspec,y,'NFFT',NFFT,'Fs',fs);
Yxx = hpsd.Data;
f = hpsd.Frequencies;
Yxx=2*Yxx/NFFT; %%Scale to get the power spectrum correct
Yxx=Yxx';
You do not need to scale the output of the spectrum objects. That output is already properly scaled to be the PSD estimate so just use hpsd.Data and hpsd.Frequencies
1 件のコメント
Elisabeth Debusschere
2012 年 3 月 26 日
I have the same problem, and checked the plot(psd(spectrum.welch,randn(1e3,1))) and the license
This is what I get
hspec = spectrum.welch('OverlapPercent',0,'SegmentLength',NFFT);
Error using spectrum.welch (line 52)
what is wrong?
Too many input arguments.
参考
カテゴリ
Help Center および File Exchange で Introduction to Installation and Licensing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!