小数延迟滤波器

作者:桂。

时间:2017-10-10  22:38:46

链接:http://www.cnblogs.com/xingshansi/p/7648274.html 


前言

阵列信号处理中,经常用到小数延迟(fractional delay,FD)的思路,例如Beamforming、GSC等等,本文摘录几个小数延迟的实现方式,不打算做系统性的梳理,具体可参考课件。

一、问题模型

给出用到的资料:

1)部分code:网盘code.

2)stanford课件,对应链接:https://ccrma.stanford.edu/~jos/Interpolation/

3)Beamforming应用实例:http://www.labbookpages.co.uk/audio/beamforming/fractionalDelay.html

以均匀线阵为例:

设麦克风阵列共用M个阵元,中心为参考点,阵元间距为d,信号入射角为θ,声音传播速度为c,则根据几何知识,第m(0≤m≤M-1)个阵元的时延为τm = (d/c) sinθ(m-(K-1)/2)。

麦克风采集的是数字信号,设采样周期为T,则对时域离散的信号来说,时延为D = τ/T。通常D不是一个整数,而对离散信号来说,整数时延才有意义。对于非整数D,可以分解为整数部分和分数部分D = ⌊D⌋ + d,式中,⌊D⌋为D的向下取整,0≤d<1。对于非零的分数部分d,此时信号实际值介于两个相邻采样点之间,即分数延迟。在实际处理中,可对d四舍五入取整,然后加上⌊D⌋,得到近似整数时延,但这种方法处理的结果不够精确。为了得到精确的结果,通常借助小数延迟的思路。

二、小数延迟滤波器

  A-一阶FIR设计

思路主要来自Taloy一阶近似:

从而

即:

其中η为对应的小数延迟,滤波器架构(低通信号有效):

  B-一阶IIR设计

此时对应的滤波器为全通滤波器(All pass),近似逼近

滤波器响应:

滤波器架构:

对应时间延迟:

   C-Sinc逼近

根据小数延迟滤波器的特性:

  • 幅度响应:全通
  • 相位响应:线性

得出滤波器:

对于采样信号,需要限定在-fs/2 ~ fs/2之间,即相当于对滤波器进行了频域截断,截断的滤波器特性:

求解该滤波器:

容易证明该滤波器是原型滤波器均方误差最小的逼近。 

%线阵为例
delay = d*sin(theta)*fs/c*(0:1:element_num);
n = -64:63;
i = 3;%延迟的阵元
h = sinc(n+delay(i));
H = zeros(1,256);
H(1:128) = h;
output = ifft((fft(sig)).*(fft(H)));%sig为输入信号
%相比时域卷积,频域点乘进一步节省资源

  存疑:如果不是[-pi pi],而是取[0 2*pi],即sin(2*pi*f0*t)其中f0为大于fs/2的信号,简单的逼近结果错误,延迟如何实现?

已解决,具体参考:过采样的小数延迟实现。

  D-Sinc加窗

由于C中滤波器存在截断,防止能量泄露的一个常用思路就是:加窗截断。

即:

α < 1 provides for a nonzero transition band。

对应code:

function h = hsincw2(L,d,wp,win)
% HSINCW2
% MATLAB m-file for sinc windowing method for FD filter design
% h = hsincw2(L,d,wp,win) designs an (L-1)th-order FIR
% filter to approximate a fractional delay of d samples,
% where 0 <= d < 1, wp is the passband of approximation and
% win is a length-L window function 
% (e.g., win = chebwin(L,ripple), with sidelope ripple in dB).
% Output: length-L filter coefficient vector h
% Function Calls: standard MATLAB functions and sinc.m
%
% Timo Laakso 23.12.1992
% Revised by Vesa Valimaki 19.10.1995
% Last modified 14.01.1996N = L-1;                 % filter order
M = N/2;                 % middle value
if (M-round(M))==0       % if L is even...D = M + d;           % D = M + delse D = M + d -0.5; % ...otherwise
end;
b = (0:N)-D;    % sample instants
h = sinc(wp*b); % shifted & sampled sinc function
h = h.*win;     % windowing by the given window function

  E-拉格朗日插值

