After complex FIR filter, why the spectrum real part and imaginary part is different from original spectrum?
5 views (last 30 days)
Show older comments
N=18000;
% y0 is a symmetric signal and has N points ;
% FIRfilter is a function by fdatool
% complex bandpass FIR filter--254 orders
Hd=copy(FIRfilter);
Hd.Numerator=Hd.Numerator.*exp(1j*893*2*pi*laser.*(0:254));
% phase delay compensation
m1=zeros(1,127);
% filter apply
y1=filter(Hd,[y0 m1]);
y2=y1(128:18127);
% fftshift
y00=fftshift(y0);
y02=fftshift(y2);
S0_M=abs(fft(y00));
S0_R=real(fft(y00));
S0_I=imag(fft(y00));
S2_M=abs(fft(y02));
S2_R=real(fft(y02));
S2_I=imag(fft(y02));
S0_M==S2_M
But S0_R is different with S2_R,and S0_I is different with S2_I,
How can make the real part and the imaginary part same such as S0_R==S2_R, S0_I==S2_I ?
0 Comments
Answers (0)
See Also
Categories
Find more on Digital and Analog Filters in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!