Tôi có một tín hiệu của một số chiều dài, nói 1000 mẫu. Tôi muốn mở rộng tín hiệu này lên 5000 mẫu, được lấy mẫu với cùng tốc độ như ban đầu (nghĩa là tôi muốn dự đoán tín hiệu sẽ là gì nếu tôi tiếp tục lấy mẫu trong một khoảng thời gian dài hơn). Tín hiệu này bao gồm một số thành phần hình sin được thêm vào với nhau.
Phương pháp đầu tiên đến với tôi là lấy toàn bộ FFT và mở rộng nó, nhưng điều này để lại sự gián đoạn rất mạnh ở khung 1001. Tôi cũng đã xem xét chỉ sử dụng một phần của phổ gần các cực đại, và trong khi điều này dường như cải thiện tín hiệu phần nào, dường như với tôi rằng pha được đảm bảo là chính xác. Phương pháp tốt nhất để mở rộng tín hiệu này là gì?
Đây là một số mã MATLAB hiển thị một phương thức lý tưởng hóa những gì tôi muốn. Tất nhiên, tôi sẽ không biết trước rằng có chính xác 3 thành phần hình sin, cũng như pha và tần số chính xác của chúng. Tôi muốn đảm bảo rằng chức năng này liên tục, không có bước nhảy khi chúng ta di chuyển đến điểm 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);
Về cơ bản, đưa ra dòng màu xanh lá cây, tôi muốn tìm dòng màu xanh.