该思路主要是借助拉格朗日插值,近似得出小数延迟位置的数值。关于拉格朗日插值法的介绍有很多。

滤波器逼近:

基于Taloy展开的性质:

这一特性符合拉格朗日插值的思路,利用此思路:

得出滤波器实现架构

对应code:

function h = lagrange(N, delay)
%LAGRANGE h=lagrange(N,delay) returns order N FIR
% filter h which implements given delay
% (in samples). For best results,
% delay should be near N/2 +/- 1.
n = 0:N;
h = ones(1,N+1);
for k = 0:N
index = find(n ~= k);
h(index) = h(index) * (delay-k)./ (n(index)-k);
end

  不同插值个数对应的系数:

  F-Farrow滤波器

该思路为多项式拟合,即将每一阶h看作是多项式拟合:

滤波器可表述为:

简化:

α可存在RAM里,利用查找表直接调用,便可以实现快速的小数延迟。

其中,参数求解:

对应实现架构:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

空间谱专题13:联合解算DOA(ML/AP)

其中作者&#xff1a;桂。 时间&#xff1a;2017-10-16 07:51:40 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/7675380.html 前言 主要记录二维测向中&#xff0c;分别利用两个一维阵联合解算的思路。 一、AP算法思想 信号模型&#xff1a; 对应相关矩阵 假设噪声为…

机器学习之正则化

根据上一篇博客《统计学习概论》可以知道&#xff0c;正则化的作用是选择经验风险和模型复杂度同时较小的模型。下面从过拟合的角度来理解正则化。 #过拟合问题 例子说明&#xff0c;线性回归问题&#xff08;房价&#xff09; 分析&#xff1a; 1&#xff09;左边第一幅图&am…

python开发平台Ubuntu

python开发平台Ubuntu APT软件管理和远程登录

投影矩阵

作者&#xff1a;桂。 时间&#xff1a;2017-10-19 06:02:00 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/7690292.html 前言 最近在交替投影算法中&#xff0c;用到投影矩阵&#xff0c;简单记录。 一、投影矩阵定义 此处以列满秩为例&#xff0c;行满秩可依次类推…

不同维度极值点查找

作者&#xff1a;桂。 时间&#xff1a;2017-10-19 17:00:12 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/7693557.html 前言 主要梳理不同维度信号极值点的查找思路。 一、思想 思想都是一个&#xff0c;通过极值点的定义&#xff1a;数值高于相邻的点&#xff0c…

俯仰角/偏航角的转化

作者&#xff1a;桂。 时间&#xff1a;2017-10-20 10:29:52 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/7698237.html 前言 主要记录坐标系的转化。 一、坐标转化 对于坐标系&#xff1a; 设方位角为φ&#xff0c;俯仰角为theta&#xff0c;仰角β与偏航角α&am…

安装Centos8.1

安装Centos8.1 按回车

逾期后,如何修复个人征信?

个人征信大家都是知道很宝贵&#xff0c;但是有些朋友会在有意无意之间造成逾期&#xff0c;结果给申请贷款、申请信用卡带来了诸多不便。逾期是谁也不想看到的&#xff0c;但是如果逾期已经发生了&#xff0c;我们就无法改变&#xff0c;唯一能做的就是努力去修复&#xff0c;…

空间谱专题16:信号个数估计

作者&#xff1a;桂。 时间&#xff1a;2017-10-24 21:50:16 链接:http://www.cnblogs.com/xingshansi/p/7726082.html 前言 记录阵列信号在DOA估计中&#xff0c;信源个数估计的基本方法。 一、基本估计方法 参考&#xff1a;王永良《空间谱估计》p42: 以MDL为例&#xff1a…

根据verilog代码画电路图

