গোলমাল শেপ না করে বেসিক দোহানো
গোলমাল শেপিং ব্যতীত বেসিক dithered কোয়ান্টাইজেশন এইভাবে কাজ করে:
চিত্র 1. বেসিক dithered কোয়ান্টাইজেশন সিস্টেম ডায়াগ্রাম। গোলমালটি শূন্য-মধ্যবর্তী ত্রিভুজাকার দ্বিখণ্ডিত সর্বাধিক নিখুঁত মানের সাথে 1. হয় nearest অবশিষ্ট ত্রুটি আউটপুট এবং ইনপুট মধ্যে পার্থক্য এবং শুধুমাত্র বিশ্লেষণের জন্য গণনা করা হয়।
ত্রিভুজাকৃতির ডিয়ারটি 3 এর একটি ফ্যাক্টর দ্বারা ফলাফলের অবশিষ্টাংশের ত্রুটির বৈচিত্র বাড়িয়ে তোলে from 112 প্রতি 14) তবে ইনপুট সিগন্যালের মান থেকে নেট কোয়ান্টাইজেশন ত্রুটির গড় এবং প্রকরণটি ডিউপল করে। এর অর্থ হ'ল নেট ত্রুটি সংকেত ইনপুটটির সাথে সম্পর্কযুক্ত নয় তবে উচ্চতর মুহুর্তগুলি ডিকম্পল করা হয় না, সুতরাং এটি সত্যই স্বাধীনভাবে এলোমেলো ত্রুটি নয়, তবে কেউ নির্ধারণ করেনি যে নেট ত্রুটি সংকেত লোকেরা উচ্চতর মুহুর্তের কোনও নির্ভরতা শুনতে পাবে একটি অডিও অ্যাপ্লিকেশন ইনপুট সংকেত।
স্বতন্ত্র যোগমূলক অবশিষ্ট ত্রুটি সহ আমাদের সিস্টেমের একটি সহজ মডেল থাকবে:
চিত্র ২. মৌলিক আঁটিযুক্ত পরিমাণের পরিমাণ of অবশিষ্ট ত্রুটি সাদা শব্দ।
আনুমানিক মডেলে আউটপুটটি কেবল ইনপুট প্লাস স্বতন্ত্র সাদা গোলমাল অবশিষ্টাংশ ত্রুটি।
গোলমাল রুপায়ণ সঙ্গে
আমি ম্যাথেম্যাটিকাকে খুব ভালভাবে পড়তে পারি না তাই আপনার সিস্টেমের পরিবর্তে আমি লিপশিটস এট আল থেকে সিস্টেমটি বিশ্লেষণ করব । " ন্যূনতম শ্রাব্য শব্দের আকার দেয় " জে অডিও ইঞ্জিন। সস।, খণ্ড .৩৯, নং .১১, নভেম্বর 1991:
চিত্র 3. লিপশিটস এট আল। 1991 সিস্টেম ডায়াগ্রাম (তাদের চিত্র 1 থেকে অভিযোজিত)। ফিল্টার (পাঠ্যে italicized) এতে একটি নমুনা বিলম্ব অন্তর্ভুক্ত করে যাতে এটি একটি ত্রুটি প্রতিক্রিয়া ফিল্টার হিসাবে ব্যবহার করতে পারে। গোলমাল ত্রিভুজাকার হয়।
যদি অবশিষ্ট ত্রুটিটি সিগন্যাল এ এর বর্তমান এবং অতীত মান থেকে স্বতন্ত্র থাকে তবে আমাদের একটি সহজ সিস্টেম রয়েছে:
চিত্র 4. লিপশিটস এট আল এর আনুমানিক মডেল। 1991 সিস্টেম। ফিল্টার চিত্র 3-এর মতো এবং এতে একটি নমুনা বিলম্ব অন্তর্ভুক্ত। এটি আর প্রতিক্রিয়া ফিল্টার হিসাবে ব্যবহার করা হয় না। অবশিষ্ট ত্রুটি সাদা শব্দ।
এই উত্তরে আমি আরও সহজে বিশ্লেষিত আনুমানিক মডেল (চিত্র 4) এর সাথে কাজ করব। মূল লিপশিটস এট আল। 1991 সিস্টেম, ফিল্টার একটি জেনেরিক অসীম আবেগ প্রতিক্রিয়া (আইআইআর) ফিল্টার ফর্ম রয়েছে যা আইআইআর এবং সসীম প্রেরণা প্রতিক্রিয়া (এফআইআর) ফিল্টার উভয়কেই কভার করে। নিম্নলিখিতটিতে আমরা ধরে নেব যে ফিল্টারটি একটি এফআইআর ফিল্টার, কারণ আমি বিশ্বাস করি যে আপনার সহগের সাথে আমার পরীক্ষার উপর ভিত্তি করে আপনার সিস্টেমে আপনার যা আছে তা। ফিল্টার স্থানান্তর ফাংশন :
HFilter(z)=−b1z−1−b2z−2−b3z−3−…
কারন z−1এক-নমুনা বিলম্ব উপস্থাপন করে। আনুমানিক মডেলে অবশিষ্টাংশ ত্রুটি থেকে আউটপুট সরাসরি সংক্ষিপ্তসার পথও রয়েছে। এটি ফিল্টারটির অবহেলিত আউটপুট নিয়ে সংক্ষিপ্ত হয়ে ওঠে , পুরো শয়েজ শেপিং ফিল্টার স্থানান্তর ফাংশন গঠন করে:
H(z)=1−HFilter(z)=1+b1z−1+b2z−2+b3z−3+….
আপনার ফিল্টার সহগগুলি থেকে যেতে , যা আপনি ক্রমে তালিকাভুক্ত করেছেন…,−b3,−b2,−b1, পুরো শব্দে শেপিং ফিল্টার স্থানান্তর ফাংশন বহুবর্ষীয় সহগ 1,b1,b2,b3,…সিস্টেমের ডায়াগ্রামে ফিল্টার আউটপুটকে অস্বীকার করার জন্য সহগের চিহ্নটি পরিবর্তিত হয়ে যায়b0=1শেষের সাথে সংযুক্ত করা হয় ( horzcat
নীচের অক্টাভা স্ক্রিপ্টে) এবং অবশেষে তালিকাটি বিপরীত হয় (দ্বারা flip
):
pkg load signal
b = [-0.16, 0.51, -0.74, 0.52, -0.04, -0.25, 0.22, -0.11, -0.02, 0.31, -0.56, 0.45, -0.13, 0.04, -0.14, 0.12, -0.06, 0.19, -0.22, -0.15, 0.4, 0.01, -0.41, -0.1, 0.84, -0.42, -0.81, 0.91, 0.75, -2.37, 2.29];
c = flip(horzcat(-b, 1));
freqz(c)
zplane(c)
স্ক্রিপ্টটি বিশাল আকারের ফ্রিকোয়েন্সি প্রতিক্রিয়া এবং পূর্ণ শব্দদণ্ডের আকারের ফিল্টারটির শূন্য স্থানগুলি প্লট করে:
চিত্র 5. পূর্ণ শব্দদণ্ডের আকারের ফিল্টারটির দৈর্ঘ্যের ফ্রিকোয়েন্সি প্রতিক্রিয়া।
চিত্র 6. মেরুগুলির জেড-প্লেন প্লট (×) এবং শূন্য (∘) ফিল্টার। সমস্ত শূন্যগুলি ইউনিট বৃত্তের অভ্যন্তরে রয়েছে, তাই সম্পূর্ণ শব্দ-আকার দেওয়ার ফিল্টারটি ন্যূনতম-পর্ব।
আমি মনে করি ফিল্টার সহগের সন্ধানের সমস্যাটিকে সংশোধন করা যেতে পারে যেমন 1 এর শীর্ষস্থানীয় সহগ সহ একটি ন্যূনতম-পর্ব ফিল্টার ডিজাইনের সমস্যা হিসাবে যদি এই ধরনের ফিল্টারগুলির ফ্রিকোয়েন্সি প্রতিক্রিয়ার অন্তর্নিহিত সীমাবদ্ধতা থাকে তবে এই সীমাবদ্ধতাগুলি সমতুল্য সীমাবদ্ধতায় স্থানান্তরিত হয় গোলমাল আকারে এমন ফিল্টার ব্যবহার করে।
সর্ব-মেরু নকশা থেকে ন্যূনতম-পর্বের এফআইআর রূপান্তর
স্টোজনোভিও এট আল-তে বিভিন্নভাবে নকশাকরণের প্রক্রিয়া কিন্তু বিভিন্ন উপায়ে সমতুল্য ফিল্টার বর্ণনা করা হয় । , "আলট্রাফেরিকাল বহুবর্ষের ভিত্তিতে অল-পোল রিকার্সিভ ডিজিটাল ফিল্টার ডিজাইন", রেডিওঞ্জিনিয়ারিং, ২ য় খণ্ড, কোন 3, সেপ্টেম্বর 2014 They যাদের সর্বদা 1 এর শীর্ষস্থানীয় ডিনোমিনেটর সহগ থাকে এবং ইউনিট বৃত্তের ভিতরে সমস্ত খুঁটি থাকে, স্থিতিশীল আইআইআর ফিল্টারগুলির প্রয়োজন। যদি এই সহগগুলি ন্যূনতম-পর্বের এফআইআর শোর শেপিং ফিল্টারটির সহগ হিসাবে ব্যবহৃত হয় তবে তারা কম-পাস আইআইআর ফিল্টারের তুলনায় একটি উল্টানো উচ্চ-পাস ফ্রিকোয়েন্সি প্রতিক্রিয়া দেবে (ট্রান্সফার ফাংশন ডিনমিনেটর সহগফল সংখ্যার সহগ হয়)। আপনার স্বরলিপিটিতে article নিবন্ধটির সহগের একটি সেট রয়েছে {-0.0076120, 0.0960380, -0.5454670, 1.8298040, -3.9884220, 5.8308660, -5.6495140, 3.3816780}
, যা শব্দদণ্ডের আকারের প্রয়োগের জন্য পরীক্ষা করা যেতে পারে যদিও এটি নির্দিষ্টকরণের সাথে ঠিক নয়:
চিত্র 7. স্টোজনোভিট এট আল এর সহগগুলি ব্যবহার করে এফআইআর ফিল্টারটির দৈর্ঘ্যের ফ্রিকোয়েন্সি প্রতিক্রিয়া। 2014।
চিত্র 8. স্টোজনোভিট এট আল এর সহগ ব্যবহার করে এফআইআর ফিল্টারটির মেরু-শূন্য প্লট। 2014।
সর্ব-মেরু স্থানান্তর ফাংশনটি হ'ল:
H(z)=11+a1z−1+a2z−2+a3z−3+…
সুতরাং, আপনি একটি স্থিতিশীল অল-মেরু আইআইআর লো-পাস ফিল্টার ডিজাইন করতে পারেন এবং এটি ব্যবহার করতে পারেন a সহগ হিসাবে b 1 এর শীর্ষস্থানীয় সহগ সহ একটি ন্যূনতম-পর্যায়ের উচ্চ-পাসের এফআইআর ফিল্টার পেতে সহগ।
অল-পোল ফিল্টার ডিজাইন করতে এবং এটিকে ন্যূনতম-ফেজের এফআইআর ফিল্টারে রূপান্তর করতে, আপনি আইআইআর ফিল্টার ডিজাইন পদ্ধতিগুলি ব্যবহার করতে পারবেন না যা এনালগ প্রোটোটাইপ ফিল্টার থেকে শুরু হয় এবং মেরু এবং শূন্যগুলিকে ডিজিটাল ডোমেনে বিলিয়ারার ট্রান্সফর্ম ব্যবহার করে ম্যাপ করে । এর মধ্যে রয়েছে cheby1
, cheby2
এবং ellip
অক্টাভা এবং পাইথনের সাইপিও। এই পদ্ধতিগুলি জেড-প্লেনের উত্স থেকে জিরোগুলিকে দূরে দেবে যাতে ফিল্টার প্রয়োজনীয় সমস্ত-মেরু প্রকারের না হয়।
তাত্ত্বিক প্রশ্নের উত্তর
স্যাম্পলিং ফ্রিকোয়েন্সিয়ের চতুর্থাংশের উপরের ফ্রিকোয়েন্সিগুলিতে কতটা শব্দ হবে তা যদি আপনি চিন্তা না করেন তবে লিপশিটস এট আল। 1991 সরাসরি আপনার প্রশ্নের ঠিকানা দেয়:
ব্যান্ডের অংশের ওপরে শূন্যের দিকে চলে এমন ওজন কার্যকারণের জন্য, ডুমুরের সার্কিট থেকে প্রাপ্ত ওজনযুক্ত শব্দ-শক্তি হ্রাসের কোনও তাত্ত্বিক সীমা নেই। ১. উদাহরণস্বরূপ, যদি কেউ ধরে নেয় যে বলুন, 20 কেএইচজেড এবং নাইকিস্ট ফ্রিকোয়েন্সি এর মধ্যে কানের শূন্য সংবেদনশীলতা রয়েছে এবং এই সত্যটি প্রতিফলিত করার জন্য ভারী কার্যকারিতা বেছে নেওয়া হয়।
তাদের চিত্র ১. উভয় মেরু এবং জিরো সহ জেনেরিক আইআইআর ফিল্টার কাঠামো সহ একটি শব্দ শ্যাপার দেখায়, এই মুহুর্তে আপনার যে এফআইআর কাঠামো রয়েছে তার চেয়ে আলাদা, তবে তারা যা বলেন তা এটিও প্রযোজ্য, কারণ একটি এফআইআর ফিল্টার আবেগ প্রতিক্রিয়া হতে পারে যেকোন প্রদত্ত স্থিতিশীল আইআইআর ফিল্টারটির প্রেরণা প্রতিক্রিয়ার নিকটে নির্বিচারে তৈরি করা হয়েছে।
ফিল্টার ডিজাইনের জন্য অক্টাভা স্ক্রিপ্ট
এখানে অন্য পদ্ধতি দ্বারা গুণগত গণনার জন্য একটি অক্টাভ স্ক্রিপ্ট যা আমি মনে করি স্টোজনোভিসি এট আল এর সমতুল্য। 2014 পদ্ধতি হিসাবে প্যারামিটারাইজডν=0আমার dip
পরামিতিটির সঠিক পছন্দ সহ ।
pkg load signal
N = 14; #number of taps including leading tap with coefficient 1
att = 97.5; #dB attenuation of Dolph-Chebyshev window, must be positive
dip = 2; #spectrum lift-up multiplier, must be above 1
c = chebwin(N, att);
c = conv(c, c);
c /= sum(c);
c(N) += dip*10^(-att/10);
r = roots(c);
j = (abs(r(:)) <= 1);
r = r(j);
c = real(poly(r));
c .*= (-1).^(0:(N-1)); #if this complains, then root finding has probably failed
freqz(c)
zplane(c)
printf('%f, ', flip(-c(2:end))), printf('\n'); #tobalt's format
এটি একটি ডল্ফ-চেবিশেভ উইন্ডোটি সহগের হিসাবে শুরু করে, স্থানান্তর ফাংশন শূন্যকে দ্বিগুণ করার জন্য এটি নিজের সাথে সংহত করে, মাঝারি ট্যাপটিতে এমন একটি সংখ্যায় যুক্ত হয় যা ফ্রিকোয়েন্সি প্রতিক্রিয়াটিকে "উত্থাপিত" করে তোলে (মাঝের ট্যাপটিকে শূন্য সময় হিসাবে বিবেচনা করে) তাই এটি যে কোনও জায়গায় ইতিবাচক, জিরোগুলি সন্ধান করে, ইউনিট বৃত্তের বাইরে থাকা শূন্যগুলি সরিয়ে দেয়, শূন্যগুলিকে আবার সহগতে রূপান্তরিত করে (এর অগ্রণী গুণকটি poly
সর্বদা 1 থাকে) এবং ফিল্টারটিকে উচ্চ-পাস করতে প্রতিটি দ্বিতীয় সহগের চিহ্নটি উল্টে দেয় । স্ক্রিপ্টটি ফলাফলের (পুরানো তবে প্রায় সমমানের সংস্করণ) আশাব্যঞ্জক দেখাচ্ছে:
চিত্র 9. উপরের স্ক্রিপ্ট থেকে ফিল্টারটির দৈর্ঘ্যের ফ্রিকোয়েন্সি প্রতিক্রিয়া (একটি পুরানো তবে প্রায় সমমানের সংস্করণ)।
চিত্র 10. উপরের স্ক্রিপ্ট থেকে ফিল্টারটির মেরু-শূন্য প্লট (এর পুরানো তবে প্রায় সমমানের সংস্করণ)।
থেকে কোফিসিয়েন্টস (একটি পুরোনো কিন্তু প্রায় সমতুল্য সংস্করণ) আপনার স্বরলিপি উপরে স্ক্রিপ্ট: {0.357662, -2.588396, 9.931419, -26.205448, 52.450624, -83.531276, 108.508775, -116.272581, 102.875781, -74.473956, 43.140431, -19.131434, 5.923468}
। সংখ্যাগুলি বৃহত্তর যা সংখ্যার সমস্যা হতে পারে।
শব্দের আকার দেওয়ার অক্টোবরে বাস্তবায়ন
অবশেষে, আমি অক্টাভে শব্দের আকার দেওয়ার নিজের নিজস্ব বাস্তবায়ন করেছি এবং আপনার মতো সমস্যাগুলি পাই না। মন্তব্যে আমাদের আলোচনার ভিত্তিতে, আমি মনে করি যে আপনার বাস্তবায়নের সীমাবদ্ধতাটি হ'ল আওয়াজযুক্ত উইন্ডো ওরফে "নো উইন্ডোনিং" ব্যবহার করে শোর বর্ণালীটি মূল্যায়ন করা হয়েছিল , যা কম ফ্রিকোয়েন্সিগুলিতে উচ্চ ফ্রিকোয়েন্সি বর্ণালীকে ছড়িয়ে দেয়।
pkg load signal
N = length(c);
M = 16384; #signal length
input = zeros(M, 1);#sin(0.01*(1:M))*127;
er = zeros(M, 1);
output = zeros(M, 1);
for i = 1:M
A = input(i) + er(i);
output(i) = round(A + rand() - rand());
for j = 2:N
if (i + j - 1 <= M)
er(i + j - 1) += (output(i) - A)*c(j);
endif
endfor
endfor
pwelch(output, max(nuttallwin(1024), 0), 'semilogy');
চিত্র 11. ধ্রুবক শূন্য ইনপুট সিগন্যালের জন্য গোলমাল রুপের উপরের অক্টাভা বাস্তবায়ন থেকে কোয়ান্টাইজেশন গোলমাল বর্ণাল বিশ্লেষণ। অনুভূমিক অক্ষ: সাধারণ ফ্রিকোয়েন্সি। কালো: কোনও গোলমাল শেপিং ( c = [1];
), লাল নয়: আপনার মূল ফিল্টার, নীল: "ফিল্টার ডিজাইনের জন্য অক্টাভ স্ক্রিপ্ট" বিভাগ থেকে ফিল্টার।
চিত্র 12. ধ্রুবক শূন্য ইনপুট সিগন্যালের জন্য উপরের অষ্টেপাভের শব্দটি বাস্তবায়নের সময় ডোমেন আউটপুট। অনুভূমিক অক্ষ: নমুনা সংখ্যা, উল্লম্ব অক্ষ: নমুনার মান। লাল: আপনার মূল ফিল্টার, নীল: বিভাগ "ফিল্টার ডিজাইনের জন্য অক্টাভ স্ক্রিপ্ট" বিভাগ থেকে ফিল্টার।
আরও চূড়ান্ত শোর শেপিং ফিল্টার (নীল) এমনকি শূন্য ইনপুটের জন্য খুব বড় পরিমাণে আউটপুট নমুনার মানগুলিতে ফলাফল দেয় in