从其功率谱密度中恢复信号

信息处理 功率谱密度
2022-02-16 14:38:14

我想知道我们是否可以使用信号处理技术从其功率谱密度中恢复信号x(t)

2个回答

一般来说(在没有先验知识的情况下),我认为这是不可能做到的。

PSD是信号DFT的绝对值平方,abs函数不是1对1的。例如 abs(x) 可以由 f=x 和 f=-x 产生。

但是,如果您对信号有一些先验知识,那么您可以从 PSD 中重建它。如果不了解您正在尝试做什么,我认为我无法帮助您。

我通过制作一个N=2信号来解决这个问题X,例如(matlab)X = [2 3]';,然后手动进行样本自相关。我使用了 Marple 1987 年的文本。然后我做了N=3版本N=4并看到了模式。

这是执行此操作的matlab代码

clear all;  
close all;  
Xm(:,1) = [3 1 4 6 9 3 6 1 2 -55 6 3]'; %original signal  
N = length(Xm(:,1));  
mu = sum(Xm(:,1))/N; % get the sample mean  

var = 0;  
for i=1:N  
  var = var + (Xm(i,1)-mu)^2;  
end  
var = var / N; % get the sample variance  

% first col of X has the adjusted signal, and we'll put our recovered X in
% the second column so they're easy to compare.

X(:,1) = Xm(:,1) - mu;  
R = autocorr(X(:,1), N-1);  

C = R * var; % this is the denormalized autocovariance.  
M = triu(toeplitz(X(:,1))); % C = MX (the first col of X, actually)  

X(:,2) = N*inv(M)*C;  
Xrec = X(:,2)+mu; % this is the recovered Xm.