مقدمه
– يكي از جعبه ابزارهاي پركاربرد 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 به شكل زير است: