我在128x32的矩阵中有一个复杂的IQ信号。信号本身实际上是连续的,可以展开为复数值的单行4096向量(一次展开一列)。
我想去除一些信号噪声,因此我根据数据的FFT创建了一个图像(请参见下面的代码),并去除了图像中的噪声。现在,我想知道如何在没有噪声的情况下恢复原始的干净信号。
我不能使用ifft,因为已经从fft的绝对值中清除了噪点,所以干净的图像并不复杂。
比方说,IQ是保存128x32复数信号的变量。这是matlab代码:
img = abs(fft(IQ)); %this is also a 128x32 matrix
%normalizing the data
mu = mean(reshape(img, 1, []));
sig = std(reshape(img, 1, []), 1);
img = (img - mu) ./ sig;
%using some function on the image to clean it from noise
img = remove_noise(img)
从图像中去除噪点的功能仅将某些值替换为零。它不会改变其他频率。
现在,变量img包含清除信号后fft的绝对值。我不能只使用ifft 因为信号很复杂,而且图像是一个包含实数值的矩阵。
如何恢复原始信号?
谢谢。