আমি কীভাবে 1 ডি সংকেত এক্সট্রোপোলেট করব?


25

আমার কিছু দৈর্ঘ্যের সংকেত রয়েছে, 1000 স্যাম্পল বলুন। আমি এই সংকেতটি মূল হিসাবে একই হারে নমুনা সহ 5000 টি নমুনায় প্রসারিত করতে চাই (অর্থাত, আমি যদি আরও দীর্ঘ সময়ের জন্য নমুনা অবিরত রাখি তবে এই সংকেতটি কী হবে তা আমি ভবিষ্যদ্বাণী করতে চাই)। সংকেতটি একসাথে যুক্ত বেশ কয়েকটি সাইনোসয়েডাল উপাদানগুলির সমন্বয়ে গঠিত।

আমার কাছে প্রথম যে পদ্ধতিটি এসেছিল তা হ'ল পুরো এফএফটি নেওয়া, এবং এটি প্রসারিত করা, তবে এটি 1001 ফ্রেমে খুব শক্তিশালী বিচ্ছিন্নতা ছেড়ে দেয় I've কিছুটা সংকেত উন্নত করুন, আমার কাছে মনে হয় না যে পর্বটি সঠিক হওয়ার গ্যারান্টিযুক্ত। এই সংকেত প্রসারিত করার জন্য সর্বোত্তম পদ্ধতি কী?

আমি যা চাই তার একটি আদর্শ পদ্ধতি দেখানোর জন্য এখানে কিছু ম্যাটল্যাব কোড রয়েছে। অবশ্যই, আমি আগে জানব না যে ঠিক 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);

মূলত, সবুজ রেখা দেওয়া, আমি নীল রেখাটি খুঁজতে চাই। এখানে চিত্র বর্ণনা লিখুন


3
এটি কি কোনও চিত্রকে টাইলিং, আকাশের এক্সটেনশনের মতো কিছু করার প্রসঙ্গে বা অন্য কিছু? অন্য কথায়, এটি প্রান্তে "মসৃণ" হওয়া ছাড়াও কি কোনও এক্সটেনশনের গুণগত মান রয়েছে?
datageist

3
আপনার প্রশ্ন পরিষ্কার নয়। "প্রসারিত" বলতে কী বোঝ? আপনি কি আপনার সিগন্যালের (টাইলিং) অনুলিপিগুলি কেটকেট করার চেষ্টা করছেন বা আপনি এটি 5x দ্বারা উপস্থাপন করতে চান বা আপনি এটি 5x দীর্ঘ রেকর্ড করতে চান? আপনার সংকেত পর্যায়ক্রমিক হয়? আমি মনে করি একটি আরও কড়া এবং সুস্পষ্ট সংজ্ঞাযুক্ত প্রশ্ন প্রয়োজনীয় এবং আপনি যা অর্জন করার চেষ্টা করছেন তার একটি ন্যূনতম উদাহরণ অবশ্যই সাহায্য করবে।
Lorem Ipsum

1
এক্সটেনশন মানে কি বিরক্তি? প্রশ্ন খুব পরিষ্কার নয়।
শ্রীরাম

কখনই বুঝতে পারিনি এটির এতগুলি কিছুর অর্থ হতে পারে ... চেষ্টা করব এবং এটিকে আরও স্পষ্টতর করে তুলব, মূলত আমি একই হারে 1-ডি সংকেত নমুনা রাখতে চাই, তবে দীর্ঘ সময়ের জন্য।
পিয়ারসন আর্টফোটো

1
@ এন্ডোলিথ: এটি কি জিনিসের উন্নতি করে?
পিয়ারসন আর্টফোটো

উত্তর:


16

উত্স উপাদানের উপর নির্ভর করে, নিম্নলিখিত কাগজে বর্ণিত ডিসিটি-ভিত্তিক বর্ণালী অন্তরঙ্গকরণ পদ্ধতি আশাব্যঞ্জক দেখাচ্ছে:

এল কে, এইচজি, গেলার এস। "সংশোধিত ডিসিটি সংশ্লেষণের ভিত্তিতে সিগন্যাল ট্রান্সফর্মেশন এবং ইন্টারপোলেশন" , ডিজিটাল সিগন্যাল প্রসেসিং, প্রবন্ধে প্রেস, ২০১১।

কাগজ থেকে প্রাপ্ত পরিসংখ্যানগুলির মধ্যে একটি এখানে দ্রবণের উদাহরণ দেখায়:

এখানে চিত্র বর্ণনা লিখুন

