در چرخه پیشنهادی «مدل‌سازی DSP پردازش سیگنال دیجیتال در متلب»، مقالات قبلی به مدل‌سازی فیلترهای دیجیتال (DF)، FIR و IIR، از جمله نقطه ثابت (FT) اختصاص داشت. ابزارهای نرم افزاریمتلب.

ادبیات

  1. Ingle V., Proakis J. پردازش سیگنال دیجیتال با استفاده از MATLAB. چاپ دوم تامسون، 2006.
  2. Oppenheim A., Shafer R. پردازش سیگنال دیجیتال. M.: Technosfera، 2006.
  3. پردازش سیگنال دیجیتال Sergienko AB. ویرایش دوم سن پترزبورگ: پیتر، 2006.
  4. Solonina AI، Ulakhovich D. A.، Arbuzov S. M.، Solovieva E. B. مبانی پردازش سیگنال دیجیتال. ویرایش دوم سن پترزبورگ: BHV-Petersburg، 2005.
  5. Solonina A. I.، Arbuzov S. M. پردازش سیگنال دیجیتال. مدلسازی در متلب سن پترزبورگ: BHV-Petersburg، 2008.
  6. Solonina A. مدلسازی پردازش سیگنال دیجیتال در MATLAB. بخش 1. سنتز فیلترهای FIR بهینه (طبق گفته Chebyshev) با استفاده از نرم افزار MATLAB // اجزا و فناوری ها. 2008. شماره 11.
  7. Solonina A. مدلسازی پردازش سیگنال دیجیتال در MATLAB. بخش 2. سنتز فیلترهای IIR بهینه با استفاده از نرم افزار MATLAB // اجزا و فناوری ها. 2008. شماره 12.
  8. Solonina A. مدلسازی پردازش سیگنال دیجیتال در MATLAB. قسمت 3. شرح ساختار فیلترهای FIR و IIR در MATLAB // اجزاء و فناوری ها. 2009. شماره 1.
  9. Solonina A. مدلسازی پردازش سیگنال دیجیتال در MATLAB. بخش 4. مدل سازی ساختار فیلترهای نقطه ثابت دیجیتال با استفاده از نرم افزار MATLAB: تجزیه و تحلیل ویژگی های فیلترهای FIR // اجزا و فناوری ها. 2009. شماره 2.
  10. Solonina A. مدلسازی پردازش سیگنال دیجیتال در MATLAB. بخش 5. مدل سازی ساختار فیلترهای نقطه ثابت دیجیتال با استفاده از نرم افزار MATLAB: تجزیه و تحلیل ویژگی های فیلترهای IIR // اجزا و فناوری ها. 2009. شماره 3.
  11. Solonina A. مدلسازی پردازش سیگنال دیجیتال در MATLAB. بخش 6. مدل سازی ساختارهای فیلتر دیجیتال نقطه ثابت با استفاده از نرم افزار MATLAB: کمی سازی تاثیر و محاسبه پاسخ // اجزا و فناوری ها. 2009. شماره 4.
1 در گروه Current Filter Information، این مربوط به پیام است: Source-Designed.
2 در گروه Current Filter Information، این مربوط به پیام است: Source-Imported.

A.B. Sergienko. بررسی اجمالی جعبه ابزار پردازش سیگنال

پردازش سیگنال همواره یکی از مهمترین حوزه های کاربردی سیستم متلب بوده است. این در درجه اول با این واقعیت اثبات می شود که جعبه ابزار پردازش سیگنال یکی از اولین بسته های تخصصی بود - در سال 1988 ظاهر شد، تنها چهار سال پس از ایجاد خود سیستم MATLAB.

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

نسخه توزیع شده فعلی متلب 6.1 (نسخه 12.1) حاوی بسته پردازش سیگنال نسخه 5.1 است. نسخه آتی MATLAB 6.5 (نسخه 13) شامل بسته پردازش سیگنال نسخه 6.0 خواهد بود.

مطابق با اسناد رسمیمجموعه ای از توابع آن به بیست دسته تقسیم می شود. در لیست زیر، این دسته بندی ها در گروه های بزرگتر دسته بندی شده اند. بنابراین، با توجه به هدف آنها، عملکردهای بسته پردازش سیگنال را می توان به شرح زیر تقسیم کرد:

علاوه بر این، بسته شامل سه محیط گرافیکی است:

متلب و بسته های الحاقی آن در درجه اول بر روی دیجیتال متمرکز هستند پردازش سیگنالبنابراین، توابع مربوط به محاسبه مدارهای آنالوگ به عنوان کمکی در نظر گرفته می شوند. آنها عمدتاً برای فراخوانی از سایر توابع در نظر گرفته شده اند که از نمونه های اولیه آنالوگ هنگام سنتز فیلترهای دیجیتال استفاده می کنند. با این حال، این ویژگی ها به تنهایی می توانند بسیار مفید باشند. به نوبه خود می توان آنها را به چند گروه تقسیم کرد.

