Main Content

dspdata.psd

파워 스펙트럼 밀도

구문

Hpsd = dspdata.psd(Data)
Hpsd = dspdata.psd(Data,Frequencies)
Hpsd = dspdata.psd(...,'Fs',Fs)
Hpsd = dspdata.psd(...,'SpectrumType',SpectrumType)
Hpsd = dspdata.psd(...,'CenterDC',flag)

설명

참고

dspdata.psd를 사용하는 것은 권장되지 않습니다. pburg, pcov, periodogram, pmcov, pmtm, pwelch 또는 pyulear를 대신 사용하십시오.

파워 스펙트럼 밀도(PSD)는 연속 스펙트럼에 사용하는 척도입니다. 지정된 주파수 대역에서 PSD를 적분하면 해당 주파수 대역의 신호에 대한 평균 전력이 계산됩니다. 평균제곱 스펙트럼과 대조적으로, 이 스펙트럼의 피크는 지정된 주파수에서의 전력을 나타내지 않습니다. 자세한 내용은 dspdataavgpower 메서드를 참조하십시오.

단측 PSD는 DC부터 나이퀴스트 레이트 절반까지의 주파수 구간에 있는 신호의 총 전력을 포함합니다. 양측 PSD는 DC부터 나이퀴스트 레이트까지의 주파수 구간에 있는 총 전력을 포함합니다.

Hpsd = dspdata.psd(Data)Data에 포함된 파워 스펙트럼 밀도 데이터를 사용합니다. 이러한 데이터는 벡터 또는 행렬 형식일 수 있으며, 여기서 각 열은 별도의 데이터 세트입니다. 이 객체에 대한 다른 속성의 디폴트 값은 아래에 나와 있습니다.

속성

디폴트 값

설명

Name

'Power Spectral Density'

읽기 전용 문자형 벡터

Frequencies

[]

double

파워 스펙트럼 밀도를 계산할 주파수의 벡터입니다. 이 벡터의 범위는 SpectrumType 값에 따라 달라집니다. 단측의 경우, 디폴트 범위는 홀수 길이이면 [0, π), 짝수 길이이면 [0, π]입니다. Fs가 지정된 경우에는 홀수 길이이면 [0, Fs/2), 짝수 길이이면 [0, Fs/2]입니다. 양측의 경우, [0, 2pi) 또는 [0, Fs)입니다.

Frequencies를 지정하지 않은 경우 디폴트 벡터가 생성됩니다. 단측이 선택된 경우, 이 벡터에 대한 FFT 점의 정수 개수(nFFT)가 짝수인 것으로 간주됩니다.

onesided가 선택된 상태에서 Frequencies를 지정하면 마지막 주파수 지점이 마지막에서 하나 앞 지점 및 π(또는 Fs가 지정된 경우 Fs/2)과 비교됩니다. 마지막 지점이 바로 이전의 지점보다 π(또는 Fs/2)에 더 가까우면 nFFT가 짝수인 것으로 간주됩니다. 마지막 지점이 바로 이전의 지점에 더 가까우면 nFFT가 홀수인 것으로 간주됩니다.

Frequencies 벡터의 길이는 Data 열의 길이와 일치해야 합니다.

Fs

'Normalized'

샘플링 주파수로, NormalizedFrequencytrue인 경우 'Normalized'입니다. NormalizedFrequencyfalse이면 Fs는 기본적으로 1로 설정됩니다.

SpectrumType

'Onesided'

파워 스펙트럼 밀도가 계산되는 나이퀴스트 구간입니다. 유효한 값은 'Onesided''Twosided'입니다. 단측 PSD에는 나이퀴스트 구간의 절반에 총 신호 전력이 포함됩니다. 이 속성을 변경하는 방법에 대한 자세한 내용은 dspdataonesided 메서드와 twosided 메서드를 참조하십시오.

