부동 소수점 신호에 홀수 또는 고조파를 추가하려면 어떻게합니까?
tanh 또는 sin을 사용해야합니까?
내가하려고하는 것은 매우 간단한 왜곡 효과를 얻는 것이지만 정확한 참조를 찾는 데 어려움을 겪고 있습니다. 내가 좋아하는 것은 Culture Vulture 가 펜 토드 및 삼극관 설정에 홀수 및 고조파를 추가하여 수행하는 것과 비슷한 것 입니다. float 값은 샘플 흐름에서 단일 샘플입니다.
부동 소수점 신호에 홀수 또는 고조파를 추가하려면 어떻게합니까?
tanh 또는 sin을 사용해야합니까?
내가하려고하는 것은 매우 간단한 왜곡 효과를 얻는 것이지만 정확한 참조를 찾는 데 어려움을 겪고 있습니다. 내가 좋아하는 것은 Culture Vulture 가 펜 토드 및 삼극관 설정에 홀수 및 고조파를 추가하여 수행하는 것과 비슷한 것 입니다. float 값은 샘플 흐름에서 단일 샘플입니다.
답변:
왜곡 상자의 기능은 신호에 비선형 전송 기능을 적용하는 것입니다 : output = function(input)
또는 y = f(x)
. 모든 개별 입력 샘플에 동일한 기능을 적용하여 해당 출력 샘플을 얻습니다.
입력 신호가 사인파 인 경우 특정 유형의 왜곡이 고조파 왜곡 이라고 합니다 . 왜곡에 의해 생성 된 모든 새로운 톤은 입력 신호의 완벽한 고조파입니다.
당신은 홀수 고조파를 추가하려면 그래서 그래, 같은 홀수 대칭 전송 기능을 통해 신호를 넣어 y = tanh(x)
나 y = x^3
.
고조파 만 추가하려면 신호를 대칭 및 항등 함수로 전달하여 원래의 기본을 유지하십시오. y = x + x^4
또는 같은 것 y = x + abs(x)
. 이 x +
(가) 동안, 그렇지 않으면 파괴 될 것이라고 기본을 유지 x^4
짝수 대칭이고 (당신은 아마 하이 패스 필터를 나중에 제거 할 DC 포함) 짝수 고조파를 생성합니다.
짝수 대칭 :
균일 한 대칭을 가진 전달 기능 :
원래 신호는 회색으로, 왜곡 된 신호는 파란색으로, 왜곡 된 신호 스펙트럼은 고조파 만 나타내며 기본은 없습니다.
홀수 대칭 :
홀수 대칭의 전달 함수 :
원래 신호는 회색으로, 왜곡 된 신호는 파란색으로, 왜곡 된 신호 스펙트럼은 기본을 포함하여 홀수 고조파 만 표시합니다.
심지어 대칭 + 기본 :
짝수 대칭 및 동일 기능을 가진 전달 기능 :
원래 신호는 회색으로, 왜곡 된 신호는 파란색으로, 왜곡 된 신호의 스펙트럼은 고조파와 기본을 보여줍니다.
왜곡 상자가 "홀수 고조파를 추가한다"고 말할 때 사람들이 말하고있는 것이지만 실제로는 정확하지 않습니다. 문제는 사인파 입력에 대해서만 고조파 왜곡 이 존재한다는 것입니다 . 대부분의 사람들은 사인파가 아닌 악기를 연주하므로 입력 신호에는 여러 사인파 성분이 있습니다. 이 경우 고조파 왜곡이 아닌 상호 변조 왜곡이 발생 하며 홀수 및 고조파에 대한 이러한 규칙은 더 이상 적용되지 않습니다. 예를 들어, 전파 정류기 (심지어 대칭)를 다음 신호에 적용하십시오.
출력 스펙트럼은 입력 신호가 아닌 왜곡 장치에 크게 의존하고 누군가가 말한다 때마다 "그래서 우리 앰프 / 효과가 더 뮤지컬 짝수 차 고조파를 생산 ", 당신은해야 에누리 걸릴 .
( 고조파조차 포함 된 사운드는 홀수 고조파 만 포함 된 사운드보다 "더 뮤지컬"하다는 주장에는 약간의 진실이 있지만, 이러한 스펙트럼은 위에서 설명한 것처럼 실제로 생성되지 않으며,이 주장은 어쨌든 서구 음계 홀수 고조파 (사각 파, 클라리넷 등)는 2 : 1 옥타브 대신 3 : 1 비율을 기준으로 Bohlen-Pierce 음계 에서 더 자음이 생깁니다 .)
기억해야 할 또 다른 사항은 디지털 비선형 프로세스가 앨리어싱을 유발할 수 있으며 이는 소리가 잘 들리지 않을 수 있다는 것입니다. 대역 제한 비선형 왜곡과 같은 것이 있습니까?를 참조하십시오 .
달성하려는 것을 왜곡 이라고 합니다. 이 기술은 주어진 신호에 고조파를 추가하려고 할 때 사용됩니다. 이 작업을 수행하는 두 가지 기본 방법이 있습니다 : 파도 와 링 변조 . 먼저 설명하겠습니다.
Waveshaping을 사용하면 특별히 선택된 기능 을 사용하여 왜곡을 만들 수 있습니다 . 유용한 방법 중 하나는 Chebyshev 다항식 입니다. 그들은 단위 진폭 (예 : 사인파)으로 고조파 신호를 제출 할 때 매우 중요한 특성을 가지고 있으며 동일한 신호를 얻을 수 있습니다. 주파수 승수는 다항식의 순서에 따라 달라집니다. 모든 다항식은 다음과 같습니다.
이 경우 각 요소는 하모니카를 생성 한 다음 모두 합쳐집니다. 각 구성원의보기는 다음과 같은 반복 관계에 의해 결정됩니다.
여기에서 각 멤버는 이전 멤버를 기반으로 결정되며 모두 0으로 시작합니다.이 경우 1과 같고 첫 번째는 x와 같습니다 (물론 변경할 수 있습니다)
그것들을 알면 세 번째와 네 번째를 결정할 수 있습니다.
짐작할 수 있듯이 두 번째 용어-첫 번째 고조파, 세 번째 용어-두 번째 등.
체비 쇼프 다항식의 또 다른 특징은, 진폭이 단위보다 작은 신호를 제공 할 때 출력은 고조파에서 채도가 낮은 사운드입니다. 오버 드라이브 효과를 만들 수 있습니다.
결국, 신호는 부동 소수점 배열이며 배열의 일부를 선택하여 Chebyshev 다항식에 적용하면 추가 고조파가 생성됩니다. 그리고 기능을 사용 하면 이것으로 충분할 것입니다.