1

通过假设,我测量的概率密度函数 (PDF) 来自基本分布 (E) 的n 个卷积。

我有两个分布,第一个 (F) 应该比第二个 (G) (m_2 卷积) 经历了更多的卷积 (m_1)。

在傅立叶空间:

F' = E'^m_1
G' = E'^m_2

由于这两个 PDF 由相同的基本分布构成,我应该能够从 F 计算 G 的 PDF

G' = F'^{m_1/m_2}

采用 IFFT i 应该有一个与 G 很好重叠的分布。

一种天真的方法是简单地计算 F 的 FT 并将其提高到 1/integer 的幂并测试一系列整数。

我的问题是有什么技巧可以将傅里叶变换的 PDF 提高到分数幂。我已经这样做了,但是 IFFT 给出的分布与预期的相差甚远。和奇怪的混叠错误。

我已经包含了一个填充向量,如果他们要对两个 PDFS 进行卷积,可能会这样做。

我的归一化是基于 k=0 [ProbF(1,1)] 波向量给出的 PDF 积分应该等于 1 的事实。

当然,这个假设可能是错误的,但它有世界上所有的理由是有效的。

我的代码

Inc  = INC1 ;                           % BINS 
null = zeros(1,length(Inc));            % PADDED PROB
Inc  = [ Inc.*-1 (Inc)  ];              % PADDED INC VECTOR
Prob = [ null heightProb1  ]       ;    % PADDED PROB VECTOR

ProbF     = (fft(Prob))         ;
ProbFnorm = ProbF./ProbF(1,1) ;         % NORMALIZED BY K=0 COMPONENT (integral of PDF =1)

m=.79                                   % POWER TO RAISE

ProbFtrans = ((ProbFnorm).^(m));        % 'DECONVOLUTION' IN FOURIER SPACE
ProbIF     = (ifft((ProbFtrans)).*(ProbF(1,1)));    % RETURN TO PROBABILITY SPACE

figure(2);
plot(Inc,ProbIF,'rs')    

预先感谢您的帮助

4

1 回答 1

0

傅立叶系数通常是复数(除非您的函数是对称的)。

当您将复数提高到分数幂时,您应该非常小心。

例如,考虑

z=1.2 + i*0.65;

然后z上台4

>> z^4

ans =

     -1.398293750000001e+00 + 3.174599999999999e+00i

并给力8

>> z^8

ans =

     -8.122859748710933e+00 - 8.878046677500002e+00i

然后尝试获取z^4(z^8)^(1/2)

>> (z^8)^(1/2)

ans =

      1.398293750000001e+00 - 3.174600000000000e+00i

惊喜!你不明白z^4!(错误的标志)

如果您避免采用分数功率并z^8通过向后跳来“倒带”zz^4正确返回:

>> (z^8)/z/z/z/z

ans =

     -1.398293750000000e+00 + 3.174599999999998e+00i  

原因在于复平面中分数幂的定义。分数幂是多值函数,通过在复平面中引入分支切割使其成为单值函数。nth-rootz^(1/n)具有n可能的值, matlab 通过将复函数解释为其所谓的主要分支
来挑出其中之一。主要含义是,在复数的世界中并不总是反转z^(1/n)^1/n^n

如果这对您没有任何意义,您可能应该回顾一些基本的复分析,但底线是复数的分数幂是棘手的动物。只要有可能,您应该尝试通过使用除法来解决分数幂(如上所示)。

我不确定这会解决您的所有问题,但从您的描述看来,这肯定是您遇到的一个问题。

于 2014-05-28T17:17:07.083 回答