মুভিং এভারেজ ফিল্টার (এফআইআর ফিল্টার) এর সেরা ফার্স্ট অর্ডার আইআইআর (এআর ফিল্টার) কী কী?


24

নিম্নলিখিত প্রথম অর্ডার আইআইআর ফিল্টারটি ধরে নিন:

y[n]=αx[n]+(1α)y[n1]

আমি প্যারামিটার কিভাবে নির্বাচন করতে পারবেন α St IIR সম্ভব হিসাবে ভাল এজাহার যা শেষ গাণিতিক গড় হিসাবে পরিমাপক k নমুনা:

z[n]=1kx[n]+1kx[n1]++1kx[nk+1]

যেখানে n[k,) , মানে আইআইআরের জন্য ইনপুট চেয়ে দীর্ঘ হতে পারে kএবং তবুও আমি শেষ k ইনপুটগুলির গড়ের সর্বাধিক সান্নিধ্য পেতে চাই ।

আমি জানি আইআইআর-এর সীমাহীন প্রবণতা রয়েছে, তাই আমি সেরা সান্নিধ্যের সন্ধান করছি। আমি বিশ্লেষণাত্মক সমাধানের জন্য খুশি হব তা L2 বা L1 ব্যয়ের ফাংশনের জন্য হোক।

এই অপ্টিমাইজেশনের সমস্যাগুলি কীভাবে সমাধান করা যেতে পারে কেবলমাত্র 1 ম অর্ডার আইআইআর দিয়ে।

ধন্যবাদ।


এটি কি y[n]=αx[n]+(1α)y[n1] অবিকল অনুসরণ করতে হবে?
ফোনন

1
এটি খুব দরিদ্রের সান্নিধ্যে পরিণত হতে বাধ্য । আপনি কি প্রথম অর্ডার আইআইআর এর চেয়ে বেশি কিছু দিতে পারবেন না?
Oct

আপনি আপনার প্রশ্নটি সম্পাদনা করতে চাইতে পারেন যাতে আপনি দুটি ভিন্ন জিনিস বোঝাতে ব্যবহার না করেন y[n], যেমন দ্বিতীয় প্রদর্শিত সমীকরণটি z [ n ] = 1 পড়তে পারে, এবং আপনি "যথাসম্ভব ভাল" এর মানদণ্ডটি ঠিক কী বলতে চান,যেমন আপনি চান| y[n]-z[n]| সকলএন, বা| এরপক্ষে যতটা সম্ভব ছোট হওয়া y[n]-z[n]| 2সব জন্য যতটা সম্ভব ছোট মনে হয়েছিলএনz[n]=1kx[n]++1kx[nk+1]|y[n]z[n]|n|y[n]z[n]|2n
দিলীপ সরোতে

y[n]k| y [ n ] - z [ n ] | 2n[k,inf]|y[n]z[n]|2

উত্তর:


10

Pha স্কেলার হওয়ার জন্য কোনও বিশ্লেষণমূলক সমাধান নেই (আমার মনে হয়)। এখানে একটি স্ক্রিপ্ট যা আপনাকে প্রদত্ত জন্য দেয় । অনলাইনে আপনার এটির প্রয়োজন হলে আপনি একটি লুট তৈরি করতে পারেন can স্ক্রিপ্টটি সমাধানটি হ্রাস করে যা হ্রাস করেα কেααK

0πdw|H1(jw)H2(jw)|2

যেখানে হল এফআইআর ফ্রিকোয়েন্সি প্রতিক্রিয়া এবং হ'ল আইআইআর ফ্রিকোয়েন্সি প্রতিক্রিয়া।এইচ 2H1H2

আপনি কে-এর জন্য কোনও ব্যাপ্তি নির্দিষ্ট করেন নি But তবে আমি কেবল এটি পরিষ্কার করতে চাই যে নিম্নলিখিত সিস্টেমটি আপনার গড় ফিল্টারের সমতুল্য এবং একই গণনা জটিলতা এবং আপনার প্রথম আদেশের আইআইআর!

H(z)=1K1zK1z1

function a = find_a(K)

w = 0.0001:0.001:pi;
as = [-1:0.001:-0.001  0.001:0.001:1];

E = zeros(size(as));
for idx=1:length(as)
    fJ = J(w,as(idx),K);
    E(idx) = sum(fJ);
end

[Emin, indx] = min(E)
a = as(indx)

function f = J(w,a,K)
    num = 2*(2-a)*(1-cos(w*K)) + 2*(cos(w*(K-1)) - cos(w)) - 2*(1-a)*(cos(w)-cos(w*(K+1)));
    den = (2-a)^2 + 1 + (1-a)^2 + 2*(1-a)*cos(2*w) - 2*(2-a)^2*cos(w);
    f = -(a/K)*num./den;
    f = f+(1/K^2)*(1-cos(w*K))./(1-cos(w))+a^2./(1+(1-a)^2-2*(1-a)*cos(w));
end

end

@ ড্রাজিক এটি সরাসরি এগিয়ে আপেক্ষিক। আইআইআর এবং এফআইআর-এর দুটি অভিব্যক্তি অবিচ্ছেদ্যভাবে প্লাগ হয়। এফআইআর ফিল্টারটির বিকল্প অভিব্যক্তি সন্ধানের মূলটি হ'ল জ্যামিতিক অগ্রগতি / সিরিজটি সনাক্ত করা। আপনি এখানে সমস্ত বিবরণ সন্ধান করুন: en.wikedia.org/wiki/Geometric_progression# জ্যামিতিক_সারিজ । স্ক্রিপ্টে, জে ফাংশনটি অবিচ্ছেদ্য চিহ্নের আওতায় অভিব্যক্তি গণনা করে।
নায়রেন

@ নিয়ারেন আমি জানি এটি একটি পুরানো পোস্ট তাই যদি আপনি মনে করতে পারেন: আপনার ফাংশন 'চ' কীভাবে উত্পন্ন হয়? আমি একটি অনুরূপ জিনিস কোড করেছি কিন্তু এফআইআর (এইচ 1) এবং আইআইআর (এইচ 2) এর জন্য জটিল ট্রান্সফার ফাংশনগুলি ব্যবহার করে এবং তারপরে যোগ (অ্যাবস (এইচ 1 - এইচ 2) ** 2) করেছি। আমি এটিকে আপনার যোগফল (এফজে) এর সাথে তুলনা করেছি, তবে ফলাফলের বিভিন্ন ফলাফল পেয়েছি। ভেবেছিলাম গণিতে লাঙ্গল দেওয়ার আগে জিজ্ঞাসা করব।
ডোম

@ ডোম এটি অনেক দিন আগে এবং আমি সত্যিই মনে করতে পারি না। আমার ধারণা আমি সবেমাত্র কাজ করার প্রক্রিয়াটি । আমি কীভাবে অভিব্যক্তিটি যাচাই করেছি তা মনে করতে পারছি না। আমি আবার গণিতে যেতে কিছু মনে করি না ...[H1(jω)H2(jω)][H1(jω)H2(jω)]
niaren

@ নিয়ারেন হাই, আমি আপনার ভাব প্রকাশ করার চেষ্টা করেছি কিন্তু জটিল ভগ্নাংশগুলি যোগ করার সময় আটকে গেলাম। আমি আমার কোডটিতে একটি ভুল করেছি ... আপনার ফাংশনটি ফলাফলগুলি বলে মনে হচ্ছে যা সমানুপাতিক (অ্যাবস (এইচ 1 - এইচ 2) ** 2) এর সমানুপাতিক, এটি সঠিক তা নির্দেশ করে।
ডোম

16

মাইক্রো সিগন্যাল আর্কিটেকচারের সাথে এম্বেডড সিগন্যাল প্রসেসিংয়ে এই সমস্যাটির একটি সুন্দর আলোচনা আছে , প্রায় পৃষ্ঠা পৃষ্ঠা 63 63 থেকে 69৯ এর মধ্যে । উপর পাতা 63 , এটা (যা niaren দিলাম সঠিক রিকার্সিভ গড় ফিল্টার চলন্ত একটি শিক্ষাদীক্ষা অন্তর্ভুক্ত তার উত্তর ,)

H(z)=1N1zN1z1.

নিম্নলিখিত আলোচনার সাথে সম্মানের সুবিধার জন্য, এটি নীচের পার্থক্য সমীকরণের সাথে মিলে যায়:

yn=yn1+1N(xnxnN).

আপনার নির্ধারিত ফর্মটিতে যে ফিল্টারটি স্থাপন করা হয়েছে তার জন্য এটি , কারণ (এবং আমি পৃষ্ঠা 68 থেকে উদ্ধৃত করছি ) " নমুনার গড় "। এই অনুমানটি আমাদের পূর্ববর্তী পার্থক্য সমীকরণটিকে নীচে সহজ করার অনুমতি দেয়: y n - 1 x nxnNyn1yn1xn

yn=yn1+1N(xnyn1)yn=yn11Nyn1+1Nxnyn=(11N)yn1+1Nxn.

সেট করা হচ্ছে , আমরা আপনার আসল ফর্মটি , , যা দেখায় যে আপনি চান সহগ () এই সান্নিধ্যের সাথে সম্মান সহ) ঠিক (যেখানে নমুনাগুলির সংখ্যা)। yn=αxn+(1-α)yn-11α=1Nyn=αxn+(1α)yn1 এন1NN

এই অনুমান কি কিছু ক্ষেত্রে "সেরা"? এটি অবশ্যই মার্জিত। এন = 3 এর জন্য [44.1kHz এ] দৈর্ঘ্যের প্রতিক্রিয়া কীভাবে তুলনা করা হয় এবং এন হিসাবে 10 বৃদ্ধি পেয়েছে (নীলায় আনুমানিক):

এন = 3 এন = [3,10]


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


প্রথম অর্ডার আইআইআর ফিল্টারটির স্মৃতি সম্পর্কে কিছু বলার এটি একটি "মার্জিত" উপায়। তার স্মৃতি সমতূল্য । আপনি উল্লিখিত অন্যান্য পদ্ধতিগুলি আমি খতিয়ে দেখব। ধন্যবাদ। 1α
রায়

আপনি স্বজ্ঞাতভাবে ব্যাখ্যা করতে পারেন কেন এলএস আদর্শের অধীনে ( ) কোনও সমাধান নেই? L2
রই

আমি নিশ্চিত না যে এই ক্ষেত্রে এলএস সমাধান আছে কিনা বা এখনও নেই, আমি কেবল জানি যে এটির "আইআইআর ভিত্তিক এফআইআর আনুমানিক" সমস্যার সমাধানের জন্য সমস্যা রয়েছে। আমি যখন সুযোগ পাই তখন আমি ডাব্লু / আরও তথ্য আপডেট করব।
ডেটাজিস্ট

ঠিক আছে, যদি পিটার প্রস্তাবিত ব্যয় ফাংশনটি (প্রথমটি) ঠিক হয় তবে এর সমাধান আছে। কমপক্ষে আমার হিসাব অনুযায়ী।
রইআই

গ্রেট। "হিউরিস্টিক" পদ্ধতির আরও সাধারণ কিছুটির সাথে কীভাবে তুলনা করা হয় তা দেখার জন্য আমি আগ্রহী । 1/N
ডেটাজেস্ট

16

ঠিক আছে, আসুন আমরা উপভোগ করার চেষ্টা করি: সুতরাং যে সহগ হয় ।

y[n]=αx[n]+(1α)y[n1]=αx[n]+(1α)αx[n1]+(1α)2y[n2]=αx[n]+(1α)αx[n1]+(1α)2αx[n2]+(1α)3y[n3]
x[nm]α(1α)m

সেরা গড়-বর্গক্ষেত্রের আনুমানিক হ্রাস করা হবে:

J(α)=m=0k1(α(1α)m1k)2+m=kα2(1α)2m=m=0k1(α2(1α)2m2kα(1α)m+1k2)+α2(1α)2km=0(1α)2m=α21(1α)2k1(1α)2+2αk1(1α)k1(1α)+α2(1α)2k1(1α)2+1k=α21(1α)2+2k(1(1α)k)+1k=α22αα2+2k(1(1α)k)+1k=α2α+2k(1(1α)k)+1k
কারণ এফআইআর সহগগুলি জন্য শূন্য ।m>k1

পরবর্তী পদক্ষেপটি ডেরাইভেটিভগুলি গ্রহণ করা এবং শূন্যের সমান করা।


উদ্ভূত একটি চক্রান্ত এ খুঁজছি জন্য এবং 0 থেকে 1, এটা সমস্যা দেখে মনে হচ্ছে (আমি এটি সেট আপ করে থাকেন হিসাবে) মন্দ যাকে জাহির, কারণ সেরা উত্তর হয় ।JK=1000αα=0

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


