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

📄 filter_functions_body.vhd

📁 springer_-modeling_and_simulation_for_rf_system_design所有配套光盘源码5-11章
💻 VHD
字号:
-- ------------------------------------------------------------- -- Additional material to the book-- Modeling and Simulation for RF System Design-- ---- THIS MODEL IS LICENSED TO YOU "AS IT IS" AND WITH NO WARRANTIES, -- EXPRESSED OR IMPLIED. THE AUTHORS SPECIFICALLY DISCLAIM ALL IMPLIED -- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.-- THEY MUST NOT HAVE ANY RESPONSIBILITY FOR ANY DAMAGES, FINANCIAL OR-- LEGAL CLAIMS WHATEVER.-- ------------------------------------------------------------- Name:     Lowpass filter-- -- Description:-- This part contains the package with filter functions for-- the computation of lowpass filter coefficients---- Literature:-- ---- Dependencies: -- ------------------------------------------------------------- Logical Library         Design unit-- ------------------------------------------------------------- IEEE                    MATH_REAL-- --------------------------------------------------------------- Source:-- filter_functions_body.vhd-- -----------------------------------------------------------library IEEE;  use IEEE.MATH_REAL.all;package body FILTER is-- -------------------------------------------------------- Coefficients for Butterworth filter-- ------------------------------------------------------function LOWPASS_BUTTERWORTH_A (GRAD : INTEGER)   return REAL_VECTOR is  constant NU  : INTEGER := (GRAD+1)/2;  variable A   : REAL_VECTOR (1 to NU);begin  if GRAD mod 2 = 0 then    for I in 1 to GRAD/2 loop      A(I) := 2.0*COS((2.0*REAL(I)-1.0)*MATH_PI/2.0/REAL(GRAD));    end loop;  else    A(1) := 1.0;    for I in 2 to (GRAD+1)/2 loop      A(I) := 2.0*COS((REAL(I)-1.0)*MATH_PI/REAL(GRAD));    end loop;  end if;  return A;end function LOWPASS_BUTTERWORTH_A; function LOWPASS_BUTTERWORTH_B (GRAD : INTEGER)   return REAL_VECTOR is  constant NU  : INTEGER := (GRAD+1)/2;  variable B   : REAL_VECTOR (1 to NU);begin  if GRAD mod 2 = 0 then    for I in 1 to GRAD/2 loop      B(I) := 1.0;    end loop;  else    B(1) := 0.0;    for I in 2 to (GRAD+1)/2 loop      B(I) := 1.0;    end loop;  end if;  return B;end function LOWPASS_BUTTERWORTH_B;end package body FILTER;

⌨️ 快捷键说明

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