1000 샘플과 같은 길이의 신호가 있습니다. 이 신호를 원래 샘플과 동일한 속도로 샘플링 된 5000 개의 샘플로 확장하고 싶습니다 (즉, 더 오랜 시간 동안 샘플을 계속 샘플링하면 신호의 상태를 예측하고 싶습니다). 신호는 함께 추가 된 여러 정현파 성분으로 구성됩니다.
처음 나에게 온 방법은 전체 FFT를 가져 와서 확장하는 것이었지만 프레임 1001에서 매우 강한 불연속을 남깁니다. 또한 피크 근처에서 스펙트럼의 일부만 사용하는 것을 고려했습니다. 신호를 다소 개선하면 위상이 올바른 것으로 보이지는 않습니다. 이 신호를 확장하는 가장 좋은 방법은 무엇입니까?
다음은 내가 원하는 것에 대한 이상적인 방법을 보여주는 MATLAB 코드입니다. 물론, 정확히 3 개의 정현파 성분이 있거나 정확한 위상과 주파수가 있다는 것을 미리 알 수 없습니다. 501 지점으로 이동할 때 기능이 연속적이고 점프가 없는지 확인하고 싶습니다
vals = 1:50;
signal = 100+5*sin(vals/3.7+.3)+3*sin(vals/1.3+.1)+2*sin(vals/34.7+.7); % This is the measured signal
% Note, the real signal will have noise and not be known exactly.
output_vals = 1:200;
output_signal = 100+5*sin(output_vals/3.7+.3)+3*sin(output_vals/1.3+.1)+2*sin(output_vals/34.7+.7); % This is the output signal
figure;
plot(output_signal);
hold all;
plot(signal);
기본적으로 녹색 선이 있으면 파란색 선을 찾고 싶습니다.