আমি মনে করি এখানে একটি ভুল আছে। আমার গণনা অনুসারে এটি যেভাবে হওয়া উচিত তা হ'ল:

J(α)=m=0k1(α(1α)m1k)2+m=kα2(1α)2m=m=0k1(α2(1α)2m2kα(1α)m+1k2)+α2(1α)2km=0(1α)2m=α21(1α)2k1(1α)22αk1(1α)k1(1α)+1k+α2(1α)2k1(1α)2

গাণিতিকের ফলন অনুযায়ী এটি সরলকরণ :

J(α)=α2α+2(1α)k1k

এমএটিএলবিএতে নিম্নলিখিত কোডটি ব্যবহার করে কিছু আলাদা হলেও সমান কিছু পাওয়া যায়:

syms a k;

expr1 = (a ^ 2) * ((1 - ((1 - a) ^ (2 * k))) / (1 - ((1 - a) ^ 2)));
expr2 = ((2 * a) / k) * ((1 - ((1 - a) ^ (k))) / (1 - (1 - a)));
expr3 = (1 / k);
expr4 = ((a ^ 2) * ((1 - a) ^ (2 * k))) / (1 - ((1 - a) ^ (2)));

simpExpr = simplify(expr1 - expr2 + expr3 + expr4);

J(α)=2α2k2(1α)k+1k

যাইহোক, এই ফাংশনগুলি ন্যূনতম আছে।


সুতরাং আসুন আমরা ধরে নিই যে আমরা সত্যই কেবল এফআইআর ফিল্টারটির সমর্থন (দৈর্ঘ্য) এর উপরে প্রায় অনুমানের বিষয়ে যত্নশীল। সেক্ষেত্রে অপ্টিমাইজেশনের সমস্যাটি কেবল:

J2(α)=m=0k1(α(1α)m1k)2

ষড়যন্ত্র বিভিন্ন মানের জন্য বনাম প্লট ও নীচের টেবিলে তারিখ ফলাফল নেই।J2(α)Kα

জন্য = 8. = 0,1533333 জন্য = 16. = 0.08 জন্য = 24. = 0,0533333 জন্য = 32 = 0.04 জন্য = 40 = 0,0333333 জন্য = 48. = 0,0266667 জন্য = 56. = 0,0233333 জন্য = 64। Kαmin
Kαmin
Kαmin
Kαmin
Kαmin
Kαmin
Kαmin
Kαmin = 0.02
জন্য = 72. = 0,0166667 Kαmin

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

লাল ড্যাশযুক্ত রেখাগুলি এবং সবুজ রেখাগুলি , মান হ্রাস থেকে নির্বাচিত )।1/KαminαJ2(α)alpha=[0:.01:1]/3;


1
ঠিক ঠিক একই জিনিস পোস্ট করতে যাচ্ছিল =)
ফোনন

@ ফনন: অবিরত নির্দ্বিধায়! এই উদ্দেশ্যে আমি এটিকে সম্প্রদায় উইকি হিসাবে চিহ্নিত করেছি।
পিটার কে।

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

কেউ দয়া করে আমার কাজ চেক এবং / বা সংশোধন করতে পারেন? :-)
পিটার কে।

@ দিলিপ সরওয়েট, সেরা আনুমানিকটি কী হবে? ধন্যবাদ।
রয়ি

3

kপরিসীমা (2 থেকে 100) সহ পরীক্ষামূলক পরীক্ষার ভিত্তিতে সেরা ফিট (যোগফলের ত্রুটি) মুভএভিজি ফিল্টারের জন্য নমুনার সংখ্যা alfa = 1/k^0.865 হওয়ার একটি সম্পর্ক দেয়k


আমি সম্পর্কটি নিষ্কাশনের জন্য একটি ইন্টারেক্টিভ এক্সেল শীট ব্যবহার করেছি: drive.google.com/open?id=0B48gEYiKwYegY3NqQThMTTZ1OG8
chiliwili69

3

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

দৈর্ঘ্য প্রৈতি প্রতিক্রিয়া এজাহার গড় ফিল্টার সরিয়ে দেওয়া হয়N

(1)hFIR[n]=1N(u[n]u[nN])

যেখানে একক পদক্ষেপ ফাংশন। প্রথম অর্ডার আইআইআর ফিল্টারu[n]

(2)y[n]=αx[n]+(1α)y[n1]

