How to get Fourier transform of rectangular window as shown by wvtool function?. Why frequency domain of rectwin(M) using fft and wvtool are different?

56 ビュー (過去 30 日間)
rectangular window rectwin(M) is plotted in time domain and freuquency domain using wvtool.
But when I take fft of rectwin(M), it is giving the below result.
How to get the frequency domain as shown by wvtool?
WHy frequency domain of rectwin(M) using fft and wvtool are dfifferent?

採用された回答

Paul
Paul 2022 年 1 月 26 日
編集済み: Paul 2022 年 1 月 26 日
It looks like wvtool is plotting the DTFT of rectwin(M)
[h,w] = freqz(rectwin(64),1);
figure
plot(w,db(abs(h)))
The DFT (as computed by fft() ), should be nonzero only at DC, and it is.
figure;
stem((0:63)/64*2*pi,abs(fft(rectwin(64))))
xlim([-0.1 2*pi])
How did you make your FFT plot?
As must be the case, the elements of the DFT are samples of the DTFT, as shown here plotted in absolute magnitude, not dB
figure
plot(w,(abs(h)))
hold on;
stem((0:63)/64*2*pi,abs(fft(rectwin(64))))
xlim([-0.1 pi])
  4 件のコメント
Palguna Gopireddy
Palguna Gopireddy 2022 年 1 月 31 日
編集済み: Palguna Gopireddy 2022 年 1 月 31 日
Thanks or answering paul.
I meant, Taking the fft of the result, will the result be like the circular convolution of fft of respective individual sequences (or) circular convolution of dtft of rsepective individual sequences?
Wrongly typed as dft instead of dtft.
I will post it as another question.
Here's the code used for the figures.
E_HH has the original data.
r=rectwin(90)*rectwin(45).';
figure
E_HH = E_HH.*r;
ISAR_HH = abs(fftshift(ifft2(E_HH.')));
ISAR_HHdB = 20*log10(ISAR_HH);
imagesc(X,Y,ISAR_HHdB);
grid on; colormap(hot)
caxis([max(max(ISAR_HHdB))-rd,(max(max(ISAR_HHdB)))]);
axis xy; axis equal; axis tight;
set(gca,'FontName', 'Arial', 'FontSize',12,'FontWeight', 'Bold');
xlabel('\itrange, m');
ylabel('\itx-range, m');
title('\itISAR Image (VV Polarization)');
cc = colorbar;
tt = title(cc,'dBsm');
tt.Position = [ 8 -15 0 ];
Paul
Paul 2022 年 1 月 31 日
Still curious about this
E_HH = rand(90,45) + 1j*rand(90,45);
r = rectwin(90)*rectwin(45).';
isequal(E_HH,E_HH.*r)
ans = logical
1
So mutiplying E_HH by r should not have an effect on the results. But the images above are not the same, so there must be some other difference in the processing the led to those images.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDiscrete Fourier and Cosine Transforms についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by