이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
시간 영역과 주파수 영역 간에 데이터 변환하기
System Identification Toolbox™는 시간 영역과 주파수 영역에서 데이터를 분석하고 모델을 추정 및 평가하는 툴을 제공합니다. 측정된 데이터와 동일한 영역에 없는 툴과 방법을 사용하기 위해 시간 영역과 주파수 영역 간에 데이터를 변환할 수 있습니다.
iddata
객체는 시간 영역 데이터 또는 주파수 영역 데이터를 저장합니다.
시간 영역 데이터는 하나 이상의 입력 변수 u(t)와 하나 이상의 출력 변수 y(t)로 이루어지며, 시간의 함수로 샘플링됩니다.
주파수 영역 데이터는 변환된 입력 및 출력 시간 영역 신호 또는 독립 가변 주파수의 함수로 샘플링된 시스템 주파수 응답으로 이루어집니다.
MATLAB®에서 시간 영역 데이터와 주파수 영역 데이터 표현에 대한 자세한 내용은 Representing Data in MATLAB Workspace 항목을 참조하십시오.
한 영역에서 다른 영역으로 데이터를 변환할 수 있습니다. 시간 영역과 주파수 영역 간에 데이터를 변환하는 명령이 표에 요약되어 있습니다. 더 많은 명령 정보를 보려면 해당하는 명령 도움말 페이지를 참조하십시오.
명령 | 설명 | 구문 예제 |
---|---|---|
fft | 시간 영역 데이터를 주파수 영역으로 변환합니다. 주파수 값의 개수 | 시간 영역 f_data = fft(t_data,N) |
ifft | 주파수 영역 데이터를 시간 영역으로 변환합니다. 주파수는 선형이며 간격이 균일합니다. | 주파수 영역 t_data = ifft(f_data) |
iddata
데이터를 idfrd
주파수 응답 형식으로 변환하는 것은 추정의 한 종류입니다. iddata
객체를 사용하여 주파수 응답을 추정하려면 Transforming Between Frequency-Domain and Frequency-Response Data 항목을 참조하십시오.
시간 영역과 주파수 영역 간에 데이터 변환하기
시간 영역에서 주파수 영역으로 데이터를 변환하거나 다시 주파수 영역에서 시간 영역으로 데이터를 변환하고, 원본 데이터에서 추정된 모델의 성능과 변환된 모델에서 추정된 모델의 성능을 비교합니다.
300개의 샘플이 포함된 시간 영역 데이터 z1
을 불러와 플로팅합니다.
load iddata1 z1 plot(z1)
z1
의 샘플 시간 Ts
를 구합니다.
Ts = z1.Ts
Ts = 0.1000
샘플 시간은 0.1초입니다.
z1
을 주파수 영역으로 변환합니다.
z1f = fft(z1)
z1f = Frequency domain data set with responses at 151 frequencies. Frequency range: 0 to 31.416 rad/seconds Sample time: 0.1 seconds Outputs Unit (if specified) y1 Inputs Unit (if specified) u1
주파수 범위는 나이퀴스트 주파수 pi
/Ts
와 동일한 31.416 rad/s까지 확장됩니다.
주파수 영역 데이터를 플로팅합니다.
plot(z1f)
z1f
를 시간 영역으로 다시 변환하고 두 시간 영역 신호를 함께 플로팅합니다.
z1t = ifft(z1f)
z1t = Time domain data set with 300 samples. Sample time: 0.1 seconds Outputs Unit (if specified) y1 Inputs Unit (if specified) u1
plot(z1t,z1)
신호가 정확하게 정렬됩니다.
z1
및 z1t
에 대한 2차 상태공간 모델을 추정합니다.
sys1 = ssest(z1,2); sys1t = ssest(z1t,2); compare(z1,sys1,sys1t)
z1f
에 대한 상태공간 모델을 추정합니다.
sys1f = ssest(z1f,2); compare(z1f,sys1f)
시간 영역 모델과 주파수 영역 모델의 피팅 백분율은 비슷합니다.
참고 항목
fft
| iddata
| ifft
| etfe
| spa
| spafdr