خلاصه (Summary)
Envelope CHOP بیشترین دامنه (amplitude) را در نزدیکی هر نمونه (sample) از ورودی خروجی می‌دهد.
این عمل با گرفتن مقدار مطلق ورودی آغاز می‌شود، سپس با استفاده از یک پنجره لغزان (sliding window) از تعدادی نمونه، بیشترین دامنه را در اطراف هر نمونه پیدا می‌کند.

💡 نکته:
سطوح بلندی صدا در یک ترک صوتی می‌تواند تقریباً ثابت نگه داشته شود، با این روش که ابتدا با استفاده از یک پنجره عریض، envelope صدا را محاسبه کنیم، سپس صدای اصلی و envelope را به یک Math CHOP بدهیم و گزینه Combine CHOPs – Divide را انتخاب کنیم. این کار باعث می‌شود دامنه تقریباً برابر با ۱ شود.


پارامترها – صفحه Envelope

Type method – ⊞

دو روش برای محاسبه envelope وجود دارد:

  1. Exponential Decay (exp)
    در این روش، برای هر نمونه، مقدار با نمونه قبلی مقایسه می‌شود:

    • اگر مقدار فعلی بزرگ‌تر از مقدار قبلی باشد، مقدار envelope برابر با مقدار همان نمونه می‌شود و آن نمونه به عنوان قله (peak) فعلی ذخیره می‌شود.

    • اگر کمتر باشد، مقدار envelope به‌صورت نمایی از آخرین قله تا مقدار فعلی کاهش می‌یابد (هرچه نمونه‌های بعدی کوچکتر از قله باشند، envelope به سمت موج اصلی کاهش می‌یابد).
      ✅ مزایا: همیشه داده را دربر می‌گیرد.
      ⚠️ معایب: شیب ممکن است ناپیوسته شود، خروجی حالت “برجسته” یا “نایکنواخت” پیدا می‌کند.

  2. Local Maximum Window (window)
    در این روش، کانال به پنجره‌هایی از N نمونه (بر اساس پارامتر Envelope Width) تقسیم می‌شود.
    در هر پنجره، بیشترین دامنه یا توان پیدا می‌شود. مقدار ماکسیمم در مرکز پنجره قرار داده شده و این نقاط با درونیابی مکعبی (Cubic Interpolation) به هم وصل می‌شوند تا envelope خروجی شکل بگیرد.
    ✅ مزایا: شکل‌های خوبی تولید می‌کند.
    ⚠️ معایب: گاهی سیگنال از envelope بیرون می‌زند. سیگنال به صورت کوانتیده است، بنابراین پالس‌ها ممکن است تا N/2 جابجا شوند.


Envelope Bounds (bounds – ⊞)

نوع محدوده‌ای که برای envelope استفاده می‌شود. گزینه‌ها:

  • Magnitude (mag) – بر اساس دامنه.

  • Signal Power (power) – بر اساس توان سیگنال.

  • Maximum Values (min) – حداقل مقدارها.

  • Minimum Values (max) – حداکثر مقدارها.


Envelope Width (width)

عرض پنجره مورد استفاده در محاسبه envelope.
با تنظیم این عرض می‌توان جزئیات بیشتری از ورودی را دریافت کرد. مقدار آن بر اساس واحدها (Units) بیان می‌شود.

Envelope Width Unit (widthunit)

واحد مورد استفاده برای عرض پنجره را تعیین می‌کند:

  • Samples (نمونه‌ها)

  • Frames (فریم‌ها)

  • Seconds (ثانیه‌ها)


Interpolate (interp – ⊞)

روش درونیابی برای اتصال نقاط envelope:

  • None (بدون درونیابی)

  • Linear (خطی)

  • Cubic (مکعبی)


Normalize Power Envelope (norm)

هنگامی که عرض envelope تغییر می‌کند، توان کل سیگنال را ثابت نگه می‌دارد.

Resample Envelope (resample)