گروه اول توابع محاسبه فیلترهای نمونه اولیه آنالوگ است، یعنی فیلترهای پایین گذر با فرکانس قطع برابر با 1 راد بر ثانیه. توابع صفرها، قطب ها و سودهای فیلتر را برمی گرداند و امکان محاسبه نمونه اولیه فیلترهای Butterworth را فراهم می کند. ضربه زدنچبیشف از نوع اول ( cheb1apچبیشف از نوع دوم ( cheb2ap)، بیضوی (Cauer) ( elipap) و بسل ( بیسلاپ).

گروه دوم توابع تبدیل فیلتر آنالوگ است که به شما امکان می دهد یک نمونه اولیه LPF را به یک LPF با فرکانس قطع متفاوت تبدیل کنید. lp2lp، به یک فیلتر بالا گذر (HPF) با فرکانس قطع معین ( lp2hp، به یک فیلتر باند با یک فرکانس و پهنای باند متوسط ​​معین ( lp2bp( lp2bs). توابع می توانند توضیحات فیلتر را به عنوان بردارهای ضرایب چند جمله ای های صورت و مخرج تابع انتقال یا به عنوان پارامترهای فضای حالت بپذیرند و برگردانند.

گروه سوم - توابع برای محاسبه فیلترهای آنالوگ با پارامترهای مشخص شده. در فرآیند محاسبه، توابع دو گروه اول را فراخوانی می کنند. مجموعه داده های اولیه مورد نیاز برای محاسبه شامل ترتیب فیلتر، نوع آن (LPF، HPF، باند گذر یا بریدگی)، فرکانس یا چند فرکانس قطع، و همچنین (بسته به نمونه اولیه) پارامترهای ریپل پاسخ فرکانسی (AFC) است. . توابعی برای محاسبه فیلترهای Butterworth وجود دارد ( کرهچبیشف از نوع اول ( cheby1چبیشف از نوع دوم ( cheby2)، بیضوی (Cauer) ( بیضوی) و بسل ( خود). همه این توابع، به جز تابع خود، همچنین می تواند برای محاسبه فیلترهای گسسته استفاده شود (به زیر مراجعه کنید). نشانه ای از گزینه محاسبه آنالوگ، نشان دادن رشته "s" به عنوان آخرین پارامتر ورودی است.

گروه چهارم - عملکردهایی برای تعیین ترتیب فیلتر مورد نیاز با توجه به پارامترهای پاسخ فرکانسی مشخص شده (فرکانس های قطع باندهای عبور و توقف و همچنین موج های مجاز در باندهای عبور و توقف). هر نوع فیلتر عملکرد خاص خود را برای تعیین ترتیب مورد نیاز دارد: برای فیلتر Butterworth - قصاصبرای فیلتر چبیشف از نوع اول - cheb1ord، برای فیلتر چبیشف از نوع دوم - cheb2ord، برای یک فیلتر بیضوی - بیضوی. درست مانند توابع گروه قبلی، این توابع به شما امکان می دهند ترتیب مورد نیاز فیلترهای گسسته را نیز تعیین کنید (به زیر مراجعه کنید). نشانه ای از گزینه محاسبه آنالوگ، نشان دادن رشته "s" به عنوان آخرین پارامتر ورودی است.

گروه پنجم - توابع تبدیل اشکال توصیف سیستم های خطی آنالوگ. برای سیستم های آنالوگ، چهار روش توصیفی از این قبیل پشتیبانی می شود:

بسته پردازش سیگنال دارای توابعی است که تبدیل های متقابل این چهار شکل از نمایش سیستم های آنالوگ (فقط تابع باقی مانده، که با قطب ها و پسماندها کار می کند، به بسته پردازش سیگنال تعلق ندارد، بلکه به کتابخانه اصلی MATLAB تعلق دارد. این توابع در جدول زیر آمده است.

فرم نهایی ضرایب چند جمله ای تابع انتقال صفر و قطب قطب ها و کسورات فضای حالت
فرم اصلی
tf2zp باقی مانده tf2ss
صفر و قطب zp2tf zp2ss
قطب ها و کسورات باقی مانده
فضای حالت ss2tf ss2zp

باقی ماندهمی تواند در هر دو جهت تبدیل کند. جهت تبدیل با تعداد پارامترهای ورودی و خروجی تعیین می شود.

توابع ذکر شده در جدول، به جز تابع باقی مانده، همچنین می تواند تبدیل سیستم های گسسته را انجام دهد، زیرا فرمول های تبدیل برای سیستم های آنالوگ و گسسته یکسان است.

در نهایت، گروه ششم باید شامل تنها تابع باشد فرکانس ها، که به شما امکان می دهد دامنه و ویژگی های فرکانس فاز (AFC و PFC) یک سیستم خطی آنالوگ را به صورت گرافیکی محاسبه یا نمایش دهید. داده های اولیه ضرایب چند جمله ای صورتگر و مخرج تابع انتقال سیستم هستند.

به عنوان مثالی از نحوه اعمال توابع آنالوگ، اجازه دهید یک فیلتر پایین گذر بیضوی مرتبه 4 با فرکانس قطع 3 کیلوهرتز، ریپل در باند عبور 1 دسی بل و رد باند توقف 20 دسی بل محاسبه کنیم و سپس آن را رسم کنیم. پاسخ فرکانسی و پاسخ فاز. .

Ellip(4, 1, 20, 2*pi*3000, "s"); ٪ محاسبه فیلتر
f = 0:10:10000; درصد بردار فرکانس برای محاسبه پاسخ فرکانسی و پاسخ فاز
h = فرکانس (b، a، 2*pi*f)؛ % سود پیچیده
طرح فرعی (2، 1، 1)

توری
طرح فرعی (2، 1، 2)
نمودار (f، باز کردن (زاویه (h))*180/pi) % نمودار PFC (بر حسب درجه)
توری

تابع مورد استفاده در کد مثال باز کردنجهش های ناچیز در PFC را تا 360 درجه حذف می کند.

این دسته از توابع بسیار متعدد است و ابزارهای مختلفی را برای تجزیه و تحلیل سیستم های خطی گسسته ترکیب می کند - به عنوان یک قاعده، به عنوان بردار ضرایب چند جمله ای از صورت و مخرج تابع انتقال (در z- مناطق).

عملکرد فرکزیک آنالوگ گسسته از تابع است فرکانس ها، به شما امکان می دهد ضریب انتقال پیچیده را محاسبه کنید یا پاسخ فرکانسی و پاسخ فاز یک سیستم گسسته را رسم کنید. داده های اولیه ضرایب چند جمله ای صورتگر و مخرج تابع انتقال سیستم هستند.

مشابه تابع فرکزعملکرد در حال اجرا grpdelay، که به شما امکان می دهد وابستگی فرکانس تاخیر گروهی را که توسط یک فیلتر گسسته معرفی شده است محاسبه یا به صورت گرافیکی نمایش دهید.

عملکرد impzطراحی شده برای محاسبه یا نمایش گرافیکی پاسخ ضربه یک سیستم گسسته. داده های اولیه، مانند توابع قبلی، ضرایب چندجمله ای های صورت و مخرج تابع انتقال سیستم هستند.

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

عملکرد هنجار فیلتربه شما امکان محاسبه را می دهد هنجارفیلتر گسسته این پارامتر، به عنوان مثال، هنگام انتخاب فاکتورهای مقیاس بندی برای بخش های جداگانه یک فیلتر که به صورت متوالی (آبشاری) اجرا می شود به منظور کاهش خطاهای گرد کردن استفاده می شود. دو گزینه پشتیبانی می شود: 2-norm و -norm. 2-هنجار است rmsمقدار پاسخ فرکانسی فیلتر (یا همان چیزی است که ریشه مجموع مجذورهای نمونه های پاسخ ضربه ای فیلتر) و هنجار برابر است. بیشترینمقدار پاسخ فرکانسی

عملکرد fvtoolاساسا یک محیط گرافیکی طراحی شده برای تجزیه و تحلیل و تجسم ویژگی های سیستم های گسسته (Filter Visualization Tool). با این حال، بر خلاف سایر محیط های گرافیکی موجود در بسته، fvtoolواقعا هست عملکرد، از آنجایی که هنگام فراخوانی، به وجود پارامترهای ورودی نیاز دارد - ضرایب چند جمله ای شمارنده و مخرج تابع انتقال فیلتر تجزیه و تحلیل شده. مزیت اساسی این تابع، امکان مشاهده همزمان ویژگی ها است چندینفیلترها رابط کاربری گرافیکیارائه شده توسط این تابع عملاً مانند محیط تجزیه و تحلیل و سنتز فیلتر FDATool است. در زیر نمونه ای از فراخوانی تابع آورده شده است fvtoolو پنجره گرافیکی ایجاد شده توسط آن در حالت نمایش وابستگی فرکانس تاخیر گروهی معرفی شده توسط فیلتر.

b = ;
a = ;
fvtool(b,a)

یک گروه بزرگ از توابع برای تبدیل اشکال توصیف سیستم های گسسته تشکیل شده است. اشکال بیشتری از نمایش برای سیستم های گسسته نسبت به آنالوگ پشتیبانی می شود:

  • ضرایب چند جمله ای صورت و مخرج تابع انتقال سیستم.
  • صفرها، قطب ها و بهره سیستم (فاکتورسازی تابع انتقال).
  • قطب ها و باقیمانده ها (نمایش تابع انتقال سیستم به صورت مجموع کسرهای ساده).
  • پارامترهای فضایی را بیان کنید.
  • نمایش به عنوان مجموعه ای از بخش های مرتبه دوم متوالی (آبشاری).
  • نمایش در قالب یک ساختار مشبک یا شبکه نردبانی.

توابعی که تبدیل بین اشکال مختلف نمایش را انجام می دهند در جدول زیر فهرست شده اند.

فرم نهایی ضرایب چند جمله ای تابع انتقال صفر و قطب قطب ها و کسورات فضای حالت بخش های مرتبه دوم ساختار شبکه ای
فرم اصلی
ضرایب چند جمله ای تابع انتقال tf2zp باقی مانده tf2ss tf2sos tf2latc
صفر و قطب zp2tf zp2ss zp2sos
قطب ها و کسورات باقی مانده
فضای حالت ss2tf ss2zp ss2sos
بخش های مرتبه دوم sos2tf sos2zp sos2ss
ساختار شبکه ای latc2tf

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

دو تابع دیگر با تغییر موقعیت ریشه های چند جمله ای در صفحه مختلط، بردارهای ضریب چند جمله ای را دستکاری می کنند. عملکرد چند مقیاسیتمام ریشه های چند جمله ای پردازش شده را در ضریب داده شده و تابع ضرب می کند پلی استابباعث می شود تمام ریشه های چند جمله ای در داخل دایره واحد قرار بگیرند - برای این کار، ریشه هایی که در مقدار مطلق از وحدت فراتر می روند معکوس می شوند، یعنی ماژول های آنها با متقابل جایگزین می شوند و علامت فازهای آنها معکوس می شود.

توابع باقی مانده در این دسته کمکی هستند. عملکرد فضای فرکانسیبردار مقادیر فرکانس با فاصله یکنواخت، تابع را محاسبه می کند freqzplotبرای رسم نمودارهای پاسخ فرکانسی و تابع در نظر گرفته شده است باز کردنبه شما امکان می دهد جهش های ناچیز در ویژگی های فرکانس فاز را با 2p حذف کنید، به دنبال این جهش ها بین عناصر بردار باشید و قطعات ضروری بردار را 2p جابجا کنید. n.

عملکرد فیلتر گسسته خطی به طور کلی به شرح زیر است:

اینجا x(k)- نمونه هایی از سیگنال ورودی y(k)- قرائت سیگنال خروجی، یک منو bj- ضرایب ثابت حداکثر اعداد مترو nترتیب فیلتر نامیده می شود.

نمونه‌های خروجی قبلی ممکن است در محاسبات استفاده نشوند، سپس همه i = 0و فیلتر نامیده می شود غیر بازگشتییا عرضی. اگر از نمونه های خروجی قبلی استفاده شود، فیلتر بازگشتی است.

فیلتر گسسته خطی به فناوری های پردازش داده دلخواه اشاره دارد، بنابراین تابع مربوطه است فیلتر- به بسته پردازش سیگنال تعلق ندارد، بلکه در هسته MATLAB تعبیه شده است. عملکرد فیلتر 2، همچنین متعلق به کتابخانه اصلی MATLAB است که فیلتر گسسته دو بعدی را پیاده سازی می کند.

از آنجایی که یک فیلتر ضریب ثابت یک سیستم گسسته ثابت خطی است، پاسخ آن به یک سیگنال ورودی دلخواه می تواند به صورت نمایش داده شود. پیچیدگی گسستهسیگنال ورودی با پاسخ ضربه ای فیلتر:

اینجا h(k)- قرائت پاسخ ضربه ای فیلتر. پاسخ ضربه ای پاسخ فیلتر به یک نمونه واحد از مقدار واحد اعمال شده به ورودی است.

البته، محاسبات با استفاده از فرمول کانولوشن را می توان در عمل فقط برای یک طول محدود از پاسخ ضربه فیلتر اجرا کرد. این عملیات توسط تابع انجام می شود تبدیل; و همچنین اجرای الگوریتم فیلتر گسسته، به بسته پردازش سیگنال تعلق ندارد، بلکه به کتابخانه اصلی MATLAB تعلق دارد. در واقع اجرای تابع conv به فراخوانی تابع خلاصه می شود فیلتربا مربوطه پارامترهای ورودی. عملکرد conv2یک پیچیدگی گسسته دو بعدی را پیاده سازی می کند. یکی دیگر از عملکردهای کتابخانه هسته متلب این است deconv- وارونگی کانولوشن را اجرا می کند و به نتیجه کانولوشن و یکی از بردارهای ورودی اجازه می دهد تا بردار ورودی دوم را تعیین کنند.

در بالا ذکر شد توابع اساسیفیلتر گسسته، همانطور که قبلا ذکر شد، متعلق به کتابخانه اصلی MATLAB است. در واقع، بسته پردازش سیگنال شامل توابعی است که وظایف فیلترینگ خاص تری را حل می کند.

اول از همه، باید توجه داشت که تابع فیلتردسترسی به حالت های داخلی اولیه و نهایی فیلتر را امکان پذیر می کند، بنابراین امکان سازماندهی پردازش سیگنال بلوک را فراهم می کند. گاهی اوقات با دانستن تعداد معینی از نمونه های ورودی و خروجی قبلی نیاز به تشکیل بردار حالت داخلی فیلتر می شود. این محاسبه با استفاده از تابع انجام می شود فیلتیک.

عملکرد fftfiltفیلتر گسسته را با استفاده از تبدیل فوریه سریع (FFT) در ترکیب با مسدود کردن سیگنال پیاده سازی می کند. فقط فیلترهای غیر بازگشتی را می توان به این روش پیاده سازی کرد. نتیجه عملکرد تابع (تا خطاهای محاسباتی) با نتایج فیلتر معمولی اجرا شده با استفاده از تابع مطابقت دارد. فیلتر. با این حال، سرعت محاسباتی فیلتر FFT می تواند به طور قابل توجهی سریعتر باشد، به خصوص اگر طول سیگنال ورودی چندین برابر طول پاسخ ضربه ای فیلتر باشد (یا برعکس).

عملکرد فیلتر فیلتربه شما این امکان را می دهد که تغییر فاز ایجاد شده توسط فیلتر معمولی را جبران کنید (به عبارت دیگر، عملکرد داده شدهفیلترینگ را بدون ایجاد تاخیر زمانی اجرا می کند). این کار با پردازش سیگنال دو طرفه انجام می شود. اولین عبور فیلتر به روش معمول انجام می شود و سپس سیگنال خروجی حاصل برای بار دوم فیلتر می شود - از انتها تا ابتدا. به همین دلیل، جابجایی فاز جبران می شود و ترتیب فیلتر حاصل دو برابر می شود. لازم به ذکر است که فیلتر حاصله (معادل دو پاس فیلترینگ) شرط علیت را برآورده نمی کند.

در اجرای عملی فیلترهای بازگشتی مرتبه بالا، آنها اغلب به عنوان بخش های مرتبه دوم متصل به سری نشان داده می شوند. این امر باعث می شود تا خطاهای محاسباتی ناشی از خطاهای گرد کردن و کمی سازی ضرایب فیلتر کاهش یابد. ابزارهایی برای تجزیه و تحلیل خطاهای این نوع در بسته طراحی فیلتر متمرکز شده اند و در بسته پردازش سیگنال یک تابع وجود دارد. sosfilt، که امکان اجرای فیلتر گسسته داده را با استفاده از فیلتری که به عنوان بخش های مرتبه دوم نشان داده می شود را می دهد.

یکی دیگر از ساختارهای فیلتر گسسته ممکن ساختار شبکه ای است. برای اجرای فیلترینگ با استفاده از فیلتر ارائه شده در این فرم، تابع latcfilt.

عملکرد medfilt1، که فیلتر میانه یک بعدی را پیاده سازی می کند، به الگوریتم های فیلتر غیر خطی اشاره دارد. ماهیت عملکرد آن این است که یک پنجره کشویی با طول معین به سیگنال ورودی اعمال می شود، نمونه های داخل پنجره مرتب می شوند و مقدار از وسط پنجره سفارش داده شده به عنوان نمونه خروجی (یا نیمی از پنجره) برگردانده می شود. مجموع دو عنصر نزدیک به وسط، اگر طول پنجره زوج باشد). فیلتر میانه، به عنوان مثال، برای حذف نویز ضربه ای (کلیک) در پردازش سیگنال های صوتی استفاده می شود. عملکرد medfilt2، که یک نوع دو بعدی از فیلتر میانه را پیاده سازی می کند، در بسته پردازش تصویر قرار دارد.

عملکرد sgolayfiltفیلتر گسسته را با استفاده از فیلتر Savitsky-Golay انجام می دهد. ماهیت آن در این واقعیت نهفته است که سیگنال ورودی به بلوک هایی با اندازه معین تقسیم می شود و در هر بلوک یک تقریب چند جمله ای سیگنال توسط یک چند جمله ای درجه معین با توجه به معیار حداقل میانگین مربعات خطا انجام می شود. اگر درجه چند جمله ای ها یک کوچکتر از اندازه بلوک ها باشد، خروجی برابر با ورودی خواهد بود. با درجه کمتری از چند جمله ای ها، سیگنال هموار می شود. فیلترهای Savitsky-Golay برای "پاک کردن" سیگنال ها از نویز استفاده می شود.

سنتز فیلتر گسسته به عنوان انتخاب چنین مجموعه ای از ضرایب درک می شود ( یک من) و ( b i) که در آن ویژگی های فیلتر به دست آمده الزامات مشخص شده را برآورده می کند. به بیان دقیق، وظیفه طراحی همچنین شامل انتخاب ساختار فیلتر مناسب با در نظر گرفتن دقت محدود محاسبات است. این امر به ویژه هنگام اجرای فیلترها "در سخت افزار" - با استفاده از پردازنده های تخصصی LSI یا سیگنال دیجیتال صادق است. اثرات مرتبط با دقت محدود محاسبات را می توان با استفاده از توابع بسته طراحی فیلتر تجزیه و تحلیل کرد. توابع سنتز فیلتر این اثرات را در نظر نمی گیرند.

بسته پردازش سیگنال شامل تعداد زیادی توابع است که الگوریتم های مختلف سنتز فیلتر گسسته را پیاده سازی می کند. ویژگی های اصلی این توابع را در قالب یک جدول ارائه می کنیم و سپس نظرات اضافی را ارائه می دهیم.

عملکرد نوع فیلتر پاسخ فرکانس روش سنتز
کره بازگشتی باترورث تبدیل z دوخطی
cheby1 بازگشتی چبیشف از نوع اول تبدیل z دوخطی
cheby2 بازگشتی چبیشف از نوع دوم تبدیل z دوخطی
بیضوی بازگشتی کائورا (بیضی شکل) تبدیل z دوخطی
دو خطی بازگشتی تبدیل z دوخطی
impinvar بازگشتی نمونه اولیه آنالوگ دلخواه تبدیل پاسخ تکانه ثابت
yulewalk بازگشتی تکه ای خطی روش خود رگرسیون
invfreqz بازگشتی رایگان به حداقل رساندن تفاوت بین شمارنده تابع انتقال و حاصلضرب مخرج آن و پاسخ فرکانسی مورد نظر
پرنی بازگشتی سنتز از یک پاسخ تکانه داده شده تقریب پرنی نمایی
صنوبر1 غیر بازگشتی چند باندی
صنوبر2 غیر بازگشتی تکه ای خطی تبدیل فوریه معکوس با استفاده از ویندوز
صخره ها غیر بازگشتی به حداقل رساندن ریشه میانگین مربعات خطا
کرک ها غیر بازگشتی ثابت تکه ای
fircls1 غیر بازگشتی LPF، HPF به حداقل رساندن خطای RMS با حداکثر محدودیت انحراف
firrcos غیر بازگشتی LPF هموارسازی کسینوس
نفوذی غیر بازگشتی LPF تقریب حداقلی
رمز غیر بازگشتی تکه ای خطی با نوارهای انتقال تقریب حداقلی
کرم ها غیر بازگشتی (شامل PFC غیر خطی و ضرایب مختلط) تکه ای خطی با نوارهای انتقال تقریب حداقلی

روش های سنتز فیلتر گسسته را می توان به دو دسته تقسیم کرد گروه های بزرگ: با و بدون نمونه اولیه آنالوگ. هنگام استفاده از یک فیلتر نمونه اولیه آنالوگ، لازم است به نحوی تابع انتقال آنالوگ تعریف شده در دامنه s به یک تابع انتقال گسسته تعریف شده در دامنه z نمایش داده شود. بسته پردازش سیگنال دو روش را برای چنین تبدیلی پیاده سازی می کند: روش پاسخ ضربه ثابت و روش تبدیل z دوخطی. هر دو روش منجر به فیلترهای گسسته بازگشتی می شوند.

هنگام استفاده از روش پاسخ ضربه ای ثابت، پاسخ ضربه ای نمونه اولیه آنالوگ گسسته می شود. پاسخ فرکانسی فیلتر گسسته حاصله بر این اساس پاسخ فرکانسی تکرار شده نمونه اولیه آنالوگ است. به همین دلیل این روش برای سنتز فیلترهای بالاگذر و به طور کلی فیلترهایی که ضریب انتقال آنها با افزایش فرکانس به صفر نمی رسد، نامناسب است. روش پاسخ ضربه ثابت در بسته پردازش سیگنال با استفاده از تابع پیاده سازی می شود impinvar.

هنگام استفاده از روش تبدیل z دوخطی، ویژگی های نمونه اولیه آنالوگ فقط در امتداد محور فرکانس تحریف می شود. در این حالت، محدوده فرکانس فیلتر آنالوگ (از صفر تا بی نهایت) به محدوده فرکانس کاری فیلتر گسسته (از صفر تا نصف فرکانس نمونه برداری) تبدیل می شود. تبدیل محور فرکانس توسط تابع مماس قوس توصیف می‌شود، بنابراین فرکانس‌هایی که بسیار کمتر از نرخ نمونه‌برداری هستند، تقریباً به صورت خطی تبدیل می‌شوند. این روش با استفاده از تابع پیاده سازی می شود دو خطیبرای یک نمونه اولیه آنالوگ دلخواه علاوه بر این، توابع آماده ای برای محاسبه فیلترهای پایین و بالاگذر، فیلترهای باند گذر و ناچ با استفاده از روش تبدیل z دوخطی با استفاده از نمونه های اولیه آنالوگ با باترورث، چبیشف نوع اول و دوم AFC و Cauer (فیلترهای بیضوی) وجود دارد. ). این با توجه به عملکرد است کره، cheby1، cheby2و بیضوی. همه این توابع همچنین می توانند برای محاسبه فیلترهای آنالوگ استفاده شوند (به قبل مراجعه کنید). نشانه یک نوع محاسبه گسسته عدم وجود رشته "s" در لیست پارامترهای ورودی است. همچنین توابعی برای تعیین ترتیب مورد نیاز این فیلترها وجود دارد پارامترهای داده شده AFC (فرکانس های مرزی باندهای پاس و تاخیر و همچنین ریپل مجاز در این باندها). این با توجه به عملکرد است buttord، cheb1ord، cheb2ord، ellipord. درست مانند توابع سنتز فیلتر، این توابع به شما اجازه می دهند تا ترتیب مورد نیاز فیلترهای آنالوگ را نیز مشخص کنید (به قبل مراجعه کنید). نشانه یک نوع محاسبه گسسته عدم وجود رشته "s" در لیست پارامترهای ورودی است.

به عنوان مثال، ما یک فیلتر پایین گذر بیضوی مرتبه چهارم را با پارامترهای مشابه فیلتر آنالوگ در یکی از نمونه های قبلی (فرکانس قطع 3 کیلوهرتز، موج پاسخ فرکانسی در باند عبور 1 دسی بل و رد سیگنال در باند توقف) سنتز می کنیم. 20 دسی بل). فرکانس نمونه برداری را برابر با 12 کیلوهرتز می گیریم. پس از سنتز، پاسخ فرکانسی و پاسخ فاز فیلتر حاصل را با استفاده از تابع رسم می کنیم فرکز.

    Fs = 12000; درصد فراوانی نمونه برداری
    F0 = 3000; درصد فرکانس قطع
    = ellip(4, 1, 20, F0/Fs*2); ٪ محاسبه فیلتر
    freqz(b, a, , Fs); % خروجی نمودار

روش های سنتزی که از نمونه اولیه آنالوگ استفاده نمی کنند مستقیم نامیده می شوند. آنها نیز به نوبه خود می توانند به دو گروه تقسیم شوند: روش های سنتز فیلترهای بازگشتی و غیر بازگشتی.

توابع سنتز مستقیم فیلترهای غیر بازگشتی شامل موارد زیر است:

  • توابعی که سنتز فیلترها را با تبدیل فوریه معکوس پاسخ فرکانسی مورد نظر اجرا می کنند و به دنبال آن پاسخ ضربه حاصل را در مقداری تابع وزنی (پنجره) ضرب می کنند تا موج پاسخ فرکانسی را که به دلیل اثر گیبس ظاهر می شود کاهش دهد. اینها ویژگی ها هستند صنوبر1و صنوبر2. این همچنین شامل عملکرد سنتز فیلتر پایین گذر با هموارسازی کسینوس پاسخ فرکانسی است - firrcos. علاوه بر این، عملکرد قیصروردبا توجه به پارامترهای پاسخ فرکانسی داده شده، اجازه می دهد تا ترتیب فیلتر مورد نیاز را در طول سنتز با استفاده از پنجره Kaiser تخمین بزند.
  • توابعی که به حداقل رساندن انحراف استاندارد پاسخ فرکانسی فیلتر حاصل از آن را اجرا می کند. اینها ویژگی ها هستند صخره ها, کرک هاو fircls1. دو تابع آخر مسئله بهینه سازی را با محدودیت حداکثر انحراف پاسخ فرکانسی از مورد داده شده حل می کند. این امر از ظهور پیک های پاسخ فرکانسی بزرگ در نزدیکی باندهای انتقال جلوگیری می کند.
  • توابعی که بهینه سازی مینیمکس را پیاده سازی می کنند، یعنی به حداقل رساندن انحراف پیک پاسخ فرکانسی فیلتر حاصل از فیلتر داده شده. نتیجه فیلترهایی با امواج پاسخ فرکانسی یکنواخت است. این گروه شامل توابع است رمز (نسخه استانداردروش Remez که در اولین نسخه های بسته پردازش سیگنال پیاده سازی شده است) و کرم ها(نسخه توسعه یافته ای که از سنتز فیلترها با پاسخ فاز غیر خطی و با ضرایب پیچیده پشتیبانی می کند). علاوه بر این، عملکرد یادآوریاجازه می دهد تا با توجه به پارامترهای پاسخ فرکانسی داده شده، ترتیب مورد نیاز فیلتر را در سنتز با روش Remez تخمین بزنیم.

به عنوان مثال، ما یک LPF غیر بازگشتی از مرتبه 32 را با استفاده از روش Remez با همان فرکانس های برش و نمونه برداری مانند مثال قبلی (فرکانس قطع 3 کیلوهرتز، فرکانس نمونه برداری 12 کیلوهرتز) سنتز می کنیم. شروع استاپ باند را روی 3.5 کیلوهرتز تنظیم کردیم. پس از سنتز، نمودارهای پاسخ ضربه ای و همچنین پاسخ فرکانسی فیلتر حاصل را رسم می کنیم (PFC فیلتر خطی است، بنابراین رسم آن منطقی نیست). پاسخ فرکانس در یک مقیاس خطی در امتداد عمودی نمایش داده می شود تا یکنواختی ضربان های آن به وضوح نشان داده شود.

    Fs = 12000; درصد فراوانی نمونه برداری
    F0 = 3000; درصد فرکانس قطع
    F1=3500; % شروع باند توقف
    b = remez(32, , ); ٪ محاسبه فیلتر
    imz(b) % نمودار پاسخ ضربه
    = freqz(b, 1, , Fs); % سود پیچیده
    ارقام
    نمودار (f، abs(h)) % نمودار پاسخ فرکانس
    توری

توابع سنتز مستقیم فیلترهای بازگشتی شامل موارد زیر است:

  • yulewalk- سنتز یک فیلتر بازگشتی با یک پاسخ فرکانس خطی دلخواه تکه ای با استفاده از روش یول واکر.
  • invfreqz- این تابع برای حل مشکل شناسایی سیستم طراحی شده است، به شما امکان می دهد ضرایب صورت شمار و مخرج تابع انتقال یک سیستم گسسته را با مجموعه ای از مقادیر این تابع انتقال در فرکانس های مختلف تعیین کنید.

در پایان، تعدادی از توابع را فهرست می کنیم که در گروه های ذکر شده در بالا گنجانده نشده اند. عملکرد حداکثر تختبرای سنتز یک فیلتر باترورث تعمیم یافته در نظر گرفته شده است (برای چنین فیلترهایی، تعداد صفرهای تابع انتقال از تعداد قطب های آن بیشتر است). عملکرد نفوذیسنتز فیلترهایی را انجام می دهد که برای فیلتر کردن سیگنال در هنگام انجام درون یابی و decimation طراحی شده اند. عملیات پیچیدگی برداری را می توان به عنوان یک محصول بردار-ماتریس نشان داد و ماتریس درگیر در این محصول را می توان با استفاده از تابع محاسبه کرد. convmtx. در نهایت، تابع اسگولایسنتز فیلتر صاف کننده Savitsky-Golay را انجام می دهد. از آنجا که، همانطور که در بالا توضیح داده شد، فیلتر Savitzky-Golay بلوک های سیگنال فردی را پردازش می کند، چنین فیلتری یک سیستم ثابت نیست. بنابراین، تابع اسگولاییک ماتریس عدد صحیح از ضرایب متغیر با زمان فیلتر غیر بازگشتی معادل را برمی گرداند.

علاوه بر بسته پردازش سیگنال، تعدادی از توابع سنتز فیلتر گسسته در بسته های ارتباطات و طراحی فیلتر موجود است.

کلمات "تحلیل طیفی" در ذهن بسیاری از کاربران متلب به شدت با عملکرد مرتبط است fft(در زیر به بخش "توابع تبدیل سیگنال های گسسته" مراجعه کنید)، که تبدیل فوریه گسسته (DFT) را انجام می دهد. با این حال، این فقط یک تبدیل خطی یک به یک است که می دهد کاراییسیگنال قطعی در حوزه فرکانس اگر سیگنال تحلیل شده باشد تصادفی، فقط برای او معنا دارد مقطع تحصیلیچگالی طیفی قدرت، که برای محاسبه آن لازم است داده های موجود را به یک روش میانگین گیری کرد. علاوه بر این، در برخی موارد ما برخی را می شناسیم اطلاعات تکمیلیدر مورد سیگنال تجزیه و تحلیل شده، و مطلوب است که این اطلاعات در تجزیه و تحلیل طیفی در نظر گرفته شود.

روش های تجزیه و تحلیل طیفی سیگنال های تصادفی به دو کلاس بزرگ - ناپارامتریک و پارامتریک تقسیم می شوند. AT ناپارامتریکروش‌های (ناپارامتریک) فقط از اطلاعات موجود در نمونه‌های سیگنال تحلیل‌شده استفاده می‌کنند. پارامتریکروش های (پارامتری) وجود برخی آماری را فرض می کنند مدل هاسیگنال تصادفی، و فرآیند تجزیه و تحلیل طیفی در این مورد شامل تعیین است مولفه هایاین مدل. اصطلاح «تحلیل طیف مبتنی بر مدل» (Model-Based Spectrum Analysis, MBSA) نیز استفاده می شود.

بسته پردازش سیگنال شامل توابعی است که روش‌های مختلف تحلیل طیفی، اعم از پارامتری و ناپارامتریک را پیاده‌سازی می‌کند (لازم است یک بار دیگر تاکید شود که تحلیل طیفی در اینجا به معنای تخمین است. چگالی طیفی توان یک فرآیند تصادفی). علاوه بر این، توابعی برای به دست آوردن سایر مشخصات میانگین سیگنال های گسسته تصادفی وجود دارد.

برای تعیین ویژگی‌های طیفی یک فرآیند تصادفی گسسته، میانگین طیف توان قطعه محدود آن محاسبه می‌شود و سپس طول قطعه به بی‌نهایت میل می‌کند:

. (1)

اینجا ایکس(ک) - خوانش فرآیند تصادفی، تی- دوره نمونه برداری خط روی نشان دهنده میانگین گیری بیش از مجموعه تحقق ها است.

علاوه بر این، این طیف را می توان بر حسب تابع همبستگی یک فرآیند تصادفی بیان کرد:

. (2)

این عبارت یک آنالوگ گسسته از قضیه وینر-خینچین است: طیف یک فرآیند تصادفی گسسته تبدیل فوریه تابع همبستگی آن است.

همانطور که قبلا ذکر شد، هنگام استفاده از روش های ناپارامتریک برای محاسبه طیف یک فرآیند تصادفی، تنها از اطلاعات موجود در نمونه های سیگنال استفاده می شود، بدون هیچ فرضی اضافی. سه روش از این قبیل در بسته پردازش سیگنال پیاده سازی شده است - پریودوگرام، روش ولچ و روش تامسون.

پریودوگرام تخمینی از چگالی طیفی توان به دست آمده از نشمارش معکوس یک اجرافرآیند تصادفی طبق تعریف (1) (به طور طبیعی، نه با گرفتن حد، بلکه با میانگین گیری تعداد محدودی از عبارت). اگر از تابع وزنی (پنجره) برای محاسبه طیف استفاده شود، تخمین طیف توان حاصل نامیده می شود. پریودوگرام اصلاح شده(پریودوگرام اصلاح شده):

رابطه (2) فقط برای تعداد نامتناهی از نمونه های استفاده شده ارضا می شود، بنابراین، برای هر متناهی نتخمین پریودوگرام چگالی طیفی توان به نظر می رسد آواره- معلوم می شود که در داخل مجموع (2) تابع همبستگی سیگنال در یک تابع وزن مثلثی ضرب می شود. علاوه بر این، می توان نشان داد که پریودوگرام تخمین ثابتی از چگالی طیفی توان نیست، زیرا پراکندگیچنین تخمینی با مجذور انتظارات ریاضی آن برای هر کدام قابل مقایسه است ن. با افزایش تعداد نمونه های مورد استفاده، مقادیر پریودوگرام سریعتر و سریعتر شروع به نوسان می کنند - نمودار آن بیشتر و بیشتر ناهموار می شود.

در بسته پردازش سیگنال، محاسبه پریودوگرام (از جمله اصلاح شده) با استفاده از تابع انجام می شود. پریودوگرافی.

برای کاهش بی نظمی پریودوگرام، باید نوعی میانگین گیری اعمال شود. بارتلت پیشنهاد کرد سیگنال تجزیه و تحلیل شده را به بخش های غیر همپوشانی تقسیم کند، یک پریودوگرام برای هر بخش محاسبه کند، و سپس میانگین این پریودوگرام ها را محاسبه کند. اگر تابع همبستگی سیگنال در طول مدت قطعه به مقادیر ناچیز کاهش یابد، می توان پریودوگرام های بخش های جداگانه را مستقل در نظر گرفت. ولش دو پیشرفت در روش بارتلت ایجاد کرد: استفاده از تابع وزن و تقسیم سیگنال به با هم تداخل دارندقطعات استفاده از تابع وزنی این امکان را فراهم می کند که گسترش طیف را کاهش داده و بایاس تخمین به دست آمده از طیف چگالی توان را به قیمت کاهش جزئی وضوح کاهش دهد. همپوشانی قطعات به منظور افزایش تعداد آنها و کاهش واریانس تخمین معرفی شده است.

محاسبات با استفاده از روش Welch (که به آن روش پریودوگرام اصلاح شده متوسط ​​نیز گفته می شود) به شرح زیر سازماندهی می شود: بردار نمونه های سیگنال به بخش های همپوشانی تقسیم می شود، هر بخش در تابع وزن استفاده شده ضرب می شود، پریودوگرام های اصلاح شده برای بخش های وزنی محاسبه می شوند، پریودوگرام ها از تمام بخش ها به طور میانگین می باشد.

روش ولش محبوب ترین روش پریودوگرام تحلیل طیفی است. در بسته پردازش سیگنال، با استفاده از تابع پیاده سازی می شود پولچ.

روش تامسون توسط تابع پیاده سازی شده است pmtm، بر اساس استفاده گسترش توابع کروی(عملکردهای کروی پرولات). این توابع مدت زمان محدود حداکثر غلظت انرژی را در یک باند فرکانسی معین فراهم می کند. علاوه بر تخمین طیفی خود، تابع pmtmمی تواند بازه اطمینان خود را برگرداند. محاسبه توابع کروی پرولایت زمان می برد، بنابراین هنگام استفاده مکرر از تابع pmtmشما می توانید با از پیش محاسبه توابع لازم برای تجزیه و تحلیل و ذخیره آنها در پایگاه داده، محاسبات را سرعت بخشید. برای کار با چنین پایه ای (این یک فایل MAT با نام است dpss.mat) برای خانواده ای از توابع در نظر گرفته شده است که نام آنها با حروف شروع می شود dpss (dpss- محاسبه توابع، dpssload- بارگذاری یک خانواده از توابع از پایگاه داده، dpsssave- ذخیره یک خانواده از توابع در پایگاه داده، dpssdir- نمایش دایرکتوری پایگاه داده، dpsclear- حذف یک خانواده از توابع از پایگاه داده).

به عنوان مثال، ما اجرای یک فرآیند تصادفی همبسته نمایی را تشکیل می دهیم و تجزیه و تحلیل طیفی آن را با استفاده از سه روش ذکر شده انجام می دهیم. سیگنال تصادفی مورد نیاز ما با عبور دادن نویز سفید گسسته عادی از یک فیلتر بازگشتی مرتبه اول تشکیل می شود:

X0 = randn(1, 1000);
a = 0.9;
X = فیلتر (1, , X0);

ما یک پریودوگرام می سازیم:

پریودوگرافی (X, , , 1)

همانطور که می بینید پریودوگرام بسیار ناهموار است. حالا بیایید طیف پیاده سازی مشابه را با استفاده از روش Welch تخمین بزنیم:

pwelch (X, , , , 1)

بی نظمی نمودار بسیار کمتر است. در نهایت از روش تامسون استفاده می کنیم:

pmtm (X, , , 1)

در خروجی تابع pmtmنمودار حدود فاصله اطمینان همراه با تخمین طیف توان را نشان می دهد.

استفاده از روش های پارامتریک به معنای وجود برخی از روش های ریاضی است مدل هاتجزیه و تحلیل فرآیند تصادفی تجزیه و تحلیل طیفی در این مورد به حل یک مسئله بهینه سازی، یعنی یافتن آن کاهش می یابد مولفه هایمدل هایی که در آنها به سیگنال واقعی مشاهده شده نزدیک است. بسته پردازش سیگنال تعدادی از انواع تحلیل خودرگرسیون و دو روش مبتنی بر تجزیه و تحلیل مقادیر ویژه و بردارهای ماتریس همبستگی سیگنال را اجرا می کند: MUSIC (طبقه بندی سیگنال چندگانه) و EV (EigenVectors).

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

در عمل، ما تابع همبستگی واقعی سیگنال مورد مطالعه را نمی دانیم، بنابراین، برای به حداقل رساندن خطاهای پیش بینی، از برآوردها CF با میانگین زمان به دست می آید. طراحی شد کل خطروش‌های تحلیل خودرگرسیون، که عمدتاً در رویکرد پردازش اثرات لبه متفاوت است (یعنی در روش درگیر کردن نمونه‌های لبه سیگنال که هیچ جفت جابه‌جایی در هنگام محاسبه CF یافت نمی‌شود) در محاسبات. بسته پردازش سیگنال روش Burg، روش کوواریانس، روش کوواریانس اصلاح شده و روش خودرگرسیون Yule-Walker را پیاده سازی می کند.

روش‌های تحلیل طیف خودرگرسیون برای سیگنال‌هایی که واقعاً فرآیندهای خودرگرسیون هستند، مناسب‌تر هستند. بطور کلی، نتایج خوباین روش‌ها زمانی نشان می‌دهند که طیف سیگنال تحلیل‌شده دارای قله‌های مشخصی باشد. به طور خاص، چنین سیگنال هایی شامل مجموع چندین سینوسی با نویز است.

هنگام استفاده از روش های اتورگرسیو، مهم است که ترتیب مدل اتورگرسیو را به درستی انتخاب کنید - باید دو برابر تعداد نوسانات سینوسی باشد که ظاهراً در سیگنال تحلیل شده موجود است.

هر روش تحلیل اتورگرسیو در بسته پردازش سیگنال مربوط به دو تابع است - تابع محاسبه ضرایب مدل و تابع خود آنالیز طیفی. تابع تحلیل طیفی تابع محاسبه ضرایب مدل را فراخوانی می کند و سپس طیف را محاسبه می کند. نام توابع در جدول زیر خلاصه شده است.

نام روش

تابع محاسبه ضریب مدل

تابع تحلیل طیفی

روش کوواریانس arcov pcov
روش کوواریانس اصلاح شده armcov pmcov
روش برگ آربورگ pburg
روش خودرگرسیون یول واکر آریوله پیولر

سیگنال تصادفی همبسته نمایی شکل گرفته در مثال بالا یک فرآیند خودبازگشتی مرتبه اول است، بنابراین روش های فهرست شده تحلیل طیفی برای آن کاملاً کافی هستند. روش برگ را با قرار دادن ترتیب مدل خودرگرسیون برابر با یک (این دومین پارامتر تابع است) اعمال می کنیم. pburg):

pburg(X, 1, , 1)

منحنی صاف حاصل عملاً با طیف نظری این فرآیند تصادفی منطبق است.

روش MUSIC (طبقه بندی سیگنال چندگانه) برای تجزیه و تحلیل طیفی سیگنال هایی طراحی شده است که مجموع چندین سینوسی (به طور دقیق تر، در حالت کلی، چندین نمایی پیچیده) با نویز سفید هستند. هدف از تجزیه و تحلیل طیفی چنین سیگنال هایی، به عنوان یک قاعده، محاسبه طیف به عنوان چنین نیست، بلکه تعیین فرکانس ها و سطوح (دامنه ها یا توان ها) اجزای هارمونیک است. روش MUSIC به طور خاص برای این طراحی شده است، بنابراین وابستگی سطح سیگنال به فرکانس به دست آمده با آن نامیده می شود. شبه طیف(شبه طیف).

این روش مبتنی بر تجزیه و تحلیل مقادیر ویژه و بردارهای ویژه ماتریس همبستگی سیگنال است. هنگام انجام یک تجزیه و تحلیل، باید ترتیب مدل را مشخص کنید، یعنی تعداد توان های پیچیده ای که قرار است در سیگنال موجود باشد.

در بسته پردازش سیگنال، روش MUSIC با استفاده از تابع پیاده سازی می شود pmusic، و عملکرد ریشه موزیکبه دست آوردن تخمینی از فرکانس ها و توان های اجزای هارمونیک سیگنال را ممکن می سازد.

یکی از بستگان نزدیک MUSIC روش بردارهای ویژه (EV) است. تنها تفاوت آن این است که در فرمول های محاسباتی، بردارهای ویژه در ضرایب وزنی به طور معکوس با مقادیر ویژه متناظر، ضرب می شوند. شواهدی در ادبیات وجود دارد که روش EV پیک های طیفی کاذب کمتری نسبت به MUSIC ایجاد می کند و به طور کلی شکل طیف نویز را بهتر بازتولید می کند.

در بسته پردازش سیگنال، روش EV با استفاده از تابع پیاده سازی می شود پیک، و عملکرد rooteigبه دست آوردن تخمینی از فرکانس ها و توان های اجزای هارمونیک سیگنال را ممکن می سازد.

باید تاکید کرد که شبه طیف ها تخمینی از طیف چگالی توان واقعی نیستند، بلکه فقط طیفی هستند. تخمین های شبهکه تخمین فرکانس اجزای سیگنال سینوسی یا باند باریک را با وضوحی تا حدودی بالاتر از وضوح روش های اتورگرسیو ممکن می سازد.

تبدیل فوریه گسسته، که در تمام روش‌های تخمین طیفی ناپارامتری استفاده می‌شود، حاکی از ادامه دوره‌ای قطعه سیگنال تحلیل‌شده است. در این مورد، جهش می تواند در محل اتصال قطعات رخ دهد، که منجر به ظهور لوب های جانبی در سطح قابل توجهی در منطقه طیفی می شود. برای کاهش این اثر، سیگنال قبل از انجام DFT در فروپاشی از مرکز به لبه ها ضرب می شود. تابع وزن (پنجره). در نتیجه، بزرگی پرش ها در اتصالات بخش ها کاهش می یابد و سطح لوب های جانبی ناخواسته طیف نیز کوچکتر می شود - قیمت این مقداری گسترش قله های طیفی است.

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

در حال حاضر، بسته پردازش سیگنال شامل حدود دوازده عملکرد وزنی است. توزیع برخی از آنها به دلیل سادگی محاسباتی است، در حالی که برخی دیگر به نوعی بهینه هستند.

ساده ترین یک پنجره مستطیلی است که توسط تابع پیاده سازی شده است راست وین(در نسخه‌های بسته قبل از 5.0، این تابع نام داشت ماشین جعبه ای). پنجره مستطیلی مربوط به عدم وجود وزن است؛ این تابع فقط برای کامل بودن رسمی مجموعه توابع وزن دهی در بسته گنجانده شده است. پنجره مثلثی توسط تابع پیاده سازی می شود مثلث، پنجره بارتلت نیز دارای شکل مثلثی (عملکرد بارتلت، در روش محاسبه فقط کمی تفاوت دارد.

چندین تابع وزن ترکیبی از اجزای هارمونیک هستند. ما آنها را به ترتیب صعودی تعداد عبارات کسینوس فهرست می کنیم:

  • پنجره هانا (عملکرد هان، گاهی اوقات به اشتباه پنجره Hanning نامیده می شود، یک اصطلاح کسینوس منفرد است.
  • پنجره همینگ (عملکرد چکش) یک جمله کسینوس است.
  • پنجره Blackman (عملکرد مرد سیاه پوست) دو عبارت کسینوس هستند.
  • پنجره Blackman-Harris (عملکرد blackmanharris) سه عبارت کسینوس هستند.
  • پنجره Nuttall (نسخه جایگزین پنجره Blackman-Harris، تابع ناتالوین) سه عبارت کسینوس هستند.

پنجره های باقی مانده با روابط ریاضی پیچیده تر توصیف می شوند. شکل پنجره گاوسی (عملکرد گاوسوین) نیازی به توضیح ندارد. پنجره بارتلت هان اصلاح شده (عملکرد بارتانوین) ترکیبی خطی از پنجره های بارتلت و هان است. پنجره بومن (عملکرد بوهمانوین) پیچیدگی دو پالس کسینوس یکسان است. پنجره چبیشف (عملکرد chebwin) دارای لوب های جانبی در سطح ثابت (مشخص شده در محاسبه) است و با تبدیل فوریه معکوس پاسخ فرکانسی پنجره محاسبه می شود. پنجره قیصر (عملکرد قیصر) همچنین دارای پارامتری است که سطح لوب های جانبی و عرض لوب اصلی را کنترل می کند، هنگام محاسبه این پنجره از توابع بسل اصلاح شده استفاده می شود. پنجره Tukey (ویژگی توکی وین) مستطیلی است با لبه های صاف کسینوس. در حد افراط مقادیر مجازعامل صاف کننده، به پنجره مستطیلی یا پنجره هان تبدیل می شود.

در نهایت، تابع پنجرهیک رابط عمومی برای فراخوانی توابع محاسبه پنجره خاص ارائه می دهد.

توابع متعلق به این دسته، پارامترهای آماری مختلف سیگنال ها را محاسبه می کنند. توابع را می توان به چند گروه تقسیم کرد.

گروه اول به محاسبه توابع همبستگی و کوواریانس اشاره دارد (در اینجا لازم به یادآوری است که در اصطلاح داخلی و خارجی این مفاهیم با هم منطبق نیستند، در این بررسی از نسخه خارجی پذیرفته شده در متلب استفاده شده است). عملکرد xcorrبه شما امکان می دهد تا تابع همبستگی یک سیگنال یا تابع همبستگی دو سیگنال را ارزیابی کنید. گونه ای از این عملکرد که برای کار با سیگنال های دو بعدی طراحی شده است، نام دارد xcorr2. عملکرد xcovبرای تخمین تابع کوواریانس یک سیگنال یا تابع کوواریانس متقابل دو سیگنال طراحی شده است. کارکرد covو تصحیحکه در کتابخانه هسته MATLAB گنجانده شده است، به شما امکان می دهد به ترتیب ماتریس کوواریانس و ماتریس ضرایب همبستگی را با میانگین گیری چندین تحقق داده های تصادفی بدست آورید. عملکرد corrmtxماتریسی از داده های میانی را برای تخمین ماتریس همبستگی سیگنال برمی گرداند و همچنین می تواند خود این ماتریس را برگرداند.

گروه بعدی توابع با استفاده از روش ناپارامتری ولچ، مشخصه های آماری را در حوزه فرکانس محاسبه می کند (به بالا مراجعه کنید). عملکرد csdبرای ارزیابی در نظر گرفته شده است چگالی طیفی متقابلدو فرآیند تصادفی همچنین می تواند یک فاصله اطمینان برای تخمین حاصل را برگرداند. عملکرد منسجمتخمینی از مجذور مدول می دهد توابع انسجام متقابلدو فرآیند تصادفی عملکرد tfeبه شما امکان می دهد ارزیابی کنید سود پیچیدهسیستم برای تحقق سیگنال های ورودی و خروجی آن.

در نهایت، تابع psdplotتوسط تمام توابع تخمین طیفی برای رسم چگالی طیفی توان استفاده می شود. همچنین می توان آن را به صراحت نامید - به عنوان مثال، برای نمایش یک نمودار در مقیاس خطی به جای لگاریتمی پیش فرض، یا نشان دادن چندین طیف در یک نمودار.

مدل‌سازی پارامتری و توابع پیش‌بینی خطی

زیر مدل سازی پارامتریکبه عنوان انتخاب یک مدل ریاضی خاص از یک فرآیند تصادفی و انتخاب بعدی پارامترهای این مدل برای اطمینان از حداکثر مطابقت بین سیگنال تولید شده توسط مدل و نمونه داده واقعی موجود درک می شود.

یکی از مواردی که به طور گسترده در عمل مورد استفاده قرار می گیرد، مدل اتورگرسیو (AR) است که در آن یک سیگنال تصادفی با عبور نویز سفید گسسته از یک فیلتر شکل دهی «صرفاً بازگشتی» (یعنی عدم استفاده از نمونه های سیگنال ورودی تاخیری) تولید می شود. چهار عملکرد بسته پردازش سیگنال عبارتند از - آربورگ, arcov, armcovو آریوله- طراحی شده برای به دست آوردن تخمینی از ضرایب فیلتر شکل دهنده و پراکندگی (قدرت) نویز سفید که فیلتر را تحریک می کند. روش‌های محاسبه‌ای که توسط این توابع استفاده می‌شود، قبلاً در بخش «روش‌های خودرگرسیون» مشخص شد، جایی که ما در مورد تحلیل طیفی اتورگرسیو صحبت کردیم.

اگر برآوردی داشته باشیم سود پیچیدهسیستم ها در فرکانس های مختلف، می توان یک مدل قابل تحقق از سیستم ساخت که پاسخ فرکانسی آن تا حد امکان به اندازه گیری شده نزدیک باشد. تحقق پذیری سیستم در اینجا به معنای نمایش پذیری تابع انتقال آن به عنوان یک تابع کسری - گویا با دستورات داده شده از چندجمله ای های صورت و مخرج است. مدل‌سازی پارامتری در این مورد به یافتن ضرایب بهینه چندجمله‌ای صورت‌گر و مخرج تابع انتقال کاهش می‌یابد. این کار با دو عملکرد بسته پردازش سیگنال حل می شود: تابع invfreqsبه شما امکان می دهد یک مدل از یک سیستم آنالوگ و عملکرد بسازید invfreqzعملیات مشابهی را برای سیستم های گسسته انجام می دهد.

نوع دیگری از مسئله مدل‌سازی پارامتری شامل ساخت مدلی از سیستم با توجه به برآورد موجود آن است پاسخ ضربه. برای انجام این کار، بسته پردازش سیگنال دو عملکرد را ارائه می دهد. عملکرد پرنیاز این واقعیت استفاده می کند که پاسخ ضربه ای یک سیستم گسسته بازگشتی در غیاب چندین قطب مجموع توابع نمایی گسسته (در حالت کلی پیچیده) است. الگوریتم پیاده‌سازی شده توسط این تابع ابتدا در قرن هجدهم توسط بارون د پرونی با هدف برازش پارامترهای یک مدل تحلیلی نمایی با داده‌های تجربی توسعه یافت. ثبات سیستم حاصل تضمین نشده است، اما اولین nنمونه ها ( n- ترتیب شمارنده تابع انتقال سیستم مشخص شده در محاسبه) پاسخ ضربه آن دقیقابا موارد داده شده مطابقت دهید.

دومین تابع مدل سازی سیستم از روی پاسخ ضربه ای تابع است stmcb- به دنبال اطمینان از تطابق دقیق قطعات اولیه پاسخ های ضربه ای نیست - در عوض، آن را به حداقل می رساند. انحراف معیارمشخصه به‌دست‌آمده از مشخصه داده شده، یعنی مجموع مربع‌های ماژول‌های تفاوت در قرائت‌های پاسخ‌های ضربه‌ای به‌دست‌آمده و مورد نظر. این تابع روش تکراری Steiglitz-McBride را پیاده‌سازی می‌کند که با توجه به ضرایب چند جمله‌ای تابع انتقال سیستم مورد نظر به حل چندگانه یک سیستم معادلات خطی کاهش می‌یابد.

به عنوان مثال، مدلی از یک سیستم مرتبه سوم را با استفاده از روش های Prony و Steiglitz-McBride به دست می آوریم و پاسخ ضربه مثلثی را به عنوان نمونه تنظیم می کنیم:

h = ; ٪ پاسخ ضربه
= prony(h, 3, 3); % روش Prony
= stmcb(h, 3, 3); % روش Steiglitz-McBride
% نمودار پاسخ های ضربه ای سیستم های دریافتی
imz(b1, a1, 30)
عنوان ("Prony")
ارقام
imz(b2, a2, 30)
عنوان ("Stmcb")

مقایسه نمودارها به وضوح تفاوت بین دو الگوریتم را نشان می دهد. هنگام استفاده از روش Prony، چهار قرائت اول پاسخ ضربه به دست آمده دقیقاً با مقادیر داده شده منطبق است، اما بعداً انحراف از مقادیر داده شده بسیار افزایش می یابد و پس از پایان قطعه داده شده، یک "دم" ایجاد می شود. ” با یک سطح نسبتاً بزرگ مشاهده می شود، زیرا عملکرد پرنیهیچ فرضی در مورد مقادیر مورد نیاز پاسخ ضربه ای خارج از قطعه داده شده نمی کند. عملکرد stmcbبه حداقل می رساند درجه دومخطای پخش از پیش تعیین شده بی پایانپاسخ ضربه ای، و در انتهای یک قطعه مشخص شده، برابر با صفر در نظر گرفته می شود. در نتیجه، هیچ مطابقت دقیقی بین قرائت‌های پاسخ‌های ضربه‌ای داده شده و به‌دست‌آمده (به استثنای مورد اول) وجود ندارد، اما خطا در بازتولید ویژگی به طور یکنواخت‌تر روی قرائت‌ها «لکه‌دار» می‌شود.

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

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

فرم نهایی

توالی خودهمبستگی

ضرایب بازتاب

ضرایب پیش بینی

پارامترهای آرکسین

نسبت های لگاریتمی

فرکانس های خط طیفی

فرم اصلی

توالی خودهمبستگی

ac2rc، schurrc

ضرایب بازتاب

ضرایب پیش بینی

پارامترهای آرکسین

نسبت های لاگ

فرکانس های خط طیفی

علاوه بر این، بسته پردازش سیگنال چندین عملکرد دیگر مرتبط با پیش‌بینی خطی دارد. بنابراین، برای محاسبه ضرایب فیلتر پیش بینی، لازم است سیستمی از معادلات خطی حل شود که ماتریس آن ماتریس همبستگی سیگنال ورودی است. این ماتریس دارای تعدادی ویژگی است که به لطف آنها می توان تعداد عملیات محاسباتی مورد نیاز برای حل یک سیستم معادلات خطی را کاهش داد. اول، ماتریس همبستگی است خود الحاقی(یعنی بعد از اعمال روی آن تغییری نمی کند صرف هرمیتی- ترکیبات جابجایی با صرف پیچیده). برای یک سیگنال واقعی، خود الحاقی به سادگی به این معنی است که ماتریس نسبت به قطر اصلی متقارن است. ثانیا، در مورد یک فرآیند تصادفی ثابت (و فقط برای چنین فرآیندهایی می توان از یک فیلتر پیش بینی با پارامترهای ثابت استفاده کرد)، ماتریس همبستگی است. ماتریس تاپلیتز- در امتداد مورب های آن موازی با اصلی، اعداد یکسانی وجود دارد. در نهایت، سمت راست سیستم معادلات، اولین ستون ماتریس همبستگی است که یک موقعیت جابجا شده است. سیستم های معادلات خطی با ماتریس هایی که ویژگی های مشخص شده را دارند نامیده می شوند سیستم های معادلات یول واکرو برای حل آنها یک بازگشتی روش لوینسون دوربین. این الگوریتم تکراری توسط تابع پیاده سازی می شود لوینسون. عملکرد رلوینسونمشکل معکوس را حل می کند - به شما امکان می دهد بردار نمونه های تابع همبستگی سیگنال را برای ضرایب پیش بینی خطی داده شده پیدا کنید.

عملکرد lpcمحاسبه ضرایب پیش‌بینی خطی را با روش همبستگی خودکار اجرا می‌کند و آنالوگ تابع است. آریوله(به بخش قبلی در مورد تحلیل طیفی پارامتری مراجعه کنید). این دو تابع فقط در کد MATLAB که برای محاسبه امتیاز ماتریس همبستگی استفاده می شود، متفاوت هستند. نتایج ارائه شده توسط آنها تا خطاهای محاسباتی منطبق است.

توابع تولید سیگنال

بسته پردازش سیگنال شامل تعدادی توابع طراحی شده برای تولید شکل موج های استاندارد است که اغلب در حل مشکلات مختلف پردازش سیگنال با آن مواجه می شوند.

تولید سیگنال های غیر دوره ای

تمام توابع برای تولید سیگنال های غیر تناوبی به عنوان پارامتر، بردار نقاط زمانی و آرگومان های اضافی را که پارامترهای پالس تولید شده را توصیف می کنند، دریافت می کنند. نتیجه برگشتی بردار نمونه هایی از سیگنال حاصل است. توابعی برای تولید سیگنال به شکل زیر وجود دارد:

  • rectpulse
  • - تولید یک پالس مستطیلی منفرد، تنها پارامتر اضافی مدت زمان پالس است.
  • سه گانه
  • - تولید یک پالس مثلثی منفرد، پارامترهای اضافی مدت زمان پالس و ضریب عدم تقارن آن است. - تولید یک پالس با طیف مستطیل شکل، طبق فرمول sinc( ایکس) = گناه (ص ایکس)/(پ ایکس). این تابع هیچ پارامتر اضافی ندارد.
  • Gauspulse
  • - تولید یک پالس رادیویی با یک پاکت گاوسی. پارامترهای اضافی عبارتند از: فرکانس حامل، پهنای باند نسبی و سطح (بر حسب دسی بل) که در آن این پهنای باند اندازه گیری می شود.
  • gmonopuls
  • - تولید تک پالس گاوسی (شکل آن اولین مشتق تابع گاوسی است). پارامتر اضافیفرکانس متوسط ​​طیف سیگنال تولید شده است.

تولید سیگنال های دوره ای

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

  • مربع
  • - تولید یک دنباله تناوبی از پالس های مستطیلی. یک پارامتر اضافی چرخه وظیفه پالس ها (نسبت مدت زمان پالس به دوره تکرار آنها) است.
  • دندان اره ای
  • - تولید سیگنال دوره ای دندان اره ای. یک پارامتر اضافی ضریب عدم تقارن پالس های مثلثی است که دنباله تناوبی را تشکیل می دهند.
  • دیریک
  • تابع دیریکله است. یک پارامتر اضافی ترتیب عدد صحیح تابع است. تابع دیریکله با فرمول diric( ایکس) = گناه( nx/2)/(nگناه ( ایکس/2));

ایجاد نوسانات با تغییر فرکانس

این گروه شامل دو عملکرد است - چهچهچهو vco. عملکرد چهچهچهنوساناتی را ایجاد می کند که فرکانس لحظه ای آنها بر اساس یکی از سه قانون ممکن - خطی، درجه دوم یا نمایی متفاوت است. عملکرد امکانات بیشتری دارد vco(نوسانگر کنترل شده ولتاژ - یک ژنراتور کنترل شده با ولتاژ)، که به شما امکان می دهد نوساناتی را با قانون تغییر دلخواه در فرکانس لحظه ای ایجاد کنید. در واقع این تابع مدولاسیون فرکانس را انجام می دهد.

تولید قطار پالس

عملکرد پولسترنبرای تولید یک دنباله محدود از پالس های یک شکل با تأخیرها و فاکتورهای دامنه به طور دلخواه تنظیم می شود. شکل پالس ها را می توان به یکی از دو روش مشخص کرد: با نام تابعی که پالس را تولید می کند، یا با یک بردار نمونه از قبل محاسبه شده.

به عنوان مثال، استفاده از توابع را در نظر بگیرید پولسترنو سینکبرای بازیابی سیگنال آنالوگ از نمونه های گسسته آن طبق قضیه کوتلنیکوف.

t = -5:0.1:10; % زمان برای سیگنال آنالوگ
k = 0:5; درصد تعداد نمونه های سیگنال گسسته
sd = ; % سیگنال گسسته
sa = pulstran(t, , "sinc"); % سیگنال آنالوگ بازیابی شده
stem(k, sd) % نمودار سیگنال گسسته
صبر کن
نمودار (t، sa، "r") % نمودار سیگنال آنالوگ
نگه داشتن

توابع تبدیل سیگنال گسسته

شاید شناخته شده ترین تبدیل سیگنال گسسته، تبدیل فوریه گسسته (DFT) باشد. تابع مربوطه با استفاده از الگوریتم تبدیل فوریه سریع (FFT) در متلب به دسته توابع پردازش داده تعلق دارد و توابع داخلی است. fftو ift- نسخه تک بعدی، fft2و ifft2- نسخه دو بعدی، fft-shiftو ifftshift- جایگشت نیمه های بردار نمونه های طیفی برای انتقال فرکانس صفر به وسط بردار). در واقع، بسته پردازش سیگنال شامل توابعی است که تبدیل های خاص تری را پیاده سازی می کند.

مانند هر تبدیل خطی، DFT را می توان به عنوان ضرب ماتریس تبدیل در ستونی از نمونه های سیگنالی که باید تبدیل شود نشان داد. این ماتریس تبدیل برای DFT توسط تابع محاسبه می شود dftmtx.

باز هم، به دلیل خطی بودن DFT، هر نمونه طیفی را می توان به عنوان نتیجه پردازش سیگنال اصلی توسط برخی فیلترها نشان داد. نمایش این فیلتر به صورت بازگشتی می دهد الگوریتم هرزل، توسط تابع پیاده سازی شده است گورتزل. اگر فقط برخی از نمونه های طیفی باید محاسبه شوند، این الگوریتم سریعتر از FFT است.

یکی از بستگان نزدیک DFT تبدیل کسینوس گسسته است. هنگامی که محاسبه می شود، به جای ادامه دوره ای سیگنال، که در DFT فرض می شود، قطعات همسایه سیگنال ادامه دار در زمان منعکس می شوند. در نتیجه سیگنال تابعی یکنواخت از زمان می شود و طیف آن واقعی می شود. به همین دلیل، به جای نمایی پیچیده، فقط کسینوس در فرمول DFT ظاهر می شود که این نام را به وجود آورد. این تحول. تبدیل کسینوس گسسته رو به جلو و معکوس توسط توابع محاسبه می شود dctو idctبه ترتیب.

یک روش مهم برای تجزیه و تحلیل دنباله های عددی گسسته، تبدیل z است که تابعی از یک متغیر مختلط را ایجاد می کند. z:

.

در برخی مسائل باید محاسبه کرد z-تبدیل برای نقاط واقع در کانتور مارپیچ: . یک محاسبه کارآمد محاسباتی از تبدیل z در امتداد چنین خطی از تبدیل فوریه سریع استفاده می کند. در تابع پیاده سازی می شود czt.

هنگام اجرای برخی از انواع الگوریتم تبدیل فوریه سریع، به منظور افزایش کارایی، لازم است عناصر بردار پردازش شده را در ترتیب بیت معکوس(به این معنی که در نمایش های دودویی اعداد عناصر برداری، بیت ها به ترتیب معکوس خوانده می شوند و سپس بردار بر اساس اعداد عنصر جدید مرتب می شود). برای انجام چنین جایگشتی، از تابع استفاده کنید دوشخوار.

هنگام تجزیه و تحلیل سیگنال های باند باریک، نمایش سیگنال به عنوان یک نوسان با دامنه و فاز اولیه متغیر با زمان می تواند مفید باشد. برای به دست آوردن چنین نمایندگی، یک مجتمع سیگنال تحلیلی، که قسمت واقعی آن با سیگنال اصلی منطبق است و قسمت خیالی با تعیین می شود تبدیل هیلبرتاز سیگنال اصلی در حوزه فرکانس، سیگنال تحلیلی با یک طیف یک طرفه مشخص می شود: تابع طیفی آن فقط برای فرکانس های مثبت غیر صفر است. عملکرد هیلبرتبا محاسبه DFT رو به جلو، صفر کردن نیمی از طیف، و سپس محاسبه DFT معکوس، یک سیگنال تحلیلی را در حوزه فرکانس محاسبه می کند.

به عنوان مثال، بیایید یک سیگنال تحلیلی را برای یک پالس رادیویی مستطیلی محاسبه کنیم:

s = صفر (256.1);
s(65:192) = cos(pi/2*(0:127)")؛ درصد تعداد پالس های رادیویی
sa = هیلبرت (ها)؛ % سیگنال تحلیلی
f = (-128:127)/128; مقدار درصد فرکانس های نرمال شده برای نمودارها
طرح فرعی (2،1،1)
نمودار (f، abs(fftshift(fft(s)))) ٪ طیف سیگنال واقعی
طرح فرعی (2،1،2)
نمودار(f، abs(fftshift(fft(sa)))) درصد طیف سیگنال تحلیلی

نمودار پایین به وضوح صفر شدن طیف در ناحیه فرکانس های منفی و دو برابر شدن آن در ناحیه فرکانس های مثبت را نشان می دهد.

آنالیز مغزی

تجزیه و تحلیل Cepstral مربوط به پردازش سیگنال homomorphic است. چنین پردازشی از اصل تعمیم برهم نهی تبعیت می کند: اگر سیگنال ورودی سیستم ترکیبی از چندین سیگنال به دست آمده با استفاده از یک عملیات ریاضی باشد. ولی، سپس در خروجی نتایج پردازش سیگنال های فردی با استفاده از عملیات ترکیب می شود ب. تجزیه و تحلیل Cepstral کاربرد خود را به ویژه در مشکلات پردازش گفتار پیدا کرده است. بسته پردازش سیگنال دارای چندین عملکرد مرتبط با تجزیه و تحلیل مغزی است.

عملکرد rcepsسپستروم واقعی سیگنال را با نادیده گرفتن اطلاعات موجود در آن محاسبه می کند طیف فاز. همین تابع به شما اجازه می دهد تا دریافت کنید بازسازی حداقل فازعلامت. صفرها z- تبدیل دنباله قرائت چنین سیگنالی روی صفحه مختلط داخل دایره واحد قرار دارد و سپستروم آن با سپستروم سیگنال اصلی منطبق است.

سپستروم پیچیده با استفاده از تابع محاسبه می شود cceps، هم دامنه و هم اطلاعات فاز را در نظر می گیرد، بنابراین رابطه آن با سیگنال اصلی یک به یک است. تبدیل معکوس، یعنی محاسبه سیگنال از سپستروم پیچیده شناخته شده، توسط تابع انجام می شود یخ.

تغییر نرخ نمونه

تبدیل ها شامل گروهی از توابع است که فرکانس نمونه برداری سیگنال را تغییر می دهد. بیشتر اوقات، نرخ نمونه برداری باید با تعداد صحیح بار تغییر کند. در صورت افزایش نرخ نمونه برداری، این عملیات نامیده می شود درون یابیو در صورت کاهش - لاغر کننده(قطع کردن). هر گونه محاسبه مجدد نرخ نمونه مستلزم انجام چندین مرحله متوالی است. بسته پردازش سیگنال شامل توابعی است که هم اقدامات فردی و هم دنباله های ضروری آنها را اجرا می کند.

برای انجام درون یابی بین نمونه های سیگنال، تعداد صفر مورد نیاز درج می شود (تابع نمونه بالا، سپس سیگنال دریافتی از یک فیلتر پایین گذر عبور داده می شود. این دو مرحله با هم توسط تابع پیاده سازی می شوند interp.

برای انجام decation، سیگنال از طریق یک فیلتر پایین گذر، و سپس از هر یک عبور داده می شود ن-تعداد (تابع نمونه پایین). این دو مرحله با هم توسط تابع پیاده سازی می شوند از بین بردن.

ترکیبی از عملیات درون یابی و نازک شدن به شما امکان می دهد نرخ نمونه برداری را با یک عامل بیان شده توسط یک کسر منطقی دلخواه تغییر دهید. برای افزایش کارایی محاسبات، چنین محاسبه مجدد توسط یک تابع تخصصی انجام می شود نمونه گیری مجددو به نوبه خود تابع را فراخوانی می کند upfirdn(صفر درج، فیلتر و حذف). تفاوت اصلی بین این دو تابع در این است upfirdnبه شما امکان می دهد پاسخ ضربه ای فیلتر استفاده شده و هنگام استفاده از عملکرد را تنظیم کنید نمونه گیری مجددفیلتر به طور خودکار محاسبه می شود.

در نهایت، برای محاسبه مجدد مطلقاً دلخواه گشتاورهای مرجع، می توان از توابع درون یابی رایج موجود در کتابخانه هسته متلب استفاده کرد، مانند interp1و اسپلاین ها.

به عنوان مثال، اجازه دهید سیگنال استفاده شده در بالا را برای نشان دادن توابع درون یابی کنیم پولسترنو سینک، نرخ نمونه برداری را چهار برابر افزایش داد. نمونه های صفر در امتداد لبه های سیگنال اضافه می شوند، زیرا تابع است interpمستلزم آن است که توالی اصلی حداقل نه نمونه باشد.

sd = ; % سیگنال اصلی
t = 0:9; % زمان گسسته برای سیگنال اصلی
sd4 = interp(sd, 4); ٪ درونیابی
t4 = (0:39)/4; % زمان گسسته برای سیگنال درون یابی
stem(t, sd) % نمودار سیگنال اصلی
صبر کن
نمودار (t4، sd4، "x") % نمودار سیگنال درون یابی
نگه داشتن

در نمودار بالا، سیگنال اصلی با "ساقه" و سیگنال درون یابی شده با ضربدر نشان داده شده است.

این گروه شامل کاملا عدد بزرگکارکرد. بسیاری از آنها در درجه اول برای "استفاده داخلی" در نظر گرفته شده اند - آنها توسط سایر توابع موجود در بسته فراخوانی می شوند. با این حال، تعدادی از توابع در این دسته یک مقدار کاملا مستقل دارند.

عملکرد بافربه شما امکان می دهد بردار نمونه های سیگنال را در ماتریسی از فریم های متوالی نشان دهید و این فریم ها می توانند همپوشانی داشته باشند.

کارکرد مدو demodمدولاسیون و دمودولاسیون را به ترتیب انجام دهید. انواع مدولاسیون زیر پشتیبانی می شود: دامنه، حامل سرکوب شده دامنه، باند تک طرفه، فاز، فرکانس، مربع، عرض پالس، زمان پالس.

کارکرد رمزگذاریو رمزگشاییبه ترتیب، کوانتیزاسیون یکنواخت و بازیابی سیگنال را با تعداد سطوح کوانتیزاسیون انجام دهید.

عملکرد راه راهبرای نمایش یک نمودار سیگنال در چندین خط طراحی شده است. اگر لازم است نگاهی بیندازید، مفید است سیگنال طولانیبه طور کامل، و وضوح در امتداد محور عمودی اهمیت زیادی ندارد.

خانواده ای از توابع که نام آنها با علامت شروع می شود dpss، برای محاسبه توابع کروی پرولات گسسته و کار با پایگاه داده طراحی شده برای ذخیره توابع محاسبه شده طراحی شده است. توابع کروی پرولات گسسته در آنالیز طیفی با روش تامسون استفاده می‌شود (به بخش «توابع تحلیل طیفی و پردازش سیگنال آماری»، بخش فرعی «روش‌های ناپارامتری» در بالا مراجعه کنید.

کارکرد cell2sosو sos2cellبه شما امکان می دهد اطلاعات مربوط به فیلتر را که در قالب بخش های مرتبه دوم به صورت متوالی ارائه شده است، نه تنها به شکل ماتریس، بلکه در قالب آرایه ای از سلول ها ذخیره کنید. این دو تابع نما را بین دو فرم مشخص شده تبدیل می کنند.

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

عملکرد cplxpairجفت های مزدوج مختلط را در بردارهای اعداد مختلط انتخاب می کند.

عملکرد طول برابربه شما این امکان را می دهد که طول دو بردار را با قرار دادن بردار کوتاهتر با صفر در انتها برابر کنید.

عملکرد دوره متوالیبرای بررسی تناوب عناصر بردار و تعیین دوره تکرار آنها طراحی شده است.

برنامه سنتز و آنالیز فیلتر FDATool (Filter Design & Analysis Tool) پوسته ای برای فراخوانی توابع سنتز و تجزیه و تحلیل فیلترهای گسسته است. اگر جعبه ابزار طراحی فیلتر را دارید این برنامههمچنین به شما امکان می دهد اثرات مربوط به کمی سازی ضرایب فیلتر را تجزیه و تحلیل کنید و تبدیل نوع فیلتر (LPF به HPF و غیره) را انجام دهید.

این برنامه نه تنها امکان محاسبه فیلترها را از ابتدا، بلکه همچنین ذخیره و بارگیری جلسات کاری، ویرایش فیلترهای ذخیره شده قبلی را نیز فراهم می کند. علاوه بر این، می‌توانید توضیحات فیلتر را از فضای کاری MATLAB یا از فایل‌های فرمت XILINX CORE Generator (*.coe) وارد کنید. فیلترهای وارداتی فقط قابل تجزیه و تحلیل هستند.

هنگام تجزیه و تحلیل، می توانید مشخصات فیلتر زیر را مشاهده کنید (در آخرین نسخه هابسته، می توانید چندین نمودار را به طور همزمان مشاهده کنید):

  • مشخصه دامنه فرکانس (AFC).
  • پاسخ فاز (PFC).
  • AFC و PFC همزمان.
  • تاخیر گروهی
  • تاخیر فاز
  • پاسخ ضربه.
  • مشخصه گذار
  • محل قرارگیری صفرها و قطب ها در صفحه مختلط.
  • ضرایب فیلتر
  • اطلاعاتی در مورد ساختار فیلتر

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

  • جلسه را برای بارگذاری بعدی در برنامه FDATool برای ویرایش و تجزیه و تحلیل بیشتر ذخیره کنید.
  • صادرات به فضای کاری متلب.
  • صادرات به فایل متنی
  • صادرات به فایل MAT.
  • صادرات به فایل هدر (*.h) زبان C.
  • صادرات به SPTool (به زیر مراجعه کنید).

شکل زیر نمای پنجره برنامه FDATool را با نتایج محاسبه فیلتر پایین گذر بیضی به روش تبدیل z دوخطی نشان می دهد. نمودارهای پاسخ فرکانسی و تاخیر گروه نمایش داده می شوند.

برنامه پردازش سیگنال SPTool (ابزار پردازش سیگنال) به شما اجازه می دهد تا عملیات زیر را انجام دهید: سیگنال ها را از فایل های MAT یا فضای کاری MATLAB وارد کنید. مشاهده نمودارهای سیگنال (از جمله چندین به طور همزمان)؛ برای سیگنال ها اعمال شود روش های مختلفتجزیه و تحلیل طیفی و مشاهده نمودارهای حاصل. محاسبه فیلترهای گسسته با استفاده از توابع بسته (از جمله با ویرایش مستقیم مکان صفرها و قطب ها)؛ سیگنال ها را از فیلترها عبور داده و سیگنال های خروجی حاصل را تجزیه و تحلیل کنید.

لازم به ذکر است که از نظر تجزیه و تحلیل و ترکیب فیلترها، قابلیت های برنامه SPTool محدودتر از برنامه FDATool است (تنها استثنا امکان ویرایش مستقیم مکان صفرها و قطب ها است که در FDATool وجود ندارد. ). با این حال، این محدودیت ها با توانایی صادرات فیلتر محاسبه شده از FDATool به SPTool جبران می شود.

شکل های زیر نمای پنجره برنامه SPTool را هنگام مشاهده نمودار سیگنال، هنگام تجزیه و تحلیل طیف و هنگام ویرایش مکان صفرها و قطب های فیلتر نشان می دهد.

برنامه برای سنتز و تجزیه و تحلیل توابع وزن (پنجره) WinTool (ابزار طراحی و تحلیل پنجره)، که در بسته نسخه 6.0 (R13) ظاهر شد، پوسته ای برای فراخوانی توابع محاسبه پنجره موجود در بسته است. این ویژگی های پنجره (یا چندین پنجره به طور همزمان) را در حوزه زمان و فرکانس نشان می دهد.

شکل زیر نمایی از پنجره برنامه WinTool را با نتایج محاسبه پنجره Chebyshev از مرتبه 64 با سطح لوب های جانبی طیف -100 دسی بل نشان می دهد. نمودار دامنه زمانی پنجره و طیف آن نمایش داده می شود.

طراحی فیلتر دیجیتال

4.1.1. تعاریف اساسی طراحی فیلتر دیجیتال

فیلتر دیجیتال (DF) به طور کلی به معنای هر نوع است سیستم دیجیتال، که یک سیگنال دیجیتال یا پارامترهای آن را از مخلوط موجود در ورودی سیستم استخراج می کند سیگنال تداخل

یک فیلتر دیجیتال در معنای محدود یک مدار انتخابی فرکانس است که انتخاب را فراهم می کند سیگنال های دیجیتالبا فرکانس

فیلترهای دیجیتال به معنای وسیع عبارتند از:

اصلاح کننده های دامنه و فاز مشخصه های فرکانس؛

متمایز کننده ها؛

هیلبرت ترانسفورماتور;

فیلترهای همسان

فیلترهای دیجیتال به معنای محدود عبارتند از فیلترهای انتخابی فرکانس:

فیلتر پایین گذر (LPF)؛

فیلتر بالا گذر (HPF)؛

فیلتر عبور باند (PF)؛

فیلتر ناچ (RF).

فیلترهای دیجیتال را می توان پیاده سازی کرد:

سخت افزار؛

به صورت برنامه ای؛

سخت افزار نرم افزار.

پیاده سازی سخت افزار به معنای استفاده از عناصر عملکردی به شکل ثبات، جمع کننده، ضرب کننده، دستگاه حافظه، عناصر منطقی است.

پیاده سازی نرم افزاربه این معنی که فیلتر به عنوان یک برنامه نوشته شده در یک زبان برنامه نویسی ارائه می شود.

اجرای سخت‌افزار-نرم‌افزار به این معناست که بخشی از توابع فیلتر به صورت سخت‌افزاری (ADC، DAC، ضرب، دریافت/انتقال داده‌ها) انجام می‌شود در حالی که بخشی دیگر از توابع در نرم‌افزار اجرا می‌شود.

طراحی فیلتر دیجیتال به عنوان فرآیندی درک می شود که در نتیجه آن یک برنامه ارائه می شود یا دستگاه دیجیتالکه الزامات داده شده را برآورده می کند.

طراحی فیلتر دیجیتال شامل مراحل زیر است:

1. سنتز.

2. توسعه الگوریتم های محاسباتی.

3. تایید با شبیه سازی.

4. پیاده سازی عملی و اشکال زدایی.

نتیجه سنتزاست طرح ساختاریفیلتر و مجموعه ای از ضرایب و معادلات تفاوت و توابع انتقال.

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

تایید شبیه سازیدر مقیاس زمانی غیر واقعی با توجه به سیگنال های استاندارد با استفاده از شبیه سازهای نرم افزاری انجام می شود. در عین حال، خطاهای منطقی حذف شده و مطابقت فیلتر با ویژگی های مشخص شده بررسی می شود.

پیاده سازی عملی و رفع اشکالدر زمان واقعی با کمک ماژول های اشکال زدایی انجام می شود.



اطلاعات کلیدر مورد سنتز CF

در طول فرآیند سنتز، مراحل زیر انجام می شود:

الزامات فیلتر تنظیم شده است.

ضرایب تابع انتقال یا معادله تفاوت محاسبه می شود.

بلوک دیاگرام فیلتر دیجیتال در حال شکل گیری است.

بسته به هدف فیلتر، الزامات فیلتر دیجیتال را می توان در حوزه زمان یا در حوزه فرکانس مشخص کرد.

الزامات در حوزه زمان معمولاً برای فیلترهای همسان از طریق پاسخ ضربه ای مورد نیاز مشخص می شود.

الزامات در حوزه فرکانس معمولاً برای فیلترهای انتخابی فرکانس مشخص می شود.

به عنوان مثال، الزامات یک فیلتر باند گذر با پنج باند فرکانسی مشخص می شود (شکل 2.1):

پهنای باند مرکزی (PP)؛

دو خط بازداشت (PZ1، PZ2)؛

دو خط انتقال

شکل 2.1 - نمودار الزامات برای پاسخ فرکانسی PF

شکل 1 نشان می دهد:

فرکانس قطع اولین باند توقف PZ1 که عرض آن ;

فرکانس قطع باند چپ؛

فرکانس قطع باند راست، پهنای باند ;

فرکانس قطع باند تاخیر دوم PZ2 که عرض آن ;

نوارهای انتقال 1 و 2 دارای عرض هستند , ، به ترتیب.

مقدار حداکثر انحراف مجاز پاسخ فرکانس را از 1 در پهنای باند مشخص می کند. مقدار حداکثر انحراف مجاز پاسخ فرکانس را از 0 در باندهای توقف مشخص می کند. الزامات برای ویژگی های پاسخ فرکانسی در باندهای انتقال معمولاً مشخص نمی شود.

انواع روش های سنتز زیر وجود دارد:

روش های مستقیم سنتز؛

روش های سنتز با استفاده از نمونه اولیه آنالوگ

روش های مستقیم به دو دسته تقسیم می شوند:

بهترین شیوه ها؛

روش های غیر بهینه

AT بهترین شیوه هاروش های عددی برای یافتن حداقل یک تابع کیفیت معین استفاده می شود. به عنوان حداقل اندازه گیری انحراف مشخصه فیلتر از مشخصه داده شده، از میزان خطا استفاده می شود:



. (2.1)

روش‌های غیربهینه، ساده کردن محاسبات را با در نظر گرفتن ویژگی‌های مسئله ممکن می‌سازد.

بخش تئوری این کار آزمایشگاهی در آموزش "روش های سنتز فیلترهای دیجیتال" (filtrs\lecture_dsp.doc) موجود است.

  1. کار با برنامه qedesign 1000.

برای دانلود سیستم طراحی فیلتر دیجیتال QEDESIGN 1000 QED.exe را اجرا کنید.

در منوی اصلی که باز می شود، زیر منوی Design را انتخاب کنید، پنجره ای برای تعیین انواع فیلتر برای محاسبه باز می شود:

عکس. 1. منوی "طراحی" شکل 2. منوی گزینه ها

در اینجا می توانید نوع روش محاسبه فیلتر فیلتر را برای محاسبه انتخاب کنید:

1. محاسبه فیلتر IIR (IIR Design).

برای فیلترهای IIR، علاوه بر این، منوی گزینه ها را باز کرده و یکی از روش ها را انتخاب کنید

    تبدیل دو خطی

    روش پاسخ ضربه ثابت (Impulse Invariant)

2. محاسبه فیلتر FIR به روش وزن دهی با استفاده از پنجره (FIR Design (Windows))

3. محاسبه فیلتر FIR به روش فیلترهای بهینه (FIR Equiripple FIR Filter Design)

با کلیک بر روی دکمه سمت چپ ماوس روش مورد نظر را انتخاب کنید.

1 - فیلتر پایین گذر (Lowpass)

2 - فیلتر بالا گذر (Highpass)

3 - فیلتر باند گذر (Bandpass)

فیلتر 4 ناچ (Bandstop)

پس از انتخاب نوع فیلتر، پنجره ای برای تنظیم پارامترهای فیلتر باز می شود.

شکل 3. پنجره ای برای تنظیم پارامترهای فیلتر پایین گذر

شکل 4. پنجره ای برای تنظیم پارامترهای فیلتر بالاگذر

در این پنجره باید تنظیم کنید:

فرکانس نمونه برداری اف د

فرکانس های قطع باند Wп (فرکانس باند عبور)

فرکانس های قطع باند تاخیر Wз (فرکانس باند توقف)

ریپل (تضعیف) در باند عبور (Passband Ripple)

ریپل (تضعیف) در باند تاخیر (Stopband Ripple)

در انجام این کار، به یاد داشته باشید:

برای فیلترهای پایین گذر Wp

برای فیلترهای بالاگذر Wп>Wз

برای فیلترهای باند گذر Wп1

برای فیلترهای ناچ Wp1

فرکانس های قطع باید کمتر از نرخ نمونه تقسیم بر 2 باشد.

محدوده موج دار (واپاشی) معمولی:

در پهنای باند 0.1 - 3 دسی بل

در باند تاخیر 20 - 100 دسی بل

تمام فیلدها را پر کنید و روی دکمه "پذیرش" کلیک کنید.

D
سپس به منوی اصلی بروید و آیتم منو "شروع" را انتخاب کنید.

در این صفحه برای فیلترهای IIR، پنجره شکل. 5.

شکل 5. پنجره ای برای محاسبه فیلترهای IIR

نمونه اولیه نوع فیلتر آنالوگ (نوع فیلتر آنالوگ را انتخاب کنید):

1- باترورث;

2 - چبیشف;

3 - معکوس چبیشف؛

4 - بیضوی;

5 - بسل;

سفارش فیلتر (سفارش دلخواه را وارد کنید)

ترتیب فیلتر باید مضربی از 2 باشد. از ترتیب تخمینی (ترتیب تخمینی فیلتر) بیشتر نباشد.

برای فیلترهای FIR که با روش پنجره محاسبه می شوند، یک پنجره باز می شود، شکل. 6

برنج. 6. پنجره ای برای محاسبه فیلترهای FIR به روش پنجره.

در اینجا توابع پنجره احتمالی به همراه تعداد توصیه شده از نمونه های سفارش تخمینی آمده است:

1 - مستطیل؛

2 - مثلثی؛

4 - همینگ;

5 - بلکمن;

و دیگران.

تعداد ضربه های فیلتر را انتخاب کنید (تعداد ضربه های مورد نظر را وارد کنید)

تعداد قرائت ها نباید کمتر از 2 و بیشتر از توصیه شده نباشد.

برای فیلترهای FIR بهینه، انتخاب کنید:

تعداد تخمینی شیرها

تعداد قرائت ها نباید کمتر از 3 و بیشتر از توصیه شده نباشد.

کاربر می تواند نمودارهای زیر را بر روی صفحه نمایش و چاپگر نمایش دهد:

برای فیلترهای IIR:

مشخصه دامنه (قدرت)

پاسخ فاز (فاز)؛

قطب ها و صفرهای تابع انتقال (قطب ها و صفرها)؛

مشخصه تاخیر گروهی (تاخیر گروهی)؛

برای فیلترهای FIR:

مشخصه دامنه (قدرت)؛

پاسخ دامنه در مقیاس لگاریتمی (مقدار Log10).

پاسخ ضربه ای (Impulse Response);

پاسخ گذرا (پاسخ گام)؛

منوی ذخیره نتایج باز می شود، شکل 7.

برنج. 7. ذخیره نتایج منو

نام فایل رایج (به عنوان مثال filtr1) برای ذخیره نتایج استفاده می شود.

اگر گزینه Save Problem Specifications انتخاب شده باشد، مشخصات فیلتر در فایل *.spc ذخیره می شود.

اگر گزینه Create Quantizied Coefficient File انتخاب شود، ضرایب فیلتر ذخیره می شود. سیستم کوانتیزاسیون ضرایب فیلتر را انجام می دهد. گزینه Quantize Coefficients همیشه باید انتخاب شود. در غیر این صورت ضرایب فیلتر ذخیره نمی شود.

روی انجیر 8. پنجره ای برای تنظیم پارامترهای کوانتیزاسیون نشان می دهد که حاوی اطلاعاتی در مورد نحوه اجرای فیلتر نیز می باشد.

برنج. 8. Quantize Options Menu

برای فیلترهای IIR، دو نوع پیاده سازی ممکن است:

    فرم آبشاری با بلوک های مرتبه دوم به صورت مستقیم (قسمت مرتبه دوم جابجایی آبشاری).

    فرم آبشاری با بلوک های مرتبه دوم به صورت متعارف (بخش مرتبه دوم Canonic Canonic).

    فرم مستقیم موازی با بلوک های مرتبه دوم (بخش دوم مرتبه دوم انتقال موازی).

    Parallel Transposed Second Order Section (Parallel Transposed Second Order Section);

نتایج محاسبه ضرایب فیلتر در فایل *.flt ذخیره می شود.

در زیر نمونه ای از محتویات فایل ضرایب فیلتر باند پاس کوانتیزه شده است.

فایل ضریب فیلتر

فیلتر نوع باند

نوع فیلتر آنالوگ بیضی

PASSBAND RIPPLE IN -dB -3.0000

ریپل توقف باند در -dB -20.0000

فرکانس های قطع گذر .500000E+03.600000E+03 هرتز

فرکانس های قطع استاپ باند 0.400000E+03.700000E+03 هرتز

فرکانس نمونه برداری 0.400000E+04 هرتز

روش طراحی فیلتر: تبدیل دو خطی

سفارش فیلتر 40004h

تعداد بخش ها 20002h

نه OF QUANTIZED BITS 16 0010h

نوع کمی سازی - نقطه شناور بلوک

ضرایب مقیاس شده برای فرم آبشار II

4 FFFFFFFC /* تعداد شیفت برای افزایش کلی */

21237 000052F5 /* بهره کلی */

2 FFFFFFFE /* تعداد جابجایی برای مقادیر شمارنده بخش 1 */

30006 00007536 /* بخش 1 ضریب B0 */

21867 FFFFAA95 /* بخش 1 ضریب B1 */

30006 00007536 /* بخش 1 ضریب B2 */

1 00000001 /* تعداد شیفت برای مقادیر مخرج بخش 1 */

19208 00004B08 /* بخش 1 ضریب A1 */

15554 FFFFC33E /* بخش 1 ضریب A2 */

3 00000003 /* تعداد شیفت برای مقادیر اعمار بخش 2 */

15490 00003C82 /* بخش 2 ضریب B0 */

25573 FFFF9C1B /* بخش 2 ضریب B1 */

15490 00003C82 /* بخش 2 ضریب B2 */

1 00000001 /* تعداد شیفت برای مقادیر مخرج بخش 2 */

0000571B 22299 /* بخش 2 ضریب A1 */

15636 FFFFC2EC ​​/* بخش 2 ضریب A2 */

2289276123046875D+00 3FCD4D8000000000 .22893000E+00 /* بخش 1 B0 */

1668319702148437D+00 BFC55AC000000000 -.16683484E+00 /* بخش 1 B1 */

2289276123046875D+00 3FCD4D8000000000 .22893000E+00 /* بخش 1 B2 */

1172363281250000D+01 3FF2C20000000000 -.11723777E+01 /* بخش 1 A1 */

9493560791015625D+00 BFEE612000000000 .94936011E+00 /* بخش 1 A2 */

3781799316406250D+01 400E412000000000 .37818290E+01 /* بخش 2 B0 */

6243408203125000D+01 C018F94000000000 -.62435106E+01 /* بخش 2 B1 */

3781799316406250D+01 400E412000000000 .37818290E+01 /* بخش 2 B2 */

1361022949218750D+01 3FF5C6C000000000 -.13610497E+01 /* بخش 2 A1 */

9543914794921875D+00 BFEE8A6000000000 .95439489E+00 /* بخش 2 A2 */

اجرای ساختار فرم آبشاری فیلتر IIR با مقاطع مرتبه دوم به صورت متعارف (نوع) 2

فیلتر سنتز شده را می توان به عنوان محصولی از بخش های مرتبه دوم نشان داد:

,

که در آن K قسمت صحیح (N=1)/2 است. اچ ک (z) شکل کلی دارد:

فیلتر را می توان با استفاده از فرم زیر برای هر بخش مرتبه دوم به صورت متعارف پیاده سازی کرد:

شکل 9. بخش مرتبه دوم به صورت متعارف

(تفاوت قابل توجهی بین چنین پیاده سازی و اجرای مستقیم چیست؟)

اجرای ساختار فرم آبشاری فیلتر FIR با مقاطع درجه دوم به صورت متعارف

می توانیم تجزیه کنیم اچ(z) برای سیستم های مرتبه دوم:

K قسمت صحیح (M+1)/2 است (M طول فیلتر است).

اجرای آبشاری ساده یک فیلتر FIR با بخش های مرتبه دوم:

برنج. 10. اجرای آبشاری ساده یک فیلتر FIR.