본문 바로가기

Audio78

오디오 필터(16)-IIR 필터 실행, 오디오 볼륨 처리 IIR 필터 다루기 이전의 글에서 디지털 필터의 전달 함수를 위한 계수들을 구하는 방법을 알아봤습니다. 이때 디지털 필터 전달 함수의 형태에 따라 IIR 또는 FIR가 있으며 형태가 조금 다릅니다. 이에 관한 내용은 다른 글에서 다루겠습니다. 이글에서는 GNU Octave에서 오디오를 다루는 방법, 그리고 이를 이용해서 오디오의 볼륨을 조정하는 방법, 마지막으로 디지털 필터를 적용해서 오디오 신호를 처리하고 출력하는 방법을 알아보겠습니다. 유투브를 보시면 오디오 파일을 6초 정도로 짧게 만들어 실험에 사용하는 방법과 GNU Octave로 오디오 파일을 출력 하는 방법 까지 설명해 놨습니다. IIR 필터 실행 방법 IIR 필터는 다음과 같이 처리됩니다. 입력 신호를 받아서 필터 계수를 적용한 IIR 필터에.. 2021. 10. 29.
오디오 필터 실험(15)-원시 데이터 얻기 오디오 필터 실험 여러 글에서 디지털 필터의 계수를 구하는 방법을 알아봤습니다. 이 중에서 피킹 필터와 저역 통과 필터를 실제 오디오 신호에 적용해서 기록하는 과정을 몇 개의 글에 나눠서 설명하겠습니다. 그중에서 첫 번째 내용으로 오디오 파일을 읽고, 다른 형식으로 데이터를 추출하고, 오디오 파일을 재생하는 프로그램의 사용 방법을 먼저 다뤄보겠습니다. OcenAudio의 설치 오디오 재생 프로그램으로 유명한 프로그램으로 알송, zaudio, fooba2000등이 있고, 오디오 편집과 효과 추가가 가능한 프로그램으로 audition, goldwave등과 프로용으로는 cubase, potool, logic 등이 있습니다. 편집이 가능한 오디오용 프로그램은 대부분 유료입니다. ocenaudio는 무료이면서, .. 2021. 10. 29.
오디오 필터(14)-IIR 버터워스 고역 통과 필터(Butterworth High Pass Filter) 설계 고역 통과 필터 설계 다른 글에서 사용했던 유사한 방법으로 Butterworth HPF를 설계하겠습니다. 이번엔 필터의 Q를 이용하지 않고, 필터의 차단 주파수와 감쇄량을 이용하는 방법을 알아보겠습니다. 다음과 같은 조건으로 고역 통과 필터를 만들겠습니다. 통과대역의 특성으로 차단 주파수와 통과대역 주파수$f_{c}=F_{p}=1000Hz$로 하겠습니다. 그러면 $F_{p}$ 에서 감쇄량은 -3dB가 됩니다. 그리고 저지 대역의 주파수 $F_{s}=80Hz$이며 감쇄량이 -80dB입니다. 이때 샘플링률 $f_{s}=44100Hz$, 샘플 구간 $T_{s}=1/f_{s}$입니다. 필터의 전달 함수 구하기 먼저 필터의 조건으로 다음과 같이 필터를 계산하기 위한 사전 조치를 취합니다. $$A_{p}=10^{\.. 2021. 10. 29.
오디오 필터(13)-IIR 버터워스 저역 통과 필터(Butterworth Low Pass Filter) 설계 저역통과 필터 오디오 필터로 가장 유용한 형태는 버터워스 필터입니다. 통과대역의 특성이 가장 평탄하기 때문입니다. 물론 이를 발전시킨 필터도 있습니다만, 사용성이나 실용적으로 구현하기에도 버터워스 필터는 오디오에 적합합니다. 다른 글에서는 필터의 Q를 이용해서 저역 통과 필터의 계수를 구했습니다. https://medialink.tistory.com/74?category=958130 이글에서는 필터의 일반적인 규격 조건을 통해 버터워스의 s-영역(s-domain)(라플라스 영역)에서 구하고 이를 z-영역(z-domain)으로 변환해서 필요한 디지털 계수를 구하는 방법을 알아보겠습니다. 그리고 필터의 특성을 GNU Octave에서 알아보도록 하겠습니다. 버터워스 필터를 구하는 방식 아날로그 신호 영역인 s.. 2021. 10. 29.
오디오 필터(12)-IIR 노치 필터(Notch Filter, NF) 노치 필터 노치 필터(notch filter)는 대역 저지 필터(band rejection filter)의 하나로 매우 좁은 주파수 대역의 신호를 차단할 목적으로 사용합니다. 이 필터는 오디오 신호처리에서는 적응 필터에서 하울링 억제를 위해 사용됩니다. 또는 특정 주파수의 노이즈를 제거할 때도 사용합니다. 노치 필터를 만드는 방법도 여러 가지가 있습니다. 특히 피킹 필터를 대신 사용해도 됩니다. 필터의 계수는 다음과 같이 생성하면 됩니다. 여기서 Q에 따라 노치 필터가 형성하는 대역이 달라집니다. 이 부분에 대한 내용은 다음을 참조해 주세요 https://medialink.tistory.com/73?category=958130 https://medialink.tistory.com/77?category=9.. 2021. 10. 29.
오디오 필터(11)-IIR 전대역 통과필터(All Pass Filter, APF) 전대역 통과 필터 전대역 통과 필터(all pass filter, APF)는 LPF등과 다르게 모든 신호를 그냥 통과시킵니다. 그러나 필터 주파수를 기준으로 위상을 변경시킵니다. 그래서 위상 특성의 수정을 위해서 주로 사용합니다. 이를 이용해서 인공 잔향기를 만들기도 합니다. APF의 필터 계수 APF의 필터 계수는 다음과 같이 구합니다. 이때 Q에 따라서 위상의 변화 정도가 결정됩니다. 이부분에 대햔 내용은 아래를 참조해 주세요 https://medialink.tistory.com/73?category=958130 https://medialink.tistory.com/77?category=958130 $$h=\frac{sin(\omega_0)}{2Q}$$ $$b_{0}=a_{2}=1-h$$ $$b_{1.. 2021. 10. 29.
오디오 필터(10)-IIR 대역통과 필터(Band Pass Filter, BPF) 대역 통과 필터 대역통과 필터(band pass filter, BPF)는 특정 주파수 사이의 신호만 통과하는 필터입니다. 대역통과 필터는 오디오 신호의 대역을 조정해서 불필요한 잡음의 영향을 줄이거나, 음향적인 효과를주기 위해 사용합니다. 특히 스피커를 위한 크로스오버에서도 활용됩니다. 이부분은 다시 다루기로 하겠습니다. 필터 합성 이 필터를 만드는 방법도 여러 가지가 있지만, 다음과 같이 저역통과 필터와 고역통과 필터를 조합해서 구현하기도 합니다. 그러니 두 필터를 형성하는 필터 계수를 각각 구하고 조합하는 방법을 사용합니다. 이때 필터의 순서는 대역 통과 필터를 구현하는데 아무런 관계가 없습니다. 두 필터를 합성하는 방법은 두필터의 전달 함수를 곱하면됩니다. 그런데 다른 글에서 전달함수의 결과로 필터.. 2021. 10. 29.
오디오 필터(9)-IIR 이퀄라이저(Equalizer), 하이 쉘빙 필터(High Shelving Filter, HSF) 하이 쉘빙 필터 하이 쉘빙 필터(hight shelving filterm, HSF)는 다른 글에서 설명한 로 쉘빙 필터(low shelving filter, LSF)와 반대로 고음 영역의 이득을 조정합니다. 하아 쉐빙 필터도 조정하고자 하는 주파수, 이득 드리고 필터의 기울기를 인자로 합니다. 필터를 구하는 내용은 두 필터가 동일하며 필터 계수는 다음과 같습니다. 이 부분에 대한 내용은 아래를 참조해 주세요 https://medialink.tistory.com/73?category=958130 https://medialink.tistory.com/77?category=958130 $$\omega_{0}=\frac{2\pi f}{f_{s}}$$ $$A=10^{\frac{G}{40}}$$ $$c_{0}=co.. 2021. 10. 29.
오디오 필터(8)-IIR 이퀄라이저(Equalizer), 로 쉘빙 필터(Low Shelving Filter, LSF) 로 쉘빙 필터 이퀄라이저에서 사용되는 로 쉘빙 필터(low shelving filter, LSF)는 저역 부분의 이득을 조정할 목적으로 사용되는 이퀄라이저용 필터입니다. 필터 주파수를 기준으로 낮은 주파수 부분의 신호를 증폭하거나 감소합니다. 로 쉘빙 필터는 조정하고자 하는 주파수와 조정하는 이득 그리고 필터의 기울기를 인자로 합니다. 피킹 필터와 다르게 Q 대신 slope을 이용해서 조정합니다. 그런데 두 인자는 변환이 가능합니다. 관련 내용은 다른 글을 참조해 주세요. 필터를 구하는 기본 내용은 피킹 필터와 같으니 피킹 필터 부분으로 참조하면 됩니다. 필터 계수는 다음과 같습니다. 여기서 $f$는 필터의 주파수, $f_{s}$는 샘플링 주파수, G는 dB로 표시되는 필터의 이득, slope는 필터의 .. 2021. 10. 29.
오디오 필터(7)-IIR 이퀄라이저(Equalizer), 피킹 필터(Peaking Filter, PF) 피킹 필터 오디오 시스템에서 사용 용도가 많은 필터가 아마도 피킹 필터(peaking filter)입니다. 이 필터는 중심 주파수, 이득, 그리고 품질 팩터 Q로 조정이 가능합니다. 이 필터는 특정 주파수 근처의 신호를 증가 또는 감소하여 음향적인 특징을 조정할 때 사용합니다. 조정의 결과도 매우 효과적이어서 피킹 필터의 활용도는 매우 높습니다. 이 필터는 필터 중심 주파수를 기준으로 근처의 주파수의 이득에 영향을 미칩니다. 이는 필터 중심 주파수 부근에 다른 주파수에도 영향을 줍니다. 이 필터의 품질 팩터 Q에 따라서 영향을 주는 주파수 범위가 달라집니다. Q가 크다는 것은 매우 좁은 범위의 주변 주파수 영역에만 영향을 미친다는 의미 합니다. 필터 계수는 다음과 같습니다. 이부분에 대한 내용은 아래를 .. 2021. 10. 29.
오디오 필터(6)-이퀄라저(Equalizer)의 품질팩터(Quality Factor, Q) 품질 팩터 이퀄라이저에 사용되는 필터는 품질 팩터(Q)를 필터의 인자로 사용합니다. Q는 필터가 어느 정도 범위까지 영향을 미치는지 결정합니다. 일반적으로 Q 작을수록 필터가 주파수 축에서 영향을 미치는 범위가 큽니다. Q는 영향을 미치는 주파수에 범위 의해 다음과 같이 정의됩니다. 아래는 피킹 필터의 Q를 설명하는 그림입니다. $$Q=\frac{f_{c}}{BW}=\frac{f_{c}}{f_{1}-f_{0}}$$ $$f_{0,1}=f_{c}\left (\sqrt{1+\frac{1}{4Q^{2}}}+\frac{1}{2Q} \right )$$ Slope 반면 쉘빙 필터는 Q보다는 slope이라는 용어를 사용합니다. 이는 쉘빙 필터의 모양에서 필터가 기울어진 정도를 표시하려고 만든 개념입니다. Q와 slop.. 2021. 10. 29.
오디오 필터(5)-이퀄라이저와 그래픽 이퀄라이저 오디오의 이퀄라이저 이퀄라이저(equalizer)는 공학적 기능으로 볼 때 평활기입니다. 즉 어떤 장치의 주파수 축 특성이 평탄하지 않을 때 이를 보정(compensation)해서 평활화하기 위해 사용합니다. 이를 오디오 장치에 개념을 확장해서 활용하고 있습니다. 오디오에서 이퀄라이저는 크게 두 가지 종류가 있는데 파라메트릭 이퀄라이저(Parameteric Equalizer, PEQ)와 그래픽 이퀄라이저(Graphic Equalizer, GEQ)입니다. 파라메트릭 이퀄라이저 일반적으로 오디오에서 이퀄라이저라고 하면, 파라메트릭 이퀄라이저를 의미합니다. 이퀄라이저는 입력되는 오디오 신호의 음색을 조정할 목적으로 사용됩니다. 예를 들어 사람마다 음성 특성이 다른데 각 특성이 작 두드러지도록 이퀄라이저로 조정.. 2021. 10. 29.
오디오 필터(4)-IIR 고역 통과 필터(Hi Pass Filter, HPF) 고역 통과 필터 다른 글에서 다룬 저역 통과 필터와 같은 방법으로 필터 계수를 구할 수 있습니다. https://medialink.tistory.com/74?category=958130 고역 통과 필터는 아래 그림과 같이 차단 주파수를 기준으로 차단 주파수보다 높은 주파수는 그대로 출력하고 다른 주파수 부분은 출력을 억제하는 특성을 가지고 있습니다. 이 부분에 대한 내용은 아래를 참조해 주세요 https://medialink.tistory.com/73?category=958130 https://medialink.tistory.com/77?category=958130 $$h=\frac{sin(2\pi f)}{2Q}$$ $$b_{0}=b_{1}=\frac{1+cos(2\pi f)}{2}$$ $$b_{1}= .. 2021. 10. 29.
오디오 필터(3)-IIR 저역 통과 필터 (Low Pass Filter, LPF) 저역 통과 필터 저역통과 필터는 필터의 차단 주파수를 기준으로 이보다 낮은 주파수는 입력과 출력이 같도록 통과 시키고, 나머지 부분은의 주파수는 통과를 차단하는 필터입니다. 이 필터는 오디오용 필터의 기본이 되는 중요한 필터입니다. 이중에서 음성확성에 사용되어 좋은 음질을 제공하기도 합니다. 이 글에서는 저역 통과 필터의 필터 계수를 구하는 방법을 알아 보겠습니다. 필터 계수는 신호 처리 과정에서 IIR 필터에 의해 실제 입력되는 신호를 처리과정에 사용되기 때문입니다. 다른 글에서 IIR을 다루도록 하겠습니다. Q를 이용한 저역 통과 필터의 설계 디지털 저역 통과 필터(low pass filter, LPF)를 구현하는 방법도 여러 가지가 있습니다. 여기서는 아날로그 필터의 Q값을 이용해서 필터를 구현하는.. 2021. 10. 29.
오디오 필터(2)-바이쿼드 필터 (Bi-quad Filter), s 영역, z영역, 필터의 안정성 신호처리와 필터 계수 오디오 처리에서는 다양한 필터를 사용합니다. 그런데 이 필터를 설계하고 최종적으로 얻고자 하는 것이 무엇일까요? 한마디로 필터의 계수를 구하고자 노력하는 것입니다. 이렇게 얻어진 필터 계수들은 IIR 또는 FIR 필터에 의해 실제 신호에 필터 특성을 부가한 결과를 얻게 되고 이 결과가 우리가 신호처리를 하는 과정입니다. 그러므로 필터 계수를 어떻게 얻을지에 목표를 삼으면 됩니다. 여기서는 오디오 필터에서 가장 많이 사용되는 필터 전달 함수인 바이쿼드 필터에 대해서 알아보고 s영과 z영역에 대해서도 알아보겠습니다. 아날로그 신호를 표현하는 s영역 전자공학에서 미분과 적분을 많이 사용합니다. 이 중에서 적분이 회로를 해석할 때 어려움을 주게 됩니다. 그래서 좀 더 편리하게 회로를 해석하.. 2021. 10. 29.
오디오용 필터(1)-필터의 종류와 특성, 이상적인 필터 특성 오디오 필터 오디오 필터는 사용하는 목적에 따라 크게 세 가지 그룹으로 분리됩니다. 필터의 통과가 차단 특성을 이용하여 크로스오버(crossover, xover)를 구성하거나, 오디오의 음질 보정을 위해 사용하는 이퀄라이저 그리고 음향적인 보정을 위해 사용하는 그래픽 이퀄라이저가 있습니다. 그리고 보완적인 특성을 가지는 대역 저지 필터와 전대역 통과 필터가 있습니다. 이 글에서는 오디오에서 사용하는 필터에 사용되는 각종 기술적인 용어를 알아보도록 하겠습니다. 필터 전달 함수에 따른 필터의 구분 디지털 오디오 필터는 전자회로의 부품을 대신하여 필터의 동작 특징을 결정하는 필터 계수(filter coefficeint)가 있습니다. 또 필터 계수가 연산에서 어떻게 사용되는지에 따라서 두 가지 형태가 있습니다... 2021. 10. 29.
Qucs(21)-다이오드를 이용한 기초 회로와 바이어스 인가 회로 다이오드 다이오드(diode)는 전자회로에서 사용하는 기초 부품입니다. 이 부품은 여러 회로에 포함되어 원하는 특성을 얻도록 지원합니다. 이글에서는 다이오드의 기본 구동 원리와 이를 응용하는 바이어스 인가 회로를 보여드리겠습니다. 다이오드는 아래 그림과 같이 애노드(Anode, A)에서 케소드(cathode, K)로 전압을 인가하면 화살표 방향으로 전류가 흐릅니다. 이상태를 정방향 바이어스(forward bias)라고 합니다. 만약 전압이 반대 방향으로 인가되면 전류가 흐르지 않습니다. 이 상태를 역방향 바이어스(revere boas)라고 합니다. 이런 특성을 이용해서 정류회로에 기본 소자로 사용됩니다. 그런데 정방향 바이어스가 일반적으로 0.7V 이하가 되면 다이오드에는 전류가 흐르지 않습니다. 이는 .. 2021. 10. 9.
Python의 FFT, 평균화(averaging), 평활화(Smooth) 오디오의 FFT 오디오의 주파 수축 정보를 알아보기 위해서 FFT를 사용합니다. 이글에서는 Python을 이용해서 wav 음악 파일의 일부를 읽어서 FFT의 결과를 그래픽으로 표시해 보겠습니다. 동시에 octave 조건을 이용해 보겠습니다. 평활화 주파수 축의 결과가 주파수에 따라서 신호의 크기 변화가 크기 때문에 유의미한 신호의 특성을 얻기가 힘듭니다. 그래서 특정 주파수를 기준으로 주변의 신호들과 평균을 내고 이를 대표해서 표시하는 방법을 사용하는데 이를 평활화(smooth)라고 합니다. 평균은 다른 글의 내용을 참조해 주세요. 평활화는 주로 옥타브 단위로 주변의 신호를 평균 내서 화면에 표시합니다. 아래의 코드에서 평활화 없는 FFT 결과, 1 oct로 평활화 그리고 1/3 oct로 평활화한 결과를.. 2021. 9. 28.
PC 사운드 카드의 잡음 문제, 절연 트랜스 PC의 오디오 출력 문제 컴퓨터의 오디오 출력을 스피커 또는 다른 장치에 연결해서 사용할 경우 마치 컴퓨터의 사운드 카드에서 잡음이 발생해서 신호 대 잡음비가 나빠진 것처럼 청취될 때가 있습니다. 신호 대 잡음비와 청취 레벨에 대해서는 참조의 글을 보시는 것이 좋겠습니다. 물론 사운드 카드의 특성이 좋지 않은 경우도 있지만 대부분 그라운드 루프(ground loop)의 영향인 경우도 있습니다. 그리고 그 원인의 주요 범인은 컴퓨터의 전원 공급기(power supply)인 경우가 많습니다. 전원 공급기가 나빠서라기 보다는 전원 공급기의 전기적인 특성이 사운드카드를 통해 출력되는 오디오 신호와 외부 장비와의 연결되는 사이에 전원 공급기가 잡음원이 된다는 의미입니다. 그라운드 루프 다른 글에서 작성된 내용이지.. 2021. 9. 23.
Qucs(20)-마이크 프리앰프(preamp) 회로 마이크 프리앰프 마이크 프리앰프(microphone preamp)는 마이크 출력 신호를 라인 신호 즉 일반 오디오 신호로 변환하는 장치를 의미합니다. 라인 신호(line signal) 또는 라인 레벨(line level)은 오디오 장치와 오디오 장치 사이에 전송하는 신호의 크기를 말합니다. 물론 프리앰프에는 좀 더 유용한 기능들이 포함되지만 이 글에서는 평형형 마이크 신호를 불평형 신호로 변환하는 데 주안점을 두고 작성해 보겠습니다. 먼저 아래의 글에서 마이크 신호에 대해 이해하는 것이 필요합니다. 트랜스를 사용하는 고전적인 프리앰프 회로 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialin.. 2021. 9. 20.