• 전문가 요청 쿠폰 이벤트
*준*
Bronze개인인증
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 2
검색어 입력폼
  • pspice를 이용한 active 소자, switched capacitor 버터워스(butterworth) 필터설계
    Micro electronics 2Project 2Butterworth LPFHand calculation우선, 버터워스 lpf의 Amax와 Amin을 구하기 위하여 손으로 계산하였습니다. 우선, -0.25db를 만족하기 위한 ㅣH(f1) l의 값은 0.972, ㅣH(f2) l의 값은 0.096입니다. 이를 통하여 의 식과 의 식을 활용하여 ( = 1853.57 을 통하여 n=4의 값을 구하였습니다. 이를 첫 번째 식에 대입하여, w0 = 의 값을 구하였습니다. 이 값을 이용하여, , , , 의 값을 구하였습니다. 이 pole의 값들과 w0의 값을 통하여 구한 transfer function은 으로 구했습니다.이것을 poly 함수를 통하여 구하였는데, code는 다음과 같습니다.w = 2*pi*(10040);p = poly([w*exp(pi*j*5/8) w*exp(pi*j*7/8) w*exp(pi*j*9/8) w*exp(pi*j*11/8)]);figure(1); bode(w^4, p)이를 통하여 다음과 같은 결과를 얻었습니다. 먼저는 Amax를 커서를 통해 본 것입니다.위에서 frequency =4.39*10^4(rad/s)인데, hz는 1/s의 단위를 가지므로 4.39*10^4/를 통하여 7khz가 됩니다. 여기서 magnitude = 0.244db이므로, 조건을 만족함을 볼 수 있습니다.위와 같이, frequency =1.13*10^5rad/s인데, 이를 로 나눠보면 17.98khz가 됩니다. 이 때에 magnitude가 -20.3db이므로, 18khz에서 20.3db 이상이 됨을 알 수가 있습니다.Buttap 명령어 사용위와 같은 값이 정확한지 확인하기 위하여 buttap 명령어를 사용하여 값을 구했습니다. 코드는 다음과 같습니다.[z,p,k] = buttap(4);p = 2*pi*10040*p;k=(2*pi*10040)^4;z = [];a=tf(k,poly(p));bodemag(a)위와 같이 코드를 짜고 실행하였을 때 얻은 결과를 hold on 명령어를 통하여 비교해 보았을 때, 완벽하게 일치하는 것을 확인하였습니다. 더욱 정확하게 알아보기 위하여 커서를 이용해 알아보았습니다.magnitude에서 0.01의 차이가 있으나, 커서의 옮김에 따라서 값이 미세하게 바뀌는 것을 확인하였습니다.Amin의 경우는 다음과 같습니다.그 결과, 위와 같이 결과가 일치함을 관찰할 수 있었습니다.Butterworth LPF using Tow-Thomas biquad설계우선, Tow-Thomas biquad를 이용하여 butterworth 회로를 구성하였는데, 전체적인 회로도는 다음과 같습니다.1번 문제에서 구한 butterworth filter는 pole이 총 4개, zero가 0개이며 분자값은 w0^4의 값을 가지는 필터입니다. Fig1에서 주어진 필터의 transfer function을 구해보면, 을 구할 수 있습니다. 그런데, 이를 살펴보면 butterworth filter와는 다르게 pole 2개, 분자값이 w0^2임을 알 수가 있고, 따라서 첫 번째 filter의 output을 다시 동일한 모양의 filter의 input에 넣어주어, * 의 형태로 transfer function을 구하였습니다. 이를 통해 를 구할 수 있고, 임을 이용하여 C와 R값을 구하였습니다. 여러 실험을 통해 확인한 결과, 이 비율이 정확하게 맞기만 하면 Amax와 Amin의 값은 조건에 만족함을 확인할 수 있었고, 계산하여 값을 정하였습니다.조금 더 자세히 들어가 보면, 의 식에서 알 수 있듯이, 분모의 pole들이 총 4개이며, 따라서 * 의 pole들 또한 p1, p2, p3, p4와 같아야 함을 볼 수 있습니다. 따라서 아래의 식을 사용하여 pole을 구해 보면, 임을 확인할 수 있고, 따라서 의 식을 로 바꾸어 비교해 보면, Q = 1.30656296489임을 확인할 수 있습니다. 위와 같이 4개의 pole들을 다 비교해 보면, Q는 총 두 개의 값, Q = 1.30656296489과 Q = 0.54119610014를 구할 수 있고, 이를 통해 두 개의 Tow-Thomas biquad filter의 Q값을 다 알 수가 있습니다. 이를 QR값에 넣어 실행한 결과, 원하는 결과를 얻을 수 있었습니다.결과AminAmin은 18khz에서 -20.3db 이상을 만족하면 되고, 결과는 다음과 같습니다.위와 같이, 18khz에서의 db값이 -20.322로서, Amin의 spec을 맞출 수 있었습니다.AmaxAmax는 7khz에서 -0.25db 이하를 만족하면 되고, 결과는 다음과 같습니다.위와 같이, 7khz에서 값이 -0.236.728 db 가 됨을 확인할 수 있습니다.DC gainDC gain의 경우, LF에서 0을 만족함을 볼 수 있습니다.Optimization각 capacitor의 값은, 만약 과 Q의 값을 유지하기만 한다면 결과에 영향을 미치지 않는 것을 확인할 수 있었고, 이를 통해 capacitor를 최소로 optimization하는 방법은, C의 값은 R의 크기와 반비례하므로 R 값의 범위를 최대한 이용할 때에 가능하다는 것을 알 수 있었습니다. 또한 QR값이 있고, 한 개의 Q가 1.3이기 때문에 QR의 값을 2meg 아래로 해야합니다. 이를 통해 구한 최적의 R, C값은 다음과 같습니다.C = 10.37pR = 1528648.59*************6768199383Butterworth filter using switched capacitor LPF설계우선, 회로의 설계는 문제 2번에서 사용한 것 그대로를 가져와, R 값들을 switched capacitor로 변형하였습니다.이 회로로부터 구한 switched capacitor filter의 transfer function을 통해 구한 , C1, C2, C3, C4, C5, C6의 값은 아래 그림을 기준으로, 입니다. 추가로, 회로를 구성할 때 Tc의 값이 2 micro sec로 주어졌는데, design guide에서 주어진 phi2의 값이 V1 = 0, V2 = 1로 주어졌는데 이렇게 사용하면 Tc의 값이 회로적으로 제대로 들어가지 않기 때문에 V1 = 1, V2 = 0으로 넣어 설계하였습니다.이후, 우선 w0 = 2*pi*10040로부터 K의 값을 구하였는데, 이는 K = 0.126*************75827로 구해졌습니다. 이후 C5를 10p로 정하고, 문제 2번에서의 Q = 1.30656296489를 이용하여 C4 = 13.0656296489p를 구하였습니다. 그리고, 아래의 filter에서는 Q값이 위 filter와는 다르므로 이를 조절하여 값을 얻었습니다. 이후 C4 = C3이고, C1 = C4/K로부터 C1의 값을 구하였는데, 이 경우 C1 = 103.55**************************5p의 값이 나와, capacitor의 허용 범위를 초과하게 되었습니다. 값을 그대로 넣어 실험해 본 결과, 이론상으로 문제가 없었기 때문에 조건을 만족하였습니다.
    공학/기술| 2015.06.19| 12페이지| 2,000원| 조회(258)
    미리보기
  • PI, PD, PID 제어기의 matlab, simulink 구현 평가A좋아요
    controlengineeringP1. PI 제어기(steady-state error 개선)? Matlab을 이용해 구한 root locus와 time response주어진 system의 G(s)를 구해 본 결과,{1} over {(s ^{3} +13s ^{2} +32s+20)}이 나왔고, PI 제어기를 통해 compensate한 system의 G(s)는{s+0.1} over {s ^{3} +13s ^{2} +32s+20}이 나왔습니다. 이 두 system의 root locus와 K값, pole의 위치를 구하기 위해 다음 code를 통해 구현하였습니다.위와 같이 root locus를 구해본 결과, 다음과 같은 결과가 나왔습니다.uncompensatedcompensateduncompensated와는 달리, compensated system에서는 0에 pole이 추가되었고, 그와 가까이에 zero가 추가된 것을 확인할 수 있습니다.또한 [k, poles] = rlocfind(ng,dg)를 통하여 K값과 그 곳의 pole 좌표를 구한 것은 다음과 같습니다.uncompenated compensated다음은 time response를 구한 것입니다.아래의 code는 책에서 아이디어를 빌려와, matlab에서 한 figure 안에 두 개의 time response를 구현한 것입니다.Gu는 원래 system의 G(s)를 나타낸 것이며, Tu는 이를 이용하여 unity feedback system을 구성합니다. Gc는 새로 추가되는 pole과 zero들을 나타낸 transfer function이며 Gu와 Gc를 곱하여 compensated system을 구현합니다. step()은 각 system의 time response를 구현하는 code입니다. 또한 hole는 figure(2)에 두 그래프를 동시에 구현하기 위함입니다.이를 통해 나온 time reponse는 다음과 같습니다. 파란색 선이 uncompensate, 빨간색 선이 compensated 된 time respone에 넣어 관찰하면 time response의 개선 여부를 쉽게 관찰 할 수 있었습니다.이 곳에서의 time response 역시 빨간 선이 compensated, 초록 선이 uncompensated system이며 s.s.e가 개선되는지 알아보기 위해 step input을 함께 관찰하였습니다.또한 simulink를 통해 구현한 time response는 관찰시간이 길어지면 그래프가 잘 안 보이기 때문에, 관찰 시간을 10초로 하였습니다. 최종적으로는 matlab에서와 같이 steady state error는 0으로 개선됩니다.P2. Lag 제어기? Matlab을 이용해 구한 root locus와 time responselag 제어기를 구현하기 위해, system의 G(s)에{s+0.1132} over {s+0.01}을 곱하였습니다. 수식적 계산은 생략하겠습니다. 이를 통해 구한 G(s)의 식은{s+0.1132} over {s ^{4} +13.01s ^{3} +32.13s ^{2} +20.32s+0.2}이며, 이를 matlab으로 구현한 code는 다음과 같습니다.이 code를 통해 구해진 root locus는 다음과 같습니다.lag compensated다음은 lag compensator를 사용했을 때, matlab을 통해 구한 time response입니다.P1에서와 같이, code는 책에서 아이디어를 얻어 작성하였으며, 위에서 관찰 할 수 있듯, lag compensator 또한 새로 추가된 pole과 zero가 서로 상쇄될 만큼 충분히 가깝기 때문에 root locus에는 거의 영향을 주지 않았고, time response는 1/10 수준으로 떨어져 거의 0에 가까움을 볼 수 있습니다.? Simulink를 이용하여 time response를 구현simulink에서 또한 lag compensator를 계산하여 입력값을 그대로 넣어주었고, 개선된 정도를 알아보기 위해 step input과 original system을 cope에서 함께 관찰하였습니다.simu의 G(s)는{s+3.006} over {s ^{3} +10s ^{2} +24s}가 나왔습니다. 이를 구현하기 위한 matlab code는 다음과 같습니다.uncompensated compensated위의 code들을 이용하여 구현된 root locus는 다음과 같습니다.uncompensated compensatedPD 제어기는 zero 하나만을 추가하는 것이기 때문에, root locus에 큰 변화를 가져오게 됩니다. 결과는 위와 같았습니다.각 system의 time response를 구하기 위한 code는 다음과 같습니다.위의 code를 통하여 구해진 time response는 다음과 같습니다.파란색 선이 uncompensated system의 time response이며, 빨간색 선이 compensated system의 time response입니다. settling time이 대략 4.5초에서 1.5초로 줄어든 것을 확인할 수 있습니다.? Simulink를 이용하여 time response를 구현simulink를 이용한 것은 다음과 같습니다.위의 simulink를 이용하여 구현한 time response는 다음과 같습니다.matlab을 이용한 것보다는 알아보기 힘들지만, settling time이 충분히 작아져있음을 관찰할 수 있습니다.P4. Lead 제어기? Matlab을 이용해 구한 root locus와 time responseLead 제어기를 구현하기 위해서 구한 3개의 pole과 zero들을 각각 구하여 G(s)에 곱한 결과는 다음과 같습니다.1){s+5} over {s ^{4} +52.96s ^{3} +453.6s ^{2} +1031.04s}2){s+4} over {s ^{4} +30.09s ^{3} +224.9s ^{2} +482.16s}3){s+2} over {s ^{4} +18.971s ^{3} +113.71s ^{2} +215.304s}이를 이용하여 root locus를 구하기 위한 code는 다음과 같으며, 각각 따로 구현하였기 때문에현하였습니다.위의 그림에서, 빨간 선과 노란 선은 1)과 2), 보라색 선은 3), 파란색 선은 uncompensated system입니다. uncompensated의 settling time을 4.5초로 보면, 1)과 2)는 2.2초정도로, 3) 또한 비슷하지만 성능에서 조금 차이를 보이고 있습니다.? Simulink를 이용하여 time response를 구현simulink는 matlab에서와는 달리 한 번에 세 개의 입력을 넣을 수 있어 좀더 간단하게 구현이 가능했습니다.이를 통해 구한 time response는 다음과 같습니다.색이 비슷하여 구분하기가 쉽지는 않지만, matlab에서의 결과를 보고 해석한 결과, matlab과 같은 결과가 나왔습니다.P5. PID 제어기(settling time, steady-state error 개선)? Matlab을 이용해 구한 root locus와 time response원래 system의 G(s)를 구한 것은{s+8} over {s ^{3} +19s ^{2} +108s ^{2} +180}이며, 이를 PID 제어기를 통해 개선한 G(s)는{s ^{3} +64.42s ^{2} +479.32s+223.68} over {s ^{4} +19s ^{3} +108s ^{2} +180s}입니다. 이를 구현하기 위해 사용한 matlab code는 다음과 같습니다.uncompensated compensated위의 code를 통해 구현한 root locus는 다음과 같습니다.uncompensatedcompensated위와 같이, PID 제어기는 PI 제어를 위한 system은 서로 상쇄되나, PD 제어를 위한 zero의 추가가 root locus를 변화시킴을 볼 수 있습니다.time response를 구하기 위한 code는 다음과 같습니다.위의 code를 통해 구현한 time response는 다음과 같습니다.빨간색 선은 compensated system, 파란색 선은 uncompensated system입니다. uncompensate된 것을 확인할 수 있습니다.P6. Lag-Lead 제어기? Matlab을 이용해 구한 root locus와 time responsesystem의 G(s)를 구하였을 때,{1} over {s ^{3} +16s ^{2} +60s}가 나왔으며, lag-lead 제어기를 붙인 system의 G(s)는{s+0.04713} over {s ^{4} +39.11s ^{3} +291.391s ^{2} +2.91s}가 나왔습니다. 이를 통해 구현한 matlab root locus code는 다음과 같습니다.uncompensated compensated위의 code를 이용하여 구현한 root locus는 각각 다음과 같습니다.uncompensatedcompensated0.0471부근의 확대본lag-lead 제어기를 통해 넣은 식은{s+6} over {s+29.1}과{s+0.04713} over {s+0.01}이므로, 본래의 G(s)의 pole에 있는 s+6과 상쇄되어 전체적으로는 pole 하나만이 추가된 형상이 됩니다. 전체적으로 root locus는 변화됩니다.다음은 time response를 구현하기 위한 code입니다.Gu1과 Gu2로 나누어서 계산을 한 이유는, 각각의 K값이 다른데, 이를 해결하기 위한 방법입니다. 다른 문제들에서는 K값이 크게 차이가 없어 괜찮았으나, P6에서는 거의 10배가 차이가 나기 때문에 적용한 것입니다.이를 통해 구현한 step input의 time response는 다음과 같습니다.파란색이 uncompensated, 빨간색이 compensated time response입니다. 개략적인 관찰을 통하여, settling time이 약 2.6초에서 1.6초정도로 줄어든 것을 관찰할 수 있습니다.ramp input에 대한 time response를 구하는 code는 다음과 같습니다.각 변수를 지정하는 방법은 같으나, lsim code를 이용하여 각 system에 들어가는 input을 ramp input으로 바꾸고, y = x 그래프를 넣었습니다.현
    공학/기술| 2015.01.13| 25페이지| 2,500원| 조회(2,153)
    미리보기
전체보기
받은후기 1
1개 리뷰 평점
  • A+최고예요
    0
  • A좋아요
    1
  • B괜찮아요
    0
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 21일 화요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
12:37 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감