কীভাবে একটি বিকৃতি ক্ষতিপূরণ ফিল্টার তৈরি করতে হয়


11

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

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

যেমন আপনি দেখতে পাচ্ছেন, যদিও আমার বিশেষ সমস্যাটি সিআইসি ফিল্টারগুলির সাথে সম্পর্কিত তবে আমার প্রশ্ন আপনি যে কোনও ধরণের বিকৃতি ক্ষতিপূরণ ফিল্টারটি কীভাবে তৈরি করেন সে সম্পর্কে সত্যই।

আপনার সময় জন্য ধন্যবাদ।


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

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

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

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

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

উত্তর:


9

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

সাধারণত, একটি সিআইসি ফিল্টার ক্ষতিপূরণ দিতে সিআইসি ফিল্টার প্রতিক্রিয়া বিপরীত ক্ষতিপূরণ ফিল্টার উত্পাদন করতে ব্যবহার করা যেতে পারে। সিআইসির একটি প্রতিক্রিয়া রয়েছে (দেখুন রেফারেন্স [r2] বা [r3])

এইচ(ω)=|গুলিআমিএন(ωডি/2)গুলিআমিএন(ωএম/2)|এন

যেখানে ডি পৃথক পৃথক বিলম্ব, এম হ'ল ডেসিমেশন হার এবং এন হল ফিল্টার অর্ডার (ক্যাসকেড ফিল্টারগুলির সংখ্যা)। বিপরীত হিসাবে নির্দিষ্ট করা যেতে পারে

এইচ(ω)=|গুলিআমিএন(ωএম/2)গুলিআমিএন(ωডি/2)|এন

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

নীচে এই সরাসরি এগিয়ে ক্ষতিপূরণ এর প্লট হয়।

ফ্রিকোয়েন্সি প্রতিক্রিয়া এবং প্লটগুলি তৈরি করার জন্য পাইথন কোডটি নীচে দেওয়া হয়েছে।

import numpy as np
from numpy import sin, abs, pi
import pylab

D = 1; M = 7; N = 3

Hfunc = lambda w : abs( (sin((w*M)/2)) / (sin((w*D)/2.)) )**N
HfuncC = lambda w : abs( (sin((w*D)/2.)) / (sin((w*M)/2.)) )**N

w = np.arange(1024) * pi/1024

G = (M*D)**N
H = np.array(map(Hfunc, w))
Hc = np.array(map(HfuncC, w))
# only use the inverse (compensation) roughly to the first null.
Hc[int(1024*pi/M/2):] = 1e-8
plot(w, 20*log10(H/G))
plot(w, 20*log10(Hc*G))
grid('on')

গুলিআমিএন-1

[r1] আল্টেরা, "সিআইসির ক্ষতিপূরণ ফিল্টারগুলি বোঝা"

[r2] আর। লাইন্স, "ডিজিটাল সিগন্যাল প্রসেসিং বোঝার", ২ য় সংস্করণ, প্রেন্টিস হল, আপার স্যাডেল রিভার, নিউ জার্সি, 2004

[r3] আর। লাইন্স , "ক্যাসকেড ইন্টিগ্রেটার কম্ব ফিল্টারগুলি বোঝা"


রেফ 1 টি দুর্দান্ত, তবে বিভিন্ন পরিভাষা ব্যবহার করে (এম = পর্যায় বিলম্ব, যেখানে আপনি ডি আর = হ্রাসের হার ব্যবহার করেছেন, যেখানে আপনি এম ব্যবহার করেছেন) তাই ত্রুটিটি দেখতে আমার কিছুটা সময় লেগেছে: আপনি ডাব্লুএম / 2 ব্যবহার করেন, আল্টেরা পিআই নির্দিষ্ট করে এফ / আর দ্রুত এক্সেল প্লটের পরে, আমি বিশ্বাস করি আল্টেরার সংস্করণটি সঠিক।
অ্যালান ক্যাম্পবেল

@ অ্যালান ক্যাম্পবেল যদি আপনি উপরের সমীকরণগুলি প্লট করেন (যা আমি কোড স্নিপেটে করেছি) আপনি দেখতে পাবেন যে কোনও ত্রুটি নেই। আমি সমীকরণগুলিতে যা স্পষ্টভাবে ডাকে নি তা হ'ল লাভ । কোড স্নিপ নোটিশ আমি লাভ মুছে ফেলুন। আপনি যদি কোড স্নিপ চালান M=8এবং N=9এটি সংশোধন করেন এবং এটি রেফারেন্স 1 হিসাবে একই প্লট তৈরি করে I আমি রেফারেন্সের আরও কাছাকাছি নামটি ব্যবহার করেছিলাম
ক্রিস্টোফার ফেলটন

2

আমি মনে করি ক্রিস্টোফারের উত্তরটি ভাল। আমি ভেবেছিলাম যে আমি আমাদের জন্য একটি অলস / প্রতারক প্রকার যুক্ত করব।

মতলবের fdatool (ফিল্টার ডিজাইন এবং বিশ্লেষণ সরঞ্জাম) কাছাকাছি খনন করার সময় আমি আবিষ্কার করেছি যে এটি সিআইসি এবং বিপরীত সিনস ফিল্টার উভয়ই ডিজাইন করতে এবং মডেল করতে পারে, যেখানে বিপরীত সিনক ফিল্টারটি সিআইসির বিকৃতি ক্ষতিপূরণ ফিল্টার।

আপনি সরাসরি "একটি বহু-হারের ফিল্টার তৈরি করুন" পৃষ্ঠাতে (সংস্করণ R2011b এর বাম দিকে বোতাম) এবং সিসি ফিল্টার নির্দিষ্ট করে সিসি ফিল্টার তৈরি করেন। তারপরে আপনি এটিতে চান এমন সমস্ত প্যারামিটার সেট করতে পারেন, যেমন ইন্টারপোলেশন / ডেসিমেশন রেট, ক্যাসকেডের সংখ্যা (মতলব এটিকে "বিভাগগুলি" বলে) ইত্যাদি etc.

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

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

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


0

এখানে প্রতিক্রিয়াটির সদৃশ না করে দয়া করে দেখুন

কীভাবে সিআইসি ক্ষতিপূরণ ফিল্টার তৈরি করতে হয়

যা সিআইসি ক্ষতিপূরণের জন্য খুব সাধারণ 3 টি ট্যাপ সমাধান দেখায়।

এটি সিআইসির সাথে সুনির্দিষ্ট বা বিপরীত সিনের জন্য কোনও অ্যাপ্লিকেশন প্রয়োজন (যেমন ডি / এ রূপান্তরের আগে)।

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

অডিও সিগন্যালে লাউডস্পিকারের ফ্রিকোয়েন্সি প্রতিক্রিয়া ক্ষতিপূরণ করা

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