主要内容

使用复多速率滤波器的中频子采样

这个例子展示了如何使用复杂的多速率滤波器在实现数字下变频器(DDC)。DDC是数字无线电的关键部件。它执行必要的频率转换,将典型的模数转换器输出处的高输入采样率转换为更低的采样率,以便进一步和更容易处理。在本例中,我们将看到如何将用450khz载波频率调制的音频信号降至20khz采样频率。在简要回顾传统DDC架构之后,我们将描述一种称为中频(IF)子采样的替代解决方案,并将比较这两种解决方案各自的实现成本。万博 尤文图斯此示例需要定点设计器™许可证。

常规数字下变频器

传统的下转换过程以满足载波的奈奎斯特标准的速率对模拟信号进行采样。可能的选项是在2.0 MHz上对450 kHz输入信号进行采样,然后使用数字下变频器与基带,过滤器和向下样本进行复杂的转换,并通过级联积分器 - 梳(CIC)滤波器,然后按下4带有一对半带滤波器。这样的实现如下所示:

CIC滤波器设计

传统DDC的第一滤波器通常是CIC滤波器。CIC滤波器是高度抽取或插值系统中使用的高效,乘数结构。在我们的情况下,它将使2 MHz信号降至2.0 MHz / 25 = 80 kHz。

Fs_normDDC = 2 e6;%采样频率R = 25;%大量毁灭的因素fpass = 10e3;%通带频率astop = 60;%混叠衰减(DB)d = 1;%差分延迟dcic = fdesign.decimator (R,'cic',d,fpass,astop,fs_normddc);cic = design(dcic,“SystemObject”,真正的);cicgain = dsp。FIRFilter ('分子', 1 / (cic));%标准化CIC的增益

补偿冷杉排音器设计

传统DDC的第二个滤波器补偿由CIC引起的通带下垂。由于CIC具有类似自正弦的响应,因此可以用一个在通带内具有反正弦响应的低通滤波器来补偿它的下垂。

nsecs = cic.numsections;%数量fpass = 10e3;%通带频率Fstop = 25 e3;%阻带频率Apass = 0.01;%通带纹波(DB)astop = 80;阻带衰减(dB)dcp = fdesign.decimator (2'ciccomp'......成就,D, Nsecs Fstop、apas Astop, dcic.Fs_out);cfir =设计(dcp,'平静'......“StopBandShape”'线性''stopbanddecay'现年60岁的“SystemObject”,真正的);

Halfband滤波器设计

最后我们使用20阶半带滤波器将40khz的信号降至20khz。

dhbfilter = fdesign.decimator (2'halfband''n',20,dcp.fs_out);HBFilter = Design(DHBFilter,“SystemObject”,真正的);

通过级联先前设计的三个阶段获得传统的DDC滤波器。

Normddcfilter =级联(Cicgain,CIC,CFIR,HBFilter);

如果是子采样

由于作为信号提取的一部分丢弃载波频率,因此在数据采样过程中不需要保留它。只要满足复杂信封带宽的奈奎斯特标准,就可以违反载体的奈奎斯特标准。

奈奎斯特标准的这种窄带解释导致备用数据收集过程,称为自限制。在该过程中,选择A / D转换器的采样率以小于信号的中心频率,以故意占用中心频率。由于有意违反奈奎斯特标准,因此必须调节模拟信号以防止多个频率间隔从别名到与所需信号分量别名的相同频率位置。

变量y表示用450khz载波频率调制的音频信号的大约3秒。离散信号ys代表120 kHz a /D转换器的输出。

(y, y, Fs) = loadadcio;Fs_altDDC = 1.2 e5;%采样频率[hys,fys] =句点图(ys,[],[],fs,'力量''中心');N =长度(年度);数字('颜色''白色的')周期图(Fs, y, [], []'力量''中心');清除y;持有;图(( - (CEIL(N / 2 * 9)-1):地板(n / 2 * 9))/ n * fs_altddc / 1000,......repmat (10 * log10(衔接),9日1),“:”);轴([ -  50 500 -160 0])图例(A/D转换器输入'A / D转换器的别名输出'......'地点''东北');

频带约为450 kHz aliased -30 kHz。别名到四分之一的采样频率最大化正频率和负频率偏振之间的分离。这允许模拟带通滤波器的最大转换带宽,因此最大限度地减少其成本。

120khz采样频率的选择也简化了下转换到20khz的后续任务,这是通过下采样6倍来完成的。下变频分两个阶段实现。首先通过复带通滤波器进行3比1下采样,然后通过半带滤波器进行2比1转换。这种混叠DDC的结构如下所示。

复杂带通滤波器设计

为了获得复杂的带通滤波器,通过将滤波器系数乘以外差术语Exp(-j * pi / 2 * n)来将低通道抽取器原型转换为四分之一的采样率。请注意,虽然低通滤波器的系数是真实的,但是翻译过滤器的系数复杂。下图描绘了这些过滤器的幅度响应。