나이퀴스트 구간의 절반에 해당하는 범위는 FFT 점의 개수에 따라 [0pi) 또는 [0pi]입니다. 전체 나이퀴스트 구간의 경우 범위는 [02pi)입니다.

NormalizedFrequency

true

주파수가 정규화되었는지(true) 또는 정규화되지 않았는지(false)를 나타냅니다. 이 속성은 생성 시에 Fs를 기준으로 자동으로 설정됩니다. Fs가 지정된 경우 NormalizedFrequencyfalse로 설정됩니다. 이 속성을 변경하는 방법에 대한 자세한 내용은 dspdatanormalizefreq 메서드를 참조하십시오.

Hpsd = dspdata.psd(Data,Frequencies)Data 벡터와 Frequencies 벡터에 포함된 파워 스펙트럼 밀도 추정 데이터를 사용합니다.

Hpsd = dspdata.psd(...,'Fs',Fs)는 샘플링 주파수 Fs를 사용합니다. Fs를 지정하면 Fs를 기준으로 선형 주파수로 구성된 디폴트 세트(단위: Hz)가 사용되고 NormalizedFrequencyfalse로 설정됩니다.

Hpsd = dspdata.psd(...,'SpectrumType',SpectrumType)은 파워 스펙트럼 밀도가 계산되는 구간을 지정합니다. 범위가 [0 π) 또는 [0 π]인 데이터의 경우 SpectrumTypeonesided로 설정하고, 범위가 [0 2π)인 데이터의 경우 SpectrumTypetwosided로 설정합니다.

Hpsd = dspdata.psd(...,'CenterDC',flag)flag의 값을 사용하여 주파수가 0인 성분(즉, DC)이 중심에 있는지 여부를 나타냅니다. flagtrue이면 DC 성분이 양측 스펙트럼의 중심에 있음을 나타냅니다. DC 성분이 스펙트럼의 왼쪽 가장자리에 있는 경우 flagfalse로 설정합니다.

메서드

메서드는 dspdata 객체에 직접 기능을 수행하는 방법을 제공합니다. dspdata.psd 객체에 할당된 변수에 직접 메서드를 적용할 수 있습니다. dspdata.psd 객체에 다음 메서드를 사용할 수 있습니다.

  • avgpower

  • centerdc

  • normalizefreq

  • onesided

  • plot

  • twosided

예를 들어, 주파수를 정규화하고 NormalizedFrequency 파라미터를 true로 설정하려면 다음을 사용하십시오.

Hpsd = normalizefreq(Hpsd)

메서드를 사용하고 스펙트럼을 플로팅하는 방법에 대한 자세한 내용은 dspdata 함수 도움말 페이지를 참조하십시오.

예제

모두 축소

두 개의 주파수 성분을 가진 잡음이 있는 정현파 신호의 단측 파워 스펙트럼 밀도를 추정합니다.

Fs = 32e3;   
t = 0:1/Fs:2.96;
x = cos(2*pi*t*1.24e3)+ cos(2*pi*t*10e3)+ randn(size(t));
nfft = 2^nextpow2(length(x));
Pxx = abs(fft(x,nfft)).^2/length(x)/Fs;

PSD 데이터 객체에 스펙트럼을 저장하고 결과를 플로팅합니다.

Hpsd = dspdata.psd(Pxx(1:length(Pxx)/2),'Fs',Fs);  
plot(Hpsd)

Figure contains an axes object. The axes object with title Power Spectral Density, xlabel Frequency (kHz), ylabel Power/frequency (dB/Hz) contains an object of type line.

양측 스펙트럼을 생성하고 플로팅합니다.

Hpsd = dspdata.psd(Pxx,'Fs',Fs,'SpectrumType','twosided');
plot(Hpsd)

Figure contains an axes object. The axes object with title Power Spectral Density, xlabel Frequency (kHz), ylabel Power/frequency (dB/Hz) contains an object of type line.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | | |