(۱۳۹۴/۱۲/۱۱, ۰۹:۰۱ ب.ظ)elmira نوشته: سلام
من تا به حال با متلب کار نکردم...تازه می خوام کار کنم
می خوام فیلتر باترورث را در متلب شبیه سازی کنم.
خواهش می کنم کمکم کنید فقط یه هفته وقت دارم روش کار کنم
سلام
برای طراحی فیلتر باترورث در نرم افزار متلب ،ابتدا با استفاده از تابع buttord ، درجه فیلتر مورد نظر را تعیین می کنیم . در این قسمت باید تمامی فرکانس ها را نرمالیزه کنیم یعنی تمامی فرکانس های موجود را بر فرکانس نایکوئیست تقسیم کنیم . سپس با استفاده از تابع butter صورت و مخرج تابع تبدیل را محاسبه می کنیم . سپس می توانیم با استفاده از تابع gain که خودمان آن را ایجاد می کنیم ، گین یا بهره تابع تبدیل را محاسبه کنیم و در نهایت با استفاده از تابع plot نمودار این تابع طراحی شده را رسم می کنیم .
برای مثال میخواهیم یک فیلتر میان نگذر باترورث با مشخصات زیر طراحی کنیم :
فرکانس باند عبور : 0.3 و 0.7
فرکانس باند نگذر : 0.4 و 0.6
تضعیف باند گذر : 0.4dB
تضعیف باند نگذر : 50dB
کد پیاچپی:
% Design of a Butterworth Bandstop Digital Filter
Ws = [0.4 0.6]; Wp = [0.3 0.7]; Rp = 0.4; Rs = 50;
% Estimate the Filter Order
[N1, Wn1] = buttord(Wp, Ws, Rp, Rs);
% Design the Filter
[num,den] = butter(N1,Wn1,'stop');
% Display the transfer function
disp('Numerator coefficients are ');disp(num);
disp('Denominator coefficients are ');disp(den);
% Compute the gain response
[g,w] = gain(num,den);
% Plot the gain response
plot(w/pi,g);grid
axis([0 1 -60 5]);
xlabel('\omega /\pi'); ylabel('Gain, dB');
('title('Gain Response of a Butterworth Bandstop Filter
کد پیاچپی:
function [g,w] = gain(num,den)
w = 0:pi/255:pi;
h = freqz(num,den,w);
g = 20*log10(abs(h));
rezavalizadeh95@gmail.com