728x90
반응형
로그 스케일(logarithmic scale)
값의 범위가 매우 크거나 지수적으로 변화하는 데이터를 다룰 때 유용한 방식.
로그 스케일로 값을 나누는 공식은 각 값들이 로그함수에 따라 일정한 비율로 분포되도록 하는 것을 의미.
로그 스케일로 구간을 나누기 위해 사용하는 기본 개념은 다음과 같다.
- 로그 스케일에서 등간격: 두 값 사이의 차이가 곱셈으로 일정해야 하므로, 각 값 사이의 비율은 일정합니다. 즉, 선형 스케일에서는 차이가 일정하지만, 로그 스케일에서는 비율(곱셈)이 일정합니다.
- 공식: 주파수 범위를 로그 스케일로 나누는 경우, 특정한 값 는 다음과 같이 계산됩니다.
여기서 :
- fi는 i-번째 주파수 값
- fmin은 최소 주파수 (e.g. 10Hz)
- fmax은 최대 주파수 (e.g. 10,000Hz)
- i는 0부터 시작하는 인덱스
- N은 원하는 구간의 개수 (e.g. 30개)
- 로그 함수 활용: 이를 로그 함수로 변환하면 다음과 같습니다.
이 공식은 f에서 까지 주파수 구간을 로그 스케일로 일정한 비율로 나누는 방법입니다.
순서대로 하는 방법 :
- 주파수 범위 설정
- 10Hz에서 10,000Hz까지 주파수 범위 설정
- 로그 변환
- 주파수 값을 log 값으로 변환
- 10Hz -> log10 = 1
- 10,000Hz -> log10000 = 4
- 등간격 나누기
- 로그 스케일에서 등간격으로 나누기 위해, 1에서 4까지를 원하는 구간 수로 나누기
- 예를 들어, 30개의 구간으로 나누면 각 구간의 간격은 (4 - 1) / 30 = 0.1
- 참고로, 위 수식에서는 N-1로 나누는 데, 윗 줄에서 30으로 나누는 이유는 30개의 구간, 즉, 0번째를 포함하여 총 31개 값으로 나누기 위함
- 각 구간의 주파수 계산
- 각 구간의 로그 값을 다시 지수로 변환하여 주파수 계산
- [ 10^(1.0), 10^(1.1), 10^(1.2), ..., 10^(3.9), 10^(4.0) ] (31개)
- = [10, 12.59, 15.85, ..., 7,943.28, 10,000 ] (31개)
728x90
반응형
'IT > DEV Study' 카테고리의 다른 글
[Flutter] VSCode 플러터 앱 바로 만들고 실행하기 (0) | 2024.11.13 |
---|---|
[Flutter] 플러터 윈도우 VSCode 개발환경 설정하기 (Flutter SDK 설치, Flutter Doctor 이슈 해결 방법) (7) | 2024.11.12 |
[VB] Xml 파일 읽고 저장하기. Class Serializer & Deserializer. XmlDocument 데이터 TreeView에 보여주기. (3) | 2024.05.03 |
[VB] Linq 람다식, Query 방식 vs. Function 방식 비교 (4) | 2024.04.18 |
LCR Meter 및 물리량 개념 간단 정리 (L, C, R, Z, X, G 등) (36) | 2024.03.20 |