多相抽取滤波
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013年4月
信号抽取的多相形式实现
一、理论基础
理论情况下对信号进行多速率处理时,要在信号的抽取之前和信号的插值之后进行信号的限带滤波。因为抽取是信号频谱扩展的过程、插值是信号频谱压缩的过程,若不进行限带滤波,则抽取后信号频谱在周期延拓扩展的过程中将会引起频谱的混叠造成信号的改变,使信号信息产生变化;同理,插值的过程没有限带时,也将会使我们不感兴趣的冗余信息压缩进信号的频谱中,造成信号携带信息的改变,使信号失真。理论框图如下:
内插器及其框图表示
但这显然不是最优化的处理方法:因为多速率信号处理的核心目的之一就是在不改变信号携带信息的条件下降低信号的流速率,以减轻对信号处理器件的运算速度的压力,来最大化的提高系统效能。可理论框图中:滤波器分别放置在抽取器之前和内插器之后。而这两个位置恰恰是信号流速率相较另一侧更高的一端,显然这会加大硬件的处理负担。
由于这次实验是对抽取进行验证所以下文内容只讨论抽取的结构优化过程。我们通过对限带滤波器h[n]的Z变换进行分析,结构变化可以发现H(z)可以转化为如下形式:
()()n
n H z h n z +∞
-=-∞
=∙∑
()()()
1
M n
k
M
k n H
z z
h nM
k z
-+∞
--==-∞
=+∑∑
()()()n
n
k
k n n E z e n z
h nM k z +∞
+∞
--=-∞=-∞
==
+∑
∑
()()
1
M k M
k
k H
z z E
z --==∑
再根据,抽取与滤波器之间的恒等变换,可以把抽取系统转化等效的多相形式表示如下:
可见等效结构中:滤波器的运算是在对信号进行抽取之后的,这就显而易见的降低了原信号的信号流速率,使后续对信号处理过程的运算量大大的降低了。这就体现出了多相滤波形式的一大优势,并且还可以根据后续处理的要求,采取不同的多相形式来提高系统的效率,节省了系统的内部资源。
2.实验过程
上一节对多相滤波形式的优势及实用性进行了分析和阐述。这一节将对其实现过程进行叙述。
(作业题目:
5.设计一个5路5:1多相减采样滤波器满足下面的参数要求:
输入样值频率: 100kHz
通带: 0-8kHz 带内波纹: 0.1dB
阻带: 12-50kHz 阻带抑制: 60dB
输出样值频率: 20kHz
试设计一个滤波器,通过如下带外信号的1000个样本处理来测试
带外抑制效果。带外信号如下
X1=exp(j*2*Pi(0:999)*21/100);
画出多相滤波器对带外信号X1的时域响应以及它的幅频响应;
构造一个带内及带外信号的合成信号,如下
X2=X1+exp(j*2*Pi(0:999)*1.5/100);
画出多相滤波器对带外信号X1的时域响应以及它的幅频响应.
)
1.滤波器设计
由上一节可知:多相滤波形式中各个子道的滤波器实际为原抽取滤波器等效多相形式各个系数进行重构后所得到的滤波器。所以,设计的核心还是要对原滤波器的性能、阶数、系数有确切的认识后才能进行。在这里利用MATLAB中的滤波器设计工具fdatool按照题目所要求的滤波器性能进行设计,生成所需滤波器的参数。设计的参数设置如图2所示,生成滤波器的系数如图1所示
图1
图2
然后将滤波器多相形式中的每个子带滤波器的系数逐一获得,过程如下:
h0=filter_coe(1:5:65);
h1=filter_coe(2:5:66);
h2=filter_coe(3:5:67);
h3=filter_coe(4:5:68);
h4=filter_coe(5:5:69);
2.子带信号抽取
然后利用downsample函数以及对信号自变量进行简单的移位得到每个子道的待处理信号,过程如下:
y1=downsample(x2,5);
t=t+1;
y2=downsample(x2,5);
t=t+1;
y3=downsample(x2,5);
t=t+1;
y4=downsample(x2,5);
t=t+1; %%%%%%%%%%%¶Ôÿ¸ö×ÓµÀµÄÐźŽøÐÐÐźÅÏàÓ¦µÄÑÓ³Ù%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y5=downsample(x2,5); %%%%%%%%%%%¶Ô×ÓµÀÐźŽøÐÐ5±»³éÈ¡
之后对每个子道的信号进行滤波处理(与多相滤波器系数进行卷积)过程如下:
y1_filter=conv(y1,h0); %%%%%%%%%%¶Ôÿ¸ö×ÓµÀÐźÅÂ˲¨
y2_filter=conv(y2,h1);
y3_filter=conv(y3,h2);
y4_filter=conv(y4,h3);
y5_filter=conv(y5,h4);
最后求和:
y_sample_practical=y1_filter+y2_filter+y3_filter+y4_filter+y5_filter;
得到抽取后的实际信号。
三、结果分析
1.待抽取信号波形及频谱.
2.利用decimate函数获得的理想抽样信号波形和频谱