当前位置:文档之家› CIC滤波器学习笔记

CIC滤波器学习笔记

CIC滤波器学习笔记
CIC滤波器学习笔记

学习笔记: CIC filter及其matlab实现

References:

[1] Understanding cascaded integrator-comb filters –By Richard Lyons, Courtesy of Embedded Systems Programming URL: https://www.doczj.com/doc/8215915635.html,/articles/article10028.html

[2] Example of Cascaded Integrator Comb filter in Matlab https://www.doczj.com/doc/8215915635.html,/2007/07/01/example-of-cascaded-integrator-comb-fil ter-in-matlab/

[3] Digital Signal Processing – Principles, Algorithms and Applications , John G. Proakis, Dimitris G. Manolakis

CIC数字滤波器是窄带低通滤波器的高计算效率的实现形式,常常被嵌入到现代通信系统的抽取和插值模块的硬件实现中。

CIC filter 应用

CIC滤波器非常适合用作抽取之前的抗混迭滤波和插值之后的抗镜像滤波。这两种应用都跟very high-data-rate滤波有关,例如现代无线系统中硬件正交调制和解调,以及delta-sigma A/D 和D/A 转换器。

Figure 1: CIC filter applications

因为CIC滤波器的幅频响应包络象sin(x)/x,通常在CIC滤波器之前或者之后都有一个high-performance linear-phase lowpass tapped-delay-line FIR filters, 用于补偿CIC滤波器不够平坦的通带。

CIC滤波器不需要乘法运算,易于硬件实现。

抽取CIC滤波器只不过是滑动平均滤波器的一个非常高效的迭代实现,有NR taps, 其输出再进行R 抽取 . 同样,插值CIC滤波器在每两个输入采样之间插入R -1个0,然后通过一个NR -tap的工作在输出采样率?s ,out 的滑动平均滤波器。对于高采样率转换率的抽取和插值来说,Figure 1所示的级联形式的计算量大大低于单一FIR滤波器的计算量。Recursive running-sum filter

Figure 2: D-point averaging filters

Figure 2a是标准的D-point moving-average 处理,需要D-1次加法运算和1次乘法运算。时域表达式:

Equation 1

z域表达式:

Equation 2

z域传递函数:

Equation 3

Figure 2b: 迭代running-sum filter,等价于figure 2a.

y(n) = 1/D * [x(n) + x(n-1) + … + x(n-D+1)]

y(n-1) = 1/D * [x(n-1) + x(n-2) + x(n-D+1) + x(n-D)]

y(n) –y(n-1) = 1/D * [x(n) –x(n-D)]

Equation 4

z域传递函数:

Equation 5

Equation 3 和Equation 5 本质是一样的。Equation 3 是非递归表达式,equation 5是递归表达式。不考虑delay length D的话,递归形式只需要一个加法和一个减法运算。

例子:figure 1a的matlab实现,滑动平均滤波器,忽略scale factor

% Moving Average filter

N = 10; %延时

xn = sin(2*pi*[0:.1:10]); %n=[0:1:100]; sin(2*pi*f*t)=sin(2*pi*f*T*n)=>f=1Hz, fs=10Hz.

hn = ones(1,N); %脉冲响应

y1n = conv(xn,hn);

% transfer function of Moving Average filter

hF = fft(hn,1024);

plot([-512:511]/1024, abs(fftshift(hF)));

xlabel(’Normalized frequency’)

ylabel(’Amplitude’)

title(’frequency response of Moving average filter’)

Figure 1c的matlab实现

% Implementing Cascaded Integrator Comb filter with the

% comb section following the integrator stage

N = 10;

delayBuffer = zeros(1,N);

intOut = 0;

xn = sin(2*pi*[0:.1:10]);

for ii = 1:length(xn)

% comb section

combOut = xn(ii) – delayBuffer(end);

delayBuffer(2:end) = delayBuffer(1:end-1);

delayBuffer(1) = xn(ii);

% integrator

intOut = intOut + combOut;

y2n(ii) = intOut;

end

err12 = y1n(1:length(xn)) – y2n;

err12dB = 10*log10(err12*err12′/length(err12)) % identical outputs close all

先integrator后comb的实现

% Implementing Cascaded Integrator Comb filter with the

% integrator section following the comb stage

N = 10;

delayBuffer = zeros(1,N);

intOut = 0;

xn = sin(2*pi*[0:.1:10]);

for ii = 1:length(xn)

% integrator

intOut = intOut + xn(ii);

% comb section

combOut = intOut – delayBuffer(end);

delayBuffer(2:end) = delayBuffer(1:end-1);

delayBuffer(1) = intOut;

y3n(ii) = combOut;

end

err13 = y1n(1:length(xn)) – y3n;

err13dB = 10*log10(err13*err13′/length(err13)) % identical outputs CIC filter structures

Figure 2c: the classic form of 1st-order CIC filter, 忽略figure 2b中的1/D因子。

其中前馈部分称为comb section, 其differential delay 是D;反馈部分称为积分器。

差分方程:

Equation 6

Equation 7

Figure 3: Single-stage CIC filter time-domain responses when D = 5 Figure 2c这个1阶CIC滤波器看做是2部分的级联。Figure 3a是comb stage的脉冲响应,figure 3b是积分器的脉冲响应,figure 3c是整个系统的脉冲响应。系统的脉冲响应是一个矩形序列,等价于moving-average filter和recursive running-sum filte r的单位脉冲响应,仅仅相差一个常数的scale factor。

Figure 4: Characteristics of a single-stage CIC filter when D = 5

1阶CIC滤波器的频率响应,Equation 7在单位圆上的z变换:

Equation 8

Equation 9

If we ignore the phase factor in Equation 9, that ratio of sin() terms can be approximated by a sin(x )/x function. This means the CIC filter's frequency magnitude response is approximately equal to a sin(x )/x function centered at 0Hz as we see in Figure 4a. (This is why CIC filters are sometimes called sinc filters.)

虽然在单位圆上有极点,但是CIC滤波器的系数都是1,滤波器系数没有量化误差,因此CIC 滤波器并不存在通常滤波器因在单位圆上有极点而导致的风险。虽然有递归,但是CIC滤波器是稳定的,线性相位的,有有限长度的脉冲响应。在0Hz处(DC),CIC滤波器增益等于comb滤波器delay D.

CIC 滤波器在抽取和插值中的应用

Figure 5: Single-stage CIC filters used in decimation and interpolation 大多数的CIC滤波器的rate change R等于comb的差分延时D.

Figure 6: Magnitude response of a 1st-order, D = 8, decimating CIC filter: before decimation; aliasiing after R = 8 decimation

?s ,out = ?s ,in /R

The spectral band, of width B , centered at 0Hz is the desired passband of the filter.

A key aspect of CIC filters is the spectral folding that takes place due to decimation.

假设CIC的输入信号的频谱是在[-?s ,in /2, ?s ,in /2 ]上的方波,那么经过CIC滤波器以后的输出信号的频谱如figure 6a绿色的包络所示。

