সফ্টওয়্যারটিতে ক্যারিয়ার ফেজ পুনরুদ্ধার কীভাবে করবেন?


13

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

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


আমরা সাধারণত কোডের উদাহরণ সরবরাহ করি না - বিশেষত বিপিএসকে ডেমোডুলেটারের মতো জটিল কিছু।
জিম ক্লে

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

আপনার জিমক্লে এবং জেসনআর মন্তব্যের জন্য ধন্যবাদ - আমি বোঝাতে চাইনি যে ওয়ার্কিং সোর্স কোডটি চাওয়া হবে। আমি প্রশ্নটি আরও সুনির্দিষ্ট হওয়ার জন্য আপডেট করেছি: আমি কেবল এমন কোনও ব্যাখ্যা খুঁজছি যা এনালগ সার্কিট এবং সার্কিট ডায়াগ্রামগুলির বোঝার অনুমান করে না।
কিথ

উত্তর:


25

কোনও ফেজ-শিফট কীড সিগন্যালটি তৈরি করতে, যার মধ্যে বিপিএসকে সহজতম, আপনাকে ক্যারিয়ারের ফ্রিকোয়েন্সি, ফেজ এবং প্রতীক সময়টি পুনরুদ্ধার করতে হবে।

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

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

ক্যারিয়ার রিকভারি

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

ক্যারিয়ার ফেজ

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

বিপিএসকে ঘোরানো

আপনি যদি ঘনিষ্ঠভাবে তাকান তবে আপনি অস্পষ্ট রেখার শেষের দিকে দুটি ঘন অঞ্চল দেখতে পাবেন। সেগুলি হ'ল বিপিএসকে নক্ষত্রমণ্ডল। এর মধ্যবর্তী বিন্দুগুলি হচ্ছে নক্ষত্রের বিন্দুর মধ্যে স্থানান্তর। আমরা প্রতীক সময় পেলে এগুলি পরিষ্কার হয়ে যাবে। লাইনটি একটি কোণে থাকার কারণটি ক্যারিয়ার পর্ব। এটি দ্বারা নেতিবাচক বাস্তব মান আছে এমন সমস্ত পয়েন্টকে গুণ করে সিগন্যালটি আয়না করে পরিমাপ করা যেতে পারেejπ

ঘোরানো এবং মিরর করা বিপিএসকে

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

গোলমাল বিপিএসকে

একবার তথ্য ফেজ সংশোধন হয়ে গেলে আপনি তথ্যের কাল্পনিক অংশটি ফেলে দিতে পারেন কারণ এতে কোনও তথ্য যুক্ত হয় না।

প্রতীক সময়

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

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

চোখের চিত্র

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

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

একবার আপনি সঠিক পয়েন্টগুলিতে প্রতীকগুলি নমুনা তৈরি করার পরে আপনার ডেটা পয়েন্টগুলিতে এমন কিছু পাওয়া উচিত যা ক্লাসিক বিপিএসকে নক্ষত্রমণ্ডলের মতো দেখায়।

গোলমাল বিপিএসকে নক্ষত্রমণ্ডল

আশা করি এটা কাজে লাগবে.


এই দুর্দান্ত পোস্টটি আরও ভাল করে তুলতে, আপনি কি প্রতীক সময়ের আগে ঘড়ির পুনরুদ্ধারের একটি বিভাগ যুক্ত করতে পারেন?
LWZ

আমি মনে করি আপনার মনে কী আছে তা আমি জানি তবে আমি নিশ্চিত নই। বিশেষভাবে আপনার মনে কী ছিল?
জিম ক্লে

অনেক ধন্যবাদ! আমি শূন্য ক্রসিংগুলি সন্ধান করার জন্য, বা এইভাবে এক্স / ওয়াইয়ের আসল / কাল্পনিক প্লট করার কথা ভাবিনি। আমি সবেমাত্র পর্বের গ্রাফগুলি ঘুরে দেখছি এবং ভাবছি কীভাবে সমস্ত কিছুর সমন্বয় করা যায়। আবার ধন্যবাদ!
কিথ

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

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