Matlab 傅里叶逆变换与信号重构
我将所谓的维纳滤波器应用于心跳ECG信号。我的问题是傅里叶变换和傅里叶逆变换,理论上应该很简单。 在得到Pxx和Pxxn之后。构造的期望信号的PSD和我们信号中的噪声在中心偏移了零频率。我很确定我是对的Matlab 傅里叶逆变换与信号重构,matlab,signal-processing,Matlab,Signal Processing,我将所谓的维纳滤波器应用于心跳ECG信号。我的问题是傅里叶变换和傅里叶逆变换,理论上应该很简单。 在得到Pxx和Pxxn之后。构造的期望信号的PSD和我们信号中的噪声在中心偏移了零频率。我很确定我是对的 % frequency response function for z= 1:Nfft Hf(z)=Pxx(z)/(Pxx(z)+(Pxxn(z))); end % fourier transform on one ecg cycle ecgf=fftshift(abs(fft(ecg(10
% frequency response function
for z= 1:Nfft
Hf(z)=Pxx(z)/(Pxx(z)+(Pxxn(z)));
end
% fourier transform on one ecg cycle
ecgf=fftshift(abs(fft(ecg(100:800),Nfft)));
% getting the output signal
Yf=ecgf.*Hf;
figure;
plot(f,Yf,'green');
% inverse fourier transform
Y=real(ifft(fftshift((Yf)),Nfft));
figure;
plot(Y);
我做错了什么?ifft的输出长度是否可以更改为700以匹配输入信号。您有什么问题?请说得更具体些。使用abs会破坏信号的相位分量。可能不是你想要的。