기본 요소들만 간략히 표현한 op-amp

 

op-amp 응용의 기본인 ideal op-amp에 대한 정리

 

- What is op-amp?

Why amplifier? Op-amp는 voltage amplifier로 동작한다.

Why oprational? Op-amp의 입출력에 저항, 커패시터 등의 소자로 feedback을 구성하여 다양항 operation을 구현 할 수 있다.

 

- Ideal op-amp의 특성

1. Infinite open-loop gain G ( = Vout/Vin )

2-1. Infinite input impedance Rin

2-2. Zero input current

3. Zero output impedance Rout

※ 생략된 기타 ideal 특성들: bandwidth, phase shift, slew rate, CMRR 등

 

- Ideal op-amp의 특성 분석

1. Infinite open-loop gain G ( = Vout/Vin )

Vout은 Vs+, Vs-의 범위를 벗어나지 못한다. (내부에 전압을 높혀주는 회로가 없다면 그 회로가 생성하는 전압은 기본적으로 공급 전압을 넘지 못함.)

이득 G가 무한이기 때문에 약간의 입력단 전위차(Vin)도 Vout을 Vs+ 또는 Vs-로 saturation시킨다.

2-1. Infinite input impedance Rin

입력 impedance가 유한하면 입력 전압의 phase를 shift 시키고 감쇠 시킬 수 있다.

따라서 입력 전압을 op-amp의 Vin에 그대로 전달 시키기 위해서는 입력 impedance Rin이 무한이 되어야 한다.

2-2. Zero input current

입력 impedance가 무한하므로 입력 current 또한 0이어야 한다.

3. Zero output impedance Rout

입력 impedance와 같은 맥락으로 출력 impedance가 유한하면 출력 전압의 phase를 shift 시키고 감쇠 시킬 수 있다.

 

- Purpose: Set PC(Desktop or Laptop) for genenel perpose use like using word processor, playing game, programming and so on.

1. Change HDD(Hard Disk Drive) to SSD(Solide State Drive) to get faster read/write performance to the main memory.

2. Install two most famous OS (Windows and Ubuntu) because we don't know which OS would be needed in the future.

3. Partition and Format SSD for efficient use in the situation of two OS and one SSD

 

- Environment & Requirements

Labtop with Intel i5 CPU, 250GB SSD, Windows 10 booting USB Flash Drive, Ubuntu 16.04 LTS booting USB Flash Drive, Windows 10 PC which is used for initializing SSD and making Booting USB Flash Drive

 

- Prepare SSD

If your SSD was used before at another PC, your SSD need to be clean before use as follows:

1. Connect your SSD to another PC which has it's own main memory and OS on it.

2. Clean your SSD using diskpart program

>diskpart

>list disk

Check SSD disk #. For me, SSD disk # is 1.

>select disk 1

>clean

>convert gpt

>exit

※ GPT is need for UEFI Windows 10.

(No warranty: Google for exact information)

Fig 1. Clean your SSD using 'diskpart' program

※ The 'diskpart' program's 'clean' command use some simple mechanism to clean memory. Thas is, 'clean' command erases memory's fisrt small part and last small part.

This way is possible because the memory usage information is mostly in the first and last part of the memory and without this information this memory is recognized as empty by Users of that memory (e.g. by PC, Printer and so on).

If you want to erase all, use 'clean all' command instead of 'clean'.

(Google for further information)

 

- Prepare Windows 10 UEFI booting USB

1. Download program called 'MediaCreationTool1809.exe' at link bellow:

https://www.microsoft.com/en-gb/software-download/windows10

 

Download Windows 10

If you downloaded an ISO file for Windows 10, the file is saved locally at the location you selected. If you have a third-party DVD burning program installed on your computer that you prefer to use for creating the installation DVD, that program might open

www.microsoft.com

2. Run downloaded program

3. Follow that program guide to make Windows 10 booting USB Flash Drive

Fig 2. Making Windows 10 booting USB Flash Drive

※ Why need Windows 10 with UEFI booting, not others (e.g. BIOS booting) ?

Ubuntu only supports UEFI booting and I think we need to unify booting mechanism in the situation of one Main Memory (SSD or HDD) and two OS. Need to study further.

(No warranty: Google for exact information)

 

- Prepare Ubuntu 16.04 LTS booting USB 

 

- Replace HDD with SSD

Open the back cover of a laptop and replace HDD with SSD.

