CIC滤波器在数字接收机上的应用
- 格式:doc
- 大小:514.00 KB
- 文档页数:10
基于CIC抽取滤波器结合串并行的搜索捕获算法贾振东;郭承军;刘赋山【摘要】GPS信号的捕获是GPS接收机的重要环节,其中串行搜索算法,并行码相位算法是GPS信号捕获的常用方法.但随着GPS接收机覆盖我们的生活,对捕获算法的速度要求也就越来越高.提出了一种新的捕获方法,基于CIC抽取滤波器并结合串并行搜索的算法,这种捕获方法在抽取阶段使用CIC滤波器降低频谱混叠的影响,然后在使用并行码相位搜索算法的基础上加入了串行搜索的部分,从而减少了计算量,提高了运算速度.对算法进了仿真,实验结果证明了该方法的有效性和优越性.最后对运算优势进行了分析.【期刊名称】《全球定位系统》【年(卷),期】2016(041)006【总页数】6页(P64-69)【关键词】GPS;捕获;CIC抽取滤波器;结合【作者】贾振东;郭承军;刘赋山【作者单位】电子科技大学电子科学技术研究院,成都611731;电子科技大学电子科学技术研究院,成都611731;电子科技大学电子科学技术研究院,成都611731【正文语种】中文【中图分类】P228.4如今,GPS接收机已应用于各式各样的设备中,用于用户定位等功能。
其中捕获,跟踪以及定位解算等部分是GPS接收机的重要环节。
捕获模块是GPS接收机的第一部分,为了跟踪GPS信号并进行信息解码,就必须先用捕获程序来检测信号的存在[1]。
利用捕获模块得到两个重要的信息,一是C/A码相位信息,另一个是GPS信号多普勒频移后的输入频率。
常用的捕获方法有两种,1)串行搜索捕获算法,2)并行码相位搜索算法。
其中并行码相位搜索算法因为其优越性而应用很广。
本文基于并行码相位搜索捕获算法,对混频前端采样点通过CIC抽取滤波器并结合串行搜索方法对传统捕获方法进行改进,减少其计算量而又不失捕获精度。
串行搜索捕获算法是基于中频信号与本地产生的伪码序列以及本地载波的乘积。
中频信号先和本地伪码序列相乘,然后I,Q通道分别和本地载波信号以及90°相移的本地载波信号相乘,最后积分平方相加得相关结果,原理图如图1所示。
CIC滤波器阶数和级数什么是CIC滤波器?CIC(Cascaded Integrator-Comb)滤波器是一种数字滤波器结构,常用于高速数据采样系统中的抽取滤波。
CIC滤波器具有简单的结构和低成本的优点,且能够实现高度的抽取比率。
CIC滤波器是一种结构紧凑的滤波器,由级联的积分器和组合器构成。
积分器将输入信号进行积分,而组合器则通过取差来减小输出的冗余部分。
这种结构使CIC滤波器能够实现高阶滤波器,同时保持较低的计算复杂度。
滤波器阶数CIC滤波器的阶数是指滤波器内部级联的积分器和组合器的数量。
阶数越高,滤波器的频率响应越陡峭,对高频噪声的抑制能力也越强。
然而,阶数的增加会使滤波器的延迟增加,因此在选择CIC滤波器的阶数时需要考虑频率响应和延迟之间的权衡。
滤波器级数CIC滤波器的级数是指滤波器多个CIC结构级联的数量。
级数越多,滤波器的整体增益越大,抽取比率也越高。
通过级联多个CIC结构,可以实现更高的滤波器抽取比率,而不需要增加单个CIC结构的阶数。
CIC滤波器的设计步骤设计CIC滤波器的步骤主要包括选择滤波器的阶数和级数、计算滤波器的延迟和频率响应,以及优化滤波器的性能。
1. 选择滤波器的阶数和级数首先,需要确定CIC滤波器的阶数和级数。
阶数和级数的选择取决于应用的需求,包括滤波器的抽取比率、频率响应和延迟等方面的要求。
2. 计算滤波器的延迟根据滤波器的抽取比率和级数,可以计算出滤波器的延迟。
延迟是指从输入信号进入滤波器到输出信号出现的时间延迟。
3. 计算滤波器的频率响应根据滤波器的抽取比率、阶数和级数,可以计算得到滤波器的频率响应。
频率响应描述了滤波器对不同频率信号的强度衰减或增益。
4. 优化滤波器的性能根据实际需求,可以对滤波器进行性能优化。
优化可以包括调整滤波器的参数,如阶数和级数,以及对滤波器的设计进行仿真和验证。
CIC滤波器的应用领域CIC滤波器广泛应用于高速数据采样系统中,特别是在射频接收器和数字信号处理系统中。
DDC 由数控整荡器,数字混频器和低通滤波器组成,原理上是输入信号与本地振荡信号混频,然后由低通滤波器滤除高频分量;数字下变频的主要功能包括三个方面:第一是变频,数字混频器将数字中频信号和数控振荡器(Numerical Control Oscillator — NCO )产生的正 交本振信号相乘,生成 I/Q 两路混频信号,将感兴趣的信号下变频至零中频;第二是低通滤波,滤除带外信号,提取有用信号;第三是采样速率转换,降低采样速率,大抽取因子范围提供了可设计成宽带或窄带数字信道的能力;CIC 滤波器可以先对有用信号进行滤波,再抽取;CIC 抽取滤波器由N 级积分器,抽取器,N 级梳状滤波器三部分组成;N 级积分器工作在Fs 下,每级积分器都是一个反馈系数为1的单级点IIR 滤波器,其传递函数为:111--=z H ICIC 滤波器的梳妆部分工作在较低的频率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 wDM 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 DMw π处为零;可知当抽取倍数确定后,M 决定CIC 滤波器的零点位置,影响着幅频特性。
摘要CIC滤波器的结构简单,需要的存储量小,是被证明在高速抽取和插值系统中非常有效的单元。
本文介绍CIC滤波器的基本组成原理、滤波器各项参数的选择和设计CIC 滤波器的基本方法。
并用MATLAB和simulink进行仿真,验证了设计的可靠性和可行性。
关键词:积分梳状滤波器MATLAB SIMULINKAbstractCIC filter, the structure is simple, need smaller storage capacity, is proved in high-speed extraction and interpolation system very effective unit. This paper introduces the basic composition of filter CIC principle, filter parameters selection and design of CIC filter the basic method. With MATLAB simulation and simulink verified the feasibility and reliability design.Key words : CIC filter MATLAB SIMULINK引言在数字接收集中,数字下变频(DDC )接收经过高速采样的中频数字信号,将所需的频带下变到基带,降低信号的速率,从宽带信号中提取单载波,送往数字信号处理器,完成对信号解调、解码、抗干扰、自适应均衡以及信号参数估计等工作。
它主要由数字混频器、数字控制振荡器、数字滤波器三部分组成。
它一般位于信号处理链的前端,靠近A/D 。
数字下变频器(DDC )中数字滤波器的主要作用是抽取、低通滤波、一般由FIR 滤波器实现。
但是如果系统输人信号的采样频率很高,当以普通FIR 滤波器完成低通滤波时,由于FIR 滤波器本身的处理效率很低,需要在如此高的采样频率下完成一系列乘加运算,这种方法将对实现抽取处理芯片的处理速度提出非常高的要求,在工程将难以实现。
c语言实现cic梳状滤波理论说明1. 引言1.1 概述CIC(Cascade Integrator-Combinator)梳状滤波器是一种常见的数字滤波器,广泛应用于信号处理领域。
它具有简单的结构和高效的运行特性,在数字信号处理中发挥着重要作用。
本文将介绍CIC梳状滤波器的原理和C语言实现原理,并讨论其在不同领域中的应用。
1.2 文章结构本文分为五个部分。
引言部分介绍了文章的背景和结构安排。
第二部分讲解了CIC梳状滤波器的原理以及C语言实现原理,并对相关算法进行了介绍。
第三部分探讨了CIC梳状滤波器在不同领域中的应用场景,包括数字信号处理、实时数据处理和音频信号处理等方面。
第四部分详细解释了如何使用C语言来实现CIC梳状滤波器,包括硬件平台准备、基本组件搭建与初始化配置以及数据输入与处理流程设计等方面内容。
最后,第五部分将对实验结果进行分析并展示其效果,并对整篇文章进行总结与展望。
1.3 目的本文的目的是介绍CIC梳状滤波器的原理和C语言实现原理,并探讨其在不同领域中的应用场景。
通过详细解释C语言实现CIC梳状滤波器的步骤,读者可以加深对该滤波器的理解,并了解如何将其应用于具体项目中。
最后,通过对实验结果进行分析与总结,读者可以评估CIC梳状滤波器在不同场景下的性能表现,并对其未来发展进行展望。
2. 理论基础:2.1 CIC梳状滤波器原理CIC(Cascade Integrator-Comb)梳状滤波器是一种常用的数字信号处理滤波器,用于对离散时间序列进行低通滤波。
它由级联部分积分器和组合部分组成。
CIC梳状滤波器的输入信号首先经过M个阶数为R的积分级,在每一级中累加了M个输入样本,然后被一个差分延时线延时M/R个采样周期。
延时后的信号经过一个减法运算,乘以一个增益因子D,并通过R级组合部分,其中每一级包含一个差分延时线和一个减法运算单元。
最终输出结果是经过R级积分之后的信号。
2.2 C语言实现原理在C语言中实现CIC梳状滤波器需要定义相应的数据结构和函数来实现不同模块之间的连接和数据处理。
DVB-S中可变插值率CIC滤波器设计及其FPGA实现
张文坡;常亮;史丽荣
【期刊名称】《现代电子技术》
【年(卷),期】2008(31)11
【摘要】在数字上变频中常用的CIC滤波器的基础上,提出了一种适用于DVB-S 系统的可变插值率CIC滤波器的实现结构,首先实现一个内插因子为2的CIC滤波器单元,然后根据不同的内插因子要求,来重复地调用这些内插因子为2的基本滤波器模块,这种CIC滤波嚣的实现结构符合结构化的设计思想.通过Verilog HDL语言在FPGA上对其进行了仿真、综合给出了相应的仿真结果,并成功应用于DVB-S系统中.
【总页数】2页(P103-104)
【作者】张文坡;常亮;史丽荣
【作者单位】西安嘉载通信设备有限公司,陕西,西安,710075;中国空间技术研究院卫星应用系统部,北京,100086;诺德科技有限公司,陕西,西安,710075
【正文语种】中文
【中图分类】TN911.73
【相关文献】
1.改进型CIC抽取滤波器设计与FPGA实现 [J], 张杰;戴宇杰;张小兴;吕英杰
2.基于FPGA的CIC抽取滤波器设计与实现 [J], 雷能芳
3.基于FPGA的并行可变插值倍数的插值算法实现 [J], 蓝永祥
4.DVB-S基带滤波器中可变插值率补偿技术 [J], 刘伟栋;戎蒙恬;王本峰
5.DVB-S信道处理系统中基带脉冲整形插值滤波器的FPGA设计 [J], 时彦平;林涛因版权原因,仅展示原文概要,查看原文内容请购买。
基于非递归结构的多级余弦CIC滤波器是一种数字滤波器,它使用卷积来实现信号处理。
这种滤波器通常用于通信系统中的脉冲整形和滤波。
多级余弦CIC滤波器由多个余弦函数组成,每个余弦函数都有一个不同的频率。
这些余弦函数在时间上重叠,形成一个连续的信号。
通过调整滤波器的参数,可以改变输出信号的频率和带宽。
非递归结构是指滤波器的实现方式不是递归的。
在递归滤波器中,输出信号不仅取决于当前输入信号,还取决于过去的输出信号。
而非递归滤波器的输出只取决于当前输入信号。
基于非递归结构的多级余弦CIC滤波器的实现通常包括以下几个步骤:
1. 定义滤波器的参数,包括滤波器的阶数、采样率、脉冲宽度等。
2. 计算滤波器的系数,这些系数是根据滤波器的参数计算得出的。
3. 将输入信号通过滤波器,得到输出信号。
这种滤波器通常使用数字信号处理库或软件来实现,例如MATLAB或Python的NumPy库。
通过调整滤波器的参数,可以实现对信号的滤波、降噪、压缩等功能。
摘要CIC滤波器的结构简单,需要的存储量小,是被证明在高速抽取和插值系统中非常有效的单元。
本文介绍CIC滤波器的基本组成原理、滤波器各项参数的选择和设计CIC 滤波器的基本方法。
并用MATLAB和simulink进行仿真,验证了设计的可靠性和可行性。
关键词:积分梳状滤波器 MATLAB SIMULINKAbstractCIC filter, the structure is simple, need smaller storage capacity, is proved in high-speed extraction and interpolation system very effective unit. This paper introduces the basic composition of filter CIC principle, filter parameters selection and design of CIC filter the basic method. With MATLAB simulation and simulink verified the feasibility and reliability design.Key words : CIC filter MATLAB SIMULINK引言在数字接收集中,数字下变频(DDC )接收经过高速采样的中频数字信号,将所需的频带下变到基带,降低信号的速率,从宽带信号中提取单载波,送往数字信号处理器,完成对信号解调、解码、抗干扰、自适应均衡以及信号参数估计等工作。
它主要由数字混频器、数字控制振荡器、数字滤波器三部分组成。
它一般位于信号处理链的前端,靠近A/D 。
数字下变频器(DDC )中数字滤波器的主要作用是抽取、低通滤波、一般由FIR 滤波器实现。
但是如果系统输人信号的采样频率很高,当以普通FIR 滤波器完成低通滤波时,由于FIR 滤波器本身的处理效率很低,需要在如此高的采样频率下完成一系列乘加运算,这种方法将对实现抽取处理芯片的处理速度提出非常高的要求,在工程将难以实现。
因此,如何采用结构简单、处理高效的低通滤波器来满足工程实现的具体要求,就是抽取能否实现的关键所在。
CIC 滤波器是一种基于零极点相消的FIR 滤波器,已经被证明是在高速抽取或插值系统中非常有效的商分解速率滤波器。
1 CIC 滤波器的基本原理积分梳状CIC 滤波器的结构简单,处理速度高,最大的优点是不需要进行乘法运算,可以对高速数据流进行低通滤波和抽取因子不是2的幕次倍的抽取处理,它常用在多级抽取的第一级。
积分梳状滤波器一般由两个基本的环节组成:基本递归式积分器(I )和梳状微分器(C)。
积分部分包括N 个理想的积分器,每个积分器都是单极点的IIR 滤波器。
积分器也可以看成是累加器。
根据Z 变换,积分器的传。
函数为:111()1H Z Z -=-。
梳状器是对称的FIR 滤波器,其对应的传递函数为:()1D c H z z -=-。
单级CIC 滤波器的原理结构如图1所示。
图1 单级CIC 滤波器的原理结构图设抽取因子为D ,则单级CIC 滤波器具有下述特性。
单级CIC 的冲击响应具有如下形式:单级CIC 的频率特性为IZ -DZ- D单级CIC 的传递函数为传递函数H(z)具有递归的IIR 滤波器的形式,但实际上,由于D 不等于1,所以,可以将H(z)简化为1()D nn H z z --==∑从上式中可以看出,尽管传递函数具有递归形式,但H(z)仍可表达为FIR 滤波器。
需要相同位移的数字FIR 滤波器时,一般需要D —1个加法器,而使用CIC 滤波器实现相同的功能只需要1个加法器和1个减法器。
单级CIC 滤波器的幅频特性如图2所示图2 单级CIC 滤彼器的幅频特性从图2中可以看出,单级CIC 滤波器的旁瓣电平比较大,只比主瓣低13.46dB,这也就是意味着此低通滤波器的阻带衰减很差,难以满足系统实用化要求。
为了降低旁瓣电平,可以采用多级CIC 滤波器级联的办法来解决。
Q 个单级CIC 滤波器级联得到的传递函数为()()11()1QD QZ H z Z ---=-其第一旁瓣抑制为13.46QS Q dB α=⨯但是,对于多级的CIC 滤波器,还要考虑滤波器的带内衰减的问题, 也就是说在信号同带内信号幅值容差不能太大。
在1ωω=处,若设该容差为δ占,则单级CIC 滤波器的容差为Q级CIC滤波器的带内容差为由此可以看出,Q级CIC滤波器的带内容差也是单级CIC滤波器的δ倍。
也就是说,多级级联虽然能够增大阻带衰减,但是同时也会导致带内平坦度变差。
所以 ,一般来说 ,CIC滤波器的级联数是有限的,不宜太多,一般以5级为限。
α=5*13.46=67.3dB可见5级级联的CIC滤波器就具有67.3dB的阻带当Q=5时, QS衰减,基本上可以满足实际工作的需要。
5级CIC滤波器的幅频特性如图3所示图3 5级CIC滤波器的幅频特性从图中可以看出,多级CIC滤波器的旁瓣电平较单级的情况已经大大减少,阻带衰减也有所改善。
在使用级联CIC滤波器时需要注意的一个问题是,有M级CIC滤波器级联的滤波器有一个处理增益MD,因此在用数字信号处理器实现CIC滤波器时,每一级必须包含足够的精度,即每一级所使用的运算有效位数都将比前一级要多。
CIC滤波器的基础是完美的零极点抵消,要实现这样一个事实,只有使用精确的积分算法才是唯一可行的。
二进制补码就具有支持无误差算法的能力,系统中的运算是采用二进制补码的形式运行的。
在二进制补码中,算法是以模2b执行,因此,虽然累加器会有溢出的情况发生,但二进制补码系统的精确算法会自动地对积分器的溢出进行补偿,依然可以得到正确的输出结果 ,不会受到累加器溢出的影响。
B,N级CIC滤波器级联,内插因子为D,则输出数据宽度假设输人数据的宽度为in为2[log ]out in B N D B =+在实际设计中,每一级积分器和梳状器的位数都用out B 这样就可以保证最后输出结果的精度。
2 CIC 滤波器的仿真结果通过MATLAB 中的抽取函数仿真出单级CIC 滤波器的频响如图所示程序如下:D=5; %5倍抽取 r=D; fs=1e5;%抽样频率S1_cic=ones(1,D);[h1,f1]=freqz(ones(1,D),1,1000,fs);hold on ; %单级CIC 可近似为FIR 滤波器plot(f1/(fs/2),20*log10(abs(h1))-max(20*log10(abs(h1))),'r','LineWidth',1.4)ylabel('\fontsize{12}\bf 幅度响应(dB )’)xlabel('\fontsize{12}\bf 归一化频率(\times\pi rad/sample)') grid; box on ;axis([0 1 -80, 0])两级级联后频响如下:D=5;r=D;fs=1e5;S2_cic=conv(ones(1,D),ones(1,D)); %两个单级卷积[h2,f2]=freqz(S2_cic,1,1000,fs);plot(f2/(fs/2),20*log10(abs(h2))-max(20*log10(abs(h2))),'r','LineWidth' ,1.4)ylabel('\fontsize{12}\bf幅度响应(dB))xlabel('\fontsize{12}\bf归一化频率(\times\pi rad/sample)')grid;box on;axis([0 1 -80, 0])三级级联后频响如下:D=5;r=D;fs=1e5;S3_cic=conv(conv(ones(1,D),ones(1,D)),ones(1,D)); %三个单级卷积[h3,f3]=freqz(S3_cic,1,1000,fs);plot(f3/(fs/2),20*log10(abs(h3))-max(20*log10(abs(h3))),'r','LineWidth' ,1.4)ylabel('\fontsize{12}\bf幅度响应(dB)')xlabel('\fontsize{12}\bf归一化频率(\times\pi rad/sample)')grid;box on;axis([0 1 -80, 0])由仿真验证了:随着滤波器级数的增加阻带衰减逐渐变好,但带内平坦度变差。
以sin函数为例,利用MATLAB中CIC抽取滤波器函数仿真结果如下:D=5; %5倍抽取r=D;hm=mfilt.cicdecim(r); %CIC抽取滤波器函数fs=1e5;n=0:10239;x=sin(2*pi*n*1e3/fs); %以sin函数为例y_fi=filter(hm,x);x=double(x);y=double(y_fi);y=y/max(abs(y));stem(n(1:22*r)/fs,x(r:22*r+r-1));hold on;stem(n(1:22)/(fs/r),y(3:24),'r','filled');图形如下:用simulink仿真,在参考其自带的CIC滤波器内波结构模型后。
通过库中的延时、求和等基本库函模型,依照CIC滤波器的基本结构画出框图如下:将其封装进子模块中:仿真模块如下图:本仿真以5倍抽取为通带截止频率为20Hz为例。
其中Sine Wave1的频率为10Hz,Sine Wave2的频率为50Hz。
仿真得到波形如下图:其中第一个波形为Sine Wave1;第二个波形为Sine Wave2;第三个波形为合成波;第四个为经过CIC滤波器后的输出波形。
结论CIC滤波器具有结构简单、规整,需要的存储量小的优点。
由于它不需要乘法器,加之滤波器的所有系数均为1,而且利用积分环节减少了中间过程的存储量,因此常常用在高速采样和插值比很大的场合CIC抽取滤波器实现起来有以下几个优点(1)只需要加法器,无需一般的FIR滤波器所需的乘法运算;(2)无需存储滤波器的系数;(3)抽取器可以放到梳状部分的左侧,减少计算量;(4)结构规则易于拓展;(5)无需外部控制;(6)抽取倍数可变。
这些优点无论是对提高实时性,还是简化硬件都有重要意义,所以CIC滤波器在数字接收机中具有特别重要的位置。
参考文献【1】姜宇柏,游思晴.软件无线电原理与工程应用.北京:机械工业出版杜,2006【2】陈亚勇.MATLAB信号处理详解.北京:人民邮电出版社,2001(本资料素材和资料部分来自网络,仅供参考。