본문 바로가기

분류 전체보기158

Qucs(24)-아날로그 필터 아날로그 저역통과 필터 아날로그 필터는 아날로그 신호를 위한 아날로그 회로로 구현된 필터를 의미하며 수동 필터와 능동 필터가 있습니다. 오디오 입출력 회로에는 여전히 아날로그 필터가 사용됩니다. 디지털 오디오 필터 또한 아날로그 필터의 특성에서 부터 구현됩니다. 이 글에서는 간단한 아날로그 저역 통과 필터의 구현 방법을 알아보겠습니다. 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.com/112?category=959576 https://medialink.tistory.com/113?category=959576 1차 저역통과 필터 전자회로에서 저항 콘덴서 인덕터를 수동.. 2021. 10. 19.
Qucs(23)-적분회로, 절댓값회로, 평균기 적분기와 평균기 오피 앰프를 이용한 평균기(average schematic)를 만들어 보겠습니다. 평균기는 아날로그 신호의 평균값을 오피 앰프로 구하는 회로입니다. 엄밀한 의미에서는 실효치를 구하는 것이 목적입니다. 이를 위해서는 앞선 글의 절댓값 회로와 적분기를 사용해야 합니다. 적분기 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.com/112?category=959576 https://medialink.tistory.com/113?category=959576 적분기(integrator)는 신호를 적분해주는 회로입니다. 오피 앰프가 연산을 하는 부품인 것은 알고 있.. 2021. 10. 19.
Qucs(22)- 오피앰프 정류회로, 절대값 회로 정류 회로 정류회로 또는 정류기(rectifier)는 전기적인 교류 신호를 직류신호로 변환하기 위한 회로입니다. 대부분 고전력 장치를 위해 개발되지만 오피 앰프를 이용한 저전력에서도 신호의 특성 검출을 위해 사용됩니다. 정류 회로는 반파형 정류기(harf-wave rectifier)와 전파 정류기(full-wave rectifier)가 있습니다. 반전 증폭기를 이용한 반파형 정류기 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.com/112?category=959576 https://medialink.tistory.com/113?category=959576 반전 증폭기.. 2021. 10. 19.
라즈베리파이에서 UART 사용 UART 사용하기 UART 방식의 통신이 여전히 임베디드에서 사용되고 있습니다. 참으로 오래된 통신 방식이고 단점도 있지만 매우 간단하고 편리하면서 값싸게 구현이 가능하게 때문이겠죠. 물론 관련된 기술적 정보도 튼튼히 많이 있기도 합니다. 이 글에서는 라즈베리에서 UART를 사용하기 위한 기초인 설정과 검토 방법을 알아보겠습니다. 시리얼 통신과 UART 흔히 UART 통신을 시리얼 통신(serial communication)이라고 부르지만 엄밀히 말하면 잘못 용어를 적용한 것입니다. 시리얼 통신은 통신 데이터의 비트 표현을 시간에 따라 한 번에 한 비트씩 보내는 방법입니다. 그래서 직렬 통신이라고 부릅니다. 이와 대응하는 방법이 병렬 통신 (paralled communication)로 데이터를 표현하는 .. 2021. 10. 10.
Qucs(21)-다이오드를 이용한 기초 회로와 바이어스 인가 회로 다이오드 다이오드(diode)는 전자회로에서 사용하는 기초 부품입니다. 이 부품은 여러 회로에 포함되어 원하는 특성을 얻도록 지원합니다. 이글에서는 다이오드의 기본 구동 원리와 이를 응용하는 바이어스 인가 회로를 보여드리겠습니다. 다이오드는 아래 그림과 같이 애노드(Anode, A)에서 케소드(cathode, K)로 전압을 인가하면 화살표 방향으로 전류가 흐릅니다. 이상태를 정방향 바이어스(forward bias)라고 합니다. 만약 전압이 반대 방향으로 인가되면 전류가 흐르지 않습니다. 이 상태를 역방향 바이어스(revere boas)라고 합니다. 이런 특성을 이용해서 정류회로에 기본 소자로 사용됩니다. 그런데 정방향 바이어스가 일반적으로 0.7V 이하가 되면 다이오드에는 전류가 흐르지 않습니다. 이는 .. 2021. 10. 9.
c#의 구조체 C#의 구조체(structure)와 클래스(class) c언어에서 많이 활용되는 구조체는 c#에서도 사용이 가능합니다. 형태상으로 보면 구조체와 클래스는 다르지 않습니다. 다만 구조체는 객체 지향성 특성이 없기 때문에 상속 권한이 없습니다. 그래도 아주 단순한 형태로 데이터 묶음을 만들어서 함수의 파라미터로 사용할 수 있어 편리합니다. 구조체의 구조 c#에서 구조체는 멤버를 초기화하는 함수, 멤버를 내보내거나 할당하는 함수 등을 함께 포함할 수 있습니다. 물론 연산도 가능합니다. 아래의 예는 실제 신호처리의 다이내믹 처리를 위해 사용되는 파라미터를 구초체 묶으로 만들어 사용하는 내용입니다. 이 중에서 Data_Set()는 구조체의 모는 멤버를 할당해 줍니다. 기타 함수들은 멤버 값을 반환해 줍니다. pu.. 2021. 10. 8.
c# 다항식 연산 다항식 연산 다항식(Polynomial)과 다항식 간의 연산은 신호처리 과정에서 가끔 사용합니다. 특히 필터 합성에서 계수를 합성할 때 사용합니다. 이 글에서는 C#으로 다항식의 덧셈과 곱셈을 하는 클래스를 만들어 보겠습니다. 다항식 연산용 클래스 다음과 같이 다항식의 차수 degree와 차수별 계수를 기록하는 클래스를 만듭니다. 계수 coef는 차수보다 1개 더 많이 사용됩니다. 즉 degree = 2면 $a_2 x^2 + a_1 x + a_0 $ 형식으로, coef []는 $[a_2, a_1, a_0 ]$로 기록됩니다. 아래의 클래스는 Add()는 다항식 덧셈 연산을, Multiply()는 다항식 곱셉 연산을 합니다. using System; namespace test_IIR_FreqResponse .. 2021. 10. 8.
c#의 배열과 리스트 배열과 리스트 c#에서 배열(array)과 리스트(list)는 다수의 데이터를 처리하는데 유용합니다. c#에는 매우 다양한 형태의 배열과 리스트가 있고, 이를 활용하는 방법또한 매우 다양합니다. 이글에서는 배열을 초기화하는 방법등의 기초적인 내용과 함께 배열과 리스트를 상호 변환하는 방법을 알아보겠습니다. 다차원 배열의 할당 c#에서는 다차원 배열은 다음과 같이 할당합니다. int[] Array1 = new int[20]; int[,] IntArray20 = new int[20,30]; 다른 다차원 배열 방법도 있습니다. 초기 할당 방법이 C와 유사합니다. const int size_x = 10; const int size_y = 20; Float[][] a; a = new float[size_x][];.. 2021. 10. 6.
c#의 Enum 멤버의 정보 추출 Enum 멤버의 이름 추출 또는 할당 번호 추출 C#에서 Enum을 사용하면 함수간에 변수를 전달할때 변수의 조건을 명시적으로 제한하기 때문에 코딩하기 매우 편리합니다. 혹은 조건에 따라 코딩을 분리하거나, 데이터의 내용을 제한적으로 할 수 있고, 내용을 특정 문자로 변경해서 사용하기 때문에 매우 좋습니다. 그런데 가끔 Enum의 멤버의 이름을 문자로 반환받거나, 할당된 번호를 사용하고 싶을때가 있습니다. 이 글에서는 Enum의 멤버에 대한 정보를 추출하는 방법을 알아보겠습니다. 실험용 Enum 만들기 두 개의 Enum을 만들겠습니다. 그리고 멤버 할당 번호를 숫자와 문자(char)로 해보겠습니다. public enum TP{ abc=0, efg, hij, }; public enum TQ { abc = .. 2021. 10. 6.
Python의 FFT, 평균화(averaging), 평활화(Smooth) 오디오의 FFT 오디오의 주파 수축 정보를 알아보기 위해서 FFT를 사용합니다. 이글에서는 Python을 이용해서 wav 음악 파일의 일부를 읽어서 FFT의 결과를 그래픽으로 표시해 보겠습니다. 동시에 octave 조건을 이용해 보겠습니다. 평활화 주파수 축의 결과가 주파수에 따라서 신호의 크기 변화가 크기 때문에 유의미한 신호의 특성을 얻기가 힘듭니다. 그래서 특정 주파수를 기준으로 주변의 신호들과 평균을 내고 이를 대표해서 표시하는 방법을 사용하는데 이를 평활화(smooth)라고 합니다. 평균은 다른 글의 내용을 참조해 주세요. 평활화는 주로 옥타브 단위로 주변의 신호를 평균 내서 화면에 표시합니다. 아래의 코드에서 평활화 없는 FFT 결과, 1 oct로 평활화 그리고 1/3 oct로 평활화한 결과를.. 2021. 9. 28.
신호처리를 위한 평균 신호 처리와 평균 신호 처리과정에서 평균(mean, average)은 매우 유용하게 사용됩니다. 특히 향후에 다른 글에서 다루게 될 다이내믹 프로세서에서 핵심 내용으로 자리합니다. 그리고 신호를 계측하고 평가하는 과정에서도 사용되며, 적응 필터와 같은 신호 처리 필터의 기반이 됩니다. 이글에서는 신호처리에 사용되는 평균과 이를 응용한 다른 평균에 대해서 알아보겠습니다. 산술 평균과 이동 평균 산술 평균 n개의 {${x_i}$}에 대해 산술 평균 $\bar{X}$로 정의합니다. 일반적으로 산술 평균을 평균(average)으로 부릅니다. $$\bar{X}=\frac{x_0+\cdots +x_{n-1}}{n}$$ 이동 평균 만약 시간에 따라 계속 변화하는 신호에서 N개를 추출해서 평균을 구한다면 다음과 같이 .. 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.
Qucs(19)-오디오용 평형신호-불평형 신호 변환 회로 평형 신호에서 불평형 신호로 변환 앞글에서 연급 한 것과 같이 오디오용 신호는 평형 신호(balalnced signal)와 불평형 신호(unbalanced signal)가 있습니다. 이대 대한 내용은 다음을 참조하시면 됩니다. 오디오 장치 내부에서는 불평형 신호를 주로 사용하기 때문에 오디오 장치로 입력되는 평형 신호를 불평형 신호로 변환해서 사용합니다. 이 글에서는 평형 신호를 불평형 신호를 변환하는 회로를 알아보겠습니다. 차동 증폭기를 사용하는 평형 신호에서 불평형 신호로 변환하는 회로 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.com/112?category=9.. 2021. 9. 20.
Qucs(18)-오디오용 불평형 입력-평형 출력 회로 오디오용 신호의 변형 앞글에서 연급 한 것과 같이 오디오용 신호는 평형 신호(balalnced signal)와 불평형 신호(unbalanced signal)가 있습니다. 이번 글에서는 오디오 장치의 내부에서 사용하는 불평형 신호를 오디오 장치의 전송 신호로 사용하는 평형 신호로 변환하는 몇 가지 회로를 소개하겠습니다. 간단한 불평형-평형 신호 변환 회로 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.com/112?category=959576 https://medialink.tistory.com/113?category=959576 아래 회로는 전압 플로어와 반전 회로를 .. 2021. 9. 20.
Qucs(17)-오디오용 평형 신호 버퍼회로 평형 신호 버퍼 회로 앞글에서 연급 한 것과 같이 오디오용 신호는 평형 신호(balalnced signal)와 불평형 신호(unbalanced signal)가 있습니다. 거의 모든 오디오 회로는 평형 신호를 불평형 신호로 또는 그 반대로 변형해서 사용하는데 가끔 평형 신호를 평형 신호 롤 버퍼링 해야 할 때도 있습니다. 이 글에서는 두 개의 평형 신호에 대해서 다루겠습니다. 기본적인 평형 신호 버퍼 회로 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.com/112?category=959576 https://medialink.tistory.com/113?category=.. 2021. 9. 20.
Qucs(16)-오디오용 불평형 신호 회로 불평형 신호 아날로그 오디오 신호는 크게 평형 신호(balanced signal)와 불평형 신호(unbalanced signal)를 사용합니다. 두 신호에 대해 서는 아래의 글에서 잠깐 다루었습니다. 평형 신호는 신뢰성을 확보하면서 장거리 전송이 가능하기 때문에 산업용 즉 프로 오디오에서 주로 사용합니다. 반면 불평형 신호는 가정용 또는 가까운 거리에서 오디오 신호를 전송할 때 사용합니다. 이 글에서는 오디오 장치에서 불평형 신호를 입력 또는 출력하는 버퍼 회로에 대해서 다루겠습니다. 매우 간단한 불평형 신호 입력 회로 먼저 Qucs의 설치와 기본적인 사용 방법은 아래 내용을 참조하시면 됩니다. https://medialink.tistory.com/111 https://medialink.tistory.c.. 2021. 9. 19.
오디오 신호(21)-ADC, DAC, 지연 시간 아날로그 신호를 디지털 신호로 상호 변환 디지털 신호처리를 하려면 아날로그 신호를 디지털 신호로 변환해야 합니다. 이 부분은 DSP가 수행하지 않고 전용 부품인 ADC(analog-to-digital converter) 또는 DAC(digital-to-analog converter)가 수행합니다. 두 부품을 합해서 ADAC라고 부르기도 하고 최근에는 코덱(codec)이라고 부릅니다. 이 글에서는 ADAC의 동작 원리와 이와 관련된 공학적인 특징을 알아보겠습니다. ADC ADC는 아날로그 신호를 디지털 신호로 변환하는 부품입니다. 고전적인 ADC는 아래 그림과 같이 여러 개의 오피 앰프를 이용한 비교기를 조합하여 입력 신호에 의한 비교기의 출력을 부호화하는 엔코더(encoder를 통해 I2S와 같은 시리얼.. 2021. 9. 17.
FFT와 윈도우 오디오 신호에서 주파수 정보를 보기 오디오 신호의 특성을 시간축에서 보다 주파수 축에서 알아보는 것이 더욱 편리합니다. 즉 주파수별로 신호의 크기와 위상의 특성으로 오디오가 어떤 정보를 가지고 있는지 알아봅니다. 이를 위해서 다른 글에서 약간 설명한 푸리에 변환을 사용합니다. 또 현실적인 내용으로 푸리에 변환을 적용하도록 도와주는 각종 윈도우에 대해서도 알아 보겠습니다. 이 윈도우는 디지털 필터를 만들때에 중요한 역할을 하기 때문에 특성과 종류를 알아두는 것이 좋습니다. 푸리에 변환과 주파수 해상도 푸리에 변환(Fourier transform)은 시간축의 신호를 주파수 축의 정보로 변환하는 방법으로 다음과 같이 정의됩니다. 이는 $f(t)$가 연속적인 신호 즉 오디오 신호에 적합한 변환 방식입니다. $$.. 2021. 9. 16.
오디오 신호(20)-옥타브 주파수 옥타브 주파수 구하기 저번 글에서 옥타브를 정의하는 공식을 알아봤습니다. 이번에는 오디오 주파수 대역에서 옥타브 주파수를 구하는 내용을 알아보겠습니다. 이글의 목적은 다른 곳에서 설명한 피킹 필터를 이용한 이퀄라이저의 주파수를 결정하는 기술적 기준을 마련하기 위해 작성했습니다. 1 oct의 주파수 다른 글에서 말한 것과 같이 1 oct는 특정 주파수에서 2배가 되는 다른 주파수 사이의 관계라고 설명한 적 있습니다. 그러면 가청 주파수 대역은 1 oct(1옥타브)로 보면 어떤 특성이 있을까요? 최저 주파수를 20Hz로 하고 계산하면 첫 번째 옥타브 주파수는 다음과 같습니다. $$f_2 = f_1 \cdot 2^{oct}$$ $$f_2 = 20 \cdot 2^{1oct} = 20 \cdot 2 = 40Hz$.. 2021. 9. 16.