Fig 3. Replacing HDD with SSD (Left: before, Right: after)

- Install UEFI booting Window 10 with the booting USB Flash Drive

1. Enable UEFI boot at your BIOS options.

2. Boot with the booting USB Flash Drive.

3. Run Windows 10 installer and follow guide of the installer (to install Windows 10 on SSD)

4. Boot with SSD to run the newly installed Windows 10.

5. Check if your SSD has partition for EFI. If not, it means that you didn't install Windows 10 with UEFI booting mode and shuold reinstall Windows 10 with UEFI booting mode.

Fig 4. Example of the memory partition which includes EFI partition
Fig 5. Warning message during Ubuntu installation because of BIOS booting OS installed on another partition

- Planing for your SSD usage (Partitioning and Formatting) and installing Ubuntu

To use two OS on one Main Memory, you will need two partition for each OS.

You may need shared partition for the two OS which is accessible for the two OS.

For me, partitioned SSD into three region (not counting auxiliary partition like EFI partition, Recovery partition, only counting OS partition, Data partition).

My 250GB SSD was used One for Windows 10 (250*0.4 GB), another for Ubuntu 16.04 LTS (250*0.4 GB), the other for data partition (250*0.2 GB) shared by two OS.

Because we already installed Windows 10 on SSD, follow steps below to partition SSD:

(Stpe 4~5: installing Ubuntu)

1. Turn on laptop to run Windows 10 on SSD.

2. Use windows disk manager and downsize your Windows 10 partition (not EFI partition or others) resulting in 250*0.4 GB for Windows 10 partition

3. Restart laptop and boot with Ubuntu booting USB Flash Drive.

4. Install Ubuntu. During Ubuntu installation, you should select an option to partition by your self.

Fig 6. Option to partition by your self for Ubuntu installation

5. Partion 512 MB for 'EFI system partition' and 250*0.4 GB for Ubuntu.

Fig 7. Example of paritioning for Ubuntu installation
Fig 8. Result of partitioning for Ubuntu installation (Left: before Ubuntu installation, Right: after Ubuntu installation)

6. Set remaining 250*0.2 GB of SSD as Data partition.

Set remaining 250*0.2 GB as a partition and format the partition as NTFS file system which are accessible for both Window and Ubuntu.

Fig 9. Result of SSD partitions

 

- Environment


Windows 10 PC, Micro SD Card, Etcher (Burning tool), Raspberry Pi 3 Model B+


- SD Card Initialization@Windows 10 PC


Insert Your SD Card to Your Windows PC

Execute "C:\Windows\System32\diskpart.exe"

List your disks connected with your PC using command "list disk"

Select a disk you want to initialize using command "select disk 1" for example.

Clean after selecting target disk using command "clean"

Result:



Format the initilized SD card. I formatted with FAT32


For more information, refer to the line below:

https://www.dell.com/support/article/kr/ko/krbsd1/sln153364/diskpart-%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EB%B6%80%ED%8C%85-%EA%B0%80%EB%8A%A5%ED%95%9C-usb-%ED%94%8C%EB%9E%98%EC%8B%9C-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C-%EB%A7%8C%EB%93%A4%EA%B8%B0?lang=ko


- Downloading Raspbian OS Image to The Initialized SD Card@Windows 10 PC using Etcher


Download Raspbian OS Image following this link: https://www.raspberrypi.org/downloads/raspbian/

Use burning tools to burn Raspbian OS Image to The SD Card. I used a tool named "Etcher"

Result:



- Booting with Raspbian OS@Raspberry Pi

Insert the SD Card into Raspberry Pi and connect a monitor, mouse and keyboard to the Raspberry Pi(1).

Supply power to the Raspberry Pi by connecting USB Power cable to the Raspberry Pi(2).

Result:


- Notes

(1) Need HDMI cable to connect a monitor to Raspberry Pi.

(2) If your Raspberry Pi are repeating booting process, the reason could be under power. I experienced repeating booting issue when I supply power with 5V/600mA adapter and solved the problem by supplying power with 5V/1A adapter.


Receiver Operating Characteristic (ROC) Curve & Equal-Error Rate (EER) & Detection Error Trade-Off (DET) Curve & Detection Cost Function (DCF)

 

- Confusion matrix

Predicted/Actual class

Yes

No

Yes

TP

FP

No

FN

TN

 TP (True Positive) : Acceptance of the test speaker who is the same with the target speaker.

