2012-2 디지털영상처리(0993)디지털 영상처리 Report_#1과제명평균치필터처리제출일학번이름▣ 과제: raw 영상을 y[n]=1/2{x[n]+x[n-1]}으로 처리하여 출력하는 프로그램 코딩1. 주파수 응답 식마스크의 크기가 1*2인 차분 필터의 출력 y[n]은 다음과 같다.``y[`n]``= {x[n]+x[n-1]} over {2}위의 식을 Z-transform 하면,Y`[Z`]`= {1} over {2} (`X[Z`]+Z ^{`-1} X[Z``]`)``=` {1} over {2} (1+z ^{-1} )X`[Z``]전달함수는 출력/입력 이므로,H(Z`)`={`Y``[Z``]}over{X[`Z``]}}`=`{1}over{2}(1+Z^{-1}`) ▲ 0~pi 까지의 H[Z] 응답 graph따라서 주파수 응답을 구하면,H(`Z``)| _{z=e ^{jwT}} ````= {1} over {2} (`1+e ^{-jw} `)`=` {1} over {2} e ^{-j {w} over {2}} (e ^{j {w} over {2}} +e ^{-j {w} over {2}} )`=` {1} over {2} e ^{-j {w} over {2}} (cos {w} over {2} )3. 소스 코드(Matlab)%% 사용자 정의 함수%% fftshow 함수function fftshow(f,type)if nargin
2012-2 디지털영상처리(0993)디지털 영상처리 Report_#2과제명차분필터처리제출일학번이름▣ 과제: raw 영상을 y[n]=1/2{x[n]-x[n-1]}으로 처리하여 출력하는 프로그램 코딩2. 주파수 응답 식마스크의 크기가 1*2인 차분 필터의 출력 y[n]은 다음과 같다.``y[`n]``= {x[n]-x[n-1]} over {2}위의 식을 Z-transform 하면,Y`[Z`]`= {1} over {2} (X[`Z``]-Z ^{`-1} X[Z``]`)``=` {1} over {2} (1-z ^{-1} )X`[Z``]전달함수는 출력/입력 이므로,H(Z`)`= {`Y``[Z``]} over {X[`Z``]} `=` {1} over {2} (1-Z ^{-1} `) ▲ 차분필터의 주파수 응답따라서 주파수 응답을 구하면,H(`Z``)| _{z=e ^{jw}} ````= {1} over {2} (`1-e ^{-jw} `)`=` {1} over {2} e ^{-j {w} over {2}} ( {e ^{j {w} over {2}} -e ^{-j {w} over {2}}} over {2j} )`=`je ^{-j {w} over {2}} (sin {w} over {2} )3. 소스 코드(Matlab)%% 사용자 정의 함수%% fftshow 함수function fftshow(f,type)if nargin
자동제어 Term project (1484)자동제어Term-project설계 과제제시한 플랜트 17개중 1개를 선정[공통사항]1. 모델링을 해서 전달함수를 구할 것2. 상태방정식을 세워 볼 것3. 근궤적을 그려 볼 것Matlab을 이용해서 아래의 2개 제어기를 선정해서 설계에 적용해서 제어된 출력 응답을 그림 으로 비교할 것[선택사항]1. Bode 선도를 이용한 설계2. 진상 보상기 설계3. 지상 보상기 설계4. PID 제어기 설계5. 상태방정식을 이용한 극배치 제어기 설계참고문헌 :- 동적 시스템 자동제어 : Franklin 저- Matlab, Cemtool manual- http://www.engin.umich.edu/group/ctm/1. 모델링과 전달함수pendulum을 분석은 두 개체로 나누어 수행해야 하며, 힘의 방향은 수평을 기준으로 한다.m _{t}값을 기준으로 한 수평성분m _{t} {d ^{2} x} over {dt ^{2}} +b {dx} over {dt} +N=u … ①m _{t}값을 기준으로 한 수직성분N=m _{p} {dx ^{2}} over {dt ^{2}} +m _{p} l {d theta ^{2}} over {dt ^{2}} cos theta `-`m _{p} l( {d theta } over {dt} ) ^{2} sin theta … ②②식에 ①식을 대입하면(m _{t} +m _{p} ) {dx ^{2}} over {dt ^{2}} +b {dx} over {dt} +m _{p} l {d theta ^{2}} over {dt ^{2}} cos theta -m _{p} l( {d theta } over {dt} ) ^{2} sin theta =u … ③수직 힘에 대한 합을 구해보면P`sin theta +Ncos theta -m _{p} gsin theta =m _{p} l {d ^{2} theta } over {dt ^{2}} +m _{p} {dx ^{2}} over {dt ^{2}} cos theta-P`lsin theta -N`lcos theta =I {d theta ^{2}} over {dt ^{2}}∴ (I`+m _{p} l ^{2} ) {d ^{2} theta } over {dt ^{2}} +m _{p} glsin theta `=`-m _{p} l {d ^{2} x} over {dt ^{2}} cos thetatheta = pi + phi ( phi ≒0 )을 대입하면(I`+m _{p} l ^{2} ) {d ^{2} phi } over {dt ^{2}} -m _{p} gl phi `=`m _{p} l {d ^{2} x} over {dt ^{2}} … ①(m _{t} +m _{p} ) {dx ^{2}} over {dt ^{2}} +b {dx} over {dt} -m _{p} l {d theta ^{2}} over {dt ^{2}} =u … ②(I+m _{p} l ^{2} ) PHI (s)s ^{2} -m _{p} gl PHI (s)=m _{p} lX(s)s ^{2} … ③(m _{t} +m _{p} )X(s)s ^{2} +bX(s)s-m _{p} l PHI (s)s ^{2} `=`U(s) … ④X(s)=[ {(I+m _{p} l ^{2} )} over {m _{p} l} - {g} over {s ^{2}} ] PHI (s) … ⑤⑤ 식에 ② 식을 대입하면(m _{t} +m _{p} )[ {(I+m _{p} l ^{2} )} over {m _{p} l} + {g} over {s} ] PHI (s)s ^{2} +b[ {(I+m _{p} l ^{2} )} over {m _{p} l} + {g} over {s} ] PHI (s)s-m _{p} l PHI (s)s ^{2} =U(s)▶ 전달함수∴ {PHI (s)} over {U(s)} = {{m _{p} l} over {A} s} over {s ^{3} + {b(I+m _{p} l ^{2} )} over {A} s ^{2} - {(m _{t} +m _{p} )m _{p} gl} over {A} s- {bm _{p} gl} over {A}} ( A={[(m _{t} +m _{p} )(I+m _{p} l ^{2} )-(m _{p} l) ^{2} ]} )2. 상태방정식LEFT [ eqalign{dot{eqalign{x#}}#ddot{x}##dot{PHI }##ddot{PHI }} RIGHT ] = LEFT [ eqalign{0``````````````````````````````````````1``````````````````````````````````````````````````````````````````0```````````````````````````````````0`#0 {-(I+m _{p} l ^{2} )b} over {I(m _{t} +m _{p} )+m _{t} m _{p} l ^{2}} {m _{p} ^{2} gl ^{2}} over {I(m _{t} +m _{p} )+m _{t} m _{p} l ^{2}} ``0#0``````````````````````````````````0`````````````````````````````````````````````````````````````````````0`````````````````````````````````````1#0 {-m _{p} lb} over {I(m _{t} +m _{p} )+m _{t} m _{p} l ^{2}} {m _{p} gl(m _{t} +m _{p} )} over {I(m _{t} +m _{p} )+m _{t} m _{p} l ^{2}} ``0} RIGHT ] LEFT [ eqalign{x##dot{eqalign{x#}}#PHI ##dot{PHI }} RIGHT ]+ LEFT [ eqalign{``````````````````````````````````0#{I+m _{p} l ^{2}} over {I(m _{t} +m _{p} )+m _{t} m _{p} l ^{2}}#```````````````````````````````````0#{m _{p} l} over {I(m _{t} +m _{p} )+m _{t} m _{p} l ^{2}}} RIGHT ]y= LEFT [ eqalign{#1`````0`````0`````0#0`````0`````1`````0#} RIGHT ] LEFT [ eqalign{x#dot{x}#PHI #dot{PHI }} RIGHT ] + LEFT [ eqalign{#0#0#} RIGHT ] u3. 근 궤적 그리기m _{t} =`0.5,`m _{p} =0.2,`b=0.1,`I=0.006`,`g=9.8,`l=0.3`근 궤적 그래프MATLAB CODE▶ 시스템의 근이 우 반면에 존재하기 때문에 위의 시스템은 불안정하다. 따라서 제어기를 추가하여 시스템을 안정화 시켜야 한다.4. 진상 보상기 (선택)진상 보상기는 영점이 극점보다 허수축에 더 가까이 있기 때문에 항상 0보다 큰 위상을 가진다. 다시 말해 전체 시스템의 위상이 플랜트의 위상보다 앞선다. 따라서 전체 시스템의 Phase margin, Stability margin이 증가하며, 대역폭을 증가시키게 되어 과도응답을 빠르게 해주는 효과를 보인다.▶ 수식을 대입한 전달함수{PHI (s)} over {U(s)} = {s} over {s ^{3} +0.04s ^{2} +6.86s+0.98}▶ 진상보상기의 기본 식에 의해G _{c} (s)=K _{c} {s-z} over {s-p}, LEFT | p RIGHT | > LEFT | z RIGHT |p=40,`z=5,``w _{n} =0.0707제어 된 신호의 그래프MATLAB CODE▶ 진상보상기의 추가로 과도응답의 속도가 빨라졌음을 확인할 수 있다. 그러나 여전히 위상오차가 존재하는 불안정한 시스템으로 나타난다.5. PID 제어기PID제어기는 비례-적분-미분 제어기로써 기본적으로 피드백(feedback)제어기의 형태를 가지고 있다. 제어하고자 하는 대상의 출력(output)을 측정하여 이를 원하고자 하는 reference 값 혹은 set-point와 비교하여 오차를 계산하고, 이 오차 값을 이용하여 제어에 필요한 제어 값을 계산하는 구조로 되어 있다. 기본 식은 다음과 같다.G _{c} (s)`=`K _{P} + {K _{I}} over {s} +K _{D} s`=` {sK _{P} +K _{I} +K _{D} s ^{2}} over {s}이제 제어기를 통해 위의 불안정한 시스템을 안정한 시스템으로 제어한다. 우선 가장 기본적인 값을 설정하여 입력하고 그 출력 값을 알아본다.1) K _{P} =1,`K _{I} =1,`K _{D} =1GraphMATLAB CODE▶ 불안정한 응답을 가진다. K_P값을 조정한다.2) K _{P} =100,`K _{I} =1,`K _{D} =1GraphMATLAB CODE▶ settling time이 2초대에 있고 정상상태 오차도 없기 때문에 K _{I} 값에 대해서는 더 이상 control이 필요하지 않다. 그러나 overshoot가 크기 때문에 이를 제어하기 위해 K _{D}값을 조정한다.3) K _{P} =100,`K _{I} =1,`K _{D} =20GraphMATLAB CODE▶ 출력이 더 이상 불안정한 상태가 아니라는 것을 확인할 수 있다. 따라서 PID제어기를 통해 시스템이 안정하게 제어되었음을 알 수 있다.
자동제어 실험(1489)자동제어 실험Term-Project_2학번이름학과과제명수강번호6) project : project team별로 ( 인 1조) 수행함.P-1) Inverted pendulum kit의 motor를 step response를 구하고 data를 logging함.clkout_clock를 SIMTool (Simulink)에 추가하면simulation time이 변수 out_clock에 저장.P-2)step response에서 여기를 t=0로 다시 설정해야 함.P-3) 본문 3-3)의 step response 3-parameter model을 사용하여 motor를 model.P-4) 실험교재의 motor model을 사용하여 SIMTool에서 step response simulation.-> tss (steady-state time; 2% 정상상태 값 graph에서 결정).P-5) P-3)의 model을 사용하여 SIMTool에서 step response를 구하여 P-4)와 비교.P-6) P-4, 5)의 tss를 70%로 줄이는 PID controller 설계.-> %OS는 필요시 5% 이내로 함.P-7) P-4, 5)의 tss를 50%로 줄이는 PID controller 설계.-> %OS는 필요시 5% 이내로 함.(이상)P-6) P-4, 5)의 tss를 70%로 줄이는 PID controller 설계.-> %OS는 필요시 5% 이내로 ( overshoot 5% = 30.9731 )a) 교재의 motor modeltsspeak time▶ K _{P} =17.4, K _{I} =1, K _{D} =2 를 넣어준 결과 tss가 0.75에서 70%정도(=0.5250)로 감소되었다. 0.5250에서의 y_out은 29.4899로 나타났으며, 이 값은 제어 이전의 K값 29.4892와 거의 일치한다. 또한 peak값이 30.4185 이므로 overshoot는 5%이내에서 발생되었음을 확인할 수 있다.b) modeling 한 model▶ K _{P} =0.48, K _{I} =1.66, K _{D} =0.0095 를 넣어준 결과 tss가 0.35에서 70%정도(=0.296)로 감소되었다. 0.296에서의 y_out은 0.98로 나타났으며, 이 값은 제어 이전의 K값 1과 거의 일치한다. 또한 peak값이 0.98 이므로 overshoot는 5%이내에서 발생되었음을 확인할 수 있다.P-7) P-4, 5)의 tss를 50%로 줄이는 PID controller 설계.-> %OS는 필요시 5% 이내로 ( overshoot 5% = 30.9731 )a) 교재의 motor modeltsspeak time▶ K _{P} =13.7, K _{I} =1, K _{D} =1 를 넣어준 결과 tss가 0.75에서 50%정도(=0.355)감소되었다. 1.3550에서의 y_out은 29.4887로 나타났으며, 이 값은 제어 이전의 K값 29.4892와 거의 일치한다. 또한 peak값이 30.3949이므로 overshoot는 5%이내에서 발생되었음을 확인할 수 있다.b) modeling 한 model▶ K _{P} =0.457, K _{I} =1.66, K _{D} =0.0095를 넣어준 결과 tss가 0.35에서 50%정도(=0.296) 감소되었다. 0.211에서의 y_out은 0.98로 나타났으며, 이 값은 제어 이전의 K값 1과 거의 일치한다. 또한 peak값이 0.98 이므로 overshoot는 5%이내에서 발생되었음을 확인할 수 있다.결론 및 고찰PID(Proportional-plus-Integrate-plus-Derivative)제어기는 비례-적분-미분 제어기로, 실제 산업현장에서 가장 많이 사용되는 제어기법이다. PID 제어 기법과 다른 제어기법과의 차이는 비례이득 Kp, 적분이득 Ki, 미분이득 Kd에 해당하는 값을 경험적 결과로 도출해 내야 한다는 것이다. PID 제어 설계 시에 각 이득 값들의 변화에 따른 플랜트의 응답 특성을 알면 각 이득 값을 도출하는 것이 매우 편리해 진다. 비례이득 Kp는 플랜트 응답의 상승시간(rise time)을 줄여주는 효과가 있으나, 정상상태 오차(Steady state error)를 줄이지는 못한다. 적분이득 Ki는 정상상태 오차를 제거하는 효과는 있으나, 과도응답 특성을 좋지 않게 만들 수 있다. 미분이득 Kd는 시스템의 안정도를 향상시키는 효과를 가지기 때문에, 오버슈트를 감소시키고 과도응답의 특성을 향상시킬 수 있다. 이 내용을 정리하면 아래의 표와 같다.이러한 특성들을 이용하여 PID의 각 이득 값들을 tuning하면 원하는 플랜트의 응답을 가지는 PID제어기를 설계할 수 있다. 각 계수들의 상관관계는 각 계수들이 서로 영향을 미치므로 항상 일정하지는 않다.교재의 motor model에 의해 구해지는 L(낭비시간), T(시정수), K(정상 값)을 이용하여 Kp, Ki, Kd에 해당하는 범위를 구해 보면 아래의 표와 같이 나타난다. 실제 설계의 스펙을 만족시키는 PID제어기를 만들기 위해 I항에 한해 범위 밖의 값을 사용하였다.