我使用线性卷积将方波与高斯波进行卷积。我可以通过用高斯函数对输出进行反卷积来恢复原始方波吗?
我对两个信号进行 FFT,除以,然后用 IFFT 取回方波。我得到的输出看起来像随机噪声。我认为这可能是由于我正在做除法并且某些分母值可能非常低,因此导致此错误。我尝试设置一个阈值并获得如下所示的结果。
我怎样才能改善结果?
编辑 1:添加用于生成高斯信号的代码。正在使用matlab。
fs = 200; % Sampling frequency
t1 = 1/fs : 1/fs : n1/fs; % Where n1 is the length of the square wave signal
s2 = 4*gaussmf(t1, [ 0.4 4.5 ]); % Generating Gaussian signal
编辑 2:添加用于生成方波的代码。恐怕,这是一个笨拙的代码!
fs = 200; % Sampling Frequency
t = 1/fs : 1/fs : 3;
n = length(t);
sq(1 : round(n/3) ) = eps;
sq( (round(n/3) + 1) : 2*round(n/3) ) = 3;
sq( (2*round(n/3) + 1) : n ) = eps;
sq( (3*round(n/3) + 1) : 4*round(n/3) ) = 3;
sq( (4*round(n/3) + 1) : 5*round(n/3) ) = eps;
sq( (5*round(n/3) + 1) : 6*round(n/3) ) = 3;
sq( (6*round(n/3) + 1) : 7*round(n/3) ) = eps;
sq( (7*round(n/3) + 1) : 8*round(n/3) ) = 3;
sq( (8*round(n/3) + 1) : 9*round(n/3) ) = eps;