সাইন ওয়েভের এফএফটি প্রত্যাশিত হিসাবে আসেনি অর্থাৎ একক পয়েন্ট


14

সায়ান প্লটটি 50 হার্জের স্পেকট্রাম এবং ম্যাজেন্টা হ'ল একটি 50.1 হার্জ সাইন ওয়েভ (প্রশস্ততা 0.7 রয়েছে)। উভয়ই 1024 নমুনা / গুলি নমুনাযুক্ত। আমি এই বর্ণালীটি পেতে 1024 পয়েন্টের এফএফটি করেছি performed

কেন কেবল 50Hz বর্ণালী একটি একক মান? 50.1 হার্জ সাইন কেন 50.1 Hz ব্যতীত অন্যান্য ফ্রিকোয়েন্সি নিয়ে গঠিত; এই নতুন ফ্রিকোয়েন্সি কোথা থেকে আসে?

আমি 50.1 Hz সিগন্যালে কোনও অ-রৈখিক প্রসেসিং করিনি! এছাড়াও 50.1 হার্জেডের সর্বোচ্চ সর্বাধিক প্রশস্ততা কম দেখা যায়, যেমন এটি 0.7 নয়, যখন বাস্তবে আমি উত্পন্ন সাইন ওয়েভটি 0.7 এর প্রশস্ততা রাখে।

কেন?

দুটি স্পেকট্রা, যথাক্রমে 50Hz এবং 50.1Hz এর জন্য MATALB কমান্ড fft () দ্বারা প্রাপ্ত;


আপনি এই প্লটটি উত্পাদন করতে যে কোডটি ব্যবহার করেছিলেন তা দয়া করে পোস্ট করতে পারেন? আমার সর্বোত্তম অনুমান, এটি হ'ল কারণ আপনার সংকেতগুলি এত একত্রে খুব কাছাকাছি রয়েছে যে ফিটগুলি সঠিকভাবে সমাধান করতে পারে না। এটি, বা কিছু বর্ণাল গন্ধযুক্ত কারণ নমুনাগুলি ফ্রিকোয়েন্সিগুলির সাথে সামঞ্জস্য করে না।
টম কেলি

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

দয়া করে আমি জানতে পারি যে আপনি 50
মেরু হার্জ চিহ্নটিতে

সমস্যাটি কী এবং কীভাবে এটি ঠিক করা যায় তার বিশদ বিবরণের জন্য এই উত্তরটি দেখুন ।
দিলিপ সরোতে

উত্তর:


14

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

গুলি/এনডিএফটি=1024Hz হয়/1024=1Hz হয়

উপরে বর্ণিত উভয় প্রভাবগুলি আপনি যে বর্ণালী পর্যবেক্ষণ করছেন তাতে অবদান রাখে।


1
এটা বোধগম্য. তবে আপনি বর্ণিত আরও স্পষ্ট বর্ণাল ফুটো হ'ল স্পেকট্রা পর্যবেক্ষণের জন্য টুল (এফএফটি) এর সমস্যা। এটি একটি ত্রুটি সিগন্যাল স্থির নয়। এর অর্থ যদি আমি 50.1 হার্জেডের অডিও সংকেতটি 'শুনি', তবে এটি আমার কানের কাছে একক স্বর হিসাবে উপস্থিত হবে, কোনও ধরণের 'শব্দ' নয়। আমি কি সঠিক?
gpuguy

1
তুমি একেবারেই সঠিক. এটি দেখায় যে এটি সঠিকভাবে ব্যাখ্যা করতে সক্ষম হতে ডিএফটি আসলে কী করছে তা বোঝা কতটা গুরুত্বপূর্ণ। সাইডেনোট হিসাবে: আপনি বাস্তবায়নের ক্ষেত্রে কী "শুনবেন" তা নির্ভর করে আপনি কীভাবে পৃথককে একটি অ্যানালগ সিগন্যালে রূপান্তর করছেন on
Deve

11

এটি সাইন সিগন্যালটি কাটা বা উইন্ডোটিংয়ের প্রভাব। আপনাকে এমনভাবে ছাঁটাই করা দরকার যে আপনি যদি কাটা কাটাতে একটিতে স্থানান্তরিত সংকেতটি যুক্ত করেন তবে এটি এখনও মূল সাইন ওয়েভ হবে।


6

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

50.1 Hz আপনার এফএফটি-র 1 সেকেন্ড উইন্ডোতে ঠিক পর্যায়ক্রমিক নয়।

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

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


5

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

অজগর উদাহরণের জন্য https://gist.github.com/endolith/236567 দেখুন :

# Sampling rate
fs = 128 # Hz

# Time is from 0 to 1 seconds, but leave off the endpoint, so that 1.0 seconds is the first sample of the *next* chunk
length = 1 # second
N = fs * length
t = linspace(0, length, num = N, endpoint = False)

# Generate a sinusoid at frequency f
f = 10 # Hz
a = cos(2 * pi * f * t)

# Use FFT to get the amplitude of the spectrum
ampl = 1/N * abs(fft(a))

অবিচ্ছিন্ন তরঙ্গ তৈরি করতে সিগন্যালের দুটি অনুলিপি কীভাবে শেষ-প্রান্তে একসাথে ফিট হয় তা দেখুন:

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

যখন এটি হয়, এফএফটি শক্তি সম্পূর্ণভাবে একটি একক বিনে অন্তর্ভুক্ত থাকে:

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


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

-1

স্পেকট্রাল ফুটো এবং উইন্ডোয়িংয়ের কারণে এটি ঘটে। আদর্শ প্রতিক্রিয়া অর্থাৎ আবেগ ফাংশন অবিচ্ছিন্ন সময় সাইন ওয়েভের জন্য। আপনি যখন কোনও ডিজিটাল কম্পিউটারে একটি স্বতন্ত্র সাইন ওয়েভের ডিএফটি নেন, আপনি মূলত উইন্ডোড এবং স্যাম্পলড সাইনগুলির ফুরিয়ার ট্রান্সফর্ম গ্রহণ করছেন এবং তারপরে এটি ফ্রিকোয়েন্সি ডোমেনে নমুনা নিচ্ছেন। এর ফলে বর্ণালী ফাঁস হয়। দেখুন: http://w.astro.berkeley.edu/~jrg/ngst/fft/leakage.html

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