🧭 خلاصه (Summary)
Merge CHOP چند ورودی مختلف را میگیرد و همهی کانالهای آنها را در یک خروجی ادغام میکند.
در خروجی، ترتیب کانالها به این صورت است:
ابتدا کانالهای ورودی اول، سپس ورودی دوم، و به همین ترتیب تا آخر.
اگر نام کانالها تکراری باشد، بر اساس گزینهی Duplicate Names رفتار مشخصی دارد.
بهصورت پیشفرض، تاچدیزاینر عددی را به انتهای نام کانال اضافه میکند تا نام جدید یکتا شود.
وقتی گزینهی Time Slice در صفحهی Common فعال باشد،
Merge CHOP فقط بازهی زمانی فعلی (Time Slice) را از هر کانال ترکیب میکند،
نه کل طول دادهها.
⚙️ پارامترها – صفحه Merge (Parameters – Merge Page)
🔹 Align (align)
این گزینه تعیین میکند وقتی ورودیهای مختلف زمان شروع و پایان متفاوتی دارند،
چگونه باید با هم همتراز (Align) شوند:
| گزینه | توضیح |
|---|---|
| Automatic (auto) | اگر Time Slice فعال باشد، فقط همان بازه را تریم میکند؛ در غیر این صورت ورودیها را به طول کل اکستند میکند. |
| Extend to Min/Max (none) | از زودترین شروع و دیرترین پایان همه ورودیها استفاده میکند و دادهها را با Extend Conditions پر میکند. |
| Stretch to Min/Max (stretch) | همه کانالها را کشیده و به بازهی مشترک تنظیم میکند. |
| Shift to Minimum (start) | همهی ورودیها را طوری جابهجا میکند که در زودترین نقطهی شروع همزمان شوند. |
| Shift to Maximum (end) | همهی ورودیها را طوری تنظیم میکند که در دیرترین پایان همزمان تمام شوند. |
| Shift to First Interval (shift1) | همه ورودیها را با بازهی زمانی ورودی اول هماهنگ میکند. |
| Trim to First Interval (trim1) | ورودیها را به بازهی زمانی CHOP اول محدود میکند. |
| Stretch to First Interval (stretch1) | ورودیها را کشیده تا طولشان با CHOP اول برابر شود. |
| Trim to Smallest Interval (trim) | همهی کانالها را به کوتاهترین بازهی زمانی ممکن محدود میکند. |
| Stretch to Smallest Interval (squash) | همهی کانالها را به کوتاهترین بازهی زمانی ممکن میکشد. |
🔹 Duplicate Names (duplicate)
وقتی دو یا چند CHOP کانالهایی با نام یکسان داشته باشند، رفتار این گزینه مشخص میکند کدام نگه داشته شود:
| گزینه | توضیح |
|---|---|
| Make Unique (unique) | همه کانالها را نگه میدارد ولی برای نامهای تکراری عددی اضافه میکند تا یکتا شوند (مثلاً chan1, chan1_1, chan1_2). |
| Keep First (first) | فقط کانال از ورودی اول را نگه میدارد و بقیهی کانالهای همنام حذف میشوند. |
| Keep Last (last) | فقط کانال از آخرین ورودی را نگه میدارد و بقیه حذف میشوند. |
| Replace First with Last (replace) | کانال ورودی آخر جایگزین کانال همنام ورودی اول میشود. |
⚙️ پارامترها – صفحه Common (Parameters – Common Page)
| پارامتر | توضیح |
|---|---|
| Time Slice (timeslice) | فعال کردن آن باعث میشود فقط دادههای مربوط به بازهی زمانی فعلی (بین آخرین cook و cook فعلی) پردازش شود. |
| Scope (scope) | تعیین میکند کدام کانالها در ادغام درگیر باشند (بر اساس الگوهای نام). |
| Sample Rate Match (srselect) | تنظیم نحوهی هماهنگسازی نرخ نمونهبرداری بین ورودیها. |
| Export Method (exportmethod) | تعیین نحوهی ارسال خروجی CHOP به پارامترها یا DATها. |
| Export Root / Export Table | مسیر و جدول دادههای مربوط به عملیات export. |
🔌 ورودیها (Operator Inputs)
| ورودی | توضیح |
|---|---|
| Input 0, 1, 2, … | هر CHOPی که باید در خروجی ادغام شود. |
📊 Info CHOP Channels
اطلاعات اضافی مربوط به Merge CHOP را میتوان از طریق Info CHOP مشاهده کرد.
🔹 Common CHOP Info Channels
| نام | توضیح |
|---|---|
| start | نقطهی شروع بازه در نمونهها. |
| length | تعداد نمونهها در خروجی. |
| sample_rate | نرخ نمونهبرداری (فریم بر ثانیه). |
| num_channels | تعداد کل کانالهای خروجی. |
| time_slice | آیا حالت Time Slice فعال است یا نه (۱ یا ۰). |
| export_sernum | شمار دفعات بهروزرسانی export. |
🔹 Common Operator Info Channels
| نام | توضیح |
|---|---|
| total_cooks | تعداد دفعات cook از آغاز. |
| cook_time | زمان آخرین cook (میلیثانیه). |
| cook_frame | شمارهی فریمی که در آن cook انجام شده (نسبی). |
| cook_abs_frame | شمارهی فریم مطلقی که cook انجام شده. |
| cook_start_time / cook_end_time | زمان شروع و پایان cook در آن فریم. |
| cooked_this_frame | آیا در همین فریم cook انجام شده است یا نه. |
| warnings / errors | تعداد هشدارها یا خطاهای موجود در این نود. |
