সম্ভাব্য গোলমাল আকারের সীমা?


9

আমি 100kHz, 16 বিট অ্যাপ্লিকেশনটিতে শোর রুপদান করতে চাই, যাতে ডিসি-25kHz ব্যান্ডের সর্বনিম্ন শব্দ সহ সমস্ত পরিমাণকে 25-2zz-50kHz ব্যান্ডে স্থানান্তর করতে পারে।

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

কিছু শিখার পরে শব্দ বর্ণালী ফলাফল

এখন আমার সমস্যা:

আমি বিস্তৃত জ্ঞানার্জনের পরেও শব্দটিকে আরও আকার দিতে পারি না যদিও গের্জন-ক্র্যাভেন উপপাদ্য এটিকে নিষেধ করে না। উদাহরণস্বরূপ, এটি করা উচিত কম ব্যান্ড 40 ডেসিবেল হ্রাস এবং উচ্চ ব্যান্ড 40 ডেসিবেল বর্ধিতকরণ অর্জন করা সম্ভব হবে।

তাহলে আমি কি আরও একটি মৌলিক সীমাটি চালাচ্ছি?

আমি শ্যাননের গোলমাল / নমুনা / তথ্য উপপাদাগুলির দিকে নজর দেওয়ার চেষ্টা করেছি কিন্তু কিছুক্ষণ বেঁধে দেওয়ার পরে, আমি কেবল এ থেকে একক সীমা অর্জন করতে পেরেছি: গের্জন-ক্র্যাভেন উপপাদ্য, যা শ্যানন তত্ত্বের প্রত্যক্ষ ফলাফল বলে মনে হয়।

কোন সাহায্য প্রশংসা করা হয়।

সম্পাদনা: আরও তথ্য

প্রথমে, ফিল্টার কার্নেল যা উপরের শব্দটি তৈরি করে, নোট করুন যে সর্বাধিক সাম্প্রতিক নমুনাটি ডানদিকে রয়েছে। বারচার্টের সংখ্যাসূচক মানগুলি 00: {-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} (বার চরটি ঠিক নয় তবে একই ধরণের বাঁক উত্পাদন করে )

ফিল্টার কার্নেল, ডানদিকে সাম্প্রতিকতম নমুনা।

ত্রুটি প্রতিক্রিয়া বাস্তবায়ন সম্পর্কে আরেকটি নোট:

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

এখানে কোড যা ডিজিটাইজড তরঙ্গ নমুনাগুলি গণনা করতে ব্যবহৃত হয়। বৃত্তাকার জন্য ধাপটি ধাপ। তরঙ্গ হ'ল অজিগাইটাইজড ওয়েভফর্ম (সাধারণত কোনও জিরো যখন কোনও সংকেত প্রয়োগ না করা হয়)।

TestWave[kernel_?VectorQ] := 
 Module[{k = kernel, nf, dith, signals, twave, deltas},
  nf = Length@k;
  dith = RandomVariate[TriangularDistribution[{-1, 1}*step], l];
  signals = deltas = Table[0, {l}];
  twave = wave;
  Do[
   twave[[i]] -= k.PadLeft[deltas[[;; i - 1]], nf];
   signals[[i]] = Round[twave[[i]] + dith[[i]], step];
   deltas[[i]] = signals[[i]] - twave[[i]];
   , {i, l}];
  signals
  ]

শক্তিবৃদ্ধি পদ্ধতি:

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

স্ট্যান্ডার্ড ফিল্টার ডিজাইনের সাথে তুলনা:

গাণিতিক পুনরাবৃত্তভাবে ফিল্টার তৈরি করতে দেয়। যখন তাদের ফ্রিকোয়েন্সি প্রতিক্রিয়া প্লট করা হয় তখন এগুলি 36 ডিবি এর চেয়ে অনেক বেশি ভাল বিপরীতে থাকতে পারে; 80-100 ডিবি পর্যন্ত। সংখ্যার মান: {0.024, -0.061, -0.048, 0.38, -0.36, -0.808, 2.09, -0.331, -4.796, 6.142, 3.918, -17.773, 11.245, 30.613, -87.072, 113.676, -87.072, 30.613, 11.245 , -17.773, 3.918, 6.142, -4.796, -0.331, 2.09, -0.808, -0.36, 0.38, -0.048, -0.061, 0.024}

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

