小工具知识网

当前位置: 首页 > 行业知识 > Sigma-delta ADC数字抽取滤波器的verilog与MATLAB设计

行业知识

Sigma-delta ADC数字抽取滤波器的verilog与MATLAB设计

2026-11-06 13:35:26 来源:互联网转载

Sigma-delta ADC数字抽取滤波器设计报告

       模数转换器根据采样率的不同发展为奈奎斯特(Nyquist)型和过采样(Oversampling)型两大类。奈奎斯特型ADC 采用2-3倍信号带宽的采样时钟进行采样。过采样型ADC采用过采样技术和噪声整形技术,以远高于2倍信号带宽的采样时钟进行采样,将信号中的噪声搬移到高频以此降低信号带宽内的量化噪声,提高信噪比。它由ΣΔ 调制器(Sigma-Delta Modulator,SDM)和数字抽取滤波器构成,ΣΔ 调制器通过过采样技术将信号带内的噪声平均分配到整个采样频域,并通过噪声整形技术将大量信号带内噪声推挤到高频处。数字抽取滤波器CIC将滤除模拟调制器输出信号带宽外的高频噪声,同时降低采样频率使其回到Nyquist 频率,输出高精度数字信号。在ΣΔ ADC 中,调制器对输入信号过采样,输出采样频率远高于Nyquist 频率的调制信号,过高的采样频率会增加后续电路实现难度,所以需要降低采样率。ADC数字抽取滤波器结构如下,由CIC滤波器、补偿滤波器、半带滤波器三部分级联构成 。

本文滤波器的总体设计参数如下:

设计难点:通带截止频率为2Hz,阻带起始频率为2.4hz,过渡带宽仅0.4Hz(下降曲线非常陡峭,需要耗费较多的硬件,目前的matlab仿真表明过渡带宽为100Hz时,滤波实际效果不佳,产生噪音频谱,仿真程序参考附录)。

1 梳妆级联(CIC)滤波器

Σ-Δ调制器输出的信号经过过采样和噪声整形,信号带宽内具有较高的信噪比。但此时输出信号频率较高,不利于后续电路的设计,需要滤除其高频噪声提取出有用信号,因此需要CIC级联数字滤波器

1.1  滤波器电路结构

电路结构如下, 积分电路和微分电路实现占空比计数 。中间电路实现降采样。

1.2 CIC Verilog程序

首先需要确认滤波器中的中间变量位宽,根据

Bout=N*log2(M)+Bin

(Bout为中间变量位宽,N为滤波器阶数,M为滤波器抽取率,Bin为滤波器输入位宽)

本文以3阶,抽取率为256,输入为1bit为例子,因此实现需要的滤波器变量位宽为25,由此可以得到verilog代码如下图所示:

// sinc3 filter

module sinc3

(

input DataIn,

input rst,

input clk,

output reg [24:0] DataOut

);

parameter Dec = 9'd256;

reg [24:0] sigma1;

reg [24:0] sigma2;

reg [24:0] sigma3;

reg [24:0] delta1;

reg [24:0] delta2;

reg [24:0] sigma3_Dec;

wire [24:0] sigma1_temp;

wire [24:0] sigma2_temp;

wire [24:0] sigma3_temp;

wire [24:0] delta1_temp;

wire [24:0] delta2_temp;

wire [24:0] delta3_temp;

reg [8:0] count;

assign sigma1_temp=sigma1+DataIn;

assign sigma2_temp=sigma2+sigma1_temp;

assign sigma3_temp=sigma3+sigma2_temp;

assign delta1_temp=sigma3_temp-sigma3_Dec;

assign delta2_temp=delta1_temp-delta1;

assign delta3_temp=delta2_temp-delta2;

always@(posedge clk or negedge rst)

begin

  if (rst==1'b0)

  begin

    sigma1

上一篇:荒漠迷城怎么换服务器?

下一篇:织梦安装疑难全解析,一键还原教程,轻松搞定安装难题!