我们知道,在8分之一下采用的情况下,?s ,out /2 是下采用后信号的频域边界,即?s ,in /16 。下采样后信号频域范围是[-?s ,out /2, ?s ,out /2 ],即是[-?s ,in /16, ?s ,in /16 ],带宽为?s ,in /8 。采样前信号在?s ,in /8 的整数倍为中心频率,宽度为?s ,in /8 的频谱都会混迭到下采样后的信号频带内。虽然下采样后信号的?s ,in /8 频带都被混迭了,由于我们真正关心的是以0hz为中心,带宽为B的一段频带,在这个频带外的频谱不需要考虑。

Figure 6a 中用阴影表示了将要被混迭且影响目标频带的频谱。

Figure 6b 是对混迭后(下采样后)目标频带的频谱混迭情况。

Figure 7: 1st-order, D = R = 8, interpolating CIC filter spectra: input spectrum; output spectral images

Figure 7a 是一个任意的基带频谱和它的由于8倍插值而产生的在?s ,in 整数倍上的频谱复制。

Figure 7b是滤波器的输出频谱,反映了不完美的滤波引入的不需要的频谱镜像。

在CIC滤波器后连接一个传统的lowpass tapped-delay-line FIR滤波器,如果这个滤波器的阻带包含第一个频谱镜像,那么可以很好的滤除这些频谱镜像。

Improving CIC attenuation

Figure 8: 3rd-order CIC decimation filter structure, and magnitude response before decimation when D = R = 8

Equation 10

提高抗混迭衰减的代价是增加了硬件加法器的使用,同时还增加了通带的弯曲下垂。

另外,增加滤波器阶数会影响到滤波器增益,滤波器增益跟阶数成指数关系。因为为保持稳定,CIC分不清通常需要全精度,加法器的bit数为M log2(D),这意味着高滤波器阶数需要大的数据位宽。即使如此,多级实现形式在商用集成电路中是很常用的,M阶的CIC 滤波器常称为sinc M滤波器。

Building a CIC filter

Figure 9: Single-stage CIC filter implementations: for decimation; f or interpolation

通常将CIC滤波器的comb部分放在低采样率区域来减少用于存储delay的存储器的siz e.

Figure 10: CIC decimation filter responses: for various values of differential delay N , when R = 8; for two decimation factors when N =2

那些采样率比高的采样率转换,其comb部分的差分延时的设计参数N的典型值是1或2。N有效的决定了抽取滤波器频率响应中零点的个数。如Figure 10a所示。

CIC抽取滤波器的一个重要特征是:在N一定的情况下,对于不同的抽取率R,滤波器响应的形状变化很小,如图figure 10b所示。当R大于16时,变化可以忽略不计。因此不同抽取率的系统可以用同样的补偿FIR滤波器。

CIC滤波器在每个积分部分有unity feedback,因此它遭受寄存器溢出之扰。不过只有满足下面2个条件,溢出没有影响。

·the range of the number system is greater than or equal to the maximum value expected at the output, and

·the filter is implemented with two's complement (nonsaturating) arithmetic.

因为一阶CIC滤波器在0Hz(DC)的增益D = NR , M cascaded CIC decimation filters have a net gain of (NR )M .每一级积分器必须增加NR bits width. 插值CIC滤波器在每2个采样值之间插入零,这降低了增益,因子为1/R , 因此插值CIC滤波器的整体增益为(NR )M /R . 因为必须用整数运算,每一级字宽必须要能够容纳这一级的最大信号(full-scale输入乘以增益)。

虽然Mth-order CIC decimation filter 得增益是(NR )M,individual integrators can experience overflow. (Their gain is infinite at DC.) As such, the use of two's complement arithmetic resolves this overflow situation just so long as the integrator word width accommodates the maximum difference between any two successive samples (in other words, the difference causes no more than a single overflow). Using the two's complement binary format, with its modular wrap-around property, the follow-on comb filter will properly compute the correct difference between two successive integrator output samples.

对于插值器,字宽在每一级comb滤波器会增加一个bit,因为积分器具有的累积特性,必须避免溢出。因此,必须在每一级comb滤波器增加一个bit的字宽给插值用。也可以不增加字宽而是丢弃每一级comb滤波器的LSB,这样会增加滤波器输出的noise.

Compensation filters

在典型的抽取/插值滤波器应用中,我们需要滤波器具有合理的平坦的通带和窄的过渡带。CIC滤波器自身不能够满足这样的需求,因为它的弯曲的通带增益和宽的过渡带。例如在抽取器中,在CIC滤波器之后级联一个补偿非递归FIR滤波器可以缓解这个问题,如figure 1a所示。

Figure 11: Compensation FIR filter responses; with a 1st-order decimation CIC filter; with a 3rd-order decimation

Figure 11a: 简单的3-tap FIR滤波器[-1/16, 9/8, -1/16]. 来补偿1st-order R = 8 CIC filter。

Figure 11b:15-tap compensation FIR filter having the coefficients [-1, 4, -16, 32, -64, 136, -352, 1312, -352, 136, -64, 32, -16, 4, -1]来补偿3rd-order R = 8 CIC filter.

