فیلتر‌ها در متلب

 

مقدمه

– يكي از جعبه ابزارهاي پركاربرد MATLAB جعبه ابزار پردازش سيگنال است كه مجموعه اي غني از توابع مفيد براي پردازش سيگنال مي باشد. مثلا از اين جعبه ابزار مي توان در تشخيص صدا و پردازش صوت استفاده كرد. جعبه ابزار پردازش سيگنال مجموعه اي از ابزارهاي موجود در محيط محاسباتي عددي MATLAB است كه محدوده وسيعي از اعمال پردازش سيگنال،  از توليد موج گرفته تا طراحي و پياده سازي فيلتر ، مدل سازي پارامتري و تحليل‌هاي طيفي را شامل مي شود.اين جعبه ابزار دو نوع مختلف ابزار را معرفي مي كند.يكي توابع مورد استفاده در پنجره دستورات كه شامل تحليل فيلترهاي آنالوگ و ديجيتال ، پياده سازي فيلترهاي ديجيتال ، طراحي فيلترهاي ديجيتال FIR وIIR طراحي فيلترهاي آنالوگ گسسسته سازي فيلترها ،تبديلات پنجره‌هاي طيفي ، آناليز كپستروم ، آناليز طيف و پردازش آماري سيگنال ، مدل سازي پارامتري، پيشگويي خطي و توليد موج مي باشدو ديگري مجموعه متقابلي از GUI‌ها براي تحليل و طراحي فيلتر) FDATOOI (، تحليل و طراحي پنجره) WVTOOI( ، تحليل و رسم سيگنال‌ها و فيلتر كردن سيگنال‌ها SPTOOI است .

مروري بر فيلتر كردن سيستم‌هاي خطي و تبديلات

–         طراحي و پياده سازي فيلترها

در اين بخش به نحوه فيلتر كردن سيگنا ل‌هاي گسسته از تابع filter و ساير توابع مربوطه در جعبه ابزار پردازش سيگنال پرداخته مي شود. همچنين به نحوه استفاده از اين جعبه ابزار در طراحي و تحليل ويژ گي‌هاي فيلترها كه شامل پاسخ ضربه ، پاسخ دامنه و فاز، تاخير جمعي و مكان صفر و قطب‌ها است نيز اشاره مي شود. پايه رياضي فيلتر كردن ، كانولوشن است. تابع conv يك عمل استاندارد كانولوشن يك بعدي با استفاده از دو بردار ورودي را انجام مي دهد. براي پردازش سيگنال‌هاي دو بعدي از تابع conv2 استفاده مي شود. در زير مثالي از اين حالت را مشاهده مي كنيد .

>>cov([1 1 1],[1 1 1])  Ans =

1  2  3  2  1           خروجي يك فيلتر ديجيتال y(k) برابر با كانولوشن ورودي آن ، x(K) ، در پاسخ ضربه فيلتر ، h(K) ، است .

در صورتي كه h(K) وX(K) داراي طول محدود باشند، پياده سازي فيلتر با استفاده از دستور conv امكان پذير است. به مثال  زير توجه كنيد .

>>x = randn(5,1);

>>h = [1 1 1 1]/4;

>>y = conv (h,x);

 

در حالت كلي تبديل zخروجي فيلتر Y(z) به تبديل zورودي آن به شكل زير مربوط است:

 

Y(z)=H(z)X(z)=X(z)

 

كه در آن H(z)  تابع تبديل فيلتر است. ضرايب در دو بردار كه يكي مربوط به صورت و ديگري مربوط به مخرج است ذخيره مي شوند. فيلترها به راحتي به اين شكل قابل پياده سازي هستند. براي مثال ضرايب يك فيلتر تك قطبي پايين گذر به شكل زير است.

>>b = 1 ;

>>a = [ 1  -]9.0;

>>y = filter (b,a,x);  تحليل صفرو قطب


تابع zplane صفر وقطب‌هاي يك سيستم خطي را رسم مي كند. براي مثال براي مشاهده صفحه صفر /قطب يك فيلتر ساده با يك جفت قطب مختلط در فركانس‌هاي 0.9exp( j*0.3*2pi )ويك صفردر 0.9exp( -j*0.3*2pi )از دستورات زير استفاده مي شود.

>>zer = -0.5 ;

>>pol = 0.9*exp( j*2*pi*[ -0.3  0.3]’);

>>zplane ( zer,pol );

 

 

و يامي توان از fvtool به اين شكل استفاده كرد كه ابتدا صفر وقطب‌ها را به فرم تابع تبديل در آورده و سپس از دستورات زير استفاده كرد:

>>[ b , a ] = zp2tf (zer,pol,1 );

>> ftool ( b , a )

و سپس در نوار ابزار روي Pole/Zero كليك كرده يا از Analysis>>Pole/ Zero Plot  شكل زير را مشاهده كرد

 

براي يك سيستم به شكل صفر و قطب ، ورودي zplane بردارهاي z وp كه مكان صفر و قطب‌ها هستند به صورت zplane (z , p) مي باشد و براي سيستمي به فرم تابع تبديل ورودي آن بردارهاي a و b كه ضرايب صورت و مخرج است به صورت zplane (b , a ) مي باشد.

تابع تبديل

–         تابع تبديل ، نمايش پايه حوزه zيك فيلتر ديجيتال است كه بيان كننده بر حسب دو چند جمله اي است .

توصيف مدل تابع تبديل براي يك فيلتر ديجيتال در حوزه z به شكل زير است:

 

1                                 

پیام بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

thirty seven − = 29