[TOC]


多相滤波原理

在上一篇文章中讨论了基于低通滤波方式的正交下变频系统。下面是该种方式的结构图。

图1.1 数字正交下变频

但是,这种典型的数字下变频方式也存在着这样一些缺陷:
* 当采样信号为宽带信号时,需要较高的采样频率,此时会带来系统设计的复杂度;
* 先滤波后抽取,那些没被抽取的数据相当于是冗余数据,浪费了一定的运算量。
针对这些缺陷,可用多相滤波的方式进行改善。下面我们进行介绍。
多相滤波,本质上是采用抽取的方式,利用多个低阶FIR滤波器来代替一个高阶FIR滤波器,从而达到降低运算量的效果。
下面对其进行理论推导:

H(z)=∑n=−∞+∞h(n)z−n=∑k=0M−1z−k∑n=−∞+∞h(nM+k)(zM)−n

H(z) = \sum _{n=-\infty} ^{+\infty}h(n)z^{-n} = \sum _{k=0} ^{M-1}z^{-k} \sum _{n=-\infty} ^{+\infty} h(nM+k)(z^M)^{-n}

Ek(z)=∑n=−∞+∞h(nM+k)z−n

E_k(z)=\sum _{n=-\infty} ^{+\infty} h(nM+k)z^{-n}

H(z)=∑k=0M−1z−kEk(zM)

H(z) = \sum _{k=0} ^{M-1}z^{-k}E_k(z^M)

其结构图如下:

图1.2 多相滤波结构

该结构与下面结构等效:

图1.2 多相滤波结构

下面举个简单的例子进行说明。
假设滤波器传递函数

H(z)=1+2z−1+3z−2+4z−3

H(z)=1+2z^{-1}+3z^{-2}+4z^{-3}
我们假设抽取的间隔 M=2M=2,那么滤波器传递函数可以写成

H(z)=(1+3z−2)+z−1(2+4z−2)

H(z)=(1+3z^{-2}) + z^{-1}(2 + 4z^{-2})
其中 1+3z−21+3z^{-2}和 2+4z−22 + 4z^{-2}分别为两个分支上的FIR滤波器的系统函数,且 z−2z^{-2}表示该分支滤波器的输入数据应在原来滤波器的输入数据上进行 M=2M=2的抽取。第二个分支FIR滤波器传递函数前的 z−1z^{-1}表示每个分支滤波器都需要经过一个延迟节。
直观上来理解,就是回波数据在多相滤波的过程中,对数据进行抽取,抽取得到的 MM路数据如下表所示。

分支号 抽取数据索引
1 1,M+1,2M+1,......1,M+1,2M+1,...... 2 2,M+2,2M+2,......2,M+2,2M+2,...... 3 3,M+3,2M+3,......3,M+3,2M+3,...... …… ……

同样,滤波器系数也要经过相应的抽取,抽取的数据下标也和上表一致。
经过抽取后数据和滤波器系数进行卷积,最后将所有支路结果求和即可得到滤波结果。


多相滤波仿真

同样以雷达系统中的接收机系统为例,进行仿真。多相滤波方式的正交下变频方式处理顺序为: 混频 ——> 抽取 ——> 滤波,下面为具体参数设置。

参数 名称 取值 备注
f0f_0 中频 20MHz20MHz
BB 带宽 2MHz2MHz
tautau 时宽 150us150us
TT 重复周期 2ms2ms
fsf_s 采样频率 33MHz33MHz
SNRSNR 信噪比 20dB20dB
disdis 目标距离 T∗fs/2T*fs/2 将目标设置在回波中间
MM 抽样间隔 3

关于上面表格中的采样频率设置,下面表格根据带通采样定理给出一些可能情况。

nn取值 取值
22 (21,38)(21,38)
33 (14,19)(14,19)
44 (10.5,12.6)(10.5,12.6)
55 (8.4,9.5)(8.4,9.5)
66 (7,7.6)(7,7.6)
…… ……

采样频率可取上面表格中区间内的任何值,为使硬件处理方便,通常选取与中频存在倍数关系的取值。
**在这里存在一个疑问,假设采样频率为fSf_S,抽取的间隔为MM,那么每条支路上数据的采样频率就应该为fs/Mf_s/M,而此时信号中频仍为f0f_0,每条支路都必须满足带通采样定理,那么就应该用fs/Mf_s/M和f0f_0来判断采样频率的选取是否合适。
而从另一个角度理解,多相滤波不过是常规低通滤波方式的数学上的优化,低通滤波方式是以采样频率fSf_S和中频f0f_0来判断频率的选取是否合适的,此处为什么会有矛盾。是不是因为抽取的先后顺序导致的呢?**
下面是仿真的结果。
下图是带中频的线性调频信号。

图2.1 带中频线性调频信号

在线性调频信号的基础上,添加高斯白噪声,回波信号及其频谱如下所示。

图2.2 带高斯白噪声回波信号

利用两路本振信号对回波信号进行正交混频,下图为混频之后的时序部信号。

图2.3 混频后信号

下图为混频后信号的幅频特性,其中包括基带部分和两倍中频部分。

图2.4 混频后信号频谱

利用海明窗生成低通滤波器,并进行抽取。

图2.5 滤波器系数

对回波信号进行抽取,下面为抽取后其中一条支路信号时域信号和频谱。

图2.6 某条支路抽取后信号及其幅频特性

对所有支路信号进行滤波累加,得到如下结果。

图2.7 滤波结果

上面的仿真采样频率采用的是33MHz,抽取后采样频率为11MHz,都满足带宽采样定理,所以DDC后看到的线性调频信号结果很好。如果采样频率更换成30MHz,此时是满足带通采样定理的,但是如果抽取后,变成10MHz,那么就会出现问题,DDC后结果如下所示,波形明显不正确。

图2.8 更换采样频率后滤波结果

查看混频和抽取后的回波信号频谱,两倍的中频部分和基带信号频谱已经混叠了。

图2.9 更换采样频率后滤波后频谱


仿真代码附录

%% ddc
clear ; close all; clc;% parameter
f0      =   20e+6;      % 中频
B       =   2e+6;       % 带宽
Tao     =   150e-6;     % 时宽
T       =   2e-3;       % 脉冲重复周期
fs      =   33e+6;      % 采样频率
SNR     =   20;         % 信噪比
dis     =   T*fs/2;     % 将目标设置在回波中间处
extract_num = 3;% Generate LFM @f0
t = -round(Tao*fs/2):1:round(Tao*fs/2)-1; % 脉冲采样点
median_fre = (10^(SNR/20))* (cos(pi*B/Tao*(t/fs).^2 ).*cos(2*pi*f0*t/fs) - sin(pi*B/Tao*(t/fs).^2 ).*sin(2*pi*f0*t/fs));   % I*cos + Q*sinfigure; plot(median_fre); title('线性调频信号(中频信号)');% Generate echo
echo  = zeros(1,T*fs);
echo(dis:1:dis+Tao*fs-1) = median_fre;
noise = normrnd(0,1,1,T*fs);
% noise = 0.5*ones(1,T*fs);
echo = echo + noise;figure;
subplot(2,1,1); plot(echo,'b'); title('回波信号');
subplot(2,1,2); plot(abs(fftshift(fft(echo))),'r'); title('回波信号频谱');% frequence mixing
echo = echo.*exp(-1i*2*pi*f0*(0:1:T*fs-1)/fs);figure;
subplot(2,1,1); plot(real(echo),'b'); title('混频后回波信号实部');
subplot(2,1,2); plot(imag(echo),'r'); title('混频后回波信号虚部');figure; plot(abs(fftshift(fft(echo)))); title('混频后回波信号频谱');% Multi-phase filtering
% generate fir filter   order = 127
coeff = fir1(127, B/(fs/2), hamming(128)); % w = B/(fs/2)
figure; freqz(coeff); title('抽取前FIR滤波器系数')% extract by extract_numfor k = 1:1:extract_numcoeff_extra(k,:) = coeff(k:extract_num:floor(length(coeff)/extract_num)*extract_num );
endfigure;freqz(coeff_extra(1,:)); title('抽取后FIR滤波器系数')% downsample by extract_numfor k = 1:1:extract_numecho_extra(k,:) = echo(k:extract_num:floor(length(echo)/extract_num)*extract_num);
endfigure;
subplot(2,1,1); plot(real(echo_extra(1,:).')); title('抽取后信号')
subplot(2,1,2); plot(abs(fftshift(fft(echo_extra(1,:).')))); title('抽取后信号频谱')% resultfor k = 1:1:extract_numres(k,:) = conv(echo_extra(k,:),coeff_extra(k,:));
endddc_res = sum(res); % plus by rowfigure;
subplot(2,1,1); plot(real(ddc_res),'b'); title('低通滤波后回波信号实部');
subplot(2,1,2); plot(imag(ddc_res),'r'); title('低通滤波后回波信号虚部');

参考资料:
[1] 《现代雷达系统分析与设计》陈伯孝编著。

数字正交下变频(多相滤波法)相关推荐

  1. 数字正交下变频与数字滤波抽取的仿真与实验----基于高速ADC芯片

    本篇内容的姊妹篇为:[1]数字插值滤波与数字正交上变频的仿真与实验----基于高速DAC芯片 关于正交变频的框图可以参考:[2]通信应用中数字上变频DUC与数字下变频DDC详细原理(带图) 本文的高速 ...

  2. 数字插值滤波与数字正交上变频的仿真与实验----基于高速DAC芯片

    基于ADI公司的AD9144高速DAC芯片原理,可以对数字基带信号进行插值滤波然后使用NCO(numberically controlled oscillator)进行正交上变频. 关于ADC的可以参 ...

  3. 直接数字下变频(1):低通滤波法实现

    实信号的频谱包括正负频谱两部分,正负频谱共轭对称,每一部分都含有信号的全部信息,如果只对其进行单路相位检波的话,正负频谱会在零频附近发生频谱混叠:若想不发生频谱混叠,需要对实信号进行正交双路相位检波, ...

  4. matlab 多相滤波,数字多相网络的滤波原理

    数字多相网络的滤波原理 本文通过数字序列的谱分析对数字多相网络的滤波原理进行分析,并由此对多相网络和DFT(离散付氏变换)处理器相结合构成的滤波器组进行了探讨.这一分 (本文共7页) 阅读全文> ...

  5. 领域平均法matlab代码实验,数字图像处理邻域平均法滤波实验报告matlab实现.doc...

    数字图像处理邻域平均法滤波实验报告matlab实现 数字图像处理 实验报告 实验三 邻域平均法滤波 学号 姓名 实验三 邻域平均法滤波 一.实验内容 选取噪声较明显的图像,分别采用3*3.5*5.7* ...

  6. ssb门限_画出滤波法ssb信号调制器模型,并说明低通和高通滤波器分别得到哪个边带信号...

    匿名用户 1级 2016-05-25 回答 如果输出已调信号的频谱和输入调制信号的频谱之间满足线性搬移关系,则称为线性调制,通常也称为幅度调制.线性调制的主要特征是调制前后的信号频谱从形状上看没有发生 ...

  7. c语言 算术平均滤波法_单片机数字滤波的算法

    单片机主要作用是控制外围的器件,并实现一定的通信和数据处理.但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算.下面主要是介绍如何用单片机实现数字滤波. 在单片机进 ...

  8. 单片机ADC采样算法----限幅消抖滤波法

    限幅消抖滤波法相当于"限幅滤波法"+"消抖滤波法"    . 下面直接看C代码的实现 #define A 200 #define N 20 //返回两个整数差 ...

  9. 单片机ADC采样算法----消抖滤波法

    消抖滤波法的实现步骤为:设置一个滤波计数器,将每次采样值与当前有效值比较,如果采样值等于当前有效值,则计数器清零.如果采样值不等于当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出),如 ...

最新文章

  1. 冒泡 MS Azure 不便宜。。。
  2. disk boot failure,insert system disk and press enter
  3. 高并发系统处理之——限流
  4. C 语言实现数组冒泡排序
  5. C#中窗体的数据传递
  6. 计算机处理答题卡原理,基于图像处理的答题卡自动阅卷系统的设计与实现
  7. C/C++基础题035.一元二次方程公式
  8. 用计算机术语形容人性格的词语,电脑桌创意广告词——关于电脑桌的广告语
  9. WorldPress博客系统更换域名导致博客访问出错的解决方案
  10. 必看!“隐形贫困人口”重疾险排名及投保建议
  11. go mgo包 简单封装 mongodb 数据库驱动
  12. 微信小程序跳转第三方H5的方法
  13. 常见的浏览器指纹包含哪些
  14. 【愚公系列】2022年04月 微信小程序-项目篇(公交查询)-01周边站点
  15. AKABEiSOFT2经典作品推荐 車輪の国、向日葵の少女( 攻略、汉化、特典、PSP转换器)...
  16. 实践是检验真理的唯一标准2 - 脱壳篇03
  17. Mnesia consumption
  18. String s3 = quot;helquot; + new String(quot;loquot;);做了什么
  19. [招聘信息]Leader/Manager@EMC
  20. 2022T电梯修理考试题模拟考试平台操作

热门文章

  1. mac常用基本操作笔记
  2. DDOS防御的8种方法
  3. ESD(静电释放)上半部分
  4. java电话面试_记一次java电话面试
  5. 点云 3D 目标跟踪 - AB3DMOT(IROS 2020, ECCVW 2020)
  6. php 设置数字键盘,window_win10启动时如何设置默认打开小键盘数字输入切换键?,win10作为微软的一次重大变革 - phpStudy...
  7. qpython 3h和oh_**python中的类和他的成员
  8. 【Java 数据结构】树和二叉树
  9. python对淘宝运营有帮助吗_优秀的淘宝运营需要具备哪些能力
  10. matlab曲面的最小值,MATLAB中标准三维曲面