periodogram
주기도 파워 스펙트럼 밀도 추정값
구문
설명
[는 위에 열거된 구문에 주파수 범위와 스펙트럼 유형도 지정합니다. 이러한 입력 인수 중 하나를 지정하거나 둘 다 지정할 수 있습니다.pxx,f] = periodogram(___,freqRange,spectrumType)
periodogram(___)(출력 인수 없음)은 현재 Figure 창에 주기도 PSD 추정값 또는 파워 스펙트럼을 플로팅합니다.
예제
가산성 백색 잡음과 함께 각주파수 rad/sample을 갖는 이산시간 정현파로 구성된 입력 신호의 주기도를 구합니다.
가산성 백색 잡음과 함께 각주파수 rad/sample을 갖는 사인파를 생성합니다. 신호의 길이는 320개 샘플입니다. 디폴트 사각 윈도우와 DFT 길이를 사용하여 주기도를 구합니다. DFT 길이는 신호 길이보다 큰 첫 번째 2의 거듭제곱값이거나 512개 점입니다. 신호가 실수 값을 가지고 짝수 길이이기 때문에 주기도가 단측이고 512/2+1개 점이 있습니다.
n = 0:319; x = cos(pi/4*n) + randn(size(n)); [pxx,w] = periodogram(x); plot(w/pi,pow2db(pxx)) xlabel("Normalized Frequency (\times \pi rad/sample)") title("Periodogram Power Spectral Density Estimate")

출력값을 지정하지 않고 periodogram을 사용하여 다시 플롯을 그립니다.
periodogram(x)

가산성 백색 잡음과 함께 각주파수 rad/sample을 갖는 이산시간 정현파로 구성된 입력 신호의 수정된 주기도를 구합니다.
가산성 백색 잡음과 함께 각주파수 radian/sample을 갖는 사인파를 생성합니다. 신호의 길이는 320개 샘플입니다. 해밍 윈도우와 디폴트 DFT 길이를 사용하여 수정된 주기도를 구합니다. DFT 길이는 신호 길이보다 큰 첫 번째 2의 거듭제곱값이거나 512개 점입니다. 신호가 실수 값을 가지고 짝수 길이이기 때문에 주기도가 단측이고 512/2+1개 점이 있습니다.
n = 0:319; x = cos(pi/4*n) + randn(size(n)); periodogram(x,hamming(length(x)))

가산성 백색 잡음과 함께 각주파수 radian/sample을 갖는 이산시간 정현파로 구성된 입력 신호의 주기도를 구합니다. 신호 길이와 동일한 DFT 길이를 사용합니다.
가산성 백색 잡음과 함께 각주파수 radian/sample을 갖는 사인파를 생성합니다. 신호의 길이는 320개 샘플입니다. 디폴트 사각 윈도우 및 신호 길이와 같은 DFT 길이를 사용하여 주기도를 구합니다. 신호가 실수 값을 가지기 때문에 기본적으로 길이가 320/2+1인 단측 주기도가 반환됩니다.
rng("default")
n = 0:319;
x = cos(pi/4*n) + randn(size(n));
nfft = length(x);
periodogram(x,[],nfft)
1700년부터 1987년까지 매년 샘플링된 볼프(상대 흑점)수 데이터에 대한 주기도를 구합니다.
상대 흑점수 데이터를 불러옵니다. 디폴트 사각 윈도우와 DFT 점 개수(이 예제의 경우 512)를 사용하여 주기도를 구합니다. 이 데이터의 샘플 레이트는 1샘플/년입니다.
load sunspot.dat
relNums=sunspot(:,2);
[pxx,f] = periodogram(relNums,[],[],1);주기도를 플로팅합니다. 주기도의 약 0.1주기/년 지점에 피크가 있으며, 이는 대략 10년의 기간을 나타냅니다.
plot(f,pow2db(pxx)) xlabel("Cycles/Year") ylabel("dB / (Cycles/Year)") title("Periodogram of Relative Sunspot Number Data")

