⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ellip_3db_bp.m

📁 编写一个函数
💻 M
字号:
function [b,a] = ellip_3db_bp(N,Fc,Apass,Astop)

% ELLIP3DB Design a lowpass elliptic filter for a given 3 dB point.
%   Inputs:
%       N     - Filter order
%       Fc :[wc1 wc2]   - 3 dB cutoff frequency (0 to 1)
%       Apass - Passband attenuation (dB)
%       Astop - Stopband attenuation (dB)

M=N/2;

% Design an elliptic filter for any fp
fp = 0.5; % To keep things simple, we make fp equal to Fc

% Design prototype filter
[btemp,atemp] = ellip(M,Apass,Astop,fp);

% Find 3 db point
[H,w]=freqz(btemp,atemp,1024);
indx = max(find(abs(H).^2 >.5));
% Refine search 
[H2,w2]=freqz(btemp,atemp,linspace(w(indx),w(indx+1),1000)');
indx2 = max(find(abs(H2).^2 >.5));
f3db = w2(indx2)/pi;

% Apply frequency transformation to obtain final filter
[b,a] = iirlp2bp(btemp,atemp,f3db,Fc)
fvtool(b,a);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -