burg算法
‘壹’ Burg算法对任意平稳随机过程是否仍有效
是会有效的
‘贰’ Olderburg-Parker法
(一)计算单一密度界面的Olderbury-Parker法
R.L.Parker和P.W.Oldenburg(1972年,1974年)提出一种快速计算界面的正反演方法。目前,该方法应用较广泛。
1.单一界面异常的波谱
如图11-5所示,单一密度界面在水平面(xoy面)内的引力位为
图11-5 单一界面快速反演法图示
勘探重力学与地磁学
引力位的波谱为
勘探重力学与地磁学
Erdelyi积分表(1954年)可知,1/(x2+y2+ζ2)1/2的波谱为2πe-ωζ/ω,根据傅氏变换(FT)的位移性质可知,1/[(x-ξ)2+(y-η)2+ζ2]1/2的波谱应为
勘探重力学与地磁学
ξ和ζ的积分限是-∞~∞,而ζ的积分限是(h0+Δh)~h0,其中Δh为界面相对于平均深度h0的起伏,界面在h0以上Δh为负,在h0以下Δh为正,而Δh又是ξ和ζ的函数,故
勘探重力学与地磁学
又已知重力异常波谱与引力位波谱之间的关系为SΔg=ωSV,所以重力异常的波谱为
勘探重力学与地磁学
因为
勘探重力学与地磁学
式中:(SΔh)n为(Δh)n的波谱。上式即为单一密度界面的重力异常波谱公式。
2.计算界面深度的迭代法
将(11-30)式改写成
勘探重力学与地磁学
从上式解出
勘探重力学与地磁学
在已知界面平均深度h0和剩余密度ρ的条件下,可用迭代法计算界面深度。先忽略式中(SΔh)n的高次项,SΔh的一级近似为
勘探重力学与地磁学
将
勘探重力学与地磁学
计算SΔh的修改量:
勘探重力学与地磁学
而SΔh的二级近似值为
勘探重力学与地磁学
再将
勘探重力学与地磁学
在具体计算时,尚需加一适当的正则化因子,以防止高波数因子
(二)计算单一磁性界面的Olderburg-Parker方法
根据磁位与引力位的关系——泊松公式的推导可知,均匀磁化体的磁性为
勘探重力学与地磁学
式中:V为引力位;ls,ms,ns为磁化强度M的方向余弦(即cosαs,cosβs,cosvs)。根据傅氏变换(FT)的线性和微分性质、磁位的波谱应为
勘探重力学与地磁学
式中:qs=j(lscosθ+mssinθ)+ns;wx=wcosθ;wy=wsinθ;wx,wy分别为与x轴、y轴对应的圆波数;θ为径向圆波数w的极角。(11-38)式是物体引力位与磁位波谱间的关系式,也称波数域的泊松公式。
由ΔT的物理意义和位函数的方向导数性质可知:
勘探重力学与地磁学
式中:∂T为地磁场T0方向的长度元,lt=cosαt,mt=cosβt,nt=cosγt为T0的方向余弦。依FT的线性和微分性质可知ΔT的波谱应为
勘探重力学与地磁学
勘探重力学与地磁学
式中:qt=j(ltcosθ+mtsinθ)+nt。又根据前面介绍SΔg=wSV,
勘探重力学与地磁学
令qs=qt=1时,便得到垂直磁化垂直磁异常ΔZ⊥的波谱公式:
勘探重力学与地磁学
下面介绍计算磁性界面深度的迭代法:
将(11-41)式改写成
勘探重力学与地磁学
这样
由(11-42)式出发,在已知界面的平均深度h0和磁化强度M的条件下,可用迭代法计算界面深度。先忽略式中(SΔh)n的高次项,SΔh的一级近似值为
勘探重力学与地磁学
将
勘探重力学与地磁学
计算修正量:
勘探重力学与地磁学
而SΔh的二级近似值为
勘探重力学与地磁学
再将
勘探重力学与地磁学
在具体计算时,尚需加一适当的正则化因子,以防高波数因子
由以上所介绍的磁性界面的计算方法可见,利用的是垂直磁化垂直磁异常
‘叁’ 请问matlab中如何在功率谱密度图中添加一条置信曲线
这么多,看都懒得看!~
‘肆’ 如何用matlab实现去除语音信号中噪声
感觉应该用滤波器。
举个例子,如果类似就可套用,如果不对就当借鉴了。
正弦信号x=sin50*pi*t加入了随机噪声,采样频率为1000Hz,滤除掉其中30Hz的噪声。
程序:
clear
t=(0:0.001:0.5);
x=sin(50*pi*t)+rand(size(t));
[b,a]=butter(10,30/500);
y=filter(b,a,x);
plot(t,x);
figure,plot(t,y);
%end
‘伍’ 信号功率的求法
能量有限平均功率为零的信号是能量信号,如单位冲击信号;
能量无限,平均功率有限的信号是功率信号。
题中信号有一个常量10,平均功率不为零且有限,能量无限,属于"功率信号“
功率为:10^2+4^2+2^2=120
‘陆’ 从经典谱估计到现代谱估计
谐波分析最早可追溯到古代对时间的研究。18世纪伯努利(Bernoulli)、欧拉(Euler)和拉格朗日(Lagrange)等人对波动方程及其正弦解进行了研究,19世纪初叶,傅立叶(Fourier)证明了在有限时间段上定义的任何函数都可以用正弦和余弦分量的无限谐波的总和来表示。1898年舒斯特(Schuster)以傅立叶分析为基础来拟合待分析信号,研究太阳黑子数的周期变化,并提出了周期图的概念。1930年维纳(Wiener)发表了经典性论文《广义谐波分析》,对平稳随机过程的自相关函数和功率谱密度作了精确的定义,证明了二者之间存在着傅氏变换(以下简称傅氏变换)的关系,从而为功率谱分析奠定了坚实的统计学基础。由于1934年辛钦(Khintchine)也独立地证明了自相关函数和功率谱之间的傅氏变换关系,即维纳-辛钦(Wiener-Khintchine)定理。根据这个定理(详见第一章),平稳离散随机信号x(n)的自相关函数rxx(m)
rxx(m)=E[x(m+n)x*(n)] (4-1)
与功率谱Pxx(ejω)之间构成一傅氏变换对,即
地球物理信息处理基础
若x(n)还是各态遍历性的,则其自相关函数可由它的一个采样时间序列用时间平均的方法求出,即
地球物理信息处理基础
在大多数应用中x(n)是实信号,于是上式可写成
地球物理信息处理基础
实际上,一般只能在时域观测到随机信号的有限个采样值(例如N个值),可表示为
xN(n)={x(0),x(1),…,x(N-1)}={x(n),n=0,1,…,N-1}
其自相关函数只能由这N个采样数据进行估计,常用有偏估计
地球物理信息处理基础
这是一种渐近一致估计,称之为采样自相关函数。
用采样自相关函数的傅氏变换作为功率谱的估计,这种方法是布莱克曼(R.Blackman)和杜基(J.Tukey)在1958年提出来的,称为功率谱估计的自相关法(简称BT法)。此方法需要先求出有限个观测数据估计自相关函数,然后再根据式(4-2)计算出功率谱。在快速傅氏变换(FFT)算法提出之前,这是一种最流行的功率谱估计方法。
1965年库利(Cooley)和杜基(Tukey)完善了着名的FFT算法,使计算傅氏变换的速度提高了两个数量级,运算量显着降低,这样DFT变换很快在各领域,特别是在工程实践中得到了广泛应用。由式(4-5)知,
地球物理信息处理基础
若x(n)的傅氏变换为X(ejω),则x(-n)的傅氏变换等于X*(ejω)。对式(4-5)两端取傅氏变换,得到
地球物理信息处理基础
这表明:通过对随机数据直接进行离散傅氏变换,然后取其幅值的平方,再对多样本进行此种运算并取平均值作为功率谱的估计,即舒斯特的周期图,这种谱估计受到了人们的普遍重视,因为它不需要计算自相关函数,而直接计算功率谱。
周期图和自相关法以及它们的改进方法称为功率谱估计的经典方法,周期图和自相关法是经典功率谱估计的两个基本方法。由于FFT的出现,周期图和自相关法往往被结合起来使用,其步骤如下:
(1)对xN(n)补N个零,求
(2)由
(3)对
(4)利用
地球物理信息处理基础
由周期图法得到的功率谱
(1)频率分辨率(区分两个邻近频率分量的能力)不高。因为它们的频率分辨率(赫兹)反比于数据记录长度(秒)(即Δf=k/Tp=k/NT,k为常数,Tp=NT为数据的记录长度,T为采样周期),而实际应用中一般不可能获得很长的数据记录,即观察到的数据只能是有限个,而观察不到的数据被认为是0。这样,如果只有N个观测数据,而对于N以外的数据,信号仍有较强的相关性,那么估计出的功率谱就会出现很大的偏差。
(2)对于有限的观测数据,相当于将信号在时域内乘以矩形窗函数,因而在频域内则相当于使真正的功率谱与sinc函数进行卷积,由于sinc函数不同于δ 函数,它有主瓣和旁瓣,这样使卷积后的功率谱不同于真正的功率谱。sinc函数的主瓣不是无限窄的,引起功率谱向附近频域扩展,造成谱的模糊,降低谱的分辨率;同时,由于sinc函数的旁瓣存在,导致能量向旁瓣中“泄漏”(称之为旁瓣泄漏),即引起频谱间的干扰,信号强的功率谱旁瓣影响信号弱的功率谱检测,严重时,会使主瓣产生很大失真,检测不出弱信号,或者把旁瓣误认为是信号,造成假信号。为了对经典功率谱估计进行改进,可以采用各种不同的窗函数,但其结果都是以增加主瓣宽度来换取旁瓣的压低,因此功率谱分辨率低是经典功率谱估计的致命缺点。
为了克服以上缺点,人们曾做过长期努力,提出了平均、加窗平滑等办法,在一定程度上改善了经典功率谱估计的性能。实践证明,对于长数据记录来说,以傅氏变换为基础的经典功率谱估计方法,的确是比较实用的。但是,经典方法始终无法根本解决频率分辨率和功率谱估计稳定性之间的矛盾,特别是在数据记录很短的情况下,这一矛盾显得尤为突出。这就促进了现代功率谱估计方法研究的展开。
现代功率谱估计方法主要是以随机过程(Stochastic Process)的参数模型(Parameter Model)为基础的,称之为参数模型方法。虽然说现代功率谱估计技术的研究和应用主要起始于60年代,但实际上,时间序列模型在非工程领域早已被采用,如Yule在1927年、Walker在1931年都曾使用过自回归模型预测描述经济的时间序列的发展趋势,而Prony则早在1795年就曾采用指数模型去拟合在气体化学实验中获得的数据。在统计学和数值分析领域中,人们也曾采用过模型方法。
现代功率谱估计的提出主要是针对经典功率谱估计(周期图和自相关法)的分辨率和方差性能不好的问题而提出的。1967年Burg在地震学研究中受到线性预测滤波的启发,提出了最大熵谱估计方法,在提高分辨率方面作了最有意义的探索。1968年Parzen正式提出了自回归谱估计方法。1971年Van der Bos证明了一维最大熵谱估计与自回归谱估计等效。1972年出现的谱估计的Prony方法在数学上与自回归方法有某些类似。目前以自回归滑动平均模型为基础的谱估计已经比自回归模型谱估计具有更高的频率分辨率和更好的性能。1973年Pisarenko提出的谐波分解方法提供了可靠的频率估计方法。1981年Schmidt提出了谱估计的多信号分类(MUSIC)算法等。因此,现代功率谱分析主要有ARMA谱分析、最大似然、熵谱估计和特征分解四种方法。ARMA谱分析是一种建模方法,即通过平稳线性信号过程建立模型来估计功率谱密度;熵谱估计包括最大熵谱和最小交叉法;特征分解也叫特征构造法和子空间法,包括Pisarenko谐波分解法、Prony法、MUSIC法和ESPRIT法(用旋转不变技术估计参数方法)。
现代功率谱估计研究仍侧重于一维功率谱分析,而且大部分是建立在二阶矩(相关函数、方差、功率谱密度)基础上的。但由于功率谱密度是频率的实函数,缺少相位信息,因此,建立在高阶谱基础上的谱估计方法正引起人们的注意,特别是双谱估计和三谱估计的研究受到了高度的重视。其它如多维谱估计、多通道谱估计等的研究也正在发展中。人们希望这些新方法能更多地在提取信息、估计相位和描述非线性等方面获得应用。
‘柒’ 输入字符不是 MATLAB 语句或表达式中的有效字符.
分号有问题 你的是中文下的分号,要英文下的分号
‘捌’ 利用Burg算法计算AR模型的参数:arburg函数
(1)a=arburg(x,order);返回利用Burg算法计算得到的AR模型的参数:输入参数or-der为AR模型的阶数。
(2)[a,e]=arburg(…);当输入信号为白噪声时,同时返回最后误差e。
(3)[a,e,k]=arburg(…):同时返回反射系数k。
[例4-5]用Burg算法计算AR 模型的参数。
rand(‘seed’,0);a=[1 0.1 0.2 0.3 0.4 0.5 0.6];
x=impz(1,a,20)+randn(20,1)/20;
[a,e,k]=arburg(x,5)。
‘玖’ short-sequence是什么意思
short-sequence
一个短序列;一个短串行
例句筛选
1.
Research on short sequence power spectrum estimates based onthe Burg algorithm
基于Burg算法的短序列谱估计研究
2.
Even different strains of the same kind of bacteria will have uniqueidentifying patterns of a given short sequence.
甚至同种类型细菌的不同菌株也将有一个既定的短序列的唯一的识别模式。
‘拾’ matlab提示 function [psdviaBurg, f, p] = myBurg(x, Fs, varargin) | Error: Function definitions
1、将下面函数复制保存为myBurg.m文件。就可以计算。预测误差E 、系数a 、误差功率psdviaBurg
function [psdviaBurg, f, p,a,E] = myBurg(x, Fs, varargin)
%MYBURG 根据burg算法实现的AR模型功率谱计算
% psdviaBurg 根据burg算法求出的功率谱值
% f 频率轴参数
% p 模型阶次
% a AR模型参数
%E AR模型误差
% x 输出信号
% Fs 采样率
% varargin 若为数值型,则为AR模型阶次
% 若为字符串,则为定阶准则,AR模型阶次由程序确定
%
% $Author: lskyp
% $Date: 2010.6.26
% 解析输入参数内容
error(nargchk(3, 3, nargin)); % 该函数的输入必须为三个个
if strcmp(class(varargin{1}), 'double')
p = varargin{1};
elseif ischar(varargin{1})
criterion = varargin{1};
else
error('参数2必须为数值型或者字符串');
end
x = x(:);
N = length(x);
% 模型参数求解
if exist('p', 'var') % p变量是否存在,存在则不需要定阶,直接使用p阶
[a, E] = computeARpara(x, p);
else % p不存在,需要定阶,定阶准则即criterion
p = ceil(N/3); % 阶次一般不超过信号长度的1/3
% 计算1到p阶的误差
[a, E] = computeARpara(x, p);
% 根据误差求解目标函数最小值
kc = 1:p + 1;
switch criterion
case 'FPE'
goalF = E.*(N + (kc + 1))./(N - (kc + 1));
case 'AIC'
goalF = N.*log(E) + 2.*kc;
end
[minF, p] = min(goalF); % p就是目标函数最小的位置,也即定阶准则给出的阶次
% 使用p阶重新求解AR模型参数
[a, E] = computeARpara(x, p);
end
% 计算功率谱密度
[h, f] = freqz(1, a, [], Fs);
psdviaBurg = E(end)*abs(h).^2./Fs;
function [a, E] = computeARpara(x, p)
% 根据信号序列x和阶次p计算AR模型参数和误差
N = length(x);
% 初始值
ef = x; % 前向预测误差
eb = x; % 后向预测误差
a = 1; % 初始模型参数
E = x'*x/N; % 初始误差
k = zeros(1, p); % 为反射系数预分配空间,提高循环速度
E = [E k]; % 为误差预分配空间,提高速度
for m = 1:p
% 根据burg算法步骤,首先计算m阶的反射系数
efm = ef(2:end); % 前一阶次的前向预测误差
ebm = eb(1:end - 1); % 前一阶次的后向预测误差
num = -2.*ebm'*efm; % 反射系数的分子项
den = efm'*efm + ebm'*ebm; % 反射系数的分母项
k(m) = num./den; % 当前阶次的反射系数
% 更新前后向预测误差
ef = efm + k(m)*ebm;
eb = ebm + conj(k(m))*efm;
% 更新模型系数a
a = [a; 0] + k(m)*[0; conj(flipud(a))];
% 当前阶次的误差功率
E(m + 1) = (1 - conj(k(m))*k(m))*E(m);
end
2、例如:
参考论坛中的例子。
randn('state', 1);
x = randn(100, 1);
y = filter(1, [1 1/2 1/3 1/4 1/5], x);
pburg(y, 4, [], 1000);
[psd, f, p,a,E] = myBurg(y, 1000, 'FPE');
figure;
a,E
plot(f, 10*log10(psd));
结果:图还是一样,就补贴出来了。
a =
1.0000
0.3116
0.3647
0.2086
0.2088
0.0425
E =
1.0224 0.9859 0.9167 0.8989 0.8644 0.8629