2011-10-29 2 views
1

저는 진동하는 로봇 팔의 움직임을 측정하는 제어 시스템을 연구하고 있습니다. 어떤 데드 타임이 있기 때문에, 나는 다소 시끄러운 신호의 미래를 조사 할 필요가있다. 내 생각은 샘플링 된 신호의 주파수를 사용하고 외삽 법에 사용될 수있는 푸리에 함수를 생성하는 것이 었습니다.Matlab에서 복잡한 FFT로부터 사인/코사인 함수에 대한 계수를 얻는 방법은 무엇입니까?

내 질문 : 이미 신호 벡터의 FFT (예 : 60-100 값 포함)가 있으며 진폭 스펙트럼에서 주요 주파수를 볼 수 있습니다. 이제 신호에 맞는 함수 f (t)를 갖고 싶고, 잡음을 제거하고, 신호의 가까운 미래를 예측하는 데 사용할 수 있습니다. 복잡한 FFT 데이터에서 사인/코사인 함수의 계수를 어떻게 계산합니까?

정말 고마워요!

+0

http://dsp.stackexchange.com에서 프로그래밍과 관련된 것보다 더 많은 DSP 관련 질문을 해보고 싶을 수도 있습니다. –

+0

그 사이트에 대해 알지 못했습니다! 나는 그것을 거기에서 시험 할 것이다! –

답변

1

AFAIR FFT는 기본적으로 다른 주파수의 사인 함수의 합으로 출력을 생성합니다. 각 주파수의 중요성은 각 피크의 높이입니다. 그래서 여기서 정말로하고 싶은 것은 몇 가지 주파수 (즉, 팔이 부드럽게 움직일 수있는 높은 주파수)를 걸러 내고 시간 영역으로 다시 돌아 오는 것입니다.

matlab에서 이것은 fft에서 얻은 결과를 벡터로 가거나, 어떤 값을 0으로 설정하거나 (또는 ​​좀 더 복잡한 작업을 수행하는 것과 같음) ifft를 사용하여 시간 영역으로 되돌아와 예측을 기반으로해야합니다. 네가 얻는 것에.

Nyquist frequency - 이것은 fft에서 얻는 가장 높은 주파수가 샘플링 빈도의 절반이라는 것을 의미합니다.

0

FFT 조리개 길이 내에서 주기적이지 않은 데이터에 대해 FFT를 사용하는 경우 "스펙트럼 누출"으로 인한 스퓨리어스를 줄이려면 창을 사용해야 할 수 있습니다. "빈 (bin)"주파수 컨텐트를 더 잘 추정하기위한 주파수 추정 기법도 적절할 수 있습니다. 윈도우의 가장자리를 기준으로 각 코사인 사인 곡선의 위상은 대개 atan2입니다 (imag [i], real [i]). 주파수는 샘플 속도와 빈 번호 대 FFT의 길이에 따라 다릅니다.

또한 FFT 대신 칼만 필터를 사용하고 싶을 수도 있습니다.

관련 문제