FP (False Positive) : Acceptance of the test speaker who is not the same with the target speaker.

FN (False Negative) : Rejection of the test speaker who is the same with the target speaker.

TN (True Negative) : Rejection of the test speaker who is not the same with the target speaker.

Utterances of an test speaker result in predicted class.

 

- False acceptance rate (FAR; Miss probability)

The number of verified identities for which the test speaker was different from the target speaker normalized against the total number of acceptances.

In biometrics the instance of a security system incorrectly verifying or identifying an unauthorized person. Also referred to as a type error, a false acceptance typically is considered the most serious of biometric security errors as it gives unauthorized users access to systems that expressly are trying to keep them out.

 

- False rejection rate (FRR; False alarm probability)

The number of identities which were not verified for which the test speaker was the same as the target speaker normalized against the total number of rejections.

 

- Receiver operating characteristic (ROC) curve

In the speaker recognition circles, ROC curve are normally plotted with the FAR on the abscissa and the FRR on the ordinate. In this kind of ROC, the objective is to have the area under the curve approach 0. Generally, a random guess should produce an area of about 0.5.

 

- Equal-error rate (EER)

The percentage where FRR and FAR are same.

 

- Detection error trade-off (DET) curve

The DET curve has been favored over traditional ROC curves since its introduction by NIST in 1997. The DET curve plots the miss probability in percentage form versus the false alarm probability, also in percentages. The DET curve always uses a logarithmic scale.

 

- Detection cost function (DCF)

NIST defines a DCF, , as

where,  is the cost of missed detection,  is the cost of a false alarm, P(Target) is the a-priori probability of a target speaker, and P(NonTarget) is the a-priori probability of a non-target speaker. NIST uses the following values for the 1999 NIST evaluations,

 

                                                                                                                                ※ 참고 서적 : Homayoon Geigi, 2011. Fundamentals of Speaker Recognition. Springer Science+Business Media, LLC, New York.

참고 사이트 : http://www.webopedia.com/TERM/F/false_acceptance.html

참고 사이트 : http://poseidon.csd.auth.gr/LAB_RESEARCH/Latest/SecurityBiometrics.htm

참고 사이트 : http://stackoverflow.com/questions/18436034/plot-a-det-curve

생체 인식 기술을 사용하는 목적에는 identificationverification이 있다. Identificationverification은 사용하는 기술과 메커니즘에 있어서 약간의 차이가 있다.

1. Identification (1:n) : ‘Identify’라는 단어는 누군가의 신원을 파악하는 것을 의미한다. 예를 들어, ‘I’m identifying him’내가 그를 파악한다라는 뜻이다. 이 어감에서 알 수 있듯이 사람의 경우 identification은 내가 알고 있는 수많은 사람들(n) 중에 현재 만난 한 사람(1)이 누군지 구별하는 것이다. 마찬가지로 시스템의 경우 identificationdatabase에 저장된 수 많은 사람들(n) 중에 현재 입력으로 들어온 알려지지 않은 한 사람(1)이 누군지를 찾는 것이다. 따라서 Identification을 위한 시스템은 아래와 같은 특성을 갖는다.

Database에 충분한 양의 정보를 가지고 있어야 한다. Database에 충분한 정보가 있지 않다면 입력이 들어와도 누군지를 구별하기 힘들다.

database를 효율적으로 다룰 수 있도록 설계해야 하므로 verification에 비해 더 많은 노력이 필요하다.

database를 사용하므로 identification을 하는데 많은 처리시간이 요구된다.

Identification 시스템이 사용되는 대표적인 예로 범죄수사기관이 있다. 범죄수사기관은 지문과 얼굴사진과 같은 수많은 개인식별자료를 database화해서 가지고 있다가 범죄현장에서 추출한 용의자의 지문이나 얼굴영상을 database에서 누군지 찾는데 사용한다.



2. Verification (1:1) : ‘Verify’란 어떤 대상물에 대하여 그 대상이 참인가 거짓인가를 확인한다는 뜻이다. , Verification은 한 사람(1)의 정보를 database에 가지고 있다가 현재 입력으로 들어온 알려지지 않은 한 사람(1)database에 있는 사람과 일치하는지를 확인하는 것이다.



Identificationverification을 합쳐서 recognition이라 한다.


※ 참고 사이트 : http://globalseci.com/?page_id=37

+ Recent posts