MIMO 시스템의 모드 파라미터
몇 번의 랜덤 잡음 버스트가 가해진, 2입력/3출력 시스템에 대해 고유 주파수, 감쇠비, 모드 형상을 계산합니다. 각 버스트는 1초간 지속되고, 각 버스트가 끝나고 2초가 지난 다음 버스트가 시작되었습니다. 데이터는 4kHz로 샘플링되었습니다.
데이터 파일을 불러옵니다. 입력 신호와 출력 신호를 플로팅합니다.
load modaldata subplot(2,1,1) plot(Xburst) title('Input Signals') subplot(2,1,2) plot(Yburst) title('Output Signals')
주파수-응답 함수를 계산합니다. 길이가 버스트 기간과 동일하고 인접 세그먼트 간에 중첩이 없는 사각 윈도우를 지정합니다.
burstLen = 12000; [frf,f] = modalfrf(Xburst,Yburst,fs,burstLen);
안정화 다이어그램을 시각화하고, 안정된 고유 주파수를 반환합니다. 최대 모델 차수를 30개 모드로 지정합니다.
figure
modalsd(frf,f,fs,'MaxModes',30);
플롯을 확대합니다. 평균 응답 함수가 시스템의 물리적 주파수에 해당하는 373Hz, 852Hz, 1371Hz에서 최댓값을 가집니다. 최댓값을 변수에 저장합니다.
phfr = [373 852 1371];
최소제곱 복소수 지수(LSCE) 알고리즘을 사용하여 모드 파라미터를 계산합니다. 모델 차수를 6개 모드로 지정하고, 안정화 다이어그램에서 확인된 3개 모드의 물리적 주파수를 지정합니다. 아래 함수는 각 입력값을 기준으로 고유 주파수와 감쇠비를 하나의 세트로 생성합니다.
[fn,dr,ms,ofrf] = modalfit(frf,f,fs,6,'PhysFreq',phfr);
복원한 주파수-응답 함수를 플로팅하고 원래 함수와 비교합니다.
for k = 1:2 for m = 1:3 subplot(2,3,m+3*(k-1)) plot(f/1000,10*log10(abs(frf(:,m,k)))) hold on plot(f/1000,10*log10(abs(ofrf(:,m,k)))) hold off text(1,-50,[['Output ';' Input '] num2str([m k]')]) ylim([-100 -40]) end end subplot(2,3,2) title('Frequency-Response Functions')