হারানো বিভাগগুলি পুনরুদ্ধার করার জন্য প্রযুক্তির অ্যাপ্লিকেশনগুলি ( উদাহরণস্বরূপ 4.2। হারানো পিচ পিরিয়ডগুলির সংশ্লেষণ ) সম্ভবত বহির্মুখের ক্ষেত্রে সবচেয়ে প্রাসঙ্গিক। অন্য কথায়, বিদ্যমান উত্স উপাদানের একটি টুকরো ধরুন, প্রান্ত এবং স্বেচ্ছাসেবী বিভাগের মধ্যে আপনি যেটি বেছে নিয়েছেন তার মধ্যে একটি হারিয়ে যাওয়া অংশটি ভান করুন, তারপরে "অনুপস্থিত" অংশটি পুনর্গঠন করুন (এবং সম্ভবত আপনি যে অংশটি শেষেরভাগে ব্যবহার করেছেন তা ফেলে দিন)। এটি প্রযুক্তির আরও সহজ অ্যাপ্লিকেশনটি সোর্স উপাদানটি নির্বিঘ্নে লুপ করার জন্য কাজ করবে ( উদাহরণস্বরূপ 3.1। বর্ণাল প্রশস্ততার বিভাজন )।


1
দুঃখজনকভাবে লিঙ্কটি মারা গেছে। আমি এই পেইড ডাউনলোডটি কেবলই খুঁজে পেতে পারি ।
knedlsepp

@ কেন্ডসেল্প এই লিঙ্কটি পে-ওয়াল ছাড়াই কাগজটি দেবে বলে মনে হচ্ছে।
পিটার কে

18

আমি মনে করি লিনিয়ার ভবিষ্যদ্বাণীমূলক কোডিং (অন্যথায় একটি অটো-রিগ্রসিটিভ মুভিং এভারেজ হিসাবে পরিচিত ) আপনি যা খুঁজছেন তা। এলপিসি প্রথমে টাইম সিরিজে লিনিয়ার মডেল লাগিয়ে একটি টাইম সিরিজকে এক্সপ্লোরপোল্ট করে, যাতে প্রতিটি নমুনাকে পূর্ববর্তী নমুনার একটি লিনিয়ার সংমিশ্রণ হিসাবে ধরে নেওয়া হয়। এই মডেলটিকে বিদ্যমান সময়ের সিরিজে ফিট করার পরে, এটি একটি স্থিতিশীল (?) পাওয়ার স্পেকট্রাম বজায় রেখে আরও মানগুলিকে এক্সপ্লোলেট করার জন্য এগিয়ে যেতে পারে।

lpcএলপিসি সহগগুলি অনুমান করার জন্য ফাংশনটি ব্যবহার করে মতলব-এ এখানে একটি ছোট্ট উদাহরণ example

N = 150;    % Order of LPC auto-regressive model
P = 500;    % Number of samples in the extrapolated time series
M = 150;    % Point at which to start predicting

t = 1:P;

x = 5*sin(t/3.7+.3)+3*sin(t/1.3+.1)+2*sin(t/34.7+.7); %This is the measured signal

a = lpc(x, N);

y = zeros(1, P);

% fill in the known part of the time series
y(1:M) = x(1:M);

% in reality, you would use `filter` instead of the for-loop
for ii=(M+1):P      
    y(ii) = -sum(a(2:end) .* y((ii-1):-1:(ii-N)));
end

plot(t, x, t, y);
l = line(M*[1 1], get(gca, 'ylim'));
set(l, 'color', [0,0,0]);
legend('actual signal', 'extrapolated signal', 'start of extrapolation');

অবশ্যই, বাস্তব কোডটিতে আপনি এলআইপিসি সহগকে আইআইআর ফিল্টার হিসাবে filterব্যবহার করে aএবং টাইমরিজ মানগুলি ফিল্টার অবস্থায় প্রি-লোড করে এক্সট্রাপোলেশন বাস্তবায়ন করতে ব্যবহার করবেন ; এটার মতো কিছু:

% Run the initial timeseries through the filter to get the filter state 
[~, zf] = filter(-[0 a(2:end)], 1, x(1:M));     

% Now use the filter as an IIR to extrapolate
y((M+1):P) = filter([0 0], -a, zeros(1, P-M), zf); 

এখানে ফলাফল:

এলপিসির উদাহরণ

এটি একটি যুক্তিসঙ্গত কাজ করে, যদিও ভবিষ্যদ্বাণীটি কোনও কারণে সময়ের সাথে মরে যায়।

আমি আসলে এআর মডেলগুলি সম্পর্কে খুব বেশি জানি না এবং আরও জানতে আগ্রহীও হই।