যাইহোক, প্রকৃত গোলমাল আকারের মধ্যে তাদের প্রয়োগ করার সময়, তারা (ক) একই ~ 40dB বিপরীতে আটকে থাকে, (খ) শেখা ফিল্টারের চেয়ে খারাপ সম্পাদন করে যা কোনও শব্দ শোধন না করে।

নীল: শিখানো ফিল্টার, হলুদ: আউট অফ-বাক্সের সমতুল্য ফিল্টার, স্থানান্তরিত হয়নি ... এটি সত্যিই আরও খারাপ


2
+1, খুব আকর্ষণীয় প্রশ্ন। আপনি কি 31 টি ট্যাপের উপরে ফিল্টারটির ক্রম বাড়ানোর চেষ্টা করেছেন? 40 ডিবি দমন 31 টি টিপ এফআইআর-এর জন্য কিছুটা উচ্চ শোনায়।
এ_এ

1
@ অলি, আমি বিশ্বাস করি না আমি পুরোপুরি বুঝতে পেরেছি। আপনি যদি আগ্রহী হন তবে আমি ফিল্টার কার্নেলটি পোস্ট করতে পারি bl কথায় কথায়, অসিলেটরি ওজন রয়েছে যা ত্রুটির বিকল্পকে বাধ্য করে -> এটিকে উচ্চ ফ্রিকোয়েন্সিতে স্থানান্তরিত করে।
টুবল্ট

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

1
আপনি গাণিতিকের ফিল্টার ডিজাইন বিভাগটি একবার দেখতে চান । সম্ভবত আপনি কেবল নিজের ফিল্টারটির নির্দিষ্টকরণগুলি সংজ্ঞায়িত করতে পারেন এবং ফিল্টার ফিরিয়ে আনতে বিদ্যমান কৌশলগুলির মধ্যে একটি ব্যবহার করতে পারেন যা তাদের সন্তুষ্ট করে।
এ_এ

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

উত্তর:


12

গোলমাল শেপ না করে বেসিক দোহানো

গোলমাল শেপিং ব্যতীত বেসিক dithered কোয়ান্টাইজেশন এইভাবে কাজ করে:


চিত্র 1. বেসিক dithered কোয়ান্টাইজেশন সিস্টেম ডায়াগ্রাম। গোলমালটি শূন্য-মধ্যবর্তী ত্রিভুজাকার দ্বিখণ্ডিত সর্বাধিক নিখুঁত মানের সাথে 1. হয় nearest অবশিষ্ট ত্রুটি আউটপুট এবং ইনপুট মধ্যে পার্থক্য এবং শুধুমাত্র বিশ্লেষণের জন্য গণনা করা হয়।

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

স্বতন্ত্র যোগমূলক অবশিষ্ট ত্রুটি সহ আমাদের সিস্টেমের একটি সহজ মডেল থাকবে:


চিত্র ২. মৌলিক আঁটিযুক্ত পরিমাণের পরিমাণ of অবশিষ্ট ত্রুটি সাদা শব্দ।

আনুমানিক মডেলে আউটপুটটি কেবল ইনপুট প্লাস স্বতন্ত্র সাদা গোলমাল অবশিষ্টাংশ ত্রুটি।

গোলমাল রুপায়ণ সঙ্গে

আমি ম্যাথেম্যাটিকাকে খুব ভালভাবে পড়তে পারি না তাই আপনার সিস্টেমের পরিবর্তে আমি লিপশিটস এট আল থেকে সিস্টেমটি বিশ্লেষণ করব " ন্যূনতম শ্রাব্য শব্দের আকার দেয় " জে অডিও ইঞ্জিন। সস।, খণ্ড .৩৯, নং .১১, নভেম্বর 1991:

