이 글은 회로(증폭 또는 기타 회로)의 주파수 특성을 어떻게 측정 및 시뮬레이션 할 것인가에 대해 글쓴이(DS1ORJ)의 견해를 기술한다. 예시로써 팬텀 전원을 사용하는 1 TR 마이크 증폭회로를 사용할 것이다. (이 회로는 글쓴이가 실제 마이크에 사용하고 있는 회로이다.)
주파수 특성을 기술 할 때 흔히 등장하는 "대역폭" 이라는 용어의 정리가 필요하므로 간단히 설명한다.
흔히 대역폭이라고 부르는 것은 신호 주파수의 전력이 최고 지점에서 1/2 (-3dB)로 저하되는 주파수 폭이다.
전력 반치폭 이라고도 한다. 여기서 3dB 라는 것은 상대 전력 데시벨이므로 상대 전압 데시벨과 헷갈리지 않도록 한다, 저항 값이 동일한 상황에서 전압이 3dB(1/2) 로 떨어지면, 전류 또한 1/2 로 감소하고, 옴의 법칙에 의해 전력은 P = I(1/2) * E(1/2) = 1/4 (즉 -6dB) 로 감소한다. 거꾸로 말해서 부하저항이 고정된 일반적인 회로에서는 전압이득이 2배(3dB) 발생하면 전력 이득은 4배(6dB)가 된다, 즉, 전력이득은 전압이득의 제곱이다. 110V 용 10W 백열전구를 220V 에 연결하면 20W 가 아니고 40W 를 소모한다. 물론 번쩍하는 섬광과 함께 필라멘트가 증발 할 것이다. (실제로는 백열전구의 필라멘트 저항이 온도 상승과 함께 증가하므로 정확히 40W 가 되지는 않는다.)
AF (또는 RF) 회로의 주파수 특성을 측정하려고 하면 복잡한 과정이 필요하게 된다.
가장 간단한 조합은 신호발생기(시그널 제네레이터) + AC 전압계(정류기를 통과시켜 DC 전압계로 측정 가능) 이다. 측정할 회로에 공급되는 주파수를 신호발생기로 가변 시키면서 부하(저항)에 공급되는 출력이 어떻게 변하는지 기록한다. 전압 이므로 전력비는 전압비의 제곱이 된다.(상기에 설명한 대로)
주파수를 연속 가변 시키는 노력(예를 들면 20Hz~100KHz 등)이 불편하다면 스위프(Sweep) 기능이 있는 제네레이터를 사용하면 된다. 설정된 범위만큼 자동으로 주파수를 가변시키는 기능을 가진 신호 발진기를 스위프 제네레이터라고 한다.
https://en.wikipedia.org/wiki/Sweep_generator
보다 손쉬운 방법은 화이트 노이즈(White noise, 백색 잡음) 제네레이터와 스펙트럼 분석기(또는 FFT 분석)를 동원하는 것이다.
이 방법은 주파수의 변경 없이 한 번에 전체 주파수 특성을 확인 할 수 있다. 결과 측정에는 PC 의 사운드 카드를 쓸 수 있고, 심지어는 휴대폰의 FFT 앱도 사용 가능하다(단, 이 경우 한계는 휴대폰의 마이크 특성에 따른다), 근래에는 오실로스코프에도 FFT 기능이 기본으로 탑재되므로 이 기능을 이용하는 것도 가능하다.
다만, 화이트 노이즈는 모든 주파수 범위에 대해 전력 분포가 균일하므로 특히 오디오 영역에서는 바람직하지 않다.
예를 들어, 1KHz 대역폭을 갖는 오디오 증폭기가 있다고 생각해 보자, 0Hz~1KHz 를 증폭하면 모든 저주파 가청 주파수를 증폭할 수 있고 쓸모 있지만, 주파수가 10KHz 까지 높아지면 10K~11KHz 라는 고음 영역의 아주 좁은 구간만 증폭하는 협대역 증폭기가 되므로 쓸모가 없다. 이것은 인간이 소리를 인식하는 방법과 관련이 있다. 매우 낮은 주파수에서는 1Hz 단위의 변화도 충분히 구별하지만 주파수가 높아질수록 구분하기 어렵게 된다. 따라서 상대적 주파수 차이를 말하는 옥타브(Octave) 라는 개념을 사용하는 것이 합리적이다.
전자공학 분야에서 1옥타브는 2배의 주파수를 의미한다. 20Hz 의 1옥타브는 40Hz 이지만 10KHz 의 1옥타브는 20KHz 가 된다. 우리 귀는 두 경우 모두 주파수가 두 배 올라간다고 느낀다. 만약 1Hz 당 에너지(소리 크기)가 일정하다면 20Hz~40Hz 구간은 총합 20 이라는 소리 에너지를 갖고, 10K~20KHz 구간은 총합 10,000 이라는 에너지를 갖게 되므로 후자의 1옥타브가 훨씬 크게 들린다. 다시 말해서, 전체 주파수에서 균일한 에너지 분포를 가지는 화이트 노이즈를 사용하면 주파수가 높아질수록 1옥타브 범위의 에너지가 기하급수적으로 증가한다는 것을 의미한다. 인간의 귀가 모든 옥타브들을 동일한 소리 크기로 들으려면 주파수가 높아질수록 소리가 작아지게 만들어야 하고, 이런 요구사항을 충족하는 노이즈 신호를 핑크 노이즈(Pink noise) 라고 한다.
핑크 노이즈는 1옥타브가 증가하면 전력밀도(에너지)가 1/2(-3dB) 감소하도록 되어 있다. 결과적으로 어느 주파수의 옥타브라고 하더라도 모든 옥타브들은 동일한 전력(소리크기, 에너지)을 갖게 된다.
실제 White noise 대 Pink noise 소리를 아래에서 들어 볼 수 있으며, 화이트 노이즈의 경우 위에서 설명한 대로 고음역이 크게 들리는 것을 확인할 수 있다.
https://audiouniversityonline.com/white-noise-vs-pink-noise/
보다 자세한 설명은 아래 문서를 참고한다.
https://www.acousticfields.com/pink-noise-vs-white-noise-whats-the-difference/
White noise 에 적당한 low pass 필터를 통과시켜 옥타브당 -3dB 기울기를 제공하면 Pink noise 를 만들 수 있다.
아래 ESP 에서 제시하는 회로는 White 노이즈로 Pink 노이즈를 생성한다.
https://sound-au.com/project11.htm
상기와 같이 복잡한 장비를 동원하지 않고 회로의 주파수 특성을 알아보려면 SPICE 를 이용한 시뮬레이션을 사용하면 된다.
회로를 전체 다 설계하지 않고 기존 회로를 카피해서 적당히 튜닝하는 작업을 하더라도 시뮬레이션은 아래와 같은 이점이 있다.
- 개발 시간 단축(재작업 감소)
- 정확성 (실제 측정기를 능가하는 정확한 측정, 심지어 실측정 불가능한 지점도 측정가능)
- 경제성 (회로 최적화로 최소한의 부품 또는 대체 부품 사용)
아래는 예시로 사용할 1TR 마이크 증폭회로 이다. 8V 팬텀 전원을 사용하고 출력 임피던스(부하 저항)는 1K ohm 이다.
LTSpice 의 과도 특성 분석(TRAN) 이 아닌 AC 분석을 사용해서 주파수 특성을 분석한 화면이다.
이 회로는 주파수 응답을 조정(고역 통과, high pass) 하기 위해 간단한 RC 필터를 사용한다. 여기서 C 값을 STEP 명령으로 가변하면서 주파수 특성을 확인해보면 한번에 변화를 볼 수 있다.
참고로 AC 스윕으로 분석을 할 때 0dB 기준은 1V 이다. 따라서 전압소스를 1V 로 설정하면 입력이 0dB 가 되므로 출력(OUT) 터미널로 나오는 신호의 크기를 차트로 쉽게 판독 가능하다. LTSpice 의 AC 분석 기능은 소신호 분석이므로 실제 신호가 1V 가 된다는 의미가 아니다. 비례적 표시이므로 신경쓰지 않아도 좋다. 10V 나 1000V 를 설정해도 주파수 특성에는 변함이 없다.
실제 이 회로에 1V PP 를 입력시키면 작동 범위를 넘어서므로 정상적인 출력이 나오지 않는다. 따라서 과도 특성 분석시에는 전압소스를 콘덴서 마이크의 일반적인 출력인 10mV 로 설정하게 된다.
시뮬레이션 결과에 대해 간단히 설명한다. 이 회로는 전력이득이 최대 약 25dB(320배 가량) 발생 한다.
대역폭을 추정하는 -3dB 지점은 100n 에서 500Hz 부근, 10n 에서 1.75KHz 부근이다. 플롯에서 보다시피 이것은 고역통과(HPF) 필터 이다. (참고로 LTSpice 는 실제 입출력 전력을 측정하지는 않고 회로상의 입출력 전압으로 전력 이득을 역산하는 것으로 보인다. 전압이득은 전력이득의 제곱근인 18배 정도이다. 전압이득을 dB 로 환산하면 약 12.5dB 가 된다.)
이 회로에 사용된 LTSpice 의 주요 기능은 STEP 그리고 BJT 의 HFE 값을 변경 하는 AKO 명령 이다. BJT 는 HFE 값이 같은 형번이라도 천차만별이므로 정확한 시뮬레이션을 위해서는 트랜지스터 테스터로 HFE 를 측정하여 회로에 값을 반영시켜야 한다. 회로는 아래 첨부된다.
범용 BJT 인 1815 가 없을 경우 2N2222 외 대부분의 NPN BJT 를 사용할 수 있다. 만약 BJT 모델이 없다면 아래 글을 참고하여 범용 모델들을 설치하면 된다.
사실 LTSpice 의 더욱 강력한 점은 실제 소리를 회로에 입력하고 들어 볼 수 있다는 것이다.
아래는 wave 파일을 지정하여(wavefile=audio_in.wav chan=0) 입력으로 사용하고 출력을 wave 파일로 저장(.wave audio_out.wav 16 48000 V(OUT)) 하는 시뮬레이션이다.
이것을 통해 우리는 실제 소리가 어떻게 증폭되는지 직접 들어 볼 수 있다.
아래는 마이크 입력으로 사용하는 wav 파일이다.
아래는 고역통과 필터의 캐패시터를 각각 1uF, 0.1uF, 0.01uF 로 바꿔가면서 시뮬레이션 한 결과이다. 소리가 어떻게 달라지는지(특히 저음) 들어 볼 수 있다. 노트북 등의 스피커에서는 저역 성능이 좋지 않으므로 저역부가 cutoff 되는 것을 잘 느끼지 못 할 수도 있다.
wav 파일을 .wavefile 명령으로 연결시키면 전압소스의 설정은 무시되는 것으로 보인다.
wav 파일의 Peak to Peak 는 1V 로 정규화 된다. 따라서 회로에 맞추어 전압 레벨을 낮추어야 하는데 이때 사용되는 것이 종속 전압소스 이다.(회로도 상에 E 로 표시된다). E 를 전압소스 V 에 연결시키면 일정 비율로 전압 레벨을 조정할 수 있다. 마이크 증폭 회로의 입력은 1V 면 너무 크므로 0.01 배율로 PP 가 10mV 가 되도록 하고, 출력 터미널에서는 사운드 카드로 듣기에 충분한 음량을 제공하기 위해 출력전압에 x10 배율을 적용하여 저장되는 웨이브 파일의 PP 가 1V 가 되도록 한다.
아래에 회로도가 제공되므로 필요하면 수정하여 실험하기 바란다. (실행 시키려면 위에 제공된 audio_in.wav 파일을 먼저 받도록 한다)
필요하다면 본인의 목소리를 녹음하여 회로의 입력으로 사용할 수 있으며, 원하는 소리가 될 때 까지 값을 조정 할 수 있다. 당연히 각종 아나로그 발진회로(새소리 발진기 같은) 의 출력을 웨이브 파일로 저장하여 실제로 들어볼 수도 있을 것이다.
실제로 만들어본 새소리 발진기 회로와 wav 파일을 첨부한다.(인터넷에 돌아다니는 회로이다)
여기까지 정리
- LTSpice 를 사용하면 계측기가 없어도 측정이 가능하다.
- 웨이브 파일을 통해 신호를 입력하고 출력되는 소리를 저장하여 들을 수 있다.
- 시뮬레이션을 통해 불필요한 재작업을 최소화 시킬 수 있다.
Written by DS1ORJ.