-

সম্পাদনা: @ চিনা এবং @ ইমর ঠিক আছে, বার্গ পদ্ধতি এলপিসির চেয়ে অনেক বেশি ভাল কাজ করছে বলে মনে হচ্ছে। কেবলমাত্র পরিবর্তন করে lpcথেকে arburgউপরের কোড উৎপাদনের নিম্নলিখিত ফলাফলে:

বার্গ পদ্ধতি ব্যবহার করে এক্সট্রোপোলেশন

কোডটি এখানে উপলভ্য: https://gist.github.com/2843661


এইচ(z- র)=(z- র)/একটি(z- র)

@ এমরে কি এক্সট্রাপোলেশন উন্নত করার কোনও উপায় আছে?
নিবোট

@ চিন্নু যেমন বলেছেন, সহজ উপায় হ'ল আউটপুটটিকে ইনপুটটিতে ফিড করা।
এমরে

2
ঠিক আছে, আপনি আমাকে ম্যাটল্যাব জ্বালিয়ে দিয়েছেন: পি ভিন্ন এআর অনুমানের অ্যালগরিদম ব্যবহার করে সমস্যাটি এড়ানো যেতে পারে; কেবল a=lpc(x,N)দ্বারা প্রতিস্থাপন a=arburg(x,N)। এআর অ্যালগরিদমগুলিতে (শুকনো) আলোচনার জন্য দেখুন কেন ইউল-ওয়াকারকে অটোরেগ্রেসিভ মডেলিংয়ের জন্য ব্যবহার করা উচিত নয়
এমরে

1
স্পষ্টত এটি কিছুটা দেরি হয়ে গেছে তবে আপনার সেটআপে সমস্যা রয়েছে। মডেল সহগের অনুমানের সময় আপনি (বা ) এর পুরো সময়ের সিরিজ x( Pপরিমাপ) সরবরাহ করেন । মূল প্রশ্নে এক্সট্রাপোলেশনের জন্য, আপনার সত্যিকারের এই অনুমানটি প্রথম পরিমাপের ভিত্তিতে করা উচিত । কম সময় পয়েন্ট সরবরাহ করা নিকৃষ্টতম এক্সট্রা পোলেশনের ফলাফল, তবে এখনও যুক্তিসঙ্গতভাবে ভাল কাজ করে। lpcarburgM
ক্রিস সি

6

1-ডি 'এক্সট্রাপোলেশন' এলপি সহগের অনুমানের জন্য বিআরজি পদ্ধতি ব্যবহার করে বেশ সহজ। একবার এলপির সহগ পাওয়া গেলে ফিল্টার প্রয়োগ করে সহজেই সময়ের নমুনাগুলি গণনা করা যায়। বার্গের সাথে যে নমুনাগুলির পূর্বাভাস দেওয়া হয়েছে তা হ'ল পরের বারের ইনপুট সময় বিভাগের নমুনাগুলি।


6

আপনি যদি নিশ্চিত হন যে সিগন্যালে কেবলমাত্র কয়েকটি ফ্রিকোয়েন্সি উপাদান রয়েছে, তবে আপনার সিগন্যালে কোন ফ্রিকোয়েন্সি রয়েছে তা খুঁজে পাওয়ার জন্য আপনি মিউজিক অ্যালগরিদম চেষ্টা করতে পারেন এবং সেখান থেকে কাজ করার চেষ্টা করতে পারেন। আমি পুরোপুরি নিশ্চিত নই যে এটি নিখুঁতভাবে কাজ করার জন্য তৈরি করা যেতে পারে।

অতিরিক্তভাবে, কারণ আপনার ডেটা সম্পূর্ণরূপে নির্বিঘ্নযুক্ত, আপনি একরকম অ-লিনিয়ার প্রেডিক্টর তৈরির চেষ্টা করতে পারেন, এটি আপনার বিদ্যমান ডেটা সেট ব্যবহার করে প্রশিক্ষণ দিতে পারেন এবং এটিকে বাকী এক্সট্রোপোলেটেড করতে দিন ।

সাধারণভাবে এটি এক্সট্রাপোলেশন সমস্যা, আপনি কী গুগলকে দামের ফুওরির এক্সট্রোপোলেশন জাতীয় কিছু চাইবেন ।


(বছর পরে) কয়েকটি ফ্রিকোয়েন্সি উপাদানগুলি খুঁজে পাওয়ার জন্য আরেকটি অ্যালগরিদম হরমোনিক বিপরীত
ডেনিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.