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

📄 f_firamp.m

📁 digital signal processing常用工具箱
💻 M
字号:
function A = f_firamp (f,fs,p);

%F_FIRAMP: Amplitude response of frequency-selective filter
%
% Usage: A = f_firamp (f,fs,p);
%
% Inputs: 
%         f  = vector of length N contain input frequencies
%         fs = sampling frequency
%         p  = vector containing filter parameters
%
%              p(1) = filter type
%
%                     0 = lowpass
%                     1 = highpass
%                     2 = bandpass
%                     3 = bandstop
%
%              p(2) = first cutoff frequency, F_0
%              p(3) = second cutoff frequency, F_1
%              p(4) = transition bandwidth, B
% Outputs: 
%          A  = vector containing amplitude response 
%               evaluated at vector f.
%
% Note: This can be used as the first calling argument
%       of f_firwin     
%
% See also: F_FIRWIN, F_FIRIDEAL

% Initialize

A = zeros(size(f));
f_type = p(1);
F_0 = p(2);
F_1 = p(3);
B = p(4);

% Compute amplitude

switch (f_type)
   
case 0,
   
   i1 = find(f <= F_0);
   A(i1) = 1;
   i2 = find((f > F_0) & (f < F_0+B));
   A(i2) = 1 - (f(i2)-F_0)/B; 
   
case 1,
   
   i1 = find(f >= F_1);
   A(i1) = 1;
   i2 = find((f > F_1-B) & (f < F_1));
   A(i2) = (f(i2) - (F_1-B))/B;
   
case 2,
   
   i1 = find((f >= F_0) & (f <= F_1));
   A(i1) = 1;
   i2 = find((f > F_0-B) & (f < F_0));
   A(i2) = (f(i2) - (F_0-B))/B;
   i3 = find((f > F_1) & (f < F_1+B));
   A(i3) = 1 - (f(i3)-F_1)/B;
   
case 3,
   
   i1 = find((f <= F_0-B) | (f >= F_1+B));
   A(i1) = 1;
   i2 = find((f > F_0-B) & (f < F_0));
   A(i2) = 1 - (f(i2) - (F_0-B))/B;
   i3 = find((f > F_1) & (f < F_1+B));
   A(i3) = (f(i3)-F_1)/B;
   
end

⌨️ 快捷键说明

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