طرح گرافیکی اورسمپلینگ

اورسمپلینگ چیست و چه کاری انجام می‌دهد؟

احتمالا در بعضی پلاگین‌ها گزینه‌هایی مثل x2،x4،x8 و Oversampling را دیده‌اید. اما اورسمپلینگ دقیقا چه کاری انجام می‌دهد و چرا در بعضی پردازش‌های صوتی اهمیت زیادی دارد؟ به زبان ساده، اورسمپلینگ یعنی یک پلاگین، پردازش داخلی خود را با Sample Rate بالاتری نسبت به سمپل ریت پروژه انجام دهد. این تکنیک به‌خصوص در پردازش‌های Nonlinear (غیرخطی) مثل سچوریشن، دیستورشن و کلیپینگ اهمیت دارد و می‌تواند به کاهش Aliasing کمک کند.


نظریه Nyquist-Shannon چیست؟

طبق تئوری نایکوئیست–شانون، برای اینکه یک سیگنالِ Band-Limited ( سیگنالی که محتوای فرکانسی آن تا یک محدوده‌ مشخص محدود شده باشد) بتواند بدون از دست رفتن اطلاعات از سمپل های دیجیتال بازسازی شود، سمپل ریت باید حداقل دو برابر بالاترین فرکانس موجود در سیگنال باشد.

سمپل ریت > 2 ضربدر بالاترین فرکانس
فرکانس نایکوئیست = سمپل ریت تقسیم بر 2

البته این قضیه به Band-Limited بودن سیگنال وابسته است و در سیستم‌های واقعی برای جلوگیری از ورود مؤلفه‌های بالاتر از محدوده‌ی قابل‌نمونه‌برداری، از فیلتر ضد الیسینگ (Anti-Aliasing) استفاده می‌شود.

به زبان ساده

هر سیستم دیجیتال برای نمونه‌برداری از یک فرکانس مشخص، به سمپل ریت کافی نیاز دارد. فرکانس نایکوئیست برابر با نصف سمپل ریت است.
برای مثال، اگر پروژه با سمپل ریت 48 کیلوهرتز کار کند، فرکانس نایکوئیست برابر با 24 کیلوهرتز خواهد بود.
بنابراین اگر در اثر پردازش، مؤلفه‌هایی بالاتر از این محدوده ایجاد شوند، سیستم دیجیتال نمی‌تواند آن‌ها را به شکل صحیح نمایش دهد و ممکن است دچار Aliasing شوند.

طرح گرافیکی تئوری نایکوئیست شانون


اِلیِسینگ چگونه ایجاد می‌شود؟

پردازش‌های خطی (Linear) مثل تغییر ساده‌ در Level، معمولا هارمونیک جدیدی به سیگنال اضافه نمی‌کنند.
اما پردازش‌های غیرخطی (Nonlinear) مثل سچوریشن، دیستورشن و کلیپینگ می‌توانند هارمونیک‌های جدیدی تولید کنند. اگر یکی از این هارمونیک‌ها از فرکانس نایکوئیست بالاتر برود، نمی‌تواند به‌درستی در سیستم دیجیتال نمایش داده شود و در نتیجه به‌صورت یک مؤلفه‌ی فرکانسی با فرکانس پایین‌تر ظاهر می‌شود.(به اصطلاح Fold شود) این پدیده را Aliasing می‌نامیم.
مشکل اینجاست که این مؤلفه‌ی جدید بخشی از صدای اصلی نیست و می‌تواند به‌صورت یک Artifact (در اینجا به معنی یک پدیده ناخواسته) شنیده شود.

طرح گرافیکی Aliasing


اورسمپلینگ چگونه الیسینگ را کاهش می‌دهد؟

فرض کنید سمپل ریت پروژه 48 کیلوهرتز باشد.
با x4 اورسمپلینگ، پلاگین می‌تواند پردازش داخلی را در سمپل ریت برابر با 192 کیلوهرتز انجام دهد. در نتیجه، فرکانس نایکوئیست داخلی از 24 کیلوهرتز به 96 کیلوهرتز افزایش پیدا می‌کند.
این افزایش فرکانس نایکوئیست داخلی باعث می‌شود بخش بیشتری از هارمونیک‌های تولیدشده در پردازش غیرخطی، زیر نایکوئیست داخلی باقی بمانند و پیش از Downsampling امکان فیلتر شدن داشته باشند.
سپس هنگام بازگشت به سمپل ریت اصلی، مؤلفه‌های خارج از محدوده‌ی موردنظر توسط فیلترهای مناسب کنترل می‌شوند تا از ایجاد الیسینگ در مرحله‌ی Downsampling جلوگیری شود؛ بنابراین هدف اورسمپلینگ، تولید فرکانس‌های بالاتر برای شنیدن نیست؛ بلکه ایجاد شرایط مناسب‌تر برای پردازش داخلی و کاهش آرتیفکت‌های ناشی از پردازش غیرخطی است.


اورسمپلینگ چگونه انجام می‌شود؟

به‌صورت مفهومی مسیر کار به این شکل است:

Upsampling ➡️ Processing ➡️ Downsampling

ابتدا سیگنال به سمپل ریت بالاتری منتقل می‌شود، سپس پردازش اصلی انجام می‌شود و در نهایت سیگنال دوباره به سمپل ریت پروژه برمی‌گردد. کیفیت فیلترهای مورد استفاده در این مراحل نیز اهمیت زیادی دارد؛ بنابراین کیفیت اورسمپلینگ در پلاگین‌های مختلف می‌تواند متفاوت باشد.
اورسمپلینگ بالاتر لزوما به معنی نتیجه‌ی بهتر نیست. افزایش ضریب اورسمپلینگ معمولا CPU بیشتری مصرف می‌کند و میزان بهبود نیز به طراحی پلاگین، نوع پردازش و کیفیت فیلترها بستگی دارد.

طرح گرافیکی ضرایب اورسمپلینگ در پلاگین


کدام پلاگین‌ها بیشتر به اورسمپلینگ نیاز دارند؟

اورسمپلینگ بیشتر در پلاگین‌هایی اهمیت دارد که رفتار غیرخطی دارند، از جمله:

– پلاگین های دیستورشن،سچوریترها،کلیپرها
– بعضی از بریکوال لییمترها و مکسیمایزرها
– بسیاری از پلاگین های آنالوگ مادلینگ
– بعضی از داینامیک پراسسورها با رفتار غیرخطی


و در آخر دو نکته‌ی مهم

نکته اول اینکه در بسیاری از پردازش‌های کاملا خطی، اورسمپلینگ مزیت خاصی به حساب نمی‌آید. و نکته دوم، اورسمپلینگ، Aliasing را به‌طور کامل حذف نمی‌کند؛ بلکه با افزایش فرکانس نایکوئیست داخلی و استفاده از فیلترهای مناسب، می‌تواند الیسینگ ناشی از پردازش غیرخطی را به میزان قابل‌توجهی کاهش دهد.
به همین دلیل، کیفیت پیاده‌سازی اورسمپلینگ در خود پلاگین اهمیت زیادی دارد و درواقع نمی‌توانیم با قطعیت بگوییم که هر پلاگینی که دارای اورسمپلینگ است حتما آن را به درستی نیز انجام می‌دهد.

دیدگاه‌ خود را بنویسید

سبد خرید