2013-09-02 2 views
-1


안녕하세요!FFT 주파수 측정 VS 타이머로 신호주기 측정

저는 프로젝트에서 STM32 마이크로 프로세서로 들어오는 신호의 주파수를 측정해야합니다. 주파수는 약 2210 Hz입니다.

나는 Timer로 구형파 (정현파가 통과하는 사인파)의 시간을 측정 한 다음, 이동 평균과 최소 사각 피팅을 사용하여 (주기 측정의 배열은 약 100 개의 요소 임) appoximate하려고했습니다. 두 결과 모두 거의 같습니다.

그래서 질문은 - 적어도 하나의 순서로 주파수 측정 정확도를 향상시킬 수 있습니까? (비교기를 통과하지 않고) 사인파의 ADC 변환을 사용하고 FFT를 사용합니까?

도움이 될 것입니다.
Viacheslav.

+0

이 질문은 소프트웨어 개발과 전혀 관련이 있습니까? –

+0

이 질문은 STM32 마이크로 프로세서에서 측정 된 데이터를 처리하기위한 적절한 알고리즘을 선택하는 것에 관한 것이 었습니다. 유감 스럽지만 그 외 무엇이 관련 될 수 있습니까? – Viacheslav

+0

그냥 확인해보세요. 관련성을 확인하기 위해 검토 대기열에 왔습니다. –

답변

2

노이즈 또는 간섭의 유형 및 허용되는 측정 지속 시간에 따라 가능합니다. 사용 가능한 정보가 더 많아서 제로 크로싱이 아닌 전체 파형을 사용함으로써 잡음 간섭에 대한 저항이 커집니다. 예를 들어, 부동 소수점 FFT 결과의 정확한 위상은 사인파의 제로 크로싱을 서브 샘플 해상도로 보간합니다.

그러나 FFT 피크 크기 상자의 색인을 순진하게 사용하지 마십시오. 저잡음에서는 FFT가 하위 bin-width 해상도로 보간 될 수 있습니다. 또는 두 오프셋 윈도우의 중심에 대한 위상 결과를 사용하여 오프셋 쌍에 사용 된 FFT를보다 높은 잠재적 인 해상도로 위상 보코더 주파수 보간에 사용할 수 있습니다.

+0

답장을 보내 주셔서 대단히 감사합니다! 하지만 몇 가지 제한 사항을 써야합니다. 주된 문제는 신호의 측정 기간입니다. 출력을 수행하는 데 50 밀리 초 밖에 걸리지 않으므로이 측정 결과는 출력 배열에서 약 100 측정 된 기간 (정수 값)이됩니다. 이렇게 작은 측정 기간에 FFT로 더 나은 정확성을 얻으려면 어떤 기회가 있는지 알고 싶습니다. 최대 속도 7.2MSPS의 12 비트 ADC가 있으므로 50ms 주기로 360k 샘플이 발생할 수 있습니다. 정확도를 향상시키는 것이 실제로 가능합니까? 미리 감사드립니다. Viacheslav – Viacheslav