m = 3;%抽取因子TW = Fstop-Fpass;过渡宽度(Hz)designlowpass = fdesign.decimator(m,'奈奎斯特'、米、TW Astop Fs_altDDC);lpfilter =设计(designLowpass,“SystemObject”,真正的);%lowpass原型n = 0:长度(lpfilter.numerator)-1;ComplexBPFilter = DSP.Firdecimator(M,LPFilter.numerator。* Exp(-1i * pi / 2 * n));fvt = fvtool(lpfilter,complexbpfilter,“Fs”Fs_altDDC,'颜色'“白色”);传奇(fvt'低通道抽取器''复杂的带通抽屉'......'地点''东北'

我们现在将复杂的带通道抽取器应用于A / D转换器的输出。可以表明,四分之一采样率的信号将始终别名到任何整数因子的抽取下的四分之一采样率的倍数。在我们的示例中,-30 kHz居中信号将别名为40/4 = 10 kHz。

YCBP = ComplexBPFilter(ys);数字('颜色''白色的')期间图(YCBP,[],[],DesignLowPass.fs_out,'力量''中心');传奇('复杂带通道抽取器的输出'

然后将输出序列Ycbp自差至零。

YHT = YCBP。*( -  1i)。^(0:长度(YCBP)-1)。';数字('颜色''白色的')期间图(YHT,[],[],DesignLowpass.fs_out,'力量''中心');传奇(“外差序列”

最后,外累差序列被用作半带滤波器的输入并抽取2。我们可以将相同的半带滤波器作为传统DDC中的。

yf = hbfilter (yht);数字('颜色''白色的')句号(yf,[],[],dhbfilter.fs_out,'力量''中心');传奇('别名DDC的产出'

在“别名”DDC的输出处播放音频信号。(版权所有2002 FingerBomb)

玩家= audiodevicewriter('采样率', dhbfilter.Fs_out);球员(真实(yf);

实施成本比较

在我们进行成本分析之前,让我们验证两个DDC解决方案中滤波器的大小响应是可比的。万博 尤文图斯在传统的DDC案例中,我们将复杂转换与基带中的复杂翻译和IF退缩案例中的外差排除在一起。此外,我们在后一种情况下使用低通式原型抽取器,因为它具有与复杂的带通放样器具有相同的过渡宽度,通带和停机衰减。

altDDCFilter =级联(lpfilter hbfilter);

我们验证两种情况下使用的过滤器具有非常相似的幅度响应:小于0.04 dB通带纹波,6db截止频率为10 kHz,55 dB停止带衰减为13.4 kHz。因此,要进行成本分析。

设置(fvt......“过滤器”,{normddcfilter,altddcfilter},......“FrequencyRange”“指定freq.向量”......“FrequencyVector”linspace(0100年e3, 2048),......“Fs”,[fs_normddc,fs_altddc],......“ShowReference”“关闭”......'颜色'“白色”);传奇(fvt'常规DDC滤波器'......'等效数字如果取代过滤器'......'地点''东北');

在传统DDC的情况下,我们必须首先考虑基带翻译的成本。我们假设只有一个在2 MHz工作的一个乘数。然后,我们必须添加CIC和半带滤波器的成本。在IF子采样案例中,我们必须考虑外差的成本。我们假设它只是在40 kHz工作的一个乘数。然后,我们必须增加复杂带通和半带滤波器的成本。

CIC和半带滤波器的%成本c_normDDC =成本(normDDCFilter);复杂带通和半带滤波器的%成本C_ALTDDC =成本(级联(CompledBPFilter,HBFilter));DDCCOSTCOMP(FS_NORMDDC,C_NORMDDC,FS_ALTDDC,C_ALTDDC)
ans = '总成本:传统监护系统|如果二次抽样  ------------------------------------------------------------------- 系数的数量:36 | 42的状态数:50 | 62乘法/微秒:5.18 | 1.5每微秒增加:9.44 | 1.4”

乘数,蛇,和国家所需的二次抽样的情况下,与传统的监护系统但是操作每秒的数量显著减少,因为它节省了71%的数量乘法每秒每秒和85%的增加的数量。

使用DSP.ComplayBabrandPassDecimator.

我们可以使用DSP.ComplayPassDecimator系统对象更轻松地设计复杂的带通滤波器。该目的基于指定的抽取因子,中心频率和采样率设计带通滤波器。当我们在上面的设计中完成时,不需要将Lowpass系数转换为带通量:对象将为我们做到这一点。此外,对象将导出滤波信号别名的频率,并将其混合回给我们的零Hz。

%设计复杂的带通滤波器。包括Diremional-By-2的半频段%过滤到设计中,指定抽取因子为2*M:BP = DSP.ComplayCassDecimator(M * 2,-30E3,FS_ALTDDC,......'transitionwidth',tw);%可视化滤波器响应VisualizedFilterstages(BP);%过滤120 kHz A / D转换器的输出yf = bp(ys);数字('颜色''白色的')句号(yf,[],[],dhbfilter.fs_out,'力量''中心');传奇('复杂带通道抽取器的输出'播放器(真实(yf));

概括

此示例显示了在设计基于子采样的数字下变频器时,如何使用复杂的多速率过滤器。如果自动采样技术可以在许多应用中具有成本高效的常规DDC的替代方案。有关限位器,请参阅2004年Prentice Hall,Prentice Hall,Prentice Hall,Prentice Hall,Prentice Hall,Prentice Hall,Prentice Hall,Prentice Hall,2004年看到了更多信息。