Those dashed curves in Figure 11 represent the frequency magnitude responses of compensating FIR filters within which no sample-rate change takes place. (The FIR filters' input and output sample rates are equal to the ?s ,out output rate of the decimating CIC filter.) If a compensating FIR filter were designed to provide an additional decimation by two, its frequency magnitude response would look similar to that in Figure 12, where > s ,in is the compensation filter's input sample rate.

Figure 12: Frequency magnitude response of a decimate-by-2 compensation FIR filter

Advanced techniques

抽取CIC滤波器只不过是滑动平均滤波器的一个非常高效的迭代实现,有NR taps, 其输出再进行R 抽取. 同样,插值CIC滤波器在每两个输入采样之间插入R -1个0,然后通过一个NR -tap的工作在输出采样率?s ,out 的滑动平均滤波器。对于高采样率转换率的抽取和插值来说,Figure 1所示的级联形式的计算量大大低于单一FIR滤波器的计算量。

下图与figure 9a相同,下面是下图中两种方式的matlab实现

% For decimation, having the CIC filtering before taking every other sample D = 2; % decimation factor

N = 10; % delay buffer depth

delayBuffer = zeros(1,N); % init

intOut = 0;

xn = sin(2*pi*[0:.1:10]);

y6n = [];

for ii = 1:length(xn)

% comb section

combOut = xn(ii) – delayBuffer(end);

delayBuffer(2:end) = delayBuffer(1:end-1);

delayBuffer(1) = xn(ii);

% integrator

intOut = intOut + combOut;

y6n = [y6n intOut];

end

y6n = y6n(1:D:end); % taking every other sample – decimation

% For efficient hardware implementation of the CIC filter, having the

% integrator section first, decimate, then the comb stage

% Gain : Reduced the delay buffer depth of comb section from N to N/D

D = 2; % decimation factor

N = 10; % delay buffer depth

delayBuffer = zeros(1,N/D);

intOut = 0;

xn = sin(2*pi*[0:.1:10]); % input

y7n = []; % output

for ii = 1:length(xn)

% integrator

intOut = intOut + xn(ii);

if mod(ii,2)==1

% comb section

combOut = intOut – delayBuffer(end);

delayBuffer(2:end) = delayBuffer(1:end-1);

delayBuffer(1) = intOut;

y7n = [ y7n combOut];

end

end

err67 = y6n – y7n;

err67dB = 10*log10(err67*err67′/length(err67))

下图跟figure 9b相同,下面是下图2中形式的matlab实现

% For interpolation, insert the zeros followed by CIC filtering xn = sin(2*pi*[0:.1:10]);

I = 2; % interpolation factor

N = 10; % filter buffer depth

xUn = [xn; zeros(1,length(xn))];

xUn = xUn(:).’; % zeros inserted

delayBuffer = zeros(1,N);

intOut = 0;

for ii = 1:length(xUn)

% comb section

combOut = xUn(ii) – delayBuffer(end);

delayBuffer(2:end) = delayBuffer(1:end-1);

delayBuffer(1) = xUn(ii);

% integrator

intOut = intOut + combOut;

y4n(ii) = intOut;

end

% For efficient hardware implementation of CIC filter for interpolation, having

% the comb section, then zeros insertion, followed by integrator section

% Gain : Reduced the delay buffer depth of comb section from N to N/I

I = 2; % interpolation factor

N = 10; % original delay buffer depth

delayBuffer = zeros(1,N/I); % new delay buffer of N/I

intOut = 0;

xn = sin(2*pi*[0:.1:10]);

y5n = [];

for ii = 1:length(xn)

% comb section

combOut = xn(ii) – delayBuffer(end);

delayBuffer(2:end) = delayBuffer(1:end-1);

delayBuffer(1) = xn(ii);

% upsampling

combOutU = [ combOut zeros(1,1)];

for jj =0:I-1

% integrator

intOut = intOut + combOutU(jj+1);

y5n = [y5n intOut];

end

end

err45 = y4n – y5n;

err45dB = 10*log10(err45*err45′/length(err45)) % outputs matching

本文来自CSDN博客,转载请标明出处:

https://www.doczj.com/doc/8215915635.html,/DSP_Fan/archive/2010/04/19/5502652.aspx

低通插值滤波器说明书

The University of South China 数字信号处理课程设计 说明书 学院名称 指导教师 班级 学号 学生姓名 2010年6 月

设计一个按因子I=5的内插器,要求镜像滤波器通带最大衰减为 0.1dB ,阻带最小衰减为30dB ,过渡带宽不大于20/π,设计FIR 滤波器系数h(n) 一、初始设计 (1) 幅度指标 可以两种方式给出。第一种,叫做绝对指标,它提出了对幅度回应函数|H (jw)| 的要求。这些指标一般可直接用于FIR 滤波器。第二种方法叫做相对指标,它以分贝(dB )值的形式提出要求,其定义为: 0|)(|| )(|log 20max 10≥-=jw jw e H e H dB 经过定义中所包含的归一化,所有滤波器的相对幅频特性最高处的值为0dB ,由于定义式中有一个负号,幅频特性小的地方,其dB 值反而是正的。 绝对指标: [0,wp]段叫通带,δ1是在理想通带中能接受的振幅波动或(容限) [ws, ]段叫做阻带,δ2是阻带中能接受的振幅波动或(容限) [wp,ws]叫做过渡带,在此段上幅度回应通常没有限制,也可以给些弱限制。 低通滤波器的典型幅度指标 相对指标(dB ): p R 是通带波动的dB 值; s A 是阻带衰减的dB 值。 由于绝对指标中的)1(|)(|1max δ+=jw H ,因此 011log 201 1 10 >+--=δδp R , ) (ωj e G c ω 1 1+ p 1- p s p s

11log 201 2 10 >>+-=δδs A 逆向的关系为 20 20 1101101p p R R --+-= δ 20 20 1210 10 )1(s s A A --≈+=δδ (2)低通FIR 滤波器阶数的估计 π ωωδδ2/)(6.1413)lg(20p s s p N ---≈ (3)滤波器结构分析: 整数倍内插器的 FIR 直接实现 整数I 倍内插是在已知的相邻两个原采样点之间等间隔插入I-1个新的采样值。对已知的采样序列)(11T n x 进行D/A 转移,得道原来的模拟信号)(t x a ,然后再对)(t x a 进行较高采样率的采样得到)(22T n y ,这里 21IT T = I 为大于1的整数,称为内插因子。 整数倍内插是先在已知采样序列)(11T n x 的相邻两个样点之间等间隔插入I-1个0值点,然后进行低通滤波器,即可获得I 倍内插的结果。内插方案如图所示: )(11T n x )(22T n v )(22T n y 图中↑ I 表示在)(11T n x 相邻样点之间插入I-1个0值采样,称为零值内插器。 )(11T n x 、)(22T n y 的傅里叶变换为:)(1 jw e X 、)(2jw e Y ,二者均为周期函数,若二 者都用模拟频率Ω表示,则 (1jw e X =)(1T j e X Ω,周期为11/2T sa π=Ω; )(2jw e Y =)(2T i e Y Ω,周期为2sa Ω=112)//(2/2sa I I T T Ω==ππ。 )(22T n v =?? ??? ±±=其它当 02,,0n )(212I I I T n x ↑ I )(22T n h

傅里叶变换、数字滤波器设计、标准表插值算法

傅里叶变换 周期函数)(t f T 可表示为: ∑+∞ =++=1 0)sin cos (2)(n n n T t n b t n a a t f ωω 其中: ?-= 2 20)(2T T T dt t f T a ?-= 2 2cos )(2T T T n tdt n t f T a ω ?-= 2 2 sin )(2T T T n tdt n t f T b ω 周期函数)(t f T 的周期为T 。频率T f 1=,角频率T πω2=,n 为正整数。 周期函数)(t f T 的直流分量?-==2 2 0)(12T T T dt t f T a d 。nf f n =为各次谐波的 频率。 周期函数)(t f T 可化为:(三角函数公式:B A B A B A sin sin cos cos )cos(-=+) d t n A t f n n n T ++=∑+∞ =1)cos()(?ω 其中: 2 2n n n b a A += )( n n n a b a r c t g -=? 即周期函数)(t f T 可表示为不同频率成分的正弦函数的和。其中频率f

为基波的频率。 根据欧拉公式θθθsin cos i e i +=,有: 2cos θ θθi i e e -+= i e e i i 2sin θ θθ--= 所以周期函数)(t f T 可表示为: ∑+∞=---+++=10)22(2)(n t in t in n t in t in n T i e e b e e a a t f ωωωω = )2 2(210t in n n t in n n n e ib a e ib a a ωω-+∞=++-+∑ 而 ??? ? ??????-=-??- -tdt n t f i tdt n t f T ib a T T T T T T n n ωωsin )(cos )(122 222 = dt t n i t n t f T T T T )sin (cos )(12 2ωω-?- = dt e t f T t in T T T ω-- ? 2 2 )(1 2n n ib a +=??? ? ??????+??- -tdt n t f i tdt n t f T T T T T T T ωωsin )(cos )(12 222 = dt t n i t n t f T T T T )sin (cos )(12 2ωω+?- = dt e t f T t in T T T ω? - 2 2 )(1

傅里叶变换、数字滤波器设计、标准表插值算法

周期函数匚⑴可表示为: a0 f T (t) 一' (a n cos n t b n sinn,t) 2 n4 其中: T 2 2 a。f T(t)dt T T ~2 T 2 2 a n f T(t) cosn tdt T T ~2 T 2 2 b n f T(t)sin n tdt T T ~2 傅里叶变换 周期函数仲⑴的周期为T 1 2TT 频率f二〒,角频率?二〒,n为正整数。 周期函数匚⑴的直流分量 T d吕J f T(t)dt o f n = nf为各次谐波的 2 T T "2 频率。 周期函数匸⑴可化为:(三角函数公式:cos(A B) = cosAcosB —sin Asin B) ■bo f T (t)二 ' A n cos(n t n) d n T 其中:

即周期函数f T(t)可表示为不同频率成分的正弦函数的和。其中频率f

为基波的频率 根据欧拉公式eF = cosv isinv ,有: cos V sin-3 2i 所以周期函数 f T (t )可表示为: a °严 e 叱+e 』M e 吨-e 』05 f T (t) 八 G b n ) 2 nm 2 2i = a 十孑(a — ib g n OJ 十 a + ib T T 2 2 J f f T (t)cosn ^tdt —i f f T (t)sinn 豹tdt J J 丄 -2 2 一 T 1 1 2 = f T (t)(cosn t -isinn t)dt T T _2 1 丄 2 2 f f T (t)cosnotdt+i Jf T (t)sin n 豹tdt 2 2 T 1 2 = f T (t)(cosn 「t isinn t)dt T T ~2 T =-.f T (t)e in t dt T T a n " b n _ — 2 ~T

抽取滤波器

6 到 14-Bit Delta Sigma ADC 数据表 DelSigMulti V 1.2 001-65734 Rev. ** Single Slope 8-Bit ADC Data Sheet Copyright ? 2009-2010 Cypress Semiconductor Corporation. All Rights Reserved. 调制器顺序抽取 率分辨率 采样 率 (CLK=2 MHz) 采样 率 (CLK=8 MHz) 抽取滤波器 数量 SC 模块闪存RAM 通道 (I/O 引脚) CY8C28x45, CY8C28x43, CY8C28x52, CY8C28x33, CY8C28x23 132615625.062500.02214832 1647.57812.531250.02215632 112893906.315625.02218552 125610.51953.17812.52218552 232815625.062500.02218752 264107812.531250.02221672 2128123906.315625.02221672 2256141953.17812.52221672 132615625.062500.03618063 1647.57812.531250.03619263 112893906.315625.03623493 125610.51953.17812.53623493 232815625.062500.03621563 264107812.531250.03625793 2128123906.315625.03625793 2256141953.17812.53625793 132615625.062500.04820074 1647.57812.531250.04821674 112893906.315625.048271114 125610.51953.17812.548271114 232815625.062500.04824374 264107812.531250.048298114 2128123906.315625.048298114 2256141953.17812.548298114 Cypress Semiconductor Corporation?198 Champion Court?San Jose,CA95134-1709?408-943-2600

CIC滤波器的原理与设计

CIC 的冲击响应{ 1,010,()n D h n ≤≤-= 其他 ,D 为CIC 滤波器的阶数(即抽取因子), Z 变换后 1 1()1 D z H z z ---=-, 当积分梳状滤波器的阶数不等于抽取器的抽取倍数时,令N=DM(N 为滤波器的 阶数,D 为抽取倍数) 则积分梳状滤波器的传递函数为:)1(11 )(1 DM z z z H ----= M 是梳状滤波器中的延时因子,故称M 为差分延时因子; 其频率总响应为12()()()jw jw jw H e H e H e == sin(/2)sin(/2)wDM w =1()()22 wDM w DM Sa Sa -?? x x x Sa /)sin()(=为抽样函数,且1)0(=Sa ,所以CIC 滤波器在0=ω处的幅度值 为N ,即:DM e H j =)(0; 一般数字滤波器的指标: ()20lg ()()20lg () a p a p a s a s H j H j H j H j ααΩ=ΩΩ=Ω通带最大衰减阻带最小衰减

即: CIC 幅频特性响应曲线图 由其频率响应函数可以看出其主瓣电平最大为D ,旁瓣电平为 21.51 () sin(3/2)/sin(3/2)sin(3/2) j DM H e DM DM ωπωπππ=? == , 旁瓣与主瓣的差值 (用dB 数表示)为: dB A DM s 46.132 3lg 20lg 201===π α 可计算出旁瓣与主瓣的差值约为13.46,意味着阻带衰减很差,单级级联时旁瓣 电平很大,为降低旁瓣电平,增加阻带衰减采用级联的方式,N 级频率响应为: )2()2()()2/sin()2/sin()(ωωωωωQ Q Q Q j Q Sa DM Sa DM DM e H -??=?? ????=, 可得到N 级CIC 的旁瓣抑制 dB Q Q A DM Q Q s )46.13(2 3lg 20)lg( 201?=?==π α 分析一下发现在Q 级联时多出了Q DM 这个处理增益,因此分析一下尽量减少带容差(通带衰减),即,在通带,幅度应尽量平缓;下面就它的幅平响应曲线来分 析: 00()20lg () ()20lg () p s j a p jw a j a s jw a H e H e H e H e αα==

FPGA实现FIR抽取滤波器的设计

FPGA实现FIR抽取滤波器的设计FIR(fini te impulse response)滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,系统稳定。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。在工程实践中,往往要求对信号处理要有实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这两方面的要求。随着可编程逻辑器件的发展,使用FPG A来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。 1 FIR滤波器工作原理 在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,使之成为8bit的数字信号,一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。

2 16阶滤波器结构 在滤波过程中实现抽取,对于抽取率为N的抽取滤波器而言,当进来N个数据时滤波器完成1次滤波运算,输出1次滤波结果。抽取滤波器的结果和先滤波后抽取的结果是一致的,只是对于同样的数据,进行滤波运算的次数大大减少。在数字系统中采用拙取滤波器的最大优点是增加了每次滤波的可处理时间,从而达到实现高速输入数据的目的。采样数据与滤波器系数在控制电路的作用下,分别对应相乘并与前一个乘积累加,经过多次(有多少阶就要多少次)反复的乘累加最后输出滤波结果,将相同系数归类,16阶滤波器公式: 乘法器的数量减少一半,但加法器的数量增多了,但相对乘法运算来说,加法运算所占用的资源少的多,运算的速度也快得多。 3 滤波器系数的求取 使用Matlab集成的滤波器设计工具FDAtool,可以完成多种滤波器的数值设计、分析与评估,设计16阶低通滤波器参数如下:

CIC插值滤波器的FPGA设计与实现

CIC插值滤波器的FPGA设计与实现 摘要:基于多速率信号处理原理,设计了用于下变频的CIC插值滤波器,由于CIC 滤波器结构只用到加法器和延迟器,没有乘法器,很适合用FPGA来实现,所以本文分析了CIC滤波器的原理,性能及影响参数,借助MATLAB设计符合系统要求CIC 滤波器,并利用Modelsim软件建模仿真,验证CIC滤波器性能是否达到要求。(一)CIC滤波器基本原理 A.CIC滤波器的基本单元 CIC滤波器主要由积分滤波Integrator和梳状滤波Comb两个基本单元部分构成。 典型的CIC滤波器的结构,它由两个基本单元I(积分滤波器)和C(梳状滤波器)级联构成。本设计主要针对插值滤波器,所以插值滤波器的结构示意图如图1-1所示: 图 1-1 3级级联的CIC插值滤波器结构示意图 积分器和梳状滤波器之间是一个采样率转换器,对于CIC插值器而言,它完成在每一个样值后补上R-1个0值的工作,,对于CIC抽取器来说,它完成在实际的抽取工作,每R个样值中取样一个。 R(插值倍数),M(延迟因子,一般取1或者2)以及N(级联级数)是影响CIC 滤波器的三个参数,它们的值需根据通带性能的需求而设定。 (二)CIC插值滤波器的设计流程 根据CIC滤波器的原理,本设计的流程如图2-1所示:

图2-1 CIC 插值滤波器的设计流程图 (三)模型的建立和测试 A .位宽策略 对于数字滤波器,一个不得不考虑的问题是为防止溢出每一级所需的位宽。对于抽取器来说,CIC 滤波器的输出增益为 (*)N G R M = (3-1) 所以,在全精度的情况下,最后一级输出的位宽为 2log (*)out in B B N R M =+ (3-2) 其中in B 表示输入数据的宽度,为了保证精度,每一个积分器和梳状滤波器的输入输出位宽都为out B 。 对于插值器而言,输出增益为 212,1,2,....2(*)/,1, 2......2i i N i N i N G R M R i N N N --?? == ? ? =++?? (3-3) 因此,第i 级为避免溢出所需要的位宽为 2log ()i in i W B G =+ (3-4) 最后一级输出位宽为 22log (*)log out in B B N R M R =+- (3-5) 在实际当中,当差分延时M=1时,为保证稳定,所有积分器的位宽在理论值的基础上加一。 max B 不仅是滤波器输出的最大可能的位数,也是每一级滤波器的最大可能位

插值滤波器设计

插值滤波器设计 1 项目背景 1.1 多采样率数字滤波器 多采样率就是有多个采样率的意思。前面所说的FIR,IIR滤波器都是只有一个采样频率,是固定不变的采样率,然而有些情况下需要不同采样频率下的信号。 按照传统的速率转换理论,我们要实现采样速率的转换,可以这样做,假如有一个有用的正弦波模拟信号,AD采样速率是f1,现在我需要用到的是采样频率是f2的信号,传统做法是将这个经过f1采样后的信号进行DA转换,再将转换后的模拟信号进行以f2采样频率的抽样,得到采样率为f2的数字信号,至此完成采样频率的转换 但是这样的做法不仅麻烦,而且处理不好的话会使信号受到损伤,所以这种思想就被淘汰了,现在我们用到的采样率转换的方法就是抽取与内插的思想。 1.2 抽取 先来总体来解释一下抽取的含义:前面不是说,一个有用的正弦波模拟信号经采样频率为f1的抽样信号抽样后得到了数字信号,很明显这个数字信号序列是在f1频率下得到的,现在,假如我隔几个点抽取一个信号,比如就是5吧,我隔5个点抽取一个信号,是不是就是相当于我采用了1/5倍f1的采样频率对模拟信号进行采样了?所以,抽取的过程就是降低抽样率的过程,但是我们知道,这是在时域的抽样,时域的抽样等于信号在频域波形的

周期延拓,周期就是采样频率,所以,为了避免在频域发生频谱混叠,抽样定理也是我们要考虑的因素 下面来具体来介绍 如上图所示,假如上面就是某一有用信号经采样频率f1抽样得到的频谱,假设这时候的采样频率为8Khz,可以通过数格子得到,从0到F1处有8个空格,每个空格代表1Khz,有些朋友可能会问,这不是在数字频域吗,单位不是π吗,哪来的hz?是的,这里是数字频域,采样频率F1处对应的是2π,这里只是为了好解释,我们用模拟频率来对应数字频率。 上面是采样频率为8K的数字信号频域图,现在我要对这个数字信号进行时域抽取,从而来降低信号的采样率,我们知道,一旦我们对数字信号进行时域抽取,那么采样率下降,

IIR与FIR滤波器设计与比较要点

DSP课程设计 实验报告 FIR与IIR滤波的DSP 实现以及二者的比较 指导教师:高海林 院(系):电信学院 设计人员:白雪学号:07211225 邵辰雪学号:07211243 评语: 指导教师签字: 日期:

目录 一、设计任务书 (2) 二、设计内容 (2) 三、设计方案、算法原理说明 (2) 四、程序设计、调试与结果分析 (11) 五、设计(安装)与调试的体会 (32) 六、参考文献 (34)

一、设计任务书 在信号与信息处理中,提取有用信息就要对信号进行滤波。利用DSP可以实时地对信号进行数字滤波。本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。在滤波时同时用fir与iir滤波器进行滤波,并比较二者的区别。 二、设计内容 (1)对DMA进行初始化; (2)对A/D、D/A进行初始化; (3)编写DMA中断服务程序,实现信号的实时滤波; (4)利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数,利用MATLAB设计数字滤波器,提取滤波器参数; (5)设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的fir 滤波。 (6)比较加不同窗和阶数时fir滤波器的滤波效果; (7)设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的iir 滤波。 (8)比较fir数字滤波器与iir数字滤波器的效果 三、设计方案、算法原理说明 (一)硬件原理: McBSP是多通道缓冲串行口,他支持全双工通信,双缓冲数据寄存器,允许连续的数据流。支持传输的数据字长可以是8位、12位、16位、20位、24位或32位。并且内置u律和A律压扩硬件。 McBSP在结构上可以分为一个数据通道和一个控制通道。数据通道完成数据的发送和接受。控制通道完成的任务包括内部时钟的产生、帧同步信号产生、对这些信号的控制及多通道的选择等。控制通道还负责产生接口信号送往CPU,产生同步事件通知DMA控制器。 在CCS集成开发环境中,与McBSP相关的头文件有:regs54xx.h、mcbsp54.h。在这两个头文件中,定义了McBSP串行口的寄存器资源及使用方法。 TLC320AD50C是TI公司生产的SIGMA-DELTA型的16位A/D、D/A转换电路,他的采样速率最高可达22.05kb/s,内涵抗混叠滤波器和重构滤波器,属于模拟接口芯片(AIC),它有一个能与多种昂DSP芯片相连的同步串行通信接口,其采样速率课通过DSP编程来设置。在DAC之前有一个插值滤波器一保证输出信号平

基于内插滤波器符号同步的实现

基于内插滤波器符号同步的实现 陈卫东,孙 栋,张华冲 (中国电子科技集团公司第五十四研究所,河北石家庄050081) 摘 要:比较了同步采样和异步采样条件下符号同步实现方法的不同,在全数字接收机中需要采用内插方法来实现符号同步,内插滤波器是一种线性时变滤波器,在工程中可以采用多项式内插函数来近似,采用FARROW 结构实现。在此基础上介绍了内插法符号同步环路的结构,组成单元,其中详细介绍了内插控制器和定时误差检测器的原理。在AWGN 信道中针对QAM 64信号进行了仿真和实现,眼图和星座图恢复良好,该符号同步环路可以应用于侦察接收机的解调器中。 关键词:全数字接收机;内插滤波器;符号同步 中图分类号:TN914.42 文献标识码:A 文章编号:1003-3114(2009)06-53-3 Design of Symbol Synchronization Circuit Based on Interpolation C HE N Wei dong,SUN Dong,ZHANG Hua chong (The 54th Research Insti tute of CETC,Shijiazhuang Hebei 050081,China) Abstract :In traditional demodulator synchronization sampling is used.In all di g i tal recei ver based on the non synchronization samplin g timing recovery is achieved with the help of interpolator.Cubic interpolator,interpolation controller and Gardner Algoithm for symbol timing error detection are introduced in detail i n this paper.The performance of the design is well i n si mulation.The desi gn is implemented in XILINX FPGA and i t can be applied to demodulation for reconnaissance receiver. Key words:all digital receiver;interpolator;symbol synchronization 收稿日期:2009-09-01 作者简介:陈卫东(1968-),男,高级工程师。主要研究方向:通信信号处理、软件无线电。 0 引言 符号同步的主要任务是从接收到的信号中估计出恢复时钟相位与最佳采样位置的相位误差信息,并根据该信息,将本地采样时钟调整到能够对码元进行最佳检测的相位上,得到信号的最佳采样值,这些采样值中包含判决时刻的信号值。 传统的数字化解调器一般采用零中频方案,需要零中频信道单元把中频信号变换为I Q 两路零中频信号,再进行A/D 采样,定时恢复是通过调整AD 采样时钟相位来完成的,这种接收机定时恢复环路结构简单,但是环路包含模拟单元,模拟器件的非线性,稳定性较差,会对定时恢复的精度,可靠性造成影响。在全数字接收机中,A/D 采样在中频完成,数字下变频确保了I Q 幅度、相位的一致性,定时恢复环路完全在数字域实现。在具体实现中,整个环路可以在一片FPGA 芯片内完成,可靠性与稳定性得到了很大提高。符号同步是全数字接收机中的一个关键技术。 传统的解调器采用同步采样方式,即符号同步 环路锁定后,采样时钟频率是符号速率的整倍数,采样点中包含了判决时刻。在全数字接收机中,采用异步采样方式,即采样时钟频率与发送端时钟频率不相关,而是一个固定时钟频率,采样点中不包含判决时刻。由于采样不同步而引入的定时速率和相位误差,需要用数字信号处理的方法来补偿,即通过定时误差估值控制内插滤波器对采样得到的信号样本值进行插值运算,从而得到信号在最佳采样时刻的近似值。内插滤波器即是完成这一功能必须的环节。 1 内插原理 Gardner 在其文献中给出了速率转换模型来分析内插滤波器,该模型如图1 所示。 图1 内插滤波器速率转换模型 设发送的线性调制符号周期为T,T s 为采样周期。在全数字接收机中,由于T s 的定时来源于独立 工程实践及应用技术

cic滤波器的fpga实现

cic滤波器的FPGA实现 发布时间:2016-01-26 15:07:21 技术类别:CPLD/FPGA 一、关于多采样率数字滤波器 很明显从字面意思上可以理解,多采样率嘛,就是有多个采样率呗。前面所说的FIR,IIR滤波器都是只有一个采样频率,是固定不变的采样率,然而有些情况下需要不同采样频率下的信号,具体例子我也不解释了,我们大学课本上多速率数字信号处理这一章也都举了不少的例子。 按照传统的速率转换理论,我们要实现采样速率的转换,可以这样做,假如有一个有用的正弦波模拟信号,AD采样速率是f1,现在我需要用到的是采样频率是f2的信号,传统做法是将这个经过f1采样后的信号进行DA转换,再将转换后的模拟信号进行以f2采样频率的抽样,得到采样率为f2的数字信号,至此完成采样频率的转换 但是这样的做法不仅麻烦,而且处理不好的话会使信号受到损伤,所以这种思想就被淘汰了,现在我们用到的采样率转换的方法就是抽取与内插的思想。 二、抽取 先来总体来解释一下抽取的含义:前面不是说,一个有用的正弦波模拟信号经采样频率为f1的抽样信号抽样后得到了数字信号,很明显这个数字信号序列是在f1频率下得到的,现在,假如我隔几个点抽取一个信号,比如就是5吧,我隔5个点抽取一个信号,是不是就是相当于我采用了1/5倍f1的采样频率对模拟信号进行采样了?所以,抽取的过程就是降低抽样率的过程,但是我们知道,这是在时域的抽样,时域的抽样等于信号在频域波形的周期延拓,周期就是采样频率,所以,为了避免在频域发生频谱混叠,抽样定理也是我们要考虑的因素 下面来具体来介绍 如上图所示,假如上面就是某一有用信号经采样频率f1抽样得到的频谱,假设这时候的采样频率为8 Khz ,可以通过数格子得到,从0到F1处有8个空格,每个空格代表1Khz,有些朋友可能会问,这不是在数字频域吗,单位不是π吗,哪来的hz?是的,这里是数字频域,采样频率F1处对应的是2π,这里只是为了好解释,我们用模拟频率来对应数字频率。 上面是采样频率为8K的数字信号频域图,现在我要对这个数字信号进行时域抽取,从而来降低信号的采样率,我们知道,一旦我们对数字信号进行时域抽取,那么采样率下降,而采样率就是数字信号频域的波形周期,那么也就是周期下降,所以,我们对信号进行抽取要有个度,要在满足抽样定理的条件下对信号进行抽取,否则就会发生频谱混叠。

【CN110113029A】一种FIR抽取滤波器的数据处理方法【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910374927.4 (22)申请日 2019.05.07 (71)申请人 中国科学院电子学研究所 地址 100190 北京市海淀区北四环西路19 号 (72)发明人 赵博 李士东 柳青 纪奕才  (74)专利代理机构 中科专利商标代理有限责任 公司 11021 代理人 周天宇 (51)Int.Cl. H03H 17/00(2006.01) H03H 17/02(2006.01) H03H 17/04(2006.01) (54)发明名称 一种FIR抽取滤波器的数据处理方法 (57)摘要 一种FIR抽取滤波器的数据处理方法,包括: S1,将滤波器分解为个子滤波器,其 中,N为滤波器中系数的个数,D为子滤波器中系数的个数;S2,为每一子滤波器定义一初始值为0的数据寄存器;S3,接收到待滤波数据后,每一子滤波器分别根据其系数和相应的数据寄存器的值对待滤波数据进行乘加处理;S4,判断已滤波数据的个数是否为D的整数倍,若不是,每一子滤波器将其乘加结果保存至相应的数据寄存器,否则,每一子滤波器将其乘加结果保存至其前一个子滤波器相应的数据寄存器,清零最后一个子滤波器相应的数据寄存器,并输出第一个子滤波器的乘加结果。该方法占用的硬件资源与存储资源都较少,且可以实时输出抽取滤波后的结果,计 算效率高。权利要求书2页 说明书5页 附图4页CN 110113029 A 2019.08.09 C N 110113029 A

1.一种FIR抽取滤波器的数据处理方法,包括: S1, 将滤波器分解为个子滤波器,其中,N为所述滤波器中系数的个数,D为所述子滤波器中系数的个数; S2,为每一所述子滤波器定义一数据寄存器; S3,接收到待滤波数据后,每一所述子滤波器分别根据其系数和相应的数据寄存器的值对所述待滤波数据进行乘加处理; S4,判断已滤波数据的个数是否为D的整数倍,若不是,每一所述子滤波器将其乘加结果保存至相应的数据寄存器,否则,每一所述子滤波器将其乘加结果保存至其前一个子滤波器相应的数据寄存器,清零最后一个所述子滤波器相应的数据寄存器,并输出第一个所述子滤波器的乘加结果。 2.根据权利要求1所述的FIR抽取滤波器的数据处理方法,其中,所述步骤S2还包括: 为每一所述子滤波器设置一相应的长度为D的循环移位寄存器,所述循环移位寄存器用于存放相应的所述子滤波器的系数。 3.根据权利要求2所述的FIR抽取滤波器的数据处理方法,其中,所述步骤S4之后还包括: S5,每一所述循环移位寄存器中存放的系数循环移动1位; S6,重复执行步骤S3-S5,直至无所述待滤波数据。 4.根据权利要求3所述的FIR抽取滤波器的数据处理方法,其中,所述循环移动1位为向左循环移动1位或向右循环移动1位。 5.根据权利要求1所述的FIR抽取滤波器的数据处理方法,其中,所述步骤S1之前还包括: S0,当N不等于D的整数倍时,在所述滤波器中系数的末端添加个系数0。 6.根据权利要求5所述的FIR抽取滤波器的数据处理方法,其中,所述步骤S1包括: 从左至右, 在所述滤波器的个系数中选取D个系数以形成第一个所述子滤波器,重复上述操作,直至形成第个所述子滤波器。 7.根据权利要求1所述的FIR抽取滤波器的数据处理方法,其中,所述步骤S3中对所述待滤波数据进行乘加处理包括: 将所述待滤波数据与所述子滤波器的第一系数相乘,并与该子滤波器相应的数据寄存器中的值相加。 8.根据权利要求7所述的FIR抽取滤波器的数据处理方法,其中,当所述已滤波数据的个数不是D的整数倍时: T n=T n′+x·V n′(0) 其中,n=1,2,……,x为待滤波数据,T n为待滤波数据处理后第n个数据寄存器的值,T n′为待滤波数据处理前第n个数据寄存器的值,V n′(0)为第n个子滤波器的第一系数。 9.根据权利要求7所述的FIR抽取滤波器的数据处理方法,其中,当所述已滤波数据的个数是D的整数倍时: T n=T n+1′+x·V n+1′(0) 权 利 要 求 书1/2页 2 CN 110113029 A

明德扬-基于FPGA的插值滤波器设计

插值滤波器设计 1项目背景 1.1多采样率数字滤波器 多采样率就是有多个采样率的意思。前面所说的FIR,IIR滤波器都是只有一个采样频率,是固定不变的采样率,然而有些情况下需要不同采样频率下的信号。 按照传统的速率转换理论,我们要实现采样速率的转换,可以这样做,假如有一个有用的正弦波模拟信号,AD采样速率是f1,现在我需要用到的是采样频率是f2的信号,传统做法是将这个经过f 1采样后的信号进行DA转换,再将转换后的模拟信号进行以f2采样频率的抽样,得到采样率为f2的数字信号,至此完成采样频率的转换 但是这样的做法不仅麻烦,而且处理不好的话会使信号受到损伤,所以这种思想就被淘汰了,现在我们用到的采样率转换的方法就是抽取与内插的思想。 1.2抽取 先来总体来解释一下抽取的含义:前面不是说,一个有用的正弦波模拟信号经采样频率为f1的抽样信号抽样后得到了数字信号,很明显这个数字信号序列是在f1频率下得到的,现在,假如我隔几个点抽取一个信号,比如就是5吧,我隔5个点抽取一个信号,是不是就是相当于我采用了1/5倍f1的采样频率对模拟信号进行采样了?所以,抽取的过程就是降低抽样率的过程,但是我们知道,这是在时域的抽样,时域的抽样等于信号在频域波形的周期延拓,周期就是采样频率,所以,为了避免在频域发生频谱混叠,抽样定理也是我们要考虑的因素 下面来具体来介绍 图561 如上图所示,假如上面就是某一有用信号经采样频率f1抽样得到的频谱,假设这时候的采样频率为8Khz,可以通过数格子得到,从0到F1处有8个空格,每个空格代表1Khz,有些朋友可能会问,这不是在数字频域吗,单位不是π吗,哪来的hz?是的,这里是数字频域,采样频率F1处对应的是2π,这里只是为了好解释,我们用模拟频率来对应数字频率。

抽取滤波器

基于多核DSP 处理器的插值和抽取滤波器的设计 熊鹏鹏 北京邮电大学电信工程学院,北京(100876) E-mail :xiongpengpeng@https://www.doczj.com/doc/8215915635.html, 摘 要:插值和抽取滤波器被广泛应用于现代通信系统中,然而基于传统DSP 或者FPGA 的滤波器,具有数据率低和占用资源多的缺点。为了克服这些缺点,本文针对一种多核DSP 处理器, 提出了一种新的变速率滤波器设计方法。并且以WiMAX802.16e 系统为例,详细给出了方法的实现流程。实践证明本文中的算法能够很好的实现处理速度与占用资源的折衷。 关键词:插值,抽取,多相滤波法,多核DSP 处理器,picoArray,AE 1. 引言 在实际的工作中,经常会遇到抽样率转换的问题,要求一个数字系统能工作在多抽样率(multirate )状态。例如,对于同时具有语音、视频、数据等多种媒体的传输,由于存在不同的频率成分,所以该系统应该具有多种抽样率,并自动完成抽样率的转换;又如,为了减少抽样率太高造成的数据的冗余,而需要降低抽样率;再如信号在具有不同时钟频率的系统之间传输时,为了便于信号的处理、编码、传输和存储,则要求根据时钟频率对信号抽样率加以转换[1]。如今,建立在抽样率转换理论基础上的多抽样率数字信号处理已经成为数字信号处理这门学科中的一项重要内容[2]。 2. 多相分解 抽样率的转换有多种方法可以实现,其中采用数字滤波器的方法是最直接也是最合理的方法。由于FIR (有限冲激响应)滤波器的参数非常对称,其基本的滤波操作是移位和乘累加操作,其中卷积部分的运算量占整个运算量的绝大部分。因此为了减少运算量,提高运算速度,首先介绍一下多相分解的滤波器设计方法[3]。 将一个序列表示成M 组子序列的叠加,其中每一组都由该序列中每隔M 个一次延迟的序列值所组成,这就得到了一个序列的多相分解。多相分解后,插值和抽取子滤波器的个数 等于插值或抽取的倍数。具体的说,考虑某一冲激响应()h n , 将其分解成M 组子序列()k h n 如下: () ()0 k h n k n M h n +=?=??的整倍数其他 将这些子序列依次延迟相加就能恢复原冲激响应()h n ,即 1 0()()M k k h n h n k ?==?∑ 抽取滤波器的多相实现框图和插值滤波器的多相实现框图分别如图1和图2所示。从图中可以看出,目标滤波器被分解为若干子滤波器的并联。

CIC滤波器可以先对有用信号进行滤波

DDC 由数控整荡器,数字混频器和低通滤波器组成,原理上是输入信号与本地振荡信号混频,然后由低通滤波器滤除高频分量;数字下变频的主要功能包括三个方面:第一是变频,数字混频器将数字中频信号和数控振荡器(Numerical Control Oscillator — NCO )产生的正 交本振信号相乘 ,生成 I/Q 两路混频信号,将感兴趣的信号下变频至零中频;第二是低通滤波,滤除带外信号,提取有用信号;第三是采样速率转换,降低采样速率,大抽取因子范围提供了可设计成宽带或窄带数字信道的能力; CIC 滤波器可以先对有用信号进行滤波,再抽取; CIC 抽取滤波器由N 级积分器,抽取器,N 级梳状滤波器三部分组成;N 级积分器工作在Fs 下,每级积分器都是一个反馈系数为1的单级点IIR 滤波器,其传递函数为: 1 11 --= z H I CIC 滤波器的梳妆部分工作在较低的频率Fs/ D.,由N 级梳状滤波器组成,每级微分延迟M 个样本;其单级梳状滤波器的传递函数为: DM C z H --=1, 单级CIC 积分梳状滤波器的传递函数为: ?? ????=--=∑-=---10111)(DM n n DM z z z z H 这是单级CIC 的实现方式: 由上式可知,H (z )有DMN 个零点(M 决定抽取滤波器频率响应中零点个数)和N 个极点,由积分器引人的N 个位于z =1处的极点被梳状滤波器的同样位于z=1处的N 个零点抵消; 其单级CIC 频率响应为: ()()()jw jw jw I C H e H e H e == sin(/2) sin(/2) wDM w =1()()22wDM w DM Sa Sa -?? 其中x x x Sa /)sin()(=为抽样函数,且1)0(=Sa ,所以CIC 滤波器在0=ω处的幅 度最大值为DM ,即:DM e H j =)(0;在1...2,1,0,2-== DM k k DM w π 处为零;可知当抽取倍数确定后,M 决定CIC 滤波器的零点位置,影响着幅频特性。 N 级CIC 的实现框图: s f CIC 1-z RM z - 1-z RM z - 第一级 第N 级 R R f s / -1 -1

基于MATLAB的数字插值滤波器设计

EDA 课程设计报告 滤波器设计参数:根据要求,要设计一个输入8位,输出8位的17阶线性相位FIR 滤波器,所以采用图2(a)的方式,其中输入信号范围为:[±99,0,0,0, ±70,0,0,0, ±99,0,0,0, ±70,…],此滤波器 Fs 为44kHz,Fc 为10.4kHz 。 (一)FIR 数字滤波器理论简述 有限冲激响应(FIR )数字滤波器和无限冲激响应(IIR )数字滤波器广泛应用于数字信号处理系统中。IIR 数字滤波器方便简单,但它相位的非线性,要求采用全通网络进行相位校正,且稳定性难以保障。FIR 滤波器具有很好的线性相位特性,使得它越来越受到广泛的重视。 有限冲击响应(FIR )滤波器的特点: 1 既具有严格的线性相位,又具有任意的幅度; 2 FIR 滤波器的单位抽样响应是有限长的,因而滤波器性能稳定; 3只要经过一定的延时,任何非因果有限长序列都能变成因果的有限长序列,因而能用因果系统来实现; 4 FIR 滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT)算法来实现过滤信号,可大大提高运算效率。 5 FIR 也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 6 FIR 滤波器比较大的缺点就是阶次相对于IIR 滤波器来说要大很多。 FIR 数字滤波器是一个线性时不变系统(LTI ),N 阶因果有限冲激响应滤波器可以用传输函数H (z )来描述, ()()N k k H z h k z -==∑ (0.1) 在时域中,上述有限冲激响应滤波器的输入输出关系如下: [][][][][]N k y n x n h n x k h n k ==*=-∑ (0.2) 其中,x [n ]和y [n ]分别是输入和输出序列。 N 阶有限冲激响应滤波器要用N +1个系数描述,通常要用N+1个乘法器和N 个两输入加法器来实现。乘法器的系数正好是传递函数的系数,因此这种结构称为直接型结构,可通过式(1.2)来实现,如图1。

FPGA的CIC滤波器的设计要点

基于FPGA的CIC数字滤波器的设计 摘要:级联积分梳状(Cascade Integrator Comb,CIC)滤波器是数字系统中实现大采样率变化的多速率滤波器,已经证明是在高速抽取和插值系统中非常有效的单元,在数字下变频(DDC)和数字上变频(DUC)系统中有广泛的应用。它不包含乘法器,只是由加法器,减法器和寄存器组成,而且需要的加法器的数目也减少了许多,因此CIC滤波器比FIR和IIR滤波器更节省资源,并且实现简单而高速。本文主要讨论了CIC滤波器的基本原理和基于FPGA的仿真实现方法,具体是采用Verilog HDL语言编程,将滤波器分为积分器模块和梳状器模块2个部分,对每个模块进行具体的功能分析和设计实现,最后通过Modelsim 仿真对滤波器的性能进行分析,验证了设计的正确性。 关键词:CIC滤波器;抽取;FPGA;Verilog HDL the Design of Cascade Integrator Comb Filter Based on FPGA Abstract:CIC (Cascade Integrator Comb, CIC) filter is a digital system to achieve large changes in multi-rate sampling rate filter, which has been proven to be a very effective unit in the high-speed extraction and interpolation system. It is widely used in the digital down conversion (DDC ) and digital up conversion (DUC) systems. It does not contain the multiplier, but just composes by adders, subtractors and registers, and the number of needing adders is reduced a lot. So it takes fewer resources than FIR filter and IIR filter. And the speed of CIC filter is very high and it is also very convenient to realize.This article discusses the basic principles of CIC filter and the simulation way based on FPGA. The modules were described with Verilog HDL. Firstly, the filter was divided into two parts which were integration module and the comb module. Then the function of each module were analyzed and designed. Finally the performance of the filter was analyzed under ModelSim and the correctness of the design was verified. Keywords:CIC filter; Decimation; FPGA; Verilog HDL 1. 引言: 数字滤波是数字信号分析中最重要的组成部分之一,数字滤波与模拟滤波相比,具

相关主题
文本预览
相关文档 最新文档