基于FPGA的四阶IIR数字滤波器
[10-10 20:38:44] 来源:http://www.88dzw.com 其它电路 阅读:8708次
文章摘要: 另外?熏模块中的五个系数定义为常数,以节省硬件资源,并且采用0舍1入法进行数据处理,尽量提高数据运算精度。VHDL程序如下:entity smultadd1 isport (clk_regbt,clk_reg: in std_logic:x0,x1,x2,y0,y1:in std_logic_vector(9 downto 0);yout: out std_logic_vector(9 downto 0));end smultadd1;architecture behav of smultadd1 issignal tan,tbn,tp2n:std_logic;signal cnt: std
基于FPGA的四阶IIR数字滤波器,标签:电路设计,http://www.88dzw.com另外?熏模块中的五个系数定义为常数,以节省硬件资源,并且采用0舍1入法进行数据处理,尽量提高数据运算精度。VHDL程序如下:
entity smultadd1 is
port (clk_regbt,clk_reg: in std_logic:
x0,x1,x2,y0,y1:in std_logic_vector(9 downto 0);
yout: out std_logic_vector(9 downto 0));
end smultadd1;
architecture behav of smultadd1 is
signal tan,tbn,tp2n:std_logic;
signal cnt: std_logic_vector(2 downto 0);
signal ta,tb,taa,tbb:std_logic_vector(8 downto 0);
signal tmpa,tmpb:std_logic_vector(9 downto 0);
signal tp:std_logic_vector(18 downto 0);
signal tpp:std_logic_vector,22 downto 0);
signal ytmp,p:std_logic_vector(23 downto 0);
constant a0:std_logic_vector(9 downto 0:=“0000011100”
(其余常数说明略)
begin
tp2n<=tan xor tbn;--求补后送阵列乘法器
taa<=not ta +‘1’ when (tan=‘1’) else ta;
tbb<=not tb +‘1’ when (tbn=‘1’) else tb;
tpp<=‘1’&‘1’&‘1’&‘1’& not tp +‘1’ when(tp2n=‘1’) else tp;
tmpa<=a0 when cnt=0 else
a1 when cnt=1 else
a2 when cnt=2 else
b0 when cnt=3 else
b1 when cnt=4 else (others=>‘0’);
tmpb<=x0 when cnt=0 else
x1 when cnt=1 else
x2 when cnt=2 else
y0 when cnt=3 else
y1 when cnt=4 else (others=>‘0’);
ta<=tmpa(8 downto 0);tb<=tmpb(8 downto 0);
- 上一篇:高频日光灯电路工作原理
《基于FPGA的四阶IIR数字滤波器》相关文章
- › 基于FPGA的1553B通信模块的设计
- › 基于FPGA的工控领域监控系统设计
- › 基于FPGA的嵌入式系统USB接口设计
- › 基于FPGA的NAND Flash ECC校验
- › 基于FPGA的实时中值滤波器硬件实现
- › 一种基于FPGA控制全彩大屏幕显示的设计
- 在百度中搜索相关文章:基于FPGA的四阶IIR数字滤波器
- 在谷歌中搜索相关文章:基于FPGA的四阶IIR数字滤波器
- 在soso中搜索相关文章:基于FPGA的四阶IIR数字滤波器
- 在搜狗中搜索相关文章:基于FPGA的四阶IIR数字滤波器