اگر روشن باشد (On)، envelope بر اساس نرخ نمونه‌برداری تعیین‌شده در پارامتر بعدی دوباره نمونه‌برداری می‌شود.

Sample Rate (samplerate)

نرخ نمونه‌برداری جدید که envelope به آن تبدیل می‌شود، در صورتی که گزینه Resample Envelope فعال باشد.


پارامترها – صفحه Common

Time Slice (timeslice)

روشن کردن این گزینه باعث می‌شود کانال‌ها به‌صورت Time Slice پردازش شوند.
Time Slice فاصله زمانی بین آخرین فریم پردازش‌شده و فریم فعلی است.

Scope (scope)

برای تعیین اینکه کدام کانال‌ها تحت تأثیر قرار گیرند، برخی CHOPها از رشته Scope استفاده می‌کنند.
(برای جزئیات، بخش Pattern Matching را ببینید.)

Sample Rate Match (srselect – ⊞)

نحوه برخورد با ورودی‌هایی که نرخ نمونه‌برداری متفاوت دارند:

  • Resample At First Input’s Rate (first) – از نرخ نمونه‌برداری ورودی اول استفاده می‌کند.

  • Resample At Maximum Rate (max) – به بالاترین نرخ نمونه‌برداری تبدیل می‌کند.

  • Resample At Minimum Rate (min) – به کمترین نرخ نمونه‌برداری تبدیل می‌کند.

  • Error If Rates Differ (err) – در صورت اختلاف نرخ‌ها، خطا می‌دهد.


Export Method (exportmethod – ⊞)

نحوه اتصال کانال CHOP به پارامتر:

  • DAT Table by Index (datindex) – با استفاده از جدول DAT متصل‌شده و اندیس کانال.

  • DAT Table by Name (datname) – با استفاده از جدول DAT متصل‌شده و نام کانال.

  • Channel Name is Path:Parameter (autoname) – نام کانال به‌عنوان مسیر کامل مقصد برای اکسپورت استفاده می‌شود، مانند geo1/transform1:tx.

Export Root (autoexportroot)

مسیر ریشه‌ای که تمام مسیرهای صادراتی (در حالت autoname) نسبت به آن تنظیم می‌شوند.

Export Table (exporttable)

جدول DAT که اطلاعات صادرات را نگه می‌دارد (وقتی از روش DAT Table Export استفاده می‌شود).


ورودی‌های عملگر (Operator Inputs)

  • Input 0: سیگنال ورودی اصلی برای محاسبه envelope.


کانال‌های Info CHOP

اطلاعات اضافی مربوط به Envelope CHOP را می‌توان از طریق یک Info CHOP به‌دست آورد.

Common CHOP Info Channels

  • start – شروع بازه CHOP بر حسب نمونه.

  • length – تعداد نمونه‌ها در CHOP.

  • sample_rate – نرخ نمونه‌برداری کانال‌ها بر حسب فریم بر ثانیه.

  • num_channels – تعداد کانال‌ها در CHOP.

  • time_slice – اگر CHOP در حالت Time Slice باشد مقدار 1، در غیر این صورت 0.

  • export_sernum – تعداد دفعاتی که ارتباط‌های صادراتی به‌روزرسانی شده‌اند.

Common Operator Info Channels

  • total_cooks – تعداد دفعاتی که عملگر از زمان شروع پردازش اجرا شده است.

  • cook_time – مدت زمان آخرین پردازش (میلی‌ثانیه).

  • cook_frame – شماره فریم آخرین پردازش نسبت به تایم‌لاین کامپوننت.

  • cook_abs_frame – شماره فریم آخرین پردازش نسبت به زمان مطلق.

  • cook_start_time – زمان شروع پردازش در فریم جاری (میلی‌ثانیه).

  • cook_end_time – زمان پایان پردازش در فریم جاری (میلی‌ثانیه).

  • cooked_this_frame – اگر در این فریم پردازش شده باشد مقدار 1 دارد.

  • warnings – تعداد هشدارهای این عملگر.

  • errors – تعداد خطاهای این عملگر.