অবস্থান এবং বেগের জন্য কালমন ফিল্টার: গতির প্রাক্কলন উপস্থাপন করা


24

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

আপডেট 26 এপ্রিল 2013 : মূল প্রশ্ন এখানে কিছু ত্রুটি যে, আসলে আমি সঠিকভাবে বুঝতে পারেন নি এর সাথে সম্পর্কিত অন্তর্ভুক্ত এক মাত্রিক অবস্থান ও গতিবেগ উইকিপিডিয়ার উদাহরণ । কী চলছে সে সম্পর্কে আমার উন্নত বোঝার সাথে আমি এখন প্রশ্নটি পুনর্নির্মাণ করেছি এবং এটি আরও দৃly়ভাবে নিবদ্ধ করেছি।

উপরের সূচনা প্যারাগুলিতে আমি যে দুটি উদাহরণ উল্লেখ করেছি তা ধরে নিই যে এটি কেবলমাত্র পরিমাপযোগ্য অবস্থান। তবে গতির জন্য উদাহরণের মধ্যে কোনও ধরণের গণনা । উদাহরণস্বরূপ, উইকিপিডিয়া উদাহরণ H ম্যাট্রিক্সকে H = [ 1 0 ] হিসাবে নির্দিষ্ট করে , যার অর্থ শুধুমাত্র অবস্থান ইনপুট। উইকিপিডিয়া উদাহরণে ফোকাস করে, কলম্যান ফিল্টারের রাজ্য ভেক্টর এক্স কে -তে অবস্থান এক্স কে এবং গতি ˙ x কে , অর্থাৎ থাকে(xkxk1)/dtHH=[1   0]xkxkx˙k

xk=(xkx˙k)

সময়ে অবস্থানের পরিমাপ ধরুন হয় এক্স । যদি সময়ে অবস্থান ও গতি - 1 ছিল এক্স - 1 এবং ˙ এক্স- 1 , এবং যদি একটি সময় ব্যবধান প্রযোজ্য একটি ধ্রুবক ত্বরণ হয় - 1 থেকে k , পরিমাপের থেকে এক্স এটা সম্ভব জন্য একটি মান অনুমান করতে একটি সূত্র ব্যবহার করেkx^kk1xk1x˙k1ak1kx^a

x^k=xk1+x˙k1dt+12adt2

এই থেকেই বোঝা সময়ে , একটি পরিমাপ ˙ এক্স গতি দেওয়া হয়kx˙^k

x˙^k=x˙k1+adt=2x^kxk1dtx˙k1

যে সমীকরণের ডান দিকে সকল পরিমাণে , এক্স - 1 এবং ˙ এক্স- 1 ) সাধারণত, পরিচিত মানে এবং স্ট্যান্ডার্ড ডেভিয়েশন সঙ্গে র্যান্ডম ভেরিয়েবল বিতরণ করা হয়, যাতে আর পরিমাপ ভেক্টর জন্য ম্যাট্রিক্সx^kxk1x˙k1R

x^k=(x^kx˙^k)

গণনা করা যেতে পারে। প্রক্রিয়াটিতে গতির প্রাক্কলন উপস্থাপনের এটি কি বৈধ উপায়?


2
আমি আপনার সমস্ত গণনা দেখে নি। তবে উইকিপিডিয়া উদাহরণের কথা বলতে গেলে আপনি এর কাঠামোর বিষয়ে কিছুটা বিভ্রান্ত বলে মনে করছেন। আপনি সঠিক যে একমাত্র অবস্থান পরিমাপ করা হয়। তবে, তথাকথিত "ধ্রুবক-বেগ" মডেল ব্যবহৃত হয়। এর অর্থ হ'ল বেগটি রাজ্য ট্রানজিশন ম্যাট্রিক্সে ধ্রুবক হিসাবে বিবেচিত হয়।
জেসন আর

3
বেগের পরিবর্তনগুলি প্রক্রিয়া শোনার ম্যাট্রিক্স ব্যবহার করে মডেল করা হয়। অতএব, আপনি সহজাতভাবে ধরে নিচ্ছেন যে গতিটি কিছু নির্দিষ্ট covariance দ্বারা এলোমেলোভাবে পরিবর্তন হতে চলেছে। আশ্চর্যজনকভাবে যথেষ্ট, এটি প্রায়শই ভাল কাজ করে। প্রক্রিয়া শব্দটি আপনার সর্বোচ্চ স্টেট-ভেরিয়েবল ডেরিভেটিভের উপরে একরকম ডেরিভেটিভ ব্যবহার করা সাধারণ। উদাহরণস্বরূপ, আপনি যদি আপনার মডেলটিতে ত্বরণ অন্তর্ভুক্ত করেন তবে আপনার প্রক্রিয়া শব্দে আপনার সাথে একটি এলোমেলো জার্ক উপাদান থাকতে পারে।
জেসন আর

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

2
বেগের অনুমানের বৈচিত্রটি একঘেয়েভাবে বৃদ্ধি করা উচিত নয়। প্রক্রিয়া গোলমাল সরলভাবে রাষ্ট্রীয় রূপান্তর সমীকরণের জন্য একটি স্টোকাস্টিক উপাদানকে পরিচয় করিয়ে দেয়, আপনাকে সিস্টেম স্টেট কীভাবে সময়ে সময়ে পর্যায়ক্রমে বিকশিত হবে ঠিক তা নিয়ে কিছুটা অনিশ্চয়তা প্রকাশ করতে দেয়। আপনি যদি প্রক্রিয়া শব্দটি অন্তর্ভুক্ত না করেন তবে আপনার ফিল্টারটি সত্যই ধ্রুবক গতিবেগ আউটপুট করে। এটি সম্ভবত আপনি চান না।
জেসন আর

আচ্ছা @ জেসনআর, আপনি যদি উইকিপিডিয়া মডেলটি দেখেন তবে আপনি দেখতে পাবেন যে একঘেয়েভাবে বেগের বেগ বাড়িয়ে তোলে যা এটি আপনাকে দেয়!
Stochastically

উত্তর:


24

প্রক্রিয়াটিতে গতির প্রাক্কলন উপস্থাপনের এটি কি বৈধ উপায়?

আপনি যদি আপনার রাজ্যটি যথাযথভাবে চয়ন করেন তবে গতির অনুমানগুলি "নিখরচায়" আসে। নীচে সিগন্যাল মডেলটির ব্যয় দেখুন (সাধারণ 1-ডি কেসের জন্য আমরা লক্ষ্য করছি)।

সিগন্যাল মডেল, 2 নিন

সুতরাং, আমরা এটিকে এগিয়ে নিয়ে যাওয়ার আগে আমাদের সত্যই সিগন্যাল মডেলটির সাথে একমত হতে হবে। আপনার সম্পাদনা থেকে দেখে মনে হচ্ছে এটি আপনার অবস্থানের মডেল, , হ'ল:xk

xk+1=xk+x˙kΔt+12a(Δt)2x˙k+1=x˙k+aΔt

