بازنمونهبرداریِ کسری را میتوان به سه مرحلهٔ آموزشی شکست: درجِ صفر، فیلترِ FIR و برداشتِ نمونهها با گام و فازِ معلوم. تغییرِ عددِ نرخ در سرآیند، این مراحل را اجرا نمیکند. این تمرین تمامِ آرایههای میانی را با کسر دقیق میسازد و هر خروجی را با فرمولِ مستقلِ اندیس کنترل میکند.
ورودی و فیلترِ اصیل را بنویسیم
ورودیِ عددی x=[۱،۲،۰،−۱]، ضریبِ افزایشP=۲و ضریبِ کاهشQ=۳است. فیلترِ سهضریبی h=[۱/۲،۱،۱/۲]را برای دیدنِ محاسبه انتخاب کردهایم. این آرایه صدای واقعی نیست و سه ضریب، فیلترِ ضدعلیاسِ مناسبِ هر نرخ یا گفتار را تضمین نمیکند.
مرز بیرونِ آرایه صفر است. از تبدیلِ فازِ صفر شروع میکنیم: خروجیهای فیلترشده در اندیسهای۰،۳،۶و ادامهٔ مجاز برداشته میشوند. نسبتP/Qو مبدأِ فاز باید با هم معلوم باشند؛ گفتنِ صرفِ «نرخِ دوسوم» محلِ دقیقِ هر نمونه را تعیین نمیکند.
درجِ صفر را با تکرارِ مقدار عوض نکنیم
بینِ هر دو مقدارِ ورودی یک صفر میگذاریم. طولِ مرحلهٔ نخست (N−۱)P+۱است؛ برای این ورودی۷میشود. آرایهٔ میانی[۱،۰،۲،۰،۰،۰،−۱]است. در انتها صفرِ اضافیِ قراردادنشده اضافه نمیکنیم و همان طول در محاسبهٔ دنبالهٔ فیلتر اثر دارد.
تکرارکردنِ هر مقدار دو بار، نمونهٔ دیگری میسازد. همچنین عددِ صفر در این مرحله یک عملِ ساختاریِ الگوریتم است، نه مشاهدهٔ واقعیِ سکوت. کد بینِ مقدارِ اولیه و نمونهٔ درجشده از نظرِ منشأ تمایزِ توضیحی نگه میدارد.
کانولوشنِ کامل و سپس کاهش
هر مقدارِ آرایهٔ افزوده را در تکتک ضریبهای h ضرب و به خانهٔ جمعِ اندیسها اضافه میکنیم. طولِ کامل۹است؛ دنبالهٔ انتهاییِ فیلتر حذف نمیشود. سپس از اندیسِ فاز با گامِ ۳برداشت میکنیم و خروجی[۱/۲،۲،−۱/۲]به دست میآید.
این خروجی با x و با x[::۳]، یعنی[۱،−۱]، برابر نیست. تفاوت تنها تعدادِ نمونه نیست؛ خودِ فیلتر مقدارها را ترکیب کرده است. همهٔ حاصلهای ضربِ دخیل در هر خروجی در فایلِ نتیجه ثبت میشوند تا مسیر از دادهٔ اصلی قابل دنبالکردن باشد.
فرمولِ مستقیم، oracleِ جداست
برای خروجیِ شماره m با فازِ phi، اندیسِ نرخِ بالا t=phi+mQاست. مرجعِ مستقل جمعِ x[k]×h[t−kP]را میگیرد و ضریبِ خارج از دامنه را صفر میگذارد. این مسیر آرایهٔ درجِ صفر یا کانولوشنِ میانی را نمیخواند.
هر خروجیِ مرحلهای با همین جمع برابر است. تعدادِ خروجیها نیز از بیشترین اندیسِ کانولوشن و فاز مستقل حساب میشود. برای فازِ صفر، طول برابر floor(((N−۱)P+Lh−۱)/Q)+۱است؛ قراردادِ tail را در فرمول پنهان نکردهایم.
فاز و طولهای مختلف را امتحان کنیم
تمام ترکیبهای طولِ ورودی و فیلترِ ۱تا۴، PوQاز۱تا۴و تمام فازهای مجاز،۶۴۰کنترلِ واقعیِ مرحلهای در برابر فرمولِ مستقیم میسازند. نمونهٔ تکضربه با P=Q=۱نیز خودِ ضرایبِ فیلتر را بازمیگرداند؛ این شاهدِ مستقلِ جایگاهِ اندیسهاست.
هفت ورودیِ نامعتبر، از نسبتِ صفر،منفی یا بولین تا فیلترِ خالی،NaN،فازِ خارج از دامنه و طولِ بیش از۸، رد میشوند. مقدارِ صحیح یا کسریِ دقیق با قدرمطلقِ حداکثر۱۰پذیرفته میشود. عددِ Q سقفِ خودِ فاز را تعیین میکند.
نرخِ نمونهبرداری مفهومِ نرخ را میگوید و علیاسینگ ابهامِ نمونهها را نشان میدهد؛ اینجا خودِ زنجیرهٔ اندیس اجرا میشود. SciPy،polyphase بهینه،جبرانِ تأخیر یا سنجشِ کیفیتِ صوت اجرا نشدهاند. ادامه در مبانی هوش مصنوعی؛ تعرفه یا کیفیتِ اپرانگار و اپراگو از این آرایهها نتیجه نمیشود.
فایل تمرین و منبع
کد کاملِ تمرینِ مستقل و کنترلها؛ Python · ورودی و تمامِ خروجیِ اجرای واقعی؛ JSON
منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.