লিপশিটস এবং আল 1991 সিস্টেম
চিত্র 3. লিপশিটস এট আল। 1991 সিস্টেম ডায়াগ্রাম (তাদের চিত্র 1 থেকে অভিযোজিত)। ফিল্টার (পাঠ্যে italicized) এতে একটি নমুনা বিলম্ব অন্তর্ভুক্ত করে যাতে এটি একটি ত্রুটি প্রতিক্রিয়া ফিল্টার হিসাবে ব্যবহার করতে পারে। গোলমাল ত্রিভুজাকার হয়।

যদি অবশিষ্ট ত্রুটিটি সিগন্যাল এ এর ​​বর্তমান এবং অতীত মান থেকে স্বতন্ত্র থাকে তবে আমাদের একটি সহজ সিস্টেম রয়েছে:


চিত্র 4. লিপশিটস এট আল এর আনুমানিক মডেল। 1991 সিস্টেম। ফিল্টার চিত্র 3-এর মতো এবং এতে একটি নমুনা বিলম্ব অন্তর্ভুক্ত। এটি আর প্রতিক্রিয়া ফিল্টার হিসাবে ব্যবহার করা হয় না। অবশিষ্ট ত্রুটি সাদা শব্দ।

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

HFilter(z)=b1z1b2z2b3z3

কারন z1এক-নমুনা বিলম্ব উপস্থাপন করে। আনুমানিক মডেলে অবশিষ্টাংশ ত্রুটি থেকে আউটপুট সরাসরি সংক্ষিপ্তসার পথও রয়েছে। এটি ফিল্টারটির অবহেলিত আউটপুট নিয়ে সংক্ষিপ্ত হয়ে ওঠে , পুরো শয়েজ শেপিং ফিল্টার স্থানান্তর ফাংশন গঠন করে:

H(z)=1HFilter(z)=1+b1z1+b2z2+b3z3+.

আপনার ফিল্টার সহগগুলি থেকে যেতে , যা আপনি ক্রমে তালিকাভুক্ত করেছেন,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+a1z1+a2z2+a3z3+

সুতরাং, আপনি একটি স্থিতিশীল অল-মেরু আইআইআর লো-পাস ফিল্টার ডিজাইন করতে পারেন এবং এটি ব্যবহার করতে পারেন 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


1
@MattL। আমি প্রথমে ভুল ভেবেছিলাম যে টবলেট একটি অল মেরু ফিল্টার আছে। আমি আমার উত্তরটি পুনরায় লিখেছিলাম যখন বুঝতে পেরেছিলাম যে এটি প্রথম সহগ 1 সহ একটি এফআইআর ফিল্টার Also এছাড়াও গের্জন-ক্র্যাভেনকে বলা হয়েছে যে ফিল্টারটি সর্বোত্তম হওয়ার জন্য ন্যূনতম পর্যায় হওয়া দরকার এবং টোবাল্টের অনুকূলিত সহগগুলিও একটি ন্যূনতম পর্যায়ে ফিল্টার দেয়। এই প্রয়োজনীয়তাগুলি আইআইআর অল-পোল ফিল্টারগুলির সহগের সাথে সমান তাই আমি সেখান থেকে নকশার পদ্ধতি ধার করার পরামর্শ দিই। একটি স্ট্যান্ডার্ড আইআইআর একটি বিকল্পও হবে।
ওলি নিমিত্তালো

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

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

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

1
লিপশিটস এট আল। 1991 ব্যবহারa এবং bবিপরীত অর্থ সহ, একটি অনুশীলন আমাকে অ-মানক হওয়ার জন্য dsp.stackexchange.com এ এখান থেকে ছড়িয়ে দেওয়া হয়েছিল।
অলি নিমিত্তালো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.