根据verilog代码画电路图 FPGA设计的本质是硬件设计&#xff0c;而且verilog是描述硬件设计的语言&#xff08;也就是描述电路&#xff09;&#xff0c;一个标准的工程师需要学会建立电路和Verilog对应的关系&#xff0c;学会看到电路图&#xff0c;就能写出相应的Verilog代码…

复数矩阵分解的拆解思路(矩阵求逆/特征值分解)

作者&#xff1a;桂。 时间&#xff1a;2017-10-26 07:11:02 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/7735016.html 前言 主要记录特征值分解的硬件实现思路。 一、实数矩阵转化 在FPGA运算中&#xff0c;对实数运算通常优于对复数运算。假设C为复数矩阵&#…

贷款机构如何审核个人征信?

贷款是要查看征信的&#xff0c; 但是大家知道贷款机构是如何审查借款人的征信吗&#xff1f;下面我们一起来看下。1看征信报告打印时间一般贷款机构要求提供的是最新的征信报告&#xff0c;当然每个机构要的具体期限不一样&#xff0c;有的要求是最近一个月的&#xff0c;有的…

COMS技术

COMS技术 n型MOS(NMOS)三极管的结构如图所示,该图不是按照实际比例绘制的。三极管的衬底是被掺杂后成为p型半导体材料的硅晶片。NMOS衬底的厚度远比其他三极管要厚。在每个三极管上有两个区域,被掺入大量的杂质,成为n型半导体区域。这两个区域分别形成了三极管的源极和漏极…

VS2015 + CUDA 8.0 配置GTX1070的OpenCL 开发环境

一、查看计算机对OpenCL异构计算的支持情况 使用 GPU Caps Viewer 查看计算机对OpenCL的支持情况&#xff0c;目前最新的版本是 gpu-caps-viewer-1-32-0&#xff0c; 下载地址&#xff1a;http://www.geeks3d.com/20161107/gpu-caps-viewer-1-32-0-released/ 从上面两个图可以…

征信逾期了,5年后能自动消除吗?

最近有一个朋友去申请贷款&#xff0c;然后被拒了&#xff0c;理由是属于征信黑名单。这个朋友很纳闷&#xff0c;自己最近几年从来没有贷过款&#xff0c;信用卡每个月都是正常在还&#xff0c;没有出现逾期过&#xff0c;为何说征信是黑名单呢&#xff1f;后来一问才知道&…

常用频段及对应名称

作者&#xff1a;桂。 时间&#xff1a;2017-11-12 07:31:46 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/7820971.html 一、主要频段 不同规定&#xff1a;IEEE/国际电信联盟(ITU)/北约&#xff08;NATO&#xff09;EU(欧盟) US&#xff08;美国&#xff09;&…

布尔代数值

布尔代数值 值 数字系统使用二值代数。其变量可以取由:1)接通/断开;2)真/假;3)1/0表示的两值之一。 操作符 1)NOT(非) 2)AND(与) 3)OR(或) 4)IMPLIES(蕴涵) 5)EQUIVALENCE(同或) 上面表达式中的符号“+”表示“或”;符号“”表示“与”;而横杠,例如“~A”则表示“A的非”…

什么样的人去贷款最受银行欢迎?

去贷款&#xff0c;大家是不是都想着所有的流程都能一次性顺利通过&#xff0c;而且拿到的贷款额度高&#xff0c;利息低&#xff1f;这是理想的一种状态&#xff0c;但是贷款不是你自己说了算的&#xff0c;而是贷款公司说了算&#xff0c;所以做一个让贷款公司喜欢的人将能更…

网贷申请技巧,提高90%通过率

目前网贷很流行&#xff0c;深受大家欢迎&#xff0c;而且网贷简单方便&#xff0c;所以是解决短期缺钱一个很好的渠道。但是网贷也不是那么好撸的&#xff0c;想要提高网贷的通率&#xff0c;你得学会一些技巧。一、申请贷款准备1、联系客服不要盲目的去申请贷款&#xff0c;因…