가산성 백색 잡음과 함께 각주파수 rad/sample과 rad/sample을 갖는 2개의 이산시간 정현파로 구성된 입력 신호의 주기도를 구합니다. rad/sample과 rad/sample에서 양측 주기도 추정값을 구합니다.
n = 0:319; x = cos(pi/4*n) + 0.5*sin(pi/2*n) + randn(size(n)); [pxx,w] = periodogram(x,[],[pi/4 pi/2]); pxx
pxx = 1×2
14.0589 2.8872
[pxx1,w1] = periodogram(x);
그 결과를 단측 주기도와 비교합니다. 얻어진 주기도 값은 단측 주기도 값의 1/2에 해당합니다. 특정 주파수 집합에서 주기도를 구하는 경우 출력값은 양측 추정값입니다.
plot(w1/pi,pxx1,w/pi,2*pxx,"o") legend("pxx1","2*pxx") xlabel("Normalized Frequency (\times \pi rad/sample)") title("Periodogram Power Spectral Density Estimate")

N(0,1) 가산성 백색 잡음에서 주파수 100Hz와 200Hz를 갖는 두 개의 사인파로 구성된 신호를 생성합니다. 샘플 레이트는 1kHz입니다. 100Hz와 200Hz에서 양측 주기도를 구합니다.
rng("default")
Fs = 1000;
t = 0:0.001:1-0.001;
x = cos(2*pi*100*t) + sin(2*pi*200*t) + randn(size(t));
freq = [100 200];
pxx = periodogram(x,[],freq,Fs)pxx = 1×2
0.2647 0.2313
이 예제에서는 주기도에서 신뢰한계를 사용하는 것을 다룹니다. 통계적 유의성에 있어 필요 조건은 아니지만, 주변 PSD 추정값의 신뢰 하한이 신뢰 상한을 초과하는 주기도의 주파수는 시계열에서 유의미한 진동을 명확하게 나타냅니다.
가산성 백색 N(0,1) 잡음에서 중첩된 형태의 100Hz 사인파와 150Hz 사인파로 구성된 신호를 생성합니다. 두 사인파의 진폭은 1입니다. 샘플 레이트는 1kHz입니다.
rng("default")
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t) + sin(2*pi*150*t) + randn(size(t));95% 신뢰한계를 갖는 주기도 PSD 추정값을 구합니다.
L = length(x); [pxx,f,pxxc] = periodogram(x,rectwin(L),L,Fs,ConfidenceLevel=0.95);
신뢰구간에 따라 주기도를 플로팅하고 100Hz와 150Hz 근처의 주파수 관심 영역을 확대합니다. 100Hz와 150Hz의 바로 인근에 있는 신뢰 하한은 100Hz와 150Hz 주변을 벗어난 신뢰 상한보다 상당히 높습니다.
plot(f,pow2db(pxx)) hold on plot(f,pow2db(pxxc),"-.",Color=[0.866 0.329 0]) xlim([85 175]) xlabel("Hz") ylabel("dB/Hz") title("Periodogram with 95%-Confidence Bounds")

가산성 잡음이 있는 100Hz 사인파의 주기도를 구합니다. 샘플 레이트는 1kHz입니다. "centered" 옵션을 사용하여 DC 기준 주기도를 구하고 결과를 플로팅합니다.
fs = 1000;
t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
periodogram(x,[],length(x),fs,"centered")
백색 가우스 잡음에 묻힌 200Hz 정현파로 구성된 신호를 생성합니다. 신호는 1초 동안 1kHz로 샘플링됩니다. 이 잡음의 분산은 0.01²입니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 재설정합니다.
rng("default")
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
N = length(t);
x = sin(2*pi*t*200) + 0.01*randn(size(t));FFT를 사용하여 신호 길이로 정규화된 신호의 파워 스펙트럼을 계산합니다. 정현파가 Bin 내부에 있으므로 모든 전력이 단일 주파수 샘플에 집중되어 있습니다. 단측 스펙트럼을 플로팅합니다. 피크의 인근을 확대합니다.
q = fft(x,N); ff = 0:Fs/N:Fs-Fs/N; ffts = q*q'/N^2
ffts = 0.4997
ff = ff(1:floor(N/2)+1);
q = q(1:floor(N/2)+1);
stem(ff,abs(q)/N,"*")
axis([190 210 0 0.55])
periodogram을 사용하여 신호의 파워 스펙트럼을 계산합니다. 핸(Hann) 윈도우를 지정하고 FFT 길이를 1024로 지정합니다. 200Hz에서 추정된 전력과 실제 값 사이의 백분율 차이를 구합니다.
wind = hann(N); [pun,fr] = periodogram(x,wind,1024,Fs,"power"); hold on stem(fr,pun)

