이것은 유효한 접근 방법이 될 수 있습니다. 고정 소수점 (예 : 정수) 산술을 사용할 때 종종 발생하는 매우 실용적인 문제가 관찰되고 있습니다 (물론 부동 소수점에서도 발생할 수 있음). 계산을 수행하는 데 사용하는 숫자 형식이 계산에서 발생할 수있는 전체 범위의 값을 표현하기에 충분한 정밀도를 가지고 있지 않은 경우 일부 형태의 반올림이 필요합니다 (예 : 잘림, 반올림 등). 의 위에). 이것은 종종 신호에 대한 추가 양자화 오류 로 모델링됩니다 .
그러나 알고리즘과 반올림 방식의 일부 조합의 경우 입력 신호의 크기가 매우 낮은 경우 관찰 한 것을 얻을 수 있습니다. 많은 수의 제로 출력. 기본적으로 작업 순서 어딘가에서 중간 결과는 0이 아닌 수준으로 양자화하는 데 필요한 임계 값을 위반하지 않을 정도로 작아지고 있습니다. 그런 다음 값은 0으로 반올림되어 출력으로 전달 될 수 있습니다. 결과에서 알 수 있듯이 많은 출력 제로를 생성하는 알고리즘입니다.
데이터를 확장하여이 문제를 해결할 수 있습니까? 때때로 (항상 작동하는 기술은 거의 없습니다!). 입력 신호가 숫자 형식 (-32768에서 +32767까지 실행되는 16 비트 부호있는 정수)의 풀 스케일보다 작은 값으로 제한되는 경우 입력 신호를 스케일링하여 그것. 이것은 라운드 오프 에러의 크기가 관심 신호에 비해 작아짐에 따라 라운드 오프 에러의 영향을 완화하는 데 도움이 될 수 있습니다. 따라서 모든 출력이 알고리즘 내부에서 0으로 반올림되는 경우 도움이 될 수 있습니다.
그러한 기술이 언제 당신을 해칠 수 있습니까? 알고리즘 계산 구조에 따라 입력 신호를 스케일 업하면 숫자 오버플로가 발생할 수 있습니다. 또한 신호에 알고리즘의 반올림 오류보다 크기가 큰 배경 잡음이나 간섭이 포함 된 경우 출력에서 얻는 것의 품질은 일반적으로 계산에 도입 된 오류가 아니라 환경에 의해 제한됩니다.