精华内容
下载资源
问答
  • 宋老师,我把一个声音信号作了延迟之后加上噪声,用PHAT加权和基本互相关都能得到正确的时延值,但我对这两个信号进行小波分解和重构近似信号之后,用基本互相关可以得到时延,但PHAT加权后就不能得到正确的时延了,...

    宋老师,我把一个声音信号作了延迟之后加上噪声,用PHAT加权和基本互相关都能得到正确的时延值,但我对这两个信号进行小波分解和重构近似信号之后,用基本互相关可以得到时延,但PHAT加权后就不能得到正确的时延了,这是为什么呢?下面附上代码和图。fs=2500/(t(end)-t(1));%采样频率 ,x是表格导入的数据,信号时间为t,长度是2500,这里上传不了表格

    N=length(x);

    x1=x-mean(x);%消除直流分量

    x1=x1/max(abs(x1));%幅度归一化

    %构造延时250个采样点,即延迟0.01S的信号x2

    x2=[zeros(250,1);x1];

    x2=x2([1:end-250],1);

    x2=awgn(x2,15,'measured');

    x1=awgn(x1,15,'measured');

    %时延估计

    X1=fft(x1,2*N-1);

    X2=fft(x2,2*N-1);

    X21=X2.*conj(X1);

    R21=fftshift(real(ifft(X21)));%基本互相关

    Ph21=fftshift(real(ifft(X21./abs(X21))));%PHAT加权

    tt=(-N+1:N-1)/fs;%时间序列

    figure(1)

    subplot(2,1,1),plot(tt,R21),title('基本互相关');

    subplot(2,1,2),plot(tt,Ph21),title('PHAT加权');

    idx=find(R21==max(R21));  %峰值检测

    t1=tt(idx)   %时延

    %对x1,x2进行小波分解和重构

    [c,l]=wavedec(x1,6,'db6');

    [c2,l2]=wavedec(x2,6,'db6');

    a16=wrcoef('a',c,l,'db6',6);    %wrcoef重构x1的逼近信号

    a26=wrcoef('a',c2,l2,'db6',6);  %wrcoef重构x2的逼近信号

    %对重构后的两个信号进行相关计算

    A1=fft(a16,2*N-1);

    A2=fft(a26,2*N-1);

    A21=A2.*conj(A1);

    % RA21=fftshift(real(ifft(A21)));%基本互相关

    RA21=fftshift(real(ifft(A21./abs(A21))));%PHAT加权

    figure(2)

    plot(tt,RA21);

    idx=find(RA21==max(RA21));  %峰值检测

    t2=tt(idx)

    figure(3)

    subplot(2,2,1),plot(t,x1);title('原始信号x1');

    subplot(2,2,2),plot(t,x2);title('延迟0.01s后的x2');

    subplot(2,2,3),plot(t,a16);title('x1的近似重构信号');

    subplot(2,2,4),plot(t,a26);title('x2的近似重构信号');

    2019-8-13 23:03 上传

    442a53943febe9465fc072b4fbe10813.gif

    b2a5a3e0dcc7d508e00275fe42fce1b5.gif

    ee7f654a06f52c3cce6d8f8a14a8c7ee.png

    2019-8-13 23:12 上传

    442a53943febe9465fc072b4fbe10813.gif

    b2a5a3e0dcc7d508e00275fe42fce1b5.gif

    f3e870136773f48d7b2df57dc460f82f.png

    2019-8-13 23:12 上传

    442a53943febe9465fc072b4fbe10813.gif

    b2a5a3e0dcc7d508e00275fe42fce1b5.gif

    c42a5a33417146e7829feab6d1d02be7.png

    2019-8-13 23:12 上传

    442a53943febe9465fc072b4fbe10813.gif

    b2a5a3e0dcc7d508e00275fe42fce1b5.gif

    30fb31230027cf2904c6cfd93665d293.png

    展开全文
  • Matlab广义互相关程序

    2020-09-01 15:14:42
    Matlab广义互相关程序
  • 查文献,在matlab中使用模拟正弦波仿真测试了一下广义相关算法,没有达到预期效果,百思不得其解。浏览了一下网络上关于GCC的评论,国内外不少人都抱怨无法得到预期仿真结果。最后,想到广义相关算法公式中,影响...

    一、获取代码方式

    获取代码方式1:
    完整代码已上传我的资源:【声源定位】基于matlab广义互相关声源定位【含Matlab源码 548期】

    获取代码方式2:
    通过紫极神光博客主页开通CSDN会员,凭支付凭证,私信博主,可获得此代码。

    获取代码方式3:
    通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

    备注:开通CSDN会员,仅只能免费获得1份代码(有效期为开通日起,三天内有效);
    订阅紫极神光博客付费专栏,可免费获得2份代码(有效期为订阅日起,三天内有效);

    二、广义互相关声源定位简介

    基于麦克风阵列的声源定位技术的研究在国内受到了越来越多的关注,麦克风阵列的声源目标定位技术可以定义为利用麦克风阵列采集声源目标,经过一系列对声音信号的分析操作与处理来确定声源的位置.与雷达探测技术以及其他探测技术相比,该技术有很多特点,比如因其采用被动式工作原理,所以探测隐蔽,不容易被发现.目前,基于麦克风阵列的定位技术逐渐变成研究的主流,涉及视频会议系统、汽车鸣笛定位、人机交互等.

    经过多年发展,基于麦克风阵列的声源定位技术已有较多的理论和方法,定位方法大体可以分三类:基于到达时延估计方法、基于最大输出功率的可控波束形成方法、高分辨率谱估计方法.基于时延估计法主要根据声源信号到达两个不同位置麦克风的时间差计算出声源位置相对一组麦克风所在的双曲面,通过多个双曲面交集来确定声源位置;基于最大输出功率的可控波束形成方法主要利用波束形成技术,不断调整阵列信号的接收方向,同时对整个接收空间进行扫描,接收能量最大的方向即为声源方向;高分辨率谱估计方法主要是利用各个阵元信号之间的相关矩阵,通过计算相关矩阵的空间谱获得声源的方向角.其中,基于时延估计的定位算法简单、定位精度高,是目前声源定位信号处理中常用的方法.

    1 基本模型
    声波在传播的过程中会发生衰减,而衰减因子与传播的距离成正比,因此声波从声源到达不同阵元时幅度相差不大,而因延迟产生的相位差则较大.根据声源与麦克风阵列之间的距离r=2D/λ,可以将阵列模型分为近场和远场模型.通常定义声源与阵列之间的距离为远近场临界值,其中λ为声波波长,D为阵列孔径.当麦克风阵列与声源之间的距离r<2D/λ时,阵列处于近场模型,麦克风阵列接收的声波是球面波.反之,当r>2D/λ时,阵列处于远场模型,声源到各阵元的距离差相比于声源到麦克风阵列的距离可以忽略不计,阵元间接收信号仅存在相位延迟且可将声波看作平面波.

    假设线阵麦克风阵列的所有阵元接收到的信号只包含直达信号与加性噪声,并且每个麦克风之间的噪声相互独立,如图1所示.其中,S表示声源,M1,M2,M3,⋯,MN表示N个麦克风,根据空间采样定理,每相邻两个麦克风之间的间距在选择上必须满足d≤λ(min)/2
    在这里插入图片描述
    图1 信号模型
    声源信号s(t)呈辐射状态传播,且信号的能量与麦克风和声源间的距离成反比,则第i(i=1,2,3,…,N)个麦克风Mi所接收到的信号xi(t)为:
    在这里插入图片描述
    其中,αi表示声源信号s(t)的传播衰减因子,τi表示声源S到达第i个麦克风的时延,ni(t)表示第i个麦克风接收的加性噪声.

    2 互相关算法
    基于时延估计的声源定位算法主要分为两个步骤:第一步,估计声源信号到达各个麦克风之间的时间差;第二步,利用上一步所得到的时间差和声源与麦克风阵列之间的几何关系来估计声源位置.在声源定位系统中,时延估计技术至关重要,时延估计的精度直接影响定位的精度.常用的时延估计算法是互相关法.

    互相关函数是描述随机信号x (t),y (t)在任意两个不同时刻s,t的取值间的相关程度,其定义为:
    在这里插入图片描述
    对于连续函数,有定义:
    在这里插入图片描述
    对于离散数据,有定义:
    在这里插入图片描述
    从以上定义式中可以看到,互相关函数和卷积运算类似,也是两个序列滑动相乘.区别在于互相关的两个序列都不翻转,直接滑动相乘,求和;卷积的其中一个序列需要先翻转,然后滑动相乘,求和.所以,f(t)和g (t)做相关等于f*(t)和g (t)做卷积.

    根据维纳-辛钦定理,互相关函数与其互功率谱密度互为傅里叶变换对,则x1(t)和x2(t)的互相关函数又可以表示为:
    在这里插入图片描述
    其中,X1(ω)和X2(ω)分别为x1(t)和x2(t)的傅里叶变换,Gx1x2(ω)则称为麦克风信号x1(t)和x2(t)间的互功率谱,X2*(ω)为X2(ω)取复共轭.Rx1x2(τ)对应最大峰值处的横坐标即为所要求的时延估计值.

    2.1 广义互相关算法
    在麦克风信号处理实际模型中,由于存在混响和噪声的影响导致Rx1x2(τ)的峰值不明显,降低了时延估计的精度.因此,广义互相关法利用频域加权函数对信号滤波来突出响应信号部分的频谱成分,抑制噪声部分的频谱,再进行傅里叶反变换IFFT反变到时域,锐化Rx1x2(τ)在时延处的峰值,从而提高时延估计性能.因此得到广义互相关函数Rx1x2(τ),即:
    在这里插入图片描述
    其主要原理如图2所示.

    图中(·)*表示取复共轭.与基本互相关相比,广义互相关算法增加了加权运算.
    在这里插入图片描述
    图2 广义互相关时延估计算法流程图
    由于有限窗长和低信噪比的影响,选择合适的加权函数是一个难点,传统的广义互相关算法有基本互相关(CC),ROTH,SCOT,PHAT等几种加权方式.其中,SCOT和SCOT加权因子分别如式(7)和式(8)所示:
    在这里插入图片描述

    三、部分源代码

    clear all;
    close all;
    clc
    load s.mat;
    s1=s1_10db(:)';             %变为行向量
    s2=s2_10db(:)';             %变为行向量
    wnd=512;
    inc=256;
    
    [delay]=GCC_Method('standard',s1,s2,wnd,inc);
    subplot(411)
    plot(delay-wnd,'*')
    ylim([0,12])
    title('标准GCC')
    xlabel('帧数')
    ylabel('延时/点')
    
    [delay]=GCC_Method('phat',s1,s2,wnd,inc);
    subplot(412)
    plot(delay-wnd,'*')
    ylim([0,12])
    title('Phat-GCC')
    xlabel('帧数')
    ylabel('延时/点')
    
    [delay]=GCC_Method('scot',s1,s2,wnd,inc);
    subplot(413)
    plot(delay-wnd,'*')
    ylim([0,12])
    title('Scot-GCC')
    xlabel('帧数')
    ylabel('延时/点')
    
    [delay]=GCC_Method('ml',s1,s2,wnd,inc);
     subplot(414)
    plot(delay-wnd,'*')
    ylim([0,12])
    unction frameout=enframe(x,win,inc)
    
    nx=length(x(:));            % 取数据长度
    nwin=length(win);           % 取窗长
    if (nwin == 1)              % 判断窗长是否为1,若为1,即表示没有设窗函数
       len = win;               % 是,帧长=win
    else
       len = nwin;              % 否,帧长=窗长
    end
    if (nargin < 3)             % 如果只有两个参数,设帧inc=帧长
       inc = len;
    end
    nf = fix((nx-len+inc)/inc); % 计算帧数
    frameout=zeros(nf,len);            % 初始化
    indf= inc*(0:(nf-1)).';     % 设置每帧在x中的位移量位置
    inds = (1:len);             % 每帧数据对应1:len
    frameout(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));   % 对数据分帧
    

    四、运行结果

    在这里插入图片描述

    五、matlab版本及参考文献

    1 matlab版本
    2014a

    2 参考文献
    [1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
    [2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
    [3]李保伟,张兴敢.基于广义互相关改进的麦克风阵列声源定位方法[J].南京大学学报(自然科学). 2020,56(06)

    展开全文
  • 该代码为matlab代码,主要是利用广义互相关的方法计算两段信号的相位差
  • 完整代码,可直接运行
  • matlab时延估计算法的互相关函数

    热门讨论 2013-04-11 16:30:58
    基于matlab的时延估计算法的互相关函数仿真源代码
  • matlab互相关函数

    2014-10-13 11:50:25
    程序是matlab写的互相关仿真实例,可以正常运行
  • 维纳滤波器 1. 背景及术语介绍 随机信号或者随机过程:它是是普遍存在的。一方面,任何确定性信号经过测量后往往会引入随机性误差;另一方面,任何信号本身都存在...广义平稳过程:信号处理中常用的弱平稳也被称为广义

    维纳滤波器

    1. 背景及术语介绍

    随机信号或者随机过程:它是是普遍存在的。一方面,任何确定性信号经过测量后往往会引入随机性误差;另一方面,任何信号本身都存在随机干扰。

    噪声:按照功率谱密度(power spectral density, PSD)划分可以划分为白噪声(white noise)和色噪声(color noise),PSD为constant时,是白噪声,相反为有色噪声。我们常把均值为0的白噪声叫纯随机信号。

    干扰和噪声:非目标信号都可叫干扰。干扰可以是确定信号,如国内的50Hz工频,直流成分,也可以是不确定信号如噪声。因此,干扰包含噪声,但是噪声不包含干扰。

    广义平稳过程:信号处理中常用的弱平稳也被称为广义平稳(Wide-Sense Stationary,WSS)、二阶平稳或者协方差平稳。WSS随机过程一阶(期望)和二阶矩(方差)不随时间变化。如果一个随机过程满足下列条件:

    1. 随机过程的期望值E[x(t)]为一常数,时间变量无关。
    2. 自相关函数1 R
    展开全文
  • 混沌计算工具箱 matlab代码

    热门讨论 2008-12-26 16:15:24
    信息法 - \DelayTime_MutualInformation\Main_Mutual_Information.m (3)求嵌入维(embedding dimension) 假近邻法 - \EmbeddingDimension_FNN\Main_FNN.m Cao方法 - \EmbeddingDimension_Cao\Main_...
  • 维纳滤波特点 假设:信号以及附加噪声都是已知频谱特性或者自相关互相关的随机过程 性能标准:最小均方差 结果:能够用标量的方法找到最优2滤波器,它的解是以传函H(z)或单位冲击h(n)的形式给出,是通过卷积的,...

    维纳滤波器

    1. 背景及术语介绍

    随机信号或者随机过程:它是是普遍存在的。一方面,任何确定性信号经过测量后往往会引入随机性误差;另一方面,任何信号本身都存在随机干扰。

    噪声:按照功率谱密度划分可以划分为白噪声(white noise)和色噪声(color noise),我们常把均值为0的白噪声叫纯随机信号。

    干扰和噪声:非目标信号都可叫干扰。干扰可以是确定信号,如国内的50Hz工频,直流成分,也可以是不确定信号如噪声。因此,干扰包含噪声,但是噪声不包含干扰。

    广义平稳过程:信号处理中常用的弱平稳也被称为广义平稳(Wide-Sense Stationary,WSS)、二阶平稳或者协方差平稳。WSS随机过程一阶(期望)和二阶矩(方差)不随时间变化。如果一个随机过程满足下列条件:

    随机过程的期望值E[x(t)]为一常数,时间变量无关。

    自相关函数1 Rx _xx​x _xx​(t1 _11​,t2 _22​)仅为时间差2 _22​-1 _11​=τ的函数;

    如果条件2得到满足,则这样的随机过程称为自相关平稳过程。如果条件1得到满足,则该随机过程有最低形式的平稳性,称为均值平稳。如果随机过程同时满足条件1和2,则称为广义平稳随机过程。

    滤波:用当前和过去的观测值来估计当前的信号称为滤波。

    预测:用过去的观测值来估计当前和将来的信号。

    平滑或内插:用过去的观测值来估计过去的信号。

    2. 维纳滤波特点

    假设:信号以及附加噪声都是已知频谱特性或者自相关和互相关的随机过程

    性能标准:最小均方差

    结果:能够用标量的方法找到最优2滤波器,它的解是以传函H(z)或单位冲击h(n)的形式给出,是通过卷积的,适用于平稳系统。

    维纳-霍夫方程

    972757f53ecf90b8a9e868583a275823.pngx(n)为观测值,它为信号s(n)和噪声w(n)的叠加,经过h(n)滤波后,得到s(n)的观测值s ^ \hat{s}s^(n)。

    从图中的系统框图中估计到的观测信号s ^ \hat{s}s^和我们期望得到的真实信号s(n)不可能完全相同,这里用e(n)表示真值和估计值之间的误差。

    e ( n ) = s ( n ) − s ^ ( n ) ( 1 ) e(n)=s(n)-\hat{s}(n)\qquad (1)e(n)=s(n)−s^(n)(1)

    e(n)为随机变量,维纳滤波器的误差准则为最小均方差。

    E [ e 2 ( n ) ] = E [ ( s ( n ) − s ^ ( n ) ) 2 ] ( 2 ) E[e^2(n)]=E[(s(n)-\hat{s}(n))^2]\qquad (2)E[e2(n)]=E[(s(n)−s^(n))2](2)

    h(n)是物理可实现的,所以有

    h ( n ) = 0 , 当 n < 0 h(n)=0, 当n<0h(n)=0,当n<0

    y ( n ) = s ^ ( n ) = ∑ m = 0 + ∞ h ( m ) x ( n − m ) ( 3 ) y(n)=\hat{s}(n)=\sum_{m=0}^{+\infty}h(m)x(n-m)\qquad (3)y(n)=s^(n)=m=0∑+∞​h(m)x(n−m)(3)

    根据公式(1~3)得:

    E [ e 2 ( n ) ] = E [ ( s ( n ) − ∑ m = 0 + ∞ h ( m ) x ( n − m ) ) 2 ] ( 4 ) E[e^2(n)]=E[(s(n)-\sum_{m=0}^{+\infty}h(m)x(n-m))^2]\qquad (4)E[e2(n)]=E[(s(n)−m=0∑+∞​h(m)x(n−m))2](4)

    要使得均方误差最小,则对(4)各个h(m)求偏导,并且等于零,得:

    2 E [ ( s ( n ) − ∑ m = 0 + ∞ h ( m ) o p t x ( n − m ) ) x ( n − j ) ] j = 0 , 1 , 2 , 3... ( 5 ) 2E[(s(n)-\sum_{m=0}^{+\infty}h(m)_{opt}x(n-m))x(n-j)]\quad j=0,1,2,3...\qquad (5)2E[(s(n)−m=0∑+∞​h(m)opt​x(n−m))x(n−j)]j=0,1,2,3...(5)

    用相关函数R来表示上式,则得到维纳-霍夫方程的离散形式:

    R s x ( j ) = ∑ m = 0 + ∞ h ( m ) o p t R x x ( j − m ) j = 0 , 1 , 2 , 3... ( 6 ) R_{sx}(j)=\sum_{m=0}^{+\infty}h(m)_{opt}R_{xx}(j-m)\quad j=0,1,2,3...\qquad (6)Rsx​(j)=m=0∑+∞​h(m)opt​Rxx​(j−m)j=0,1,2,3...(6)

    从维纳-霍夫方程中解出的h就是最小均方差下的最佳h。

    有限脉冲响(FIR, Finite Impulse Response)应法求解维纳-霍夫方程

    设h(n)是一个因果序列且可以用有限长(N)的序列去逼近它,则得到:

    y ( n ) = s ^ ( n ) = ∑ m = 0 N − 1 h ( m ) x ( n − m ) ( 7 ) y(n)=\hat{s}(n)=\sum_{m=0}^{N-1}h(m)x(n-m)\qquad (7)y(n)=s^(n)=m=0∑N−1​h(m)x(n−m)(7)

    E [ e 2 ( n ) ] = E [ ( s ( n ) − ∑ m = 0 N − 1 h ( m ) x ( n − m ) ) 2 ] ( 8 ) E[e^2(n)]=E[(s(n)-\sum_{m=0}^{N-1}h(m)x(n-m))^2]\qquad (8)E[e2(n)]=E[(s(n)−m=0∑N−1​h(m)x(n−m))2](8)

    2 E [ ( s ( n ) − ∑ m = 0 N − 1 h ( m ) o p t x ( n − m ) ) x ( n − j ) ] j = 0 , 1 , 2 , 3... N − 1 ( 9 ) 2E[(s(n)-\sum_{m=0}^{N-1}h(m)_{opt}x(n-m))x(n-j)]\quad j=0,1,2,3...N-1\qquad (9)2E[(s(n)−m=0∑N−1​h(m)opt​x(n−m))x(n−j)]j=0,1,2,3...N−1(9)

    E [ s ( n ) x ( n − j ) ] = ∑ m = 0 N − 1 h ( m ) o p t x ( n − m ) x ( n − j ) j = 0 , 1 , 2 , 3... N − 1 ( 9 ) E[s(n)x(n-j)]=\sum_{m=0}^{N-1}h(m)_{opt}x(n-m)x(n-j)\quad j=0,1,2,3...N-1\qquad (9)E[s(n)x(n−j)]=m=0∑N−1​h(m)opt​x(n−m)x(n−j)j=0,1,2,3...N−1(9)

    R s x ( j ) = ∑ m = 0 N − 1 h ( m ) o p t R x x ( j − m ) j = 0 , 1 , 2 , 3... N − 1 ( 10 ) R_{sx}(j)=\sum_{m=0}^{N-1}h(m)_{opt}R_{xx}(j-m)\quad j=0,1,2,3...N-1\qquad (10)Rsx​(j)=m=0∑N−1​h(m)opt​Rxx​(j−m)j=0,1,2,3...N−1(10)

    于是展开后得到N个线性方程,最终可得

    { j = 0 R s x ( 0 ) = h ( 0 ) o p t * R x x ( 0 ) + h ( 1 ) o p t * R x x ( 1 ) +...+ h ( N − 1 ) o p t * R x x ( N − 1 ) j = 1 R s x ( 1 ) = h ( 0 ) o p t * R x x ( 1 ) + h ( 1 ) o p t * R x x ( 0 ) +...+ h ( N − 1 ) o p t * R x x ( N − 2 ) . . . ... j = N − 1 R s x ( 1 ) = h ( 0 ) o p t * R x x ( N − 1 ) + h ( 1 ) o p t * R x x ( N − 2 ) +...+ h ( N − 1 ) o p t * R x x ( 0 ) \begin{cases} j=0& \text{$R_{sx}(0)$=$h(0)_{opt}$*$R_{xx}(0)$+$h(1)_{opt}$*$R_{xx}(1)$+...+$h(N-1)_{opt}$*$R_{xx}(N-1)$}\\ j=1& \text{$R_{sx}(1)$=$h(0)_{opt}$*$R_{xx}(1)$+$h(1)_{opt}$*$R_{xx}(0)$+...+$h(N-1)_{opt}$*$R_{xx}(N-2)$}\\ ...& \text{...}\\ j=N-1& \text{$R_{sx}(1)$=$h(0)_{opt}$*$R_{xx}(N-1)$+$h(1)_{opt}$*$R_{xx}(N-2)$+...+$h(N-1)_{opt}$*$R_{xx}(0)$} \end{cases}⎩⎪⎪⎪⎨⎪⎪⎪⎧​j=0j=1...j=N−1​Rsx​(0)=h(0)opt​*Rxx​(0)+h(1)opt​*Rxx​(1)+...+h(N−1)opt​*Rxx​(N−1)Rsx​(1)=h(0)opt​*Rxx​(1)+h(1)opt​*Rxx​(0)+...+h(N−1)opt​*Rxx​(N−2)...Rsx​(1)=h(0)opt​*Rxx​(N−1)+h(1)opt​*Rxx​(N−2)+...+h(N−1)opt​*Rxx​(0)​

    简化形式:

    R x x H = R x s R_{xx}H=R_{xs}Rxx​H=Rxs​

    R x x R_{xx}Rxx​是自相关矩阵,H=[h(0),h(1),…,h(N-1)]'是待求得单位脉冲响应。R x s R_{xs}Rxs​=[R x s R_{xs}Rxs​(0),R x s R_{xs}Rxs​(1),…,R x s R_{xs}Rxs​(N-1)]'是互相关序列。

    若信号s和噪声w互不相关,则R s w R_{sw}Rsw​(m) = R w s R_{ws}Rws​(m) = 0。

    R x s R_{xs}Rxs​(m) = E[x(n)s(n+m)] = E[(s(n)+w(n))s(n+m)] = R s s R_{ss}Rss​(m)

    R x x R_{xx}Rxx​(m) = E[x(n)x(n+m)] = E[(s(n)+w(n))(s(n)+w(n))] = R s s R_{ss}Rss​(m)+R w w R_{ww}Rww​(m)

    E [ e 2 ( n ) ] m i n = R s s ( 0 ) − ∑ m = 0 N − 1 h o p t ( m ) R s s ( m ) E[e^2(n)]_{min}=R_{ss}(0)-\sum_{m=0}^{N-1}h_{opt}(m)R_{ss}(m)E[e2(n)]min​=Rss​(0)−m=0∑N−1​hopt​(m)Rss​(m)

    参考代码

    原信号:x = Aec o s ( 2 π ∗ f ∗ t / f s ) ^{cos(2\pi*f*t/fs)}cos(2π∗f∗t/fs)+b

    噪声:强度为1dBW的高斯白噪声

    A = 1; %信号的幅值

    b = 2; %信号偏移项

    f = 2000; %信号的频率

    fs = 10^5; %采样信号的频率

    t=(0:999); %采样点

    Mlag = 1000; %滤波器的长度

    x=A*exp(cos(2*pi*f*t/fs))+b; %输入正弦波信号

    noise=wgn(1,1000,1); %产生1行1000列的高斯白噪声矩阵,输出强度为1dBW

    xn=x+noise;

    figure(1);

    subplot(411);

    plot(x)

    title('真实信号')

    subplot(412);

    plot(noise)

    title('高斯噪声')

    subplot(413);

    plot(xn)

    title('输入信号')

    %维纳滤波

    N = 1000;

    Rxn = xcorr(xn,Mlag,'biased');%自相关函数,Mlag为长度

    Rnxn = xcorr(xn,x,Mlag,'biased');%互相关函数

    rnxn = Rnxn(1001:1001+N-1)';

    rxn = diag(Rxn(1001)*ones(1,N));

    for i = 1:N-1

    kk = Rxn(1001+i)*ones(1,N-i);

    rxn = rxn + diag(kk,i)+diag(kk,-i);

    end

    h = inv(rxn)*rnxn;

    y = filter(h,1,xn);

    y2 = conv(xn,h); %另一种求法(和用filter结果一样,取前一半)

    subplot(414);

    plot(y)

    title('维纳滤波信号')

    figure(3)

    subplot(311)

    [f,xi]=ksdensity(x)

    plot(xi,f)

    title('原信号分布')

    [f2,xi2]=ksdensity(noise);

    subplot(312)

    plot(xi2,f2)

    title('噪声分布')

    [f3,xi3]=ksdensity(xn);

    subplot(313)

    plot(xi3,f3)

    title('加噪信号分布')

    结果图

    91fc0071883f766c8cc6a776135792bf.png195d0495acc86f2b2d978ce1618d1569.png

    参考资料

    维纳滤波课件

    广义平稳过程

    维纳滤波与维纳-霍夫方程

    维纳滤波的理论及应用

    自相关函数是信号与延迟信号相似性的度量,延迟信号为0时,则称为信号的均方值,此时他的值最大。 ↩︎

    最优指以估计结果与信号真值之间的误差的均方值最小为最佳准则。 ↩︎

    展开全文
  • 也就等于 信息:衡量两个随机变量相关性的大小 相对熵(KL散度):衡量对于同一个随机变量两个概率分布 的差异性 有信息和相对熵的定义有下式: 关于熵的介绍就到此,不细究,虽然上面的这些定义在机器学习中都...
  • matlab相关代码SpiSeMe SPI的柯Seleniumquence英里箱(SpiSeMe)包提供实现用于生成事件的替代物(又名尖峰)序列的四种不同的算法C ++,Matlab和Python函数。 软件包提供的算法是 所述JODI(JO INT DI stribution...
  • 谁有复何求积公式和高斯求积公式在matlab中实现的代码时间:2019-5-17谁有复何求积公式和高斯求积公式在matlab中实现的代码谁有复何求积公式和高斯求积公式在matlab中实现的代码相关问题:匿名网友:2.噪声及其噪声的 ...
  • 具有相位变换的广义互相关(GCC-PHAT) 多信号分类(MUSIC) 对于声音分离: 延迟和(DAS) 最小方差无失真响应(MVDR) 线性约束最小方差(LCMV) 广义旁瓣抵消器(GSC),时间和频率变化以及基于SNR的动态梯度 ...
  • GCC-PHAT:广义互相关-相变(TDOA估计) SRP-PHAT:转向响应功率-相位变换 参考文件 论文1 标题:近距离目标的到达方向(DOA)估计技术的比较 作者:瑙曼·安瓦尔·拜格(Nauman Anwar Baig)和穆罕默德·比拉勒·...
  • 独立向量信号信息计算——Matlab实现

    千次阅读 热门讨论 2017-07-17 09:27:29
    p(xi)是xi发生的概率英文里面叫做probability mass function,一个随机产生的事件所包含的信息本体数量,只与事件发生的机率相关。事件发生的机率越低,在事件真的发生时,接收到的信息中,包含的信息本体越大。...
  • 计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机...
  • 科目代码:2001 科目名称:矩阵论 适用学科:测试计量技术及仪器、控制科学与工程、计算机科学与技术、航空宇航科学与技术、兵器科学与技术、空间装备运用工程 一、考试的总体要求 主要考查学生对矩阵理论基本概念和...
  • 管理命令和函数addpath添加目录到MATLAB搜索路径doc在Web浏览器上现实HTML文档help显示Matlab命令和M文件的在线帮助helpwinhelpdesk helplookfor在基于Matlab搜索路径的所有M文件中搜索关键字partialpath部分路径名...
  • 《实验四 用matlab计算积分》由会员分享,可在线阅读,更多相关《实验四 用matlab计算积分(4页珍藏版)》请在人人文库网上搜索。1、实验四 用matlab计算积分41积分的有关理论定积分:积分是微分的无限和,函数在区间...
  • matlab之产品大全

    千次阅读 多人点赞 2020-12-16 19:30:59
    matlab大全链接:入口1或者入口2 这里仅对matlab存在的工具做一个简单梳理,方便日后使用。 Matlab版本:R2020b 应用如下: 一、数学、统计和优化 1.曲线拟合工具箱 使用回归,插值和平滑使曲线和曲面适合数据...
  • 查文献,在matlab中使用模拟正弦波仿真测试了一下广义相关算法,没有达到预期效果,百思不得其解。浏览了一下网络上关于GCC的评论,国内外不少人都抱怨无法得到预期仿真结果。最后,想到广义相关
  • matlab人脸识别论文

    万次阅读 多人点赞 2019-10-11 17:41:51
    得到了前所未有的重视,国际上发表有关人脸识别等方面的论文数量大幅度增加,仅从1990年到2000年之间,sCl 及EI可检索到的相关文献多达数千篇,这期间关于人脸识别的综述也屡屡可见。国外有许多学校在研究人脸识别...
  • MATLAB命令与函数集合

    千次阅读 2017-04-02 16:34:08
    Matlab常用指令、函数
  • Matlab 图像处理工具箱

    万次阅读 2015-04-08 21:49:29
    计算机视觉/图像处理研究中经常要用到Matlab,虽然其自带了图像处理和计算机视觉的许多功能,但是术业有专攻,在进行深入的视觉算法研究的时候Matlab的自带功能难免会不够用。本文收集了一些比较优秀的Matlab计算机...
  • 目录远场模型自由场信号模型互相关方法(Cross-Correlation,CC)广义互相关方法(Generalized Cross-correlation, GCC)GCC-PHAT方法matlab实现 参考文献下载地址:Microphone_Array_Signal_Processing(中文版+英文...
  • 自己编写的matlab自适应干扰对消程序,通过互相关找匹配相位,再找对消系数
  • MATLAB命令大全

    2012-03-22 23:20:00
    addpath 添加目录到MATLAB搜索路径 doc 在Web浏览器上现实HTML文档 help 显示Matlab命令和M文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab搜索路径的所有M文件中搜索关键字 partialpath 部分路径名 ...
  • Matlab 图像处理与计算机视觉工具箱

    千次阅读 2018-02-09 21:45:49
    1.2 MexOpenCV:让Matlab支持调用的OpenCV 1.3Peter Kovesi的工具箱:轻量好用,侧重图像处理 1.4 Machine Vision Toolbox:侧重机器视觉、三维视觉 1.5​​Piotr's Image & Video Matlab Toolbox:侧重物体...
  • matlab常用操作备忘

    2015-08-04 14:37:00
    addpath :添加目录到MATLAB搜索路径 doc :在Web浏览器上现实HTML文档 help :显示Matlab命令和M文件的在线帮助 helpwin helpdesk :help 兄弟几个 lookfor :在基于Matlab搜索路径的所有M文件中搜索关键字 partialpath:...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 174
精华内容 69
关键字:

广义互相关matlab代码

matlab 订阅