আবেগ প্রতিক্রিয়া আছে

(3)hIIR[n]=α(1α)nu[n]

স্কোয়ার ত্রুটিটি হ্রাস করতে এখন লক্ষ্য

(4)ϵ=n=0(hFIR[n]hIIR[n])2

এবং ব্যবহার করে ত্রুটি হিসাবে লেখা যেতে পারে(1)(3)

ϵ(α)=n=0N1(α(1α)n1N)2+n=Nα2(1α)2n=α2n=0(1α)2n2αNn=0N1(1α)n+n=0N11N2=α21(1α)22αN1(1α)N1(1α)+1N(5)=α2α2N(1(1α)N)+1N,0<α<2

এই অভিব্যক্তিটি এই উত্তরে দেওয়া মতটির সাথে খুব মিল , তবে এটি অভিন্ন নয়। উপর বিধিনিষেধ মধ্যে নিশ্চিত যে অসীম সমষ্টি এগোয় তোলে, এবং এটি দ্বারা প্রদত্ত IIR ফিল্টারের জন্য স্থায়িত্ব শর্ত অভিন্ন ।α(5)(2)

এর ডেরিভেটিভ সেট করে শূন্য ফলাফল(5)

(6)(1α)N1(2α)2=1

নোট করুন যে সর্বোত্তম অবশ্যই বিরতিতে থাকতে হবে কারণ বৃহত্তর মানগুলি পরিবর্তিত ইমালস প্রতিক্রিয়া ফলস্বরূপ হয় , যা এফআইআর চলমান গড় ফিল্টারটির ধ্রুবক প্রবণতা পুনঃনির্মাণের অনুমান করতে পারে না।α(0,1]α(3)

বর্গমূল গ্রহণ করা এবং পরিচয় করিয়ে দেওয়া , আমরা পাই(6)β=1α

(7)β(N+1)/2+β(N1)/21=0

এই সমীকরণটি বিশ্লেষণ করে সমাধান করা যায় না তবে এটি জন্য সমাধান করা যেতে পারে :এনβN

(8)N=2log(1+β)log(β),β0

সমীকরণ সংখ্যার সমাধান এর ডাবল-চেক করতে ব্যবহার করা যেতে পারে ; এটি অবশ্যই নির্দিষ্ট মানটি ফেরত দিতে হবে ।( 7 ) এন(8)(7)N

সমীকরণ কয়েক লাইন (মতলব / অক্টেভ) কোডের সাহায্যে সমাধান করা যেতে পারে:(7)

এন = 50; এফআইআর মুভিং এভারেস্টের ফিল্টার দৈর্ঘ্য

যদি (এন == 1)% তুচ্ছ মামলার জন্য পুনরাবৃত্তি নেই
    খ = 0;
আর
    % নিউটন পুনরাবৃত্তি
    খ = 1; শুরুর মান
    নিত = 7;
    n = (এন + 1) / 2;
    কে = 1 এর জন্য: নিত,
        f = b ^ n + b ^ (n-1) -1;
        fp = n * b ^ (n-1) + (n-1) * b ^ (n-2);
        বি = বি - এফ / এফপি;
    শেষ

    % পরীক্ষার ফলাফল
    N0 = -2 * লগ (1 + বি) / লগ (খ) + 1% অবশ্যই এন এর সমান হবে
শেষ

a = 1 - খ;

নীচে ফিল্টার দৈর্ঘ্যের ব্যাপ্তির জন্য অনুকূল মান সহ একটি টেবিল রয়েছে :এনαN

   এন আলফা

   1 1.0000e + 00
   2 5.3443e-01
   3 3.8197e-01
   4 2.9839e-01
   5 2.4512e-01
   6 2.0809e-01
   7 1.8083e-01
   8 1.5990e-01
   1. 1.4333e-01
  10 1.2987e-01
  20 6.7023e-02
  30 4.5175e-02
  3. 3.4071e-02
  50 2.7349e-02
  2. 2.2842e-02
  70 1.9611e-02
  1. 1.7180e-02
  90 1.5286e-02
 100 1.3768e-02
 200 6.9076e-03 
 300 4.6103e-03
 400 3.4597e-03
 500 2.7688e-03
 600 2.3078e-03
 700 1.9785e-03
 800 1.7314e-03
 900 1.5391e-03
1000 1.3853e-03
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.