Bioengineering Laboratory LabⅡ- Lab 6. Medical Imaging Acquisition -1. Introduction본 Lab에서는 Medical imaging acquisition의 원리와 reconstruction algorithm을 이해하는 것으로, CT와 PET, MRI를 이용하여 얻은 raw data를 projection이나 reconstruction해 보고, 실제 실험을 해서 얻은 data가 의미하는 것, projection이 의미하는 것, 이미지를 reconstruction하는 원리와 parallel imaging을 수행하는 원리, SENSE algorithm에 대한 이해 등을 목적으로 한다.2. 이론적 배경X-ray CT는 의학용 이미지 기술의 하나로 인간의 몸의 절단면을 보여주는 기술이다. 절단면 내부를 촬영하기 위해서 인체 투과성이 높은 X-ray가 이용되는데, 인체 내부의 서로 다른 기관들의 X-ray attenuation coefficient가 다르다는 점을 이용한다.X-ray 광자가 인체를 투과할 때에, Rayleigh scattering, Compton scattering, Photoelectric absorption등의 성질에 의해서 투과하는 X-ray 광자의 양이 줄어든다. 이 X-ray가 줄어드는 정도는 그 부분의 물질의 성질에 따라 변하게 되며, 단위 길이에 대해서 X-ray 광자가 줄어드는 정도를 수치화 한 것이 attenuation coefficient이다.PET란 Positron Emission Tomography의 약자로 체내에서 일어나는 특정 작용에 대한 3D 이미지를 얻을 수 있는 functional imaging 기술의 하나이다. 기존의 Structure에 대한 이미지만을 얻을 수 있었던 CT와는 대조적으로 기능적인 영상까지 얻을 수 있다.생물 활성을 띄는 방사성 동위 원소를 가지는 분자(tracer)는 시간이 흐름에 따라 양전자를 조금씩 내뿜는다. 이 분자를 생체 내에 집어넣으면 활만들어 준다.)? MATLAB의 radon함수를 이용하여 1˚씩 sampling해서 0˚부터 179˚까지 object를 sampling한다. 그리고 보여준다.? sinogram으로부터 iradon함수를 사용하여 object를 Reconstruct해 준다. 이때, linear interpolation과 ramp filter를 option으로 사용한다.? 원본의 object와 reconstruction을 통해서 만든 object를 동시에 도시하여 비교한다.[2] X-ray CT (3D)? CT 측정 data는 CT_measurement.mat이란 파일로 1˚ 간격으로 0˚부터 179˚까지 저장되어 있다. 이 측정 결과를 load해서 동일한 figure window에서 각각의 angle에 대하여 2D image를 순차적으로 보여주자.? 측정한 data를 projection으로 바꾸고, 위와 동일하게 보여주자.? iradon함수를 이용하여 object를 reconstruct하자. 각각의 z축을 따라 자른 단면적으로 reconstruct를 해야 한다. 그리고 reconstruction한 image를 순차적으로 z축을 따라서 보여주자.(output object의 크기는 128x128x128이고, linear interpolation과 ramp filter를 option으로 사용하자.)? reconstruction image와 original image를 z=64에서 보여주고, 비교하자.(original image는 CT_head128.mat에 저장되어 있다.)[3] MRI? main_SENSE.m을 채우자.? SENSE_reconstruction함수를 이용하자. 두 개의 SENSE_reconstruction 코드 파일이 있는데, 이것들은 동일한 코드이다. p-code 파일을 열수는 없지만, 정확하게 작동한다고 가정하고 사용한다. m-file을 사용하여 이 함수의 variables들을 확인 할 수 있다.? fourier transform을 사용하거나 inverse four이는 아래와 같이 사용한다.I = iradon(P, theta, interp, filter, frequency_scaling, output_size)input parameters로는 P, theta, interp, filter, frequency_scaling, output_size가 있다. 각각이 의미하는 바가 무엇인지, 또, 우리가 iradon을 수행할 때 사용한 parameter는 어떤 의미가 있는지 살펴보자.iradon은 2차원 배열 P로 주어지는 projection data로부터 image I를 reconstruction한다. R의 각 columns는 parallel beam projection data이다. iradon은 rotation의 중심이 projection의 중심점이 된다고 가정하고 있고, 이는 ceil(size(R,1)/2)과 같이 정의된다. 즉, P는 projection data로 inverse radon transform을 수행할 data정도로 생각할 수 있다.theta는 projection을 취한 각도를 degree로 나타내고 있다. 이것은 scalar가 될 수도 있고 vector가 될 수도 있다. theta가 scalar인 경우 하나의 각도에 대하여 inverse radon transform을 수행하며, vector로 주어지는 경우 각각의 column vector에 inverse radon transform을 수행하여 결과를 matrix form으로 만들어 준다.intrep은 interpolation에 대한 정보를 담고 있다. interpolation이라는 것은 discrete된 data들을 이용하여 새로운 data point를 창출하는 것을 말하며, 이것은 curve fitting이나 regression등을 이용하여 수행한다. MATLAB에서 interp에 사용할 수 있는 option은 아래의 Table 4-1과 같다. default의 경우 linear이다. Option for interpValueDescriptions‘neare:180figure(10)imagesc(CT_measurement(:,:,i)'), colormap gray, axis off, axis equaltitle(['CT measurement ',int2str(i),' (deg)'])end아래의 Figure 4-8을 보자. I는 radiation intensity이다. I는 앞서 언급한 바와 같이 X-ray가 많이 통과해야 밝기 때문에, photon의 개수에 비례하며, s에서 s+ds로 가는 동안 감쇄하기 때문에, 다음과 같이 표현할 수 있다.I(s+ds)=I(s)- mu (s)I(s)ds`````````` RARROW `````````` {I(s+ds)-I(s)} over {ds} =- mu (s)I(s)lim _{ds`` -> ``0} {{I(s+ds)-I(s)} over {ds} `} =` {dI} over {ds} `=`- mu (s)I(s)````````` RARROW ````````` {dI} over {I(s)} =- mu (s)dsTHEREFORE ```I(s)=I _{o} e ^{- int _{} ^{} {mu (s)ds}}우리가 load한 data는 I(s)를 구한 것으로 이것은 Figure 4-9와 같이 물체에 X-ray를 투영시켜서 투과된 X-ray의 radiation intensity를 측정한 것이다. 즉, 밀도가 높거나 기타 이유로 X-ray의 attenuation이 많이 일어나는 경우에는 투과되는 X-ray의 양이 적어서 어둡게 나타나고, 밀도가 낮거나 여러 이유로 X-ray의 attenuation이 적게 일어나는 경우에는 투과되는 X-ray의 양이 많아서 밝게 나타난다.object를 sampling할 때, 1도부터 180도 까지 sampling을 하는데, 이는 projection이기 때문에, 위상의 차이가pi(rad) 차이가 날 경우 방향만 반대인 결과를 얻을 수 있기 때문이다. 따라서 중복된 정보를 포함하기 때문에, 1도부터 180도 까지 만을 sampling한다.위의 Figure 4하여 원본보다 낮은 resolution의 사진을 reconstruction했을 때 얻을 수 있다. 우리가 이용한 linear interpolation으로 인하여 경계에서 두 부분의 중간 값의 data가 얻어져서 약간 흐려지는 현상이 나타나는 것 같다. 또, Ram-Lak filter, 즉 ramp filter의 사용으로 인하여 변화가 급속한 high frequency부분이 부각되고, 변화가 적은 low frequency부분이 상대적으로 감쇄하는 경향을 보인다.sampling을 수행 할 때, 1도 간격으로 수행하지 않고 더 정밀하게 sampling하여 data를 얻는 경우 더 resolution이 높은 그림을 얻을 수 있다. 하지만, 이는 더 높은 정밀도를 얻는 대신 더 많은 저장 공간이 필요한 trade off가 있다. CT reconstruction과 original image CT reconstruction image와 original image를 동시에 보여주기 위한 code%% display reconstruction and original object% Load CT_head128.mat (original image) (128x128x128)load CT_head128.mat% show two cross-section images at z=64figure(13)subplot(1,2,1)imagesc(reconstruction_data(:,:,64)), colormap gray, axis off, axis equaltitle('reconstruction')subplot(1,2,2)imagesc(CT_head128(:,:,64)), colormap gray, axis off, axis equaltitle('CT head 128')[3] MRI? 결과 사진을 전부 첨부하자.아래의 Code 4-8은 SENSE_reconstruction function을 이용하여 MRI image들을 얻는 code이고, 이를 이용하여 얻은 결과는 아래의 Figure 4-15와
Bioengineering Laboratory LabⅡ- Lab 5. Cardiovascular Monitoring-1. Introduction이번 Lab5 에서는 저항, 축전기, diode, Op-Amp와 같이 회로에서 사용되는 기본적인 소자를 이용하여 ECG, PPG와 같은 생체신호를 측정하는 회로를 breadboard에 구성하고, 이를 LabVIEW를 이용하여 실시간으로 분석하는 digital cardiovascular monitoring software를 만드는 것이다. ECG나 PPG는 실제 병리학적으로 널리 이용되는 우리 몸의 증상을 담고 있는 중요한 생체신호이다. RRV나 PTT와 같은 생체신호로부터 얻어지는 여러 가지 정보들은 우리가 지금 어떤 상황인지, 스트레스에 민감한지, 둔감한지와 같이 여러 가지 정보들을 알려주고 있는데, Lab5에서는 이것들을 분석해 보는 회로와 software를 만들어서 medical instrument를 직접 design해보고 구현해 보는 시간을 갖는다.2. 이론적 배경이번 Lab5를 진행하기 위해 알아야 할 이론적인 배경은 다음과 같다. 생체 신호를 측정하고 분석하는 것이 주가 되는 실험이었기 때문에, 이에 관련된 지식들을 많이 알아야 했다.- ECGECG, 또는 심전도라고 부르는 이 전기적인 신호는 심박동과 관련되어 나타나는 전위변화를 나타내는 심장의 전기적 그림을 말한다. 심근이 활동을 할 때는, 근육의 활동과 비슷하게 전기적인 활동을 보이며, 활동전위가 생긴다. 이것이 신체의 표면으로 전달되어 파형으로 기록한 것을 ECG라고 하는데, 즉, ECG는 심근의 탈분극과 재분극에 의하여 일어나는 전기적 흥분 상태가 그래프 상에 기록된 것이다.심장에서 전기적 자극은 우심방 벽에 위치한 동방결절(SA-node)에서 시작되어 방실결절(AV-node)를 거쳐 방실 속으로 전달 된 후 Prukinje fiber를 지나 심실의 근섬유를 자극 시킨 후 심실을 수축시킨다.? P파 : SA node를 통해 심방에 전달된 자극이 심방을 탈분극 시키면서 나타나는 파장. 약 0.08초 정도 소요되며, P파가 시작되고 약0.1초 후 심방은 수축, P파는 두 심방의 수축의 전기적인 활동을 표시.? QRS파 : 심실의 탈분극시, 심실수축 이전에 실행. 또한 QRS 파가 복잡하게 나타나는 것은 심근 및 심장 전도계의 소요시간은 약0.008초, QRS파는 방실결절로부터 나온 전기적인 자극이 Prukinje 섬유와 심근세포 내로 전도되는 것을 보임.? T파 : 심실의 재분극시에 나타남. 약 0.16 초 정도 소요. 재분극은 탈분극보다 QRS파 보다 길게 벌어지고 진폭도 보다 낮게 나타남. 또 심방의 재분극은 QRS 파에 가려져 나타나지 않음 ECG wave심전도는 간단하면서도 풍부한 정보를 얻을 수 있기 때문에, 질환의 발견부터 진단, 병상 파악뿐만 아니라 건강한 심장의 상태나 반응을 보기 위해 널리 사용된다. 부정맥, 심장 비대, 선천성 심장 기형, 심장 판막 질환, 심근 질환, 관상동맥 질환, 심장의 염증성 질환, 전해질 불균형이 나타나는 경우 ECG가 정상과 다른 양상을 보이기 때문에 이와 같은 경우 ECG를 이용하여 진단할 수 있으며, 심장병의 진행이나 회복상태의 진단, 치료약의 효과나 부작용의 판정, 마취나 수술시에도 이용가능하다. 정상인의 경우 심박동수가 분당 60~100회이고, 리듬이 규칙적이고, 심전도 파형의 크기나 모양이 정상으로 나타난다. 하지만, 정상 심전도 소견이 심장병이 없는 건강한 심장을 뜻하지는 않는데, 일례로 협심증의 경우에 흉통이 없는 상태에서는 정상 소견인 경우가 많다. 따라서 흉통, 심계항진(두근거림), 운동 시 호흡곤란 등 유의한 증상이 있다면 전문가의 진료를 통해 적절한 검사 과정을 거쳐 자신의 이상이 무엇인지 정확히 진단받는 것이 중요하다. normal and abnormal ECG properties병명리듬박동수(/min)P파PR간격(s)QRS군(s)정상 동성 리듬규칙60~100정상. 1개의 P 파 뒤에 한 개의 QRS군0.12~0.20
Bioengineering Laboratory LabⅡ- Lab 4. Data-Acquisitoin and LabVIEW-1. Introduction본 Lab의 목적은 Data acquisition의 원리와 목적을 알고, NI USB-6008 DAQ device를 이용하여 data acquisition을 수행하는 방법을 알고, graphical language인 LabVIEW에 익숙해지는 시간을 갖고, LabVIEW를 이용하여 impedance measurement를 수행하는 program을 작성해 보는 것이다.소기의 목적을 달성하기 위해서 우리는 본 LAB에서 analog signal을 USB-6008 DAQ device를 이용하여 digital device에서 저장, 가공할 수 있는 형태인 digital signal로 바꾸는 data acquisition을 수행하는 것을 했다. analog signal의 input/output과 digital signal의 input/output을 NI USB 6008를 이용하여 수행했다. 또, LabVIEW를 사용하여 회로와 interaction하는 programming을 직접 작성해 보았다.구체적으로 보면, Input function을 NI USB 6008 DAQ Analog input function을 사용하여 sampling하여 digital signal로 만드는 task, NI USB 6008에서 differential input을 사용해 보는 task, NI USB 6008을 이용하여 analog output을 만들어 내는 task, NI USB 6008을 사용해서 digital input/output을 만들어 보는 task, 마지막으로, impedance를 측정하여 graph로 출력하는 LabVIEW 프로그램의 작성하는 task로 LabVIEW를 이용한 프로그램에 익숙해지는 실험을 수행하였다.2. 이론적 배경- DAQ (Data AcQuisition)? What is data acquisition?보통, tra자가 컴퓨터를 가지고 작업을 하는 것에 익숙하기 때문에, VI는 사용자에게 편한 작업환경을 제공한다. 다른 장치와는 다르게 VI는 사회의 변화에 맞춘 업그레이드나 변신이 가능하다. 예를 들면 internet이 요즘사회의 연구 프로젝트의 주된 부분이기 때문에, LabVIEW의 개발자들은 internet과 관련된 기능을 버전 6.0에 추가하였다.VI를 사용할 경우 여러 연결된 장치를 하나의 system으로 만들고 data를 원하는 순서대로 가공해 주어야 하는데, LabVIEW는 그런 프로그램을 작성하는데에 최적화된 프로그래밍 언어이다. 사용자는 LabVIEW를 통하여 원하는 기능을 가진 새로운 instrument를 만들 수 있고, 이 과정을 통해 효율성을 높일 수 있다.3. 실험 개요 및 절차? LabVIEW를 이용하여 USB-6008 DAQ장치의 Analog I/O, Digital I/O에 대해 공부한다.? Getting Started with LabVIEW의 설명서를 따라서 LabVIEW를 공부한다.? LabVIEW를 이용하여 impedance measurement의 해결방한을 발전시켜 나간다.1. 실험 장치? NI USB-6008 DAQ board, NI-DAQmx, LabVIEW? Oscilloscope, Digital multimeter, Power supply, function generators? Bread board2. 소자? 저항, 축전기, Op-Amp(실제로 사용하지 않았다.), LED? Switch(전선의 connection/disconnection으로 switch의 역할을 수행하였다.)Experiment 1) NI USB-6008 DAQ Analog Input Function(1) function generator를 이용하여±5V의 amplitude인 각각 10Hz, 100Hz, 그리고 1kHz의 주파수를 갖는 서로 다른 sine wave를 만들자. Oscilloscope를 이용하여 만들어진 파형을 확인하자.(2) 각각의 sine wave를 r {0.001} =100개의 sample을 얻어야 한다. 이때, 시작점을 고려하여 1을 더해주면, 101개의 sample이 필요하다. 동일한 방법으로 2주기와 5주기를 계산하면 201개, 501개가 된다. 이렇게 설정하여 sampling을 수행하였다.Table 4-1. 10Hz case10Hz signal1 주기2 주기5 주기f _{s} `=`1000Hzn _{s} `=`101개f _{s} `=`1000Hzn _{s} `=`201개f _{s} `=`1000Hzn _{s} `=`501개Table 4-2. 100Hz case100Hz signal1 주기2 주기5 주기f _{s} `=`10kHzn _{s} `=`101개f _{s} `=`10kHzn _{s} `=`201개f _{s} `=`10kHzn _{s} `=`501개다음으로 100Hz signal을 1주기, 2주기, 5주기만큼 sampling한 것은 위의 Table 4-2와 같다. 역시 Nyquist sampling theorem에 의하여 적어도 200Hz의 sampling frequency를 잡아주어야 하고, 우리는 200보다 충분히 큰 10kHz를 sampling frequency로 잡아주었다. 여기서도 sample개수를 계산해 보면, 1주기의 경우 0.01s만큼의 signal을 sampling해야 한다. 그런데, sampling frequency가 10kHz이고, 이는 sample 간격이 0.1ms임을 말한다. 총{0.01} over {0.1ms}=100개의 sample이 필요하고 시작점을 고려하면 101개의 sample이 필요하다. 같은 방법으로 2주기, 5주기 역시 구해보면, 201개, 501개의 sample 개수가 필요하다.다음으로 1kHz signal을 1주기, 2주기, 5주기만큼 sampling한 것은 아래의 Table 4-3와 같다. Nyquist sampling theorem에 의하여 적어도 2kHz의 sampling frequency를 잡아주어야 하고, 우리는 10kHz를 sampling 4-5와 같이 200Hz, 5Vpp의 파형을 만들었다. 확인해 보면,Volt`=`1` TIMES `5V/D`IV`=`5V이고, frequency는{1} over {2.5TIMES`2ms/D`IV} =200Hz로 원하는 파형을 만들었다. 이를 USB 6008 analog input port에 동시에 연결하였다. 이 때, sampling을 위해서 sampling frequency를 정해주었는데, maximum sampling frequency가 10kHz고, 이것을 5개의 input이 나누어야 하므로 각각의 sample을 2kHz의 sampling frequency로 sampling하였다.Figure 4-5. 200Hz, sine wave(7) maximum sampling frequency는 위에서 본 바와 같이 2kHz이고, 이걸로 5주기만큼 신호를 sampling하려면n _{s} `=` {n`f _{s}} over {f _{o}} +1에 의해서n _{s} =51~개의 sample을 얻어야 한다. 이렇게 sampling한 신호를 MATLAB으로 불러서 plot해 보면 아래의 Figure 4-6과 같다. 이 때, USB-6008의 문제, 혹은 전선문제로 인하여 input이 제대로 연결이 안 되어서 2개의 input 에서는 1.4V근처의 전압이 출력되고, 나머지 3개의 input에 대해서만 sine wave가 출력되었다.우선 연결이 안 된 input의 경우 pre-lab에서 살펴본 바와 같이 analog input부분의 회로가 Figure 4-8과 같기 때문에, Figure 4-8의 왼쪽의 부분에서 AI에 아무것도 연결하지 않게 되면, 127k`OMEGA부분이 float이 되고, 이는 결국30.9k` OMEGA 와39.2k` OMEGA 가 2.5V _{ref}를 voltage dividing하는 회로가 된다. 그래서39.2k` OMEGA 에 걸리는 전압이 AI쪽에서 나타나게 되는데, 이를 계산해 보면,2.5` TIMES ` {39.2k} over {39.2k+3 이를 Threshold voltage라고 부른다. 이V _{TH}는 온도에 영향을 받는 변수로 상온에서 약 0.7V라고 알려져 있다. ideal 한 diode의 경우V _{TH}보다 높은 전압이 diode 양단에 걸릴 경우 short circuit과 같은 특성을 보이며,V _{TH}보다 낮은 전압이 양단에 걸리면 open circuit과 같이 행동한다. 지금 Diode의 +쪽에 5V를 걸어두고 ?쪽에 digital output과 연결시키고 있다. Figure 4-19의 위쪽과 같이 Digital output이 on되는 경우 5V의 전압이 출력되어 diode양단에 0V가까운 전압이 걸리게 되고, 이로 인해 diode는 off된다. 반대로 Digital output이 off되는 경우 0V의 전압이 출력되어 diode양단에 5V의 전압이 걸려서 diode가 on된다. 지금 Figure 4-18은 diode가 on되어서 빛을 내고 있는 것을 볼 수 있는데, 실험실이 너무 밝아서 잘 보이지 않는다. 따라서 Figure 4-18의 경우에는 Digital output이 off인 4-19의 아래쪽 부분에서 나타난다.Figure 4-18. Circuit implementation(2) 아래의 Figure 4-20과 같이 회로를 구성하였다. 그리고 P0.1에서 Digital output을 만들어 주고 있다.지금은 반대로 Diode의 +쪽에 digital output을 연결하고 ?쪽에 GROUND 즉, 0V와 연결시키고 있다. Figure 4-21의 위쪽과 같이 Digital output이 off되는 경우 0V의 전압이 출력되어 diode양단에 0V가까운 전압이 걸리게 되고, 이로 인해 diode는 off된다. 반대로 Digital output을 on시키면 5V가 digital output단자에서 나오게 되고, diode양단에 5V가 걸려서 on된다. 역시 Figure 4-20은 diode가 on되어서 빛을 내고 있지만, 실험실이 너무 밝아서 잘 보이지 않는다. 따라서 Figu경우
Bioengineering Laboratory LabⅡ- Lab 3. Bio-amplifier Design -1. Introduction이번 Lab 3에서는 주로 Filter를 Design하는 것에 초점이 맞춰져 있다. Filter는 여러 주파수 대역이 섞여 있는 신호에서 필요한 부분의 주파수 대역만을 통과시키고 나머지는 차단하여 결과적으로 원하는 주파수 대역의 신호를 얻거나 차단하기 위해 사용하는 회로이다. 이는 다양한 응용이 가능한데, 그 하나의 예로 60Hz power line noise를 차단하기 위하여 cut-off frequency가 60Hz이상인 HPF를 사용하는 것이 있다. 뿐만 아니라 EEG signal에서도 alpha, beta, gamma등 다양한 뇌파가 각각 고유의 주파수 영역을 가지고 있음을 이용하여 원하는 부분만을 취하여 분석할 수 도 있다. 이처럼 다양한 응용이 가능한 filter를 실제 breadboard상에 구현해 본다.Filter는 크게 active filter와 passive filter가 있는데, 이는 active elements의 유무에 의하여 결정된다. 본 실험에서 다루는 active filter라 함은 OP-amp를 기반으로 하여 Gain을 갖는 회로로 filter를 통과시킬 때 attenuation이 일어나는 것을 방지해 주기 때문에 유용하다. 이미 이론적으로 여러 가지 Filter들이 존재하는데, 이번 실험에서는 구현하기가 비교적 쉬운 Butterworth filter를 만들어 본다. 1st order LPF, HPF, 2nd order LPF, HPF를 만들어 보고, 1st order LPF와 HPF를 이용하여 BPF를 만들어 본다.2. 이론적 배경? active filter와 passive filter의 차이를 알아보자.-Active and passive filterFilter에는 크게 Active filter와 passive filter가 있는데, 이는 소자 중 active element가 filter desier에 대한 cut-off frequency를 구하고, pass band에서의 gain을 구하자.1st order LPFmagnitude와 phase를 각각 구해보자.? magnitude :LEFT | H(w) RIGHT | `=` LEFT ( 1+ {R _{2}} over {R _{1}} RIGHT ) {1} over {LEFT | 1+jwR _{3} C _{1} RIGHT |} =` LEFT ( 1+ {R _{2}} over {R _{1}} RIGHT ) {1} over {sqrt {1+(wR _{3} C _{1} ) ^{2}}}? phase :ANGLE H(w)`=`-tan ^{-1} (wR _{3} C _{1} )이 때, 이론적으로 cut-off frequency는 ?3dB만큼 magnitude가 감소하는 부분으로 아래와 같이 계산 할 수 있다.-3dB`=``20log _{10} ( {1} over {sqrt {(1+(wR _{3} C _{1} ) ^{2} )}} )를 만족하는w를 찾자.-3dB APPROX 20log _{10} {1} over {sqrt2}이므로,w는1+(wR _{3} C _{1} ) ^{2} `=`2를 만족해야 하고, 이를 풀면,w`=` {1} over {R _{3} C _{1}}이다. 따라서 cut-off frequency는f`=` {1} over {2pi`R _{3} C _{1}}과 같이 주어진다.또한,w가 0으로 간다고 가정해 보면LEFT | H(0) RIGHT | `=`1+ {R _{2}} over {R _{1}}으로 수렴하는 값을 얻을 수 있고, 이는 곧 pass band gain에 해당한다.1st order HPFmagnitude와 phase를 구해보면 아래와 같다.? magnitude :LEFT | H(w) RIGHT | `=` LEFT ( 1+ {R _{2}} over {R _{1}} RIGHT ) {LEFT | jwR _{3} C _{1} RIGHT |} over {LEFT | 1+jwR _{3} C _{1} RIGH경이 되지 않았기 때문에, PSPICE를 통하여 우리의 회로를 simulation 해 보았다. 아래의 Figure 4-3은 simulation을 수행하기 위한 option들을 나타내는 그림이고, 이를 가지고 simulation 해본 결과 아래의 Figure 4-4, 4-5와 같은 결과를 얻었다. Figure 4-4는 우리와 동일한 30Hz에서의 파형을 관찰한 것이고, Figure 4-5는 더 낮은 10Hz에서 관찰한 결과이다. Simulation optionsFigure 4-4에서는 Gain이 딱 2배가 되지 못하고 약간 attenuation이 일어나서 1.8배 정도의 Gain을 갖는 것을 보았고, Figure 4-5에서는 주파수가 낮아지면서 cut-off와 멀어졌기 때문에 더 2배에 가까운 결과를 나타내고 있음을 확인하였다. 우리가 실험을 통해 얻은 결과인 1.684배는 Figure 4-4의 simulation결과에 부합하는 약 1.8배(오차 6.44%) 정도 되는 Gain을 가졌음을 확인하였다. 또한, Figure 4-5의 10Hz에서의 simulation결과를 통하여 pass band(attenuation이 전혀 일어나지 않는 구간)에서는 Gain이 2가 됨을 확인하였다. 또한, cut-off frequency이전의 주파수 대역에서도 약간씩 attenuation이 일어나고 있음을 확인하였다. 30Hz에서 simulation 결과 10Hz에서 simulation 결과또한, 약간의 phase shift가 일어났는데, 이 역시 filter를 통과하면서 생기는 결과이다. 이는 Bode plot을 통하여 설명 할 수 있는데, 자세한 설명은 아래의 ?에서 다루도록 할 것이다.? cut-off frequency인 60Hz에서의 파형은 아래의 Figure 4-6과 같다. input signal의 경우 Figure 4-2에서와 동일한 signal인1.9` TIMES `0.5`=`0.95V _{}의 peak-to-peak amplitude를 가졌다. output의 경우도 y에서는 이론적으로1.586` TIMES `0.70795 = 1.1228배되는 signal이 관찰되어야 한다. 우리의 실험결과인 1.091은 약 2.82%정도의 오차를 가지고 이론에 부합한다. result at cut-off frequency(60Hz)역시 PSPICE를 이용하여 simulation을 해본 결과 아래의 Figure 4-18과 같은 결과를 얻었다. cut-off frequency 에서의 simulationMarker를 이용하여 Data를 수집해 보면 input waveform의 max value는 1.9998V로 2V input으로 설정한 값을 나타내고 있다. output waveform의 경우 max value가 2.2454V로 input에 비해 1.1228배가 큰 것을 확인할 수 있다. cut-off frequency에서는 이론적으로1.586` TIMES `0.70795 = 1.1228배되는 signal이 관찰되어야 하는데, simulation결과를 정확하게 반영하고 있다. 이는 우리의 실험 결과와 부합하고 있다.또한, time axis를 보면, input의 max-amplitude일 때의 시간(20.909ms)과 output의 max-amplitude일 때의 시간(24.935ms)이 약 4.026ms차이가 남을 확인할 수 있었다.? roll-off이 ?40dB/dec가 됨을 확인해 보자. dB단위에서 40dB를 실제의 magnitude변화로 계산해 보면,-40dB`=`20log _{10} X에서X`=`0.01이 됨을 확인 할 수 있다. 0.01배/Decade이기 때문에 x축인 frequency가 10배 증가함에 따라 amplitude가{1} over {100}만큼 변화하는 것을 확인해야 한다. 이것은 Bode plot에서 attenuation slope를 나타내고, -40dB/dec의 기울기를 갖는 것을 확인해야하기 때문에, 주파수를 10배 증가시키면서 amplitude가 0.01배가 되는지를 확인하는 것이다.아래의 Figure 4-19는 0795 = 1.4159배되는 signal이 관찰되어야 하는데, simulation결과는 이론을 정확하게 반영하고 있다. 이는 또한 우리의 실험 결과와 부합하고 있다.또한, time axis를 보면, input의 max-amplitude일 때의 시간(281.897us)과 output의 max-amplitude일 때의 시간(313.698us)이 약 31.801us차이가 남을 확인할 수 있었다.? roll-off이 20dB/dec가 됨을 확인해 보자. dB단위에서 20dB를 실제의 magnitude변화로 계산해 보면,20dB`=`20log _{10} X에서X`=`10이 됨을 확인 할 수 있다. 10배/Decade이기 때문에 x축인 frequency가 10배 증가함에 따라 amplitude가10배만큼 변화하는 것을 확인해야 한다. 이것은 Bode plot에서 attenuation slope를 나타내고, 20dB/dec의 기울기를 갖는 것을 확인해야하기 때문에, 주파수를 10배 증가시키면서 amplitude가 10배가 되는지를 확인하는 것이다.Figure 4-31은 주파수를 100Hz로 설정하고 관찰한 파형이고, Figure 4-32는 주파수를 1kHz로 설정하고 관찰한 파형이다. 100Hz에서 peak-to-peak amplitude를 계산해 보면,1.2 TIMES 1`=1.2V이고, 1kHz에서 peak-to-peak amplitude를 계산해 보면,2.2 TIMES 5`=12V~이다. 즉, 주파수가 10배 증가할 때, amplitude는 10배 증가하였음을 확인하였다. 이는 우리가 기대한 20dB(즉, 10배 증가)와 정확하게 부합하였다. 우리가 고른 100Hz, 1kHz가 cut-off frequency에 비하여 충분히 멀기 때문에, attenuation이 linear하게 일어나서 20dB/decade를 정확하게 보임을 확인하였다. 100Hz에서의 waveform 1kHz에서의 waveformPSPICE를 AC sweep을 이용하여 bode plot의 magn 있다.
Bioengineering Laboratory LabⅡ- Lab 2. Operational Amplifier Circuits -1. Introductionop-amp(Operational amplifier)는 2개의 input 단자와 1개의 output단자로 구성되어 있으며, terminal이 총 3개로 구성되어 있는 장비이다. op-amp를 이용하여 회로를 디자인을 하면 다양한 사칙연산을 수행할 수 있는 회로를 만들 수 있다. 이를 응용을 하면 amplifier circuit뿐만 아니라 Filter circuit과 같은 다양한 application에 응용될 수 있어 유용하다.이번 실험에서는 op-amp 회로를 직접 구현하여 op-amp를 이용해 다양한 사칙연산을 수행한다. 특히, 첫 번째 실험에서는 Voltage-level detector, 두 번째 실험에서는 non-inverting/inverting amplifier 그리고 세 번째는 가산기, 차산기 회로 마지막으로 Instrument amplifier를 실험하였다.2. 이론적 배경a. Working principle of Operational amplifier op-ampFigure 2-1은 op-amp의 modeling 그림이다. op-amp(operational amplifier)는 2개의 input 단자와 1개의 output 단자로 이루어진 3개 단자로 구성되어 있고, voltage dependent voltage source을 이용한 모델을 구축할 때 사용하는 장비이다. op-amp는 input 단자에 들어오는 두 전압의 차이를 증폭시키기 때문에,v _{out} `=`A(v _{+} -v _{-} ) differential amplifier라고도 불린다. 기본적으로 op-amp는 3개의 input/output 단자 외에도 2개의 supply 단자가 있고, 이 단자에서 +극과 -극의 supply 전압을 받아서 active element의 역할을 수행한다.이상적인 op-amp에서는 아래와 같은 특징을{1}} + {V _{2}} over {R _{2}} + {V _{3}} over {R _{3}} + {V _{4}} over {R _{4}} `+ {V _{out}} over {R _{f}} =0이므로V _{out`} =-R _{f} ( {V _{1}} over {R _{1}} + {V _{2}} over {R _{2}} + {V _{3}} over {R _{3}} + {V _{4}} over {R _{4}} `)와 같이 나타낼 수 있고, 이로 인해 Vout이 input의 linear combination으로 나타냄을 확인하였다. 역시 저항의 비를 조절하여 가중치를 조절할 수 있고, 이를 이용하여 사칙연산을 수행하는 회로를 설계 할 수 있다.e. Instrument amplifier다음 Figure 2-5는 Instrument amplifier의 circuit diagram이다. Instrument amplifier는 이름에서 유추할 수 있듯이 전자 악기에 주로 사용된다. 사용되는 부분은 electric guitar, electric keyboards, acoustic instrument, electric bass, amp등이 있다.Instrument amplifier의 장점은 자체적인 input buffer를 가지고 있기 때문에, 높은 input impedance를 가질 수 있고, 이는 ideal한 amplifier의 조건을 만족한다. 이는 곧 input impedance matching을 할 필요가 없음을 의미하는데, 이로 인하여 신호의 측정에 있어서 유리하다. 또 다른 장점으로는 매우 낮은 DC offset이나 low drift가 있고, Differential amplifier를 가지고 다시 한 번 두 신호의 차이를 구현하여 증폭시키기 때문에, Common mode rejection ratio가 높고, 이로 인하여 common noise에 굉장히 강하다. 또 Multistage amplifier이기 때문에 open loop gain 이 굉장히 높아서 i류 전압의 범위.? Large Signal Voltage Gain : 어떤 비율로 입력전압을 증폭시키는지를 나타낸 수치. 수치뿐만 아니라 어떤 조건에서 어느 정도 증폭되는지도 나와 있기 때문에 중요하다.? Output Voltage Swing : 부하저항에 따라서 Op-Amp가 포화되거나 clipping되는 현상 없이 공급할 수 있는 최대 전압. Op-Amp가 동작할 수 있는 범위를 제한한다. 실제 출력되는 전압의 범위를 알 수 있으므로 중요하다.? Output Short Circuit Current : Short circuit이 일어났을 때 전원 회로에서 뿜어낼 수 있는 최대 전류의 양을 말한다. Short circuit이란 전원 양단 사이에 저항이 없어서 엄청나게 큰 부하가 걸리는 것을 말한다. 일정한 전압으로 이 부하를 구동시키기 위해서는 전류를 매우 크게 뿜어내야 하는데, 이때 최대로 뿜어낼 수 있는 전류의 양을 Short circuit output current라고 한다.? Common-Mode Rejection Ratio : Common mode rejection ratio란 v+와 v-에 들어오는 두 신호가 Common part을 가지고 있을 때, OP Amp가 이를 통과시키지 않고 거부하는 정도를 나타낸다. 이 값이 높은 OP Amp는 높은 Voltage Offset을 가진 신호 혹은 두 신호의 전압 차이를 포함한 정보의 처리 등에서 중요하게 응용된다. ideal op-amp에서 CMRR은 무한대 이다.? Supply Voltage Rejection Ratio : Power supply rejection ratio라고도 하며, 이는 전원 신호(Vs)에 대한 제거비를 의미한다. 실제 OP Amp는 전원 공급 장치로부터 power supply를 받는데 이때의 전원에는 자체 noise가 포함되어 있다. 이상적인 경우 이러한 전원에 포함된 신호가 출력으로 나오면 안되지만, 실제 OP Amp의 경우 이 또한 미미한 값으로 출력으로 나온다. 이것에 대한 신}와 threshold인V _{X}를 비교하는 것이므로V _{i}를 non-inverting input으로V _{X}를 inverting input으로 넣어주게 되면,v _{out} `=`A(V _{i} -V _{X} )와 같은 식이 성립하고 괄호 안이 양수, 즉 input signal이 threshold를 넘게 되는 경우는 15V, 반대의 경우는 0V가 되어 우리가 원하는 바를 이룰 수 있게 된다. 즉, 식으로 표현된 Voltage-level detector(혹은 Comparator)를 회로로 구현해 보면 아래의 Figure 4-5와 같다. 실제로 회로를 breadboard 위에 구현한 사진은 Figure 4-6과 같다.이때, Figure 4-5의 output쪽에 voltage측정을 위해 load resister를 달아주었는데, 그 이유는 Op-amp의 출력은 current의 형식으로 나오기 때문에, 이를 voltage로 변환해 주기 위하여 저항을 달아서 안정적인 output을 얻을 수 있게 하였다.또,V _{X}, threshold voltage로 5V가 필요했기 때문에, 우리는 아래의 Figure 4-7과 같이 Voltage divider회로를 만들어서 15V를 쪼개서 5V를 만들었다. 이 때 사용한 저항의 명시값과 실제 값은 아래의 Table 4-1과 같다. 측정 값을 가지고 계산을 해보면, 앞서 +15V에 15.16V가 걸렸으므로,v`=`15.16 {R _{1}} over {R _{2} +R _{1}} =5.2162V가 나온다. 이는 실제로 Multimeter를 이용하여 측정한 값인 5.02V와 부합한다.(오차 3.76%) 이 때 의 오차는 Voltage divider의 불안정한 DC voltage공급이나, 측정상의 오류를 생각해 볼 수 있다. Circuit diagram Circuit implementation Voltage divider Resistance value명시값실제 측정값R _{1}2k`OMEGA±5%1.915k`OMEGAR _{2}3.Capacitor가 있는 것처럼 Modeling을 하는데, 이 때 Frequency response가 생기게 된다. 이는 마치 저항과 capacitor로 이루어진 RC filter와 비슷하다. 그렇기 때문에, cut-off frequency를 넘어서게 되면, speed limitation과 더불어서 Gain의 감소가 일어난다. 그렇기 때문에 input 파형의 frequency를 신중하게 선택하여야 한다.우리는 비교적 Gain이 원하는 대로 나와 준 편이었지만, Gain을 얻을 때 저항비가 일정하더라도 저항 값이 너무 크거나 너무 작게 되면 다음과 같은 이유로 인하여 오차가 발생한다.사용하는 저항이 큰 경우에는, op-amp의 내부저항과 비슷한 order를 갖게 될 수 있고, 이와 같은 경우에는 input resistance가 infinite와 같이 간주되지 않고 특정 값으로 정해져 버리기 때문에, open circuit으로 가정할 수 없고 이로 인하여I _{i`n~}이 0A가 되지 않고 약간의 값을 갖기 때문에, 원하는 Gain을 얻지 못 할 것이다. 또, 저항이 큰 경우에는R _{A~}를 통과하는 전류의 양, 즉I`=` {V _{i`n}} over {R _{A}}이 매우 작아지게 되고, 이렇게 되면, 도선을 통과하면서 radiation에 의한 영향도 크고, dissipation의 영향을 받기도 하고, 외부 noise에 의해 쉽게 변화되기 때문에 원하는 Gain을 얻지 못하는 경우가 발생할 것이다.반면, 저항이 매우 작은 경우에는,I`=` {V _{i`n}} over {R _{A}}에 의해 회로에 흐르는 전류의 양이 많아지게 되고, 이와 같은 경우 op-amp가 negative feedback을 통하여 input 단자에 흘러들어가는 전류를 조절하기 어려워지기 때문에, active element의 역할을 하는데 무리가 생길 것이라고 생각한다.? adder/substractor circuit Adder/Subtracter circuit위의 Figure 4-13을 다.