periodogErr = abs(max(pun)-ffts)/ffts*100
periodogErr = 4.7349
파워 스펙트럼을 다시 계산하되, 이번에는 재할당을 사용합니다. 새 추정값을 플로팅하고 최댓값을 FFT 값과 비교합니다.
[pre,ft,pxx,fx] = periodogram(x,wind,1024,Fs,"power","reassigned"); stem(fx,pre) hold off legend(["Original" "Periodogram" "Reassigned"])

reassignErr = abs(max(pre)-ffts)/ffts*100
reassignErr = 0.0779
"power" 옵션을 사용하여 특정 주파수에서 정현파의 전력을 추정합니다.
1초 동안 1kHz로 샘플링된 100Hz 정현파를 생성합니다. 사인파의 진폭은 1.8이고, 이는 1.8²/2 = 1.62의 전력과 같습니다. "power" 옵션을 사용하여 전력을 추정합니다.
fs = 1000; t = 0:1/fs:1-1/fs; x = 1.8*cos(2*pi*100*t); [pxx,f] = periodogram(x,hamming(length(x)),length(x),fs,"power"); [pwrest,idx] = max(pxx); fprintf("The maximum power occurs at %3.1f Hz\n",f(idx))
The maximum power occurs at 100.0 Hz
fprintf("The power estimate is %2.2f\n",pwrest)The power estimate is 1.62
가산성 백색 가우스 잡음(AWGN)에서 3개의 정현파로 구성된 다중채널 신호의 샘플 1024개를 생성합니다. 정현파의 주파수는 rad/sample, rad/sample, rad/sample입니다. 주기도를 사용하여 신호의 PSD를 추정하고 플로팅합니다.
rng("default")
N = 1024;
n = 0:N-1;
w = pi./[2;3;4];
x = cos(w*n)' + randn(length(n),3);
periodogram(x)
윈도우를 사용하여 입력 신호의 수정된 주기도 PSD(파워 스펙트럼 밀도) 추정값을 반환하는 함수 myPeriodogram.m을 검토합니다. 함수는 이산 푸리에 변환 점의 개수를 입력 신호의 길이와 동일하게 지정합니다.
type myPeriodogramfunction [pxx,f] = myPeriodogram(inputData,window) %#codegen
nfft = length(inputData);
[pxx,f] = periodogram(inputData,window,nfft);
end
codegen (MATLAB Coder)을 사용하여 MEX 파일 을 생성합니다.
함수의
%#codegen지시문은 이 MATLAB® 코드가 코드 생성을 위한 코드임을 나타냅니다.-args옵션은 MEX 파일에 대한 입력값의 크기, 클래스, 실수/복소수 여부를 정의하는 샘플 인수를 지정합니다. 예를 들어,inputData를 1024×1 배정밀도 확률 벡터로 지정하고window를 길이가 1024인 해밍 윈도우로 지정합니다. 이후 MEX 함수를 호출할 때 1024개 샘플을 갖는 입력 신호와 윈도우를 사용하게 됩니다.MEX 함수에 다른 이름을 설정하려면
-o옵션을 사용하십시오.코드 생성 리포트를 생성하려면
codegen명령 끝에-report옵션을 추가하십시오.
codegen myPeriodogram -args {randn(1024,1),hamming(1024)}
Code generation successful.
periodogram 함수와 생성된 MEX 함수를 사용하여 1024개 샘플을 갖는 잡음이 있는 정현파의 PSD 추정값을 계산합니다. rad/sample의 정규화 정현파 주파수와 핸 윈도우를 지정합니다. 두 추정값을 플로팅하여 두 값이 일치하는 것을 확인합니다.
N = 1024; x = 2*cos(2*pi/5*(0:N-1)') + randn(N,1); periodogram(x,hann(N)) [pxMex,fMex] = myPeriodogram_mex(x,hann(N)); hold on plot(fMex/pi,pow2db(pxMex),"--") hold off grid on legend(["periodogram" "MEX function"])

R2026a 이후
4개의 신호에 대한 주기도 파워 스펙트럼 밀도(PSD) 추정값과 주기도 파워 스펙트럼을 지정된 대상 좌표축과 패널 컨테이너에 플로팅합니다.
3초 동안 10kHz의 샘플 레이트를 사용하여 4개의 진동 신호를 만듭니다.
Fs = 10e3;
t = 0:1/Fs:3;
x1 = sinc(Fs/2.5*(t-mean(t)));
x2 = sum(cos(2*pi*600*[1 3 5 7]'.*t),1) + randn(size(t))/1e4;
x3 = exp(1j*pi*sin(4*t)*Fs/10);
x4 = chirp(t,Fs/10,t(end),Fs/2.5,"quadratic");주기도 PSD 추정값과 파워 스펙트럼을 대상 좌표축에 플로팅하기
새 Figure 창의 남서쪽 코너와 북동쪽 코너에 두 개의 좌표축을 만듭니다.
fig = figure; ax1 = axes(fig,Position=[0.09 0.1 0.60 0.45]); ax2 = axes(fig,Position=[0.50 0.7 0.47 0.25]);
신호 x1과 x2의 주기도 PSD 추정값과 파워 스펙트럼을 각각 Figure의 남서쪽 좌표축과 북동쪽 좌표축에 플로팅합니다. 카이저 윈도우와 512개 DFT 점을 사용합니다.
g = kaiser(length(t),5);
nfft = 512;
periodogram(x1,g,nfft,Fs,Parent=ax1)
periodogram(x2,g,nfft,Fs,"power",Parent=ax2)
주기도 PSD 추정값을 대상 UI 좌표축에 플로팅하기
새 UI Figure 창의 북서쪽 코너에 좌표축을 만듭니다.
uif = uifigure(Position=[100 100 720 540]); ax3 = uiaxes(uif,Position=[5 305 300 200]);
신호 x3에 대한 주기도 PSD 추정값을 Figure 좌표축에 플로팅합니다. 중심이 0kHz에 맞춰진 주파수를 표시합니다.
periodogram(x3,g,nfft,Fs,"centered",Parent=ax3) title(ax3,"Periodogram in UI Axes")

재할당된 주기도 PSD 추정값을 대상 패널 컨테이너에 플로팅하기
UI Figure 창의 남동쪽 코너에 패널 컨테이너를 추가합니다.
p = uipanel(uif,Position=[300 5 400 325], ... Title="Periodogram in Panel Container", ... BackgroundColor="white");
신호 x4에 대한 재할당된 주기도 PSD 추정값을 패널 컨테이너에 플로팅합니다.
periodogram(x4,g,nfft,Fs,"reassigned",Parent=p)
입력 인수
입력 신호로, 벡터 또는 행렬로 지정됩니다. x를 행렬로 지정하면, periodogram 함수는 각 열을 독립적인 채널로 처리합니다.
예: cos(pi/4*(0:159))+randn(1,160)은 단일채널 행 벡터 신호입니다.
예: cos(pi./[4;2]*(0:159))'+randn(160,2)는 2채널 신호입니다.
데이터형: single | double
복소수 지원 여부: 예
윈도우로, 입력 신호와 길이가 같은 행 벡터나 열 벡터로 지정됩니다. win을 빈 값으로 지정하면 periodogram은 사각 윈도우를 사용합니다. "reassigned" 옵션과 빈 win을 지정하면 이 함수는 β = 38인 카이저 윈도우를 사용합니다.
참고
디폴트 사각 윈도우에는 13.3dB의 사이드로브 감쇠량이 있어 이 값 미만의 스펙트럼 성분(피크 스펙트럼 성분 기준)은 가려질 수 있습니다. 다른 윈도우를 선택하면 분해능(예: 사각 윈도우 사용)과 사이드로브 감쇠량(예: 핸 윈도우 사용) 간에 상호 절충할 수 있습니다. 자세한 내용은 윈도우 디자이너를 참조하십시오.
데이터형: single | double
주파수 사양으로, 다음 값 중 하나로 지정됩니다.
빈 값
[]—periodogram함수는 윈도우 길이보다 크거나 같은 첫 번째 2의 거듭제곱과 256 중에서 더 큰 값에 해당하는 개수의 DFT 점을 사용하여 스펙트럼 추정값을 계산합니다.양의 정수 —
periodogram함수는 이 인수에 지정된 DFT 점 개수를 사용하여 스펙트럼 추정값을 계산합니다.freqSpec가 세그먼트 길이보다 크면periodogram함수는 세그먼트 데이터를 0으로 채웁니다.freqSpec가 세그먼트 길이보다 작으면periodogram함수는freqSpec를 기준으로 모듈로(modulo) 연산을 수행하여 세그먼트를 나누고, 나눠진 세그먼트 프레임들을 합산합니다.
요소가 두 개 이상인 벡터 —
periodogram함수는freqSpec에 지정된 주파수에서 스펙트럼 추정값을 계산합니다.샘플 레이트
Fs를 지정하는 경우periodogram함수는freqSpec를Fs와 단위가 동일한 순환 주파수로 가정합니다.Fs를 지정하지 않으면periodogram함수는freqSpec를 정규화 주파수(단위: rad/sample)로 가정합니다.
예: freqSpec = 512는 512개 DFT 점을 지정합니다.
예: freqSpec = pi./[8 4 2]는 세 개의 정규화 주파수로 구성된 벡터를 지정합니다.
데이터형: single | double
샘플 레이트로, 양의 스칼라로 지정됩니다. 샘플 레이트는 단위 시간당 샘플 개수입니다. 시간 단위가 초이면 샘플 레이트의 단위는 Hz입니다.
Fs를 빈 값([])으로 지정하면,periodogram함수는 입력 신호x의 샘플 레이트를 1Hz로 가정합니다.Fs를 지정하지 않으면,periodogram함수는 입력 신호x의 샘플 레이트를 2π rad/sample로 가정합니다.
PSD 추정값 또는 파워 스펙트럼의 주파수 범위로, "onesided", "twosided" 또는 "centered"로 지정됩니다.
periodogram 함수는 freqRange에 지정된 값, freqSpec에 지정된 DFT 점의 개수가 짝수인지 홀수인지 여부, Fs가 지정되었는지 여부에 따라 행 개수와 주파수 구간을 달리하여 pxx를 반환합니다.
freqRange | freqSpec | pxx의 행 개수 |
| |
|---|---|---|---|---|
|
| |||
"onesided"( x가 실수 값인 경우 디폴트 값) | 짝수 | freqSpec/2 + 1 | [0,π] rad/sample | [0,Fs/2] cycles/unit time |
| 홀수 | (freqSpec + 1)/2 | [0,π) rad/sample | [0,Fs/2) cycles/unit time | |
"twosided"( x가 복소수 값인 경우 디폴트 값) | 짝수 또는 홀수 | freqSpec | [0,2π) rad/sample | [0,Fs) cycles/unit time |
"centered" | 짝수 | freqSpec | (–π,π] rad/sample | (–Fs/2,Fs/2] cycles/unit time |
| 홀수 | (–π,π) rad/sample | (–Fs/2,Fs/2) cycles/unit time | ||
참고
freqSpec를 순환 주파수로 구성된 벡터 또는 정규화 주파수로 구성된 벡터로 지정할 경우 이 인수는 지원되지 않습니다."onesided"값을 지정하면periodogram함수는 총 전력을 보존하기 위해 0 및 나이퀴스트 주파수를 제외한 모든 주파수에서 전력에 2를 곱합니다.x가 복소수 값인 경우"onesided"값은 지원되지 않습니다.
데이터형: char | string
파워 스펙트럼 스케일링으로, 다음 값 중 하나로 지정됩니다.
"psd"—periodogram함수는 파워 스펙트럼 밀도를 반환합니다."power"—periodogram함수는 PSD의 각 추정값을 윈도우의 등가 잡음 대역폭만큼 스케일링하고 각 주파수에서의 파워 추정값을 반환합니다."reassigned"도 지정할 경우periodogram함수는 재할당하기 전에 각 주파수 Bin의 너비에 대해 PSD를 적분합니다.
다음 표에서는 입력 신호 x, 윈도우 벡터 win, 주파수 사양 freqSpec, 샘플 레이트 Fs가 주어진 경우, pxx에 반환되는 PSD 추정값과 파워 스펙트럼 추정값 간의 스케일링 관계를 보여줍니다.
| 샘플 레이트 | 스케일링 관계 |
|---|---|
Fs가 지정됨 | [~,~,~,psd] = periodogram(x,win,freqSpec,Fs,"psd"); [~,~,~,pow] = periodogram(x,win,freqSpec,Fs,"power"); pow는 psd*enbw(win,Fs)와 동일합니다. |
Fs가 지정되지 않음 | [~,~,~,psd] = periodogram(x,win,freqSpec,"psd"); [~,~,~,pow] = periodogram(x,win,freqSpec,"power"); pow는 psd*enbw(win,2*pi)와 동일합니다. |
데이터형: char | string
PSD 추정값에 대한 포함 확률로, (0,1) 범위의 스칼라로 지정됩니다.
ConfidenceLevel=p와 pxxc를 지정하면, 이 함수는 실제 PSD에 대한 p × 100% 구간 추정값의 하한과 상한을 포함한 pxxc를 출력합니다.
R2026a 이후
대상 부모 컨테이너로, Axes 객체, UIAxes 객체 또는 Panel 객체로 지정됩니다.
Parent=h를 지정하면, periodogram 함수는 출력 인수를 사용하여 함수를 호출하는지 여부와 관계없이 주기도 PSD 추정값 또는 파워 스펙트럼을 지정된 대상 부모 컨테이너에 플로팅합니다.
MATLAB® 그래픽스의 대상 컨테이너와 부모-자식 관계에 대한 자세한 내용은 그래픽스 객체 계층 구조 항목을 참조하십시오. 앱 설계 시 UIAxes 객체와 Panel 객체에서 Parent를 사용하는 방법에 대한 자세한 내용은 Plot Spectral Representations of Signal in App Designer 항목을 참조하십시오.
예: h = axes(figure,Position=[0.1 0.1 0.6 0.5])는 좌표축 부모 컨테이너를 정의합니다. periodogram(x,[],[],[],Parent=h)를 지정하면 함수는 입력 신호 x의 주기도 PSD를 부모 컨테이너 h에 플로팅합니다.
출력 인수
PSD 추정값 또는 파워 스펙트럼으로, 음이 아닌 실수 값 열 벡터나 행렬로 반환됩니다.
pxx의 각 열은spectrumType을 지정하는 방법에 따라x의 각 열에 대응되는 PSD 추정값 또는 파워 스펙트럼입니다.PSD 추정값의 단위는 단위 주파수당 입력 신호의 크기 단위의 제곱을 사용합니다. 예를 들어, 입력 데이터
x가 볼트 단위이고, 샘플 레이트Fs를 헤르츠 단위로 지정하고, 저항을 1Ω으로 가정하는 경우 PSD 추정값의 단위는 헤르츠당 와트입니다.파워 스펙트럼의 단위는 신호의 크기 단위의 제곱을 사용합니다. 예를 들어, 입력 데이터
x가 볼트 단위이고 저항을 1Ω으로 가정하는 경우 PSD 추정값의 단위는 와트입니다.
PSD 추정값과 연결된 주파수로, 실수 값 열 벡터로 반환됩니다.
Fs를 지정할 경우f에는 순환 주파수(단위: Hz)가 포함됩니다.Fs를 지정하지 않으면f에는 정규화 주파수(단위: rad/sample)가 포함됩니다.
재할당된 PSD 추정값으로, 음이 아닌 실수 값 열 벡터나 행렬로 반환됩니다. rpxx의 각 열은 x의 대응하는 열에 대해 재할당된 PSD 추정값입니다.
에너지 중심 주파수로, 벡터나 행렬로 반환됩니다.
세부 정보
주기도는 광의의 정상 확률 과정의 파워 스펙트럼 밀도(PSD)에 대한 비모수적 추정값입니다. 주기도는 자기상관 시퀀스의 편향 추정값에 대한 푸리에 변환입니다. 단위 시간당 Fs개 샘플로 샘플링된 신호 xn의 경우 주기도는 다음과 같이 정의됩니다.
여기서 Δt는 샘플링 간격입니다. 단측 주기도의 경우, 총 전력이 보존되도록 0과 나이퀴스트 1/2Δt를 제외한 모든 주파수의 값에 2를 곱합니다.
주파수의 단위가 샘플당 라디안이면 주기도가 다음과 같이 정의됩니다.
위 방정식의 주파수 범위는 freqRange 인수의 값에 따라 달라집니다. 입력 인수에서 freqRange에 대한 설명을 참조하십시오.
순환 주파수에서 한 주기 1/Δt에 대한 실제 PSD P(f)의 적분값과 정규화 주파수에서 2π에 대한 실제 PSD의 적분값은 광의의 정상 확률 과정의 분산과 같습니다.
정규화 주파수의 경우 적분 한계를 적절하게 바꾸십시오.
수정된 주기도는 입력 시계열을 윈도우 함수로 곱합니다. 적합한 윈도우 함수는 음수가 아니며 시작점과 끝점에서 0으로 감쇠됩니다. 시계열을 윈도우 함수로 곱하면 데이터가 점차적으로 가늘어지므로 주기도에서 누설을 완화하는 데 도움이 됩니다. 이에 대한 예제는 Bias and Variability in the Periodogram 항목을 참조하십시오.
hn이 윈도우 함수이면 수정된 주기도는 다음과 같이 정의됩니다.
여기서 Δt는 샘플링 간격입니다.
주파수의 단위가 샘플당 라디안이면 수정된 주기도는 다음과 같이 정의됩니다.
위 방정식의 주파수 범위는 freqRange 인수의 값에 따라 달라집니다. 입력 인수에서 freqRange에 대한 설명을 참조하십시오.
재할당 기법은 스펙트럼 추정값을 더 명확하게 국소화할 수 있게 하고 더욱 쉽게 읽고 해석할 수 있는 주기도를 생성합니다. 이 기법은 각 PSD 추정값을 Bin의 기하학적 중심에서 떨어진 Bin의 에너지 중심에 재할당합니다. 이는 처프(Chirp)와 임펄스에 대해 정확하게 국소화할 수 있도록 해줍니다.
참고 문헌
[1] Auger, François, and Patrick Flandrin. "Improving the Readability of Time-Frequency and Time-Scale Representations by the Reassignment Method." IEEE® Transactions on Signal Processing. Vol. 43, May 1995, pp. 1068–1089.
[2] Fulop, Sean A., and Kelly Fitz. "Algorithms for computing the time-corrected instantaneous frequency (reassigned) spectrogram, with applications." Journal of the Acoustical Society of America. Vol. 119, January 2006, pp. 360–371.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨periodogram 함수는 Parent 입력 인수를 사용하여 지정한 부모 좌표축 또는 패널 컨테이너에 출력값을 플로팅할 수 있습니다.
periodogram 함수는 코드 생성 시 단정밀도 가변 크기 창 입력값을 지원합니다.
periodogram 함수는 GPU(그래픽 처리 장치)에 대한 코드 생성을 지원합니다. CUDA® 코드를 생성하려면 MATLAB Coder™와 GPU Coder™가 필요합니다.
periodogram 함수는 단정밀도 입력값을 지원합니다.
이제 플롯 만들기 라이브 편집기 작업을 사용하여 periodogram 함수의 출력값을 대화형 방식으로 시각화할 수 있습니다. 다양한 차트 유형을 선택하고 선택적 파라미터를 설정할 수 있습니다. 또한 이 작업을 통해 라이브 스크립트의 일부가 되는 코드가 자동으로 생성됩니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)