আমাদের রাষ্ট্র যদি আগের মতো হয়: তারপরে রাষ্ট্র আপডেট সমীকরণটি কেবলমাত্র: xকে+1=( 1 Δ টি 0 1 )এক্সকে+( ( Δ টি ) 2

xk=(xkx˙k)
যেখানে এখন আমাদেরএকটিস্বাভাবিকভাবে বিতরণ ত্বরণ হয়।
xk+1=(1  Δt0  1)xk+((Δt)22Δt)ak
ak

এটি পূর্ববর্তী সংস্করণ থেকে পৃথক ম্যাট্রিক্স দেয় তবে এফ এবং এইচ ম্যাট্রিক্স একই হওয়া উচিত।GFH


আমি যদি scilabএটিতে প্রয়োগ করি (দুঃখিত, মতলব কোনও অ্যাক্সেস নেই), দেখে মনে হচ্ছে:

// Signal Model
DeltaT = 0.1;
F = [1 DeltaT; 0 1];
G = [DeltaT^2/2; DeltaT];
H = [1 0];

x0 = [0;0];
sigma_a = 0.1;

Q = sigma_a^2;
R = 0.1;

N = 1000;

a = rand(1,N,"normal")*sigma_a;

x_truth(:,1) = x0;
for t=1:N,
    x_truth(:,t+1) = F*x_truth(:,t) + G*a(t);
    y(t) = H*x_truth(:,t) + rand(1,1,"normal")*sqrt(R);
end

তারপরে, আমি এই (গোলমাল পরিমাপ) -এ কলম্যান ফিল্টার সমীকরণগুলি প্রয়োগ করতে পারি ।y

// Kalman Filter
p0 = 100*eye(2,2);

xx(:,1) = x0;
pp = p0;
pp_norm(1) = norm(pp);
for t=1:N,
    [x1,p1,x,p] = kalm(y(t),xx(:,t),pp,F,G,H,Q,R);
    xx(:,t+1) = x1;
    pp = p1;
    pp_norm(t+1) = norm(pp);
end

সুতরাং আমরা আমাদের সশব্দ পরিমাপ আছে , এবং আমরা তাদের কালমান ফিল্টার প্রয়োগ করা হয় এবং একই সংকেত মডেল ব্যবহৃত জেনারেট করতে থাকেন Y হিসাবে আমরা কালমান ফিল্টার প্রয়োগ করতে (কখনও কখনও একটি চমত্কার বড় ধৃষ্টতা!)।yy

তারপরে নিম্নলিখিত প্লটগুলি ফলাফল দেখায়।

yxk

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

প্লট 2 : প্রথম কয়েকটি নমুনার একটি জুম ভিউ:

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

প্লট 3 : এমন কিছু যা আপনি বাস্তবে কখনও পাবেন না, আসল অবস্থানের তুলনায় আসল অবস্থান।

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

প্লট 4 : এমন কিছু যা আপনি বাস্তবে কখনও পাবেন না, আসল বেগ বনাম বেগের রাজ্য অনুমান।

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

প্লট 5 : রাজ্য কোভেরিয়েন্স ম্যাট্রিক্সের আদর্শ (এমন কিছু যা আপনার সত্যিকার জীবনে সত্যই পর্যবেক্ষণ করা উচিত!)। মনে রাখবেন যে এটি খুব তাড়াতাড়ি তার প্রাথমিক খুব বড় মান থেকে খুব ছোট কিছুতে যায়, তাই আমি কেবল প্রথম কয়েকটি নমুনা দেখিয়েছি।

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

প্লট :: সত্য অবস্থান এবং বেগ এবং তাদের অনুমানের মধ্যে ত্রুটির প্লট।

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

zk+1=xk+1Pk=0Pk+1=QKk+1

Kk+1=(12/dt)

এর অর্থ কালম্যান আপডেট পদ্ধতি উত্পাদন করে

এক্স^+ +1=এফ+ +1এক্স+ +কে+ +1(z- র+ +1-এইচ+ +1এফ+ +1এক্স)=(এক্স+ +এক্স˙টিএক্স˙)+ +(12/টি)(এক্স+ +1-(এক্স+ +এক্স˙টি))=(এক্স+ +12(এক্স+ +1-এক্স)/টি-এক্স˙)

(এক্স-এক্স-1)/টি


এতদূর তোমার সাহায্যের জন্য ধন্যবাদ। আমার মূল প্রশ্নটিতে কিছু ভুল বোঝাবুঝি রয়েছে, তাই আমি এটিকে পুনরায় ফোকাস করার চেষ্টা করেছি এবং z_k সম্পর্কে আপনার প্রশ্নের উত্তর দেওয়ার চেষ্টা করেছি।
Stochastically

1
আপনার সমস্ত প্রচেষ্টার জন্য ভিএম ধন্যবাদ :-)। আপনার কাজ আমাকে কিছুটা গণিত করতে উত্সাহিত করেছিল যা আমি আপনার উত্তরটি অনুসরণ করেছি, আশা করি আপনি আপত্তি করবেন না। যাইহোক, আমি এখন 100% নিশ্চিত যে মানক পদ্ধতিটি ভাল, কারণ আমি সেখানে গতির জন্য সূত্রগুলি দেখতে পারি। আবার ধন্যবাদ
Stochastically

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