সাভিৎস্কি – গোলে ফিল্টার বনাম আইআইআর বা এফআইআর লিনিয়ার ফিল্টার


11
  • একটি traditionalতিহ্যবাহী আইআইআর / এফআইআর ফিল্টার (উচ্চ ফ্রিকের দোলনা অপসারণের জন্য লোপপাস), যেমন চলমান গড়,

  • বা একটি সাভিটস্কি-গোলে ফিল্টার

একটি খাম সংকেত যেমন একটি সংকেত স্মুথেন জন্য সমস্ত কার্যকর হতে পারে:

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

কোন অ্যাপ্লিকেশনটির জন্য কোনও সাভিটস্কি-গোলে ফিল্টারটি ক্লাসিকাল লোপপাসের চেয়ে আকর্ষণীয় হবে?

এটি কোনও স্ট্যান্ডার্ড ফিল্টারের চেয়ে আলাদা কী করে এবং স্ট্যান্ডার্ড ফিল্টারগুলির তুলনায় এটি কী যুক্ত করে?

এটি কি ইনপুট ডেটার সাথে নিজেকে খাপ খায়?

ক্ষণস্থায়ী সংরক্ষণের জন্য এটি কি আরও ভাল?


আপনি কি কোনওদিন ইঞ্জিনিয়ারিংয়ের পরিস্থিতিতে পড়েছেন যখন আপনি সিদ্ধান্ত নিয়েছিলেন "চলুন গড়ের পরিবর্তে একটি এসজি ফিল্টার ব্যবহার করা উচিত বা অন্য কোনও এফআইআর লোপপাস! এটি আরও ভাল কারণ এটি এবং এই এবং এই ..." ? তাহলে এই প্রশ্নটি আপনার জন্য!

উত্তর:


4

যেহেতু বিদ্যমান উত্তর এবং মন্তব্যে আলোচনাটি মূলত স্যাভিটস্কি-গোলে ফিল্টারগুলি আসলে কী ছিল (যা খুব দরকারী ছিল) তার উপরে কেন্দ্রীভূত হয়েছে, সুতরাং আমি কীভাবে আসলে একটি স্মুথিং ফিল্টার চয়ন করতে পারি সে সম্পর্কে কিছু তথ্য সরবরাহ করে বিদ্যমান উত্তরগুলিতে যুক্ত করার চেষ্টা করব, যা আমার বোঝার কাছে প্রশ্নটি আসলে কী।

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

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

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

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

(1)dkH(ejω)dωk|ω=0=0k=1,2,,r

যেখানে r approximating বহুপদী এবং অর্ডার H(ejω) হয় ফিল্টার এর ফ্রিকোয়েন্সি প্রতিক্রিয়া। সম্পত্তি (1) গ্যারান্টি দেয় যে ইনপুট সিগন্যালের প্রথম r মুহুর্তগুলি আউটপুট সংরক্ষণ করা হয়, যার অর্থ পছন্দসই সংকেতটিতে পিকগুলির প্রস্থ এবং উচ্চতা ভালভাবে সংরক্ষণ করা হয়।

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

এসজি ফিল্টারগুলির তত্ত্বটিতে আগ্রহী ব্যক্তিদের জন্য, আমি প্রস্তাবিত সবচেয়ে প্রাসঙ্গিক উল্লেখগুলি নিম্নলিখিত:


2

যে কোনও কিছুর মতো, কখনও কখনও নির্দিষ্ট সরঞ্জামগুলি অন্যের চেয়ে ভাল।

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

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

আমি মনে করি আপনি এটি খুঁজে পেতে পারেন যে আপনি উইকিপিডিয়া পৃষ্ঠাটি বেশ ভালভাবে সংযুক্ত করেছেন, এটি বেশ কঠোরতার সাথে এসজি এবং এমএ ফিল্টারগুলির মধ্যে পার্থক্য ব্যাখ্যা করে। যদিও মনে রাখবেন: শেষ পর্যন্ত, তারা উভয়ই একই ধরণের কাজ করার জন্য কেবলমাত্র সরঞ্জাম, কখন সঠিক সরঞ্জামটি ব্যবহার করবেন তা খুঁজে বের করা আপনার পক্ষে

সম্পাদনা :

যেহেতু কিছুটা বিভ্রান্তি আছে বলে মনে হচ্ছে যে এসজি ফিল্টারগুলি কোনওভাবেই বেসিক স্তরে "অভিযোজিত", তাই আমি একটি সাধারণ ম্যাটল্যাব উদাহরণ অন্তর্ভুক্ত করেছি। ড্যান যেমন উল্লেখ করেছেন, এগুলি অভিযোজিত করা যায় তবে তাদের মূল প্রয়োগ প্রায়শই হয় না। কোডটি পরিদর্শন করে আপনি দেখতে পাবেন যে এটি কেবলমাত্র একটি বিশেষ হ্যান্ডলিং সহ একটি ম্যাট্রিক্স চেহারা look এই ফিল্টারটি কিছুই প্রচলিত অর্থে "অভিযোজিত" নয়, আপনি কেবল একটি বহুবর্ষীয় ফিট এবং দৈর্ঘ্যটি সংশ্লেষের মাধ্যমে সংকেতের উপরে যে দৈর্ঘ্যের উপরে ফিট হবে তা বেছে নিচ্ছেন; এসজি হ'ল প্রয়োজনীয় এফআইআর। আমার নীচে থাকা স্ক্রিপ্টটি এই প্লটটি তৈরি করে: এমএ এর সাথে এসজি ফিল্টার তুলনা

এই চিত্রটি দেখে আপনি দেখতে পাচ্ছেন যে এমএ এবং এসজি মূলত একই জিনিসটি সম্পাদন করে তবে কয়েকটি গুরুত্বপূর্ণ পার্থক্য সহ:

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

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

ম্যাটল্যাব উদাহরণের জন্য কোড:

% Generate a signal "s" that has square waves, and scale it with a
% polynomial of order 5
up = 1*ones(1,100);
down = zeros(1,150);
s = [down down up up down up down up down up up up down down down down down];
n = numel(s);
nn = linspace(0,4,numel(s));
s = s .* (nn .^5);
sn = (s + 4*randn(size(s))).';

% smooth it with SMA of length 15
sz = 15;
h = 1/sz * ones(1,sz);
sn_sma = conv(sn,h,'same');

% smooth it with sgolay of frame length 15
m = (sz-1)/2;
% look up the SG matrix for this order and size
B = sgolay(5, sz);

% compute the steady state response for the signal, i.e. everywhere that
% isnt the first or last "frame" for the SG filter
steady = conv(sn, B(m+1,:), 'same');
% handle the transiet portion at the start of the signal
y_st   = B(1:m,:)*sn(1:sz);
% handle the transient portion at the end of the signal
y_en   = B(sz -m+1 : sz, :) * sn(n - sz+1:n);

% combine our results
sn_sg  = steady;
sn_sg(1:m) = y_st;
sn_sg(n-m+1:n) = y_en;

% plots
figure(1);
hold off;
plot(sn,'Color',[0.75 0.75 0.75]);
hold on;
plot(sn_sma,'b');
plot(sn_sg,'r');

legend('Noisy Signal','MA Smoothing','SG Smoothing, order 5','Location','NorthWest');

1
বিন্দুটি মনে হয় (অন্য উত্তরটি দেখে) যে এসজি ফিল্টারটি হ'ল "সম্পূর্ণ ডেটা নির্ভরশীল ননলাইনার সময়-পরিবর্তক ফিল্টার, যার সহগগুলি তার ইনপুটটির প্রতিটি সংক্ষিপ্ত বিভাগের জন্য পুনরায় গণনা করা হয়"।
g6kxjv1ozn

1
এসজি ফিল্টার, এটি বেশ কয়েকবার প্রয়োগ করা থেকে আমার বোঝার জন্য, মোটেও অভিযোজিত ফিল্টার নয়, বিশেষত আপনার এলএমএস বা আরএলএসের মতো গড় অ্যাডেটিভ ফিল্টারের তুলনায়। ফিল্টার ওজন সময় বিভিন্ন হয় যে বিবৃতি সঙ্গে আমি সম্পূর্ণরূপে একমত হবে। এসজি ফিল্টারগুলি মূলত একটি টেবিল প্রদর্শন, আপনি একটি ক্ষণস্থায়ী প্রতিক্রিয়া গণনা করার জন্য টেবিল থেকে মানগুলি ফিল্টার করেন এবং তারপরে আপনি ফিরে যান এবং সংকেতের শুরুতে / শেষে প্রান্তের কেসগুলি পরিচালনা করেন। এটি আপনাকে দেখানোর জন্য আমি একটি ম্যাটল্যাব উদাহরণ দিয়ে আমার পোস্টটি সম্পাদনা করব।
ম্যাথেজজপোলার্ড

2
@ ম্যাটজেজপল্লার্ড লক্ষ করুন, এই ফিল্টারটি ব্যবহার করার জন্য আমার ব্যক্তিগতভাবে তাত্পর্যপূর্ণ অভিজ্ঞতা নেই, তবে আমার কাছে এসজি ফিল্টারটি সর্বোত্তমভাবে প্রয়োগ করা হয়, সময় পরিবর্তনের সহগের সাথে এটি একটি অভিযোজিত ফিল্টার প্রয়োগ হিসাবে খুব বেশি দেখা যায়। আপনার কোডটিতে আপনি যেভাবে ফিল্টারটি প্রয়োগ করেছেন তা (যেমন আপনি পুরো অনুক্রমটিকে ডেটা "উপ-সেট" হিসাবে দেখিয়েছেন ) নয়, তবে উইকিপিডিয়া en.wikedia.org/wiki/Sitzitzky%E2%80% তে বর্ণিতভাবে 93 গোলায়_ফিল্টার এবং কাগজে নিজেই স্যাভিটস্কি এবং গোলে সত্যই অভিযোজিত: pdfs.semanticscholar.org/4830/…
ড্যান বোসচেন

2
@ ম্যাটজেজপল্লার্ড আপনার রিয়েল টাইম সিস্টেমে আপনার ডেটা কি অবিচ্ছিন্নভাবে প্রবাহিত হয়, যাতে আপনি সংক্ষিপ্ততরগুলিকে সংক্ষিপ্ত বিরতি দিয়ে পুনরবৃদ্ধি করছেন বা আপনি সর্বদা ডেটার ছোট ব্লকে কাজ করেন?
ড্যান বসচেন

2
ধন্যবাদ ম্যাট সুতরাং সম্ভবত আমরা আপনার কাজটি কীভাবে অভিযোজিত / সময় হিসাবে পৃথক করে এই অর্থে সংযুক্ত করতে পারি যে প্রতিটি তথ্য সংগ্রহের জন্য সহগের গণনা করা হয় (কোনও উপাত্তের মধ্যে একই সহগগুলি তবে শুরু এবং সমাপ্তির যথাযথ চিকিত্সার সাথে তবে একটি সংগ্রহের থেকে পরবর্তীটিতে পরিবর্তিত হয় - যদি আমি সঠিকভাবে বুঝতে)। আপনার কোড এবং উদাহরণ অ্যাপ্লিকেশন ভাগ করে নেওয়ার জন্য ধন্যবাদ।
ড্যান বসচেন

2

বিঃদ্রঃ

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

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

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

নীচে ম্যাটএল দ্বারা সরবরাহিত লিঙ্কটি থেকে একটি সংক্ষিপ্তসার সংক্ষিপ্তসার রয়েছে। অনুপস্থিত মনে হয় এমন যে কোনও বিবরণের জন্য দয়া করে মূল নথির সাথে পরামর্শ করুন বা স্পষ্ট করে বলতে বলুন। তবে আমি এখানে পুরো দস্তাবেজটি পুনরায় উত্পাদন করতে চাই না।

2এম+ +1এক্স[-এম],এক্স[-এম+ +1],,এক্স[0],এক্স[1],,এক্স[এম]এন=0পি[এন]এনএন=-এম,-এম+ +1,,-1,0,1,এম

পি[এন]=Σ=0এনএকটিএন=একটি0+ +একটি1এন+ +একটি2এন2+ ++ +একটিএনএনএন

একটিএনটিপি[এন]

=Σ-এমএম(পি[এন]-এক্স[এন])2

এক্স=[এক্স[-এম],এক্স[-এম+ +1],,এক্স[0],এক্স[1],,এক্স[এম]]টি

একটি

(1)একটিআমি=0   ,   জন্য    আমি=0,1,,এন

এখন যারা এলএসই পলিটফিট পদ্ধতির সাথে পরিচিত তাদের জন্য আমি ফলস্বরূপ ম্যাট্রিক্স সমীকরণটি (লিঙ্ক থেকে) লিখব যা সর্বোত্তম সহগ সেটটি সংজ্ঞায়িত করে:

(2)একটি=(একজনটিএকজন)-1একজনটিএক্স=এইচএক্স
এক্স(2এম+ +1)×1এইচ2এম+ +1এনএকজনএনএকজনএইচএকজন

একজন=[αএন,আমি]=[(-এম)0(-এম)1(-এম)এন(-এম+ +1)0(-এম+ +1)1(-এম+ +1)এন(0)0(0)1(0)এন(এম)0(এম)1(এম)এন]

এখন এক মুহুর্তের জন্য ফিরে ঝুঁকুন এবং এখানে একটি বিন্দু নিয়ে আলোচনা করুন।

একজনএইচএনএকটিএমএনএক্স[এন]একটি2এন

... এই (এলএসই পলিটফিট) প্রতিটি ইনপুট প্রতিটি নমুনায় পুনরাবৃত্তি করা যেতে পারে, প্রতিটি সময় একটি নতুন বহুপদী এবং আউটপুট ক্রম y এর একটি নতুন মান উত্পাদন করে ...

তাহলে আমরা কীভাবে এই বিস্ময়কর বিস্ময়টি কাটিয়ে উঠব? এসজি ফিল্টার আউটপুটকে নিম্নলিখিত হিসাবে ব্যাখ্যা এবং সংজ্ঞা দিয়ে:

এনএনএক্স[এন]Y[এন]পি[এন]এন=0

Y[এন]=Y[0]=Σমি=0এনএকটিমিএনমি=একটি0

2এম+ +1এক্স[এন]এন=Y[এন]একটি0পি[এন]এক্স[এন]এন=Y[]এক্স[-এম],এক্স[-এম+ +1],,এক্স[-1],এক্স[],এক্স[+ +1],এক্স[+ +এম]

একটি0এক্স[এন]Y[এন]এক্স[এন]এনএক্স[এন][এন]। তবে তারপরে, এই এসজি ফিল্টারটির ফিল্টার সহগগুলি কী কী? দেখা যাক.

একটি

একটি=এইচএক্স

[একটি0একটি1একটিএন]=[(0,0)(0,1)(0,2এম)(1,0)(1,1)(1,2এম)(এন,0)(0,1)(0,2এম)][এক্স[-এম]এক্স[-এম+ +1]এক্স[এম]]

একটি0এইচএক্স

একটি0=এইচ(0,এন)এক্স=Σএইচ(0,)এক্স[]=এইচ(0,-এন)এক্স[এন]

[এন]=এইচ(0,-এন)

এন2এম+ +1

Y[এন]2এম+ +1এক্স[এন]এলএন[এন]

Y[এন]=এক্স[এন]এন[এন]

মন্তব্য

একটি[এন]Y[এন]এক্সএকটি=এইচএক্সএকটিপি[এন]একটি[এন]

ম্যাটল্যাব / অ্যাক্টভি কোড

[এন][এন]

% Savitzky-Golay Filter
% 
clc; clear all; close all;

N = 3;                      % a0,a1,a2,a3 : 3rd order polynomial
M = 4;                      % x[-M],..x[M] . 2M + 1 data

A = zeros(2*M+1,N+1);
for n = -M:M
    A(n+M+1,:) = n.^[0:N];
end

H = (A'*A)^(-1)* A';        % LSE fit matrix

h = H(1,:);                 % S-G filter impulse response (nancausal symmetric FIR)

figure,subplot(2,1,1)
stem([-M:M],h);
title(['Impulse response h[n] of Savitzky-Golay filter of order N = ' num2str(N), ' and window size 2M+1 =  ' , num2str(2*M+1)]);

subplot(2,1,2)
plot(linspace(-1,1,1024), abs(fftshift(fft(h,1024))));
title('Frequency response magnitude of h[n]');

আউটপুটটি হ'ল:

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

আশা করি এটি বিষয়টি পরিষ্কার করে দিয়েছে।


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

1
@ g6kxjv1ozn আমি সেই পয়েন্টে সম্মতি দিচ্ছি ... দয়া করে অপেক্ষা করুন ...
ফ্যাট 32

2
@ ফ্যাট 32 দুর্দান্ত কাজ! আমি এটি দিয়ে পড়েছি তবে এটির মাধ্যমে পড়তে হবে এবং এটি খুব স্পষ্টভাবে লেখা হয়েছে, আপনার এখনকার মতো পুরোপুরি দেখার জন্য আমাকে কেবল পেন্সিল এবং কাগজ ধাপে ধাপে অনুসরণ করতে হবে। সব এখানে রাখার জন্য ধন্যবাদ।
ড্যান বসচেন

4
1ω=0

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