単一矩形波を逆フーリエ変換(ifft)してもsinc関数になりません・・
7 views (last 30 days)
Show older comments
大学三年生です。大学で周波数フィルタ(SAWデバイス、BAWデバイス)の勉強をしております。逆フーリエ変換(ifft)の結果が思ったのと違ったので、どなたか助けてほしいです。
●問題点
周波数領域の単一矩形波(248MHz~252MHzのみ0dB、その他は全て-60dB)を逆フーリエ変換する以下のコードを書きました。
close all
clear all
clc
%周波数領域
N=2^16;
F=linspace(1e+6,2000e+6,N);
F=F';
%時間領域
dt=0.1;
T=linspace(0,dt*N,N);
T=T';
y=60*rectpuls(F-250e+6,4e+6)-60;
figure(1)
plot(F,y)
xlim([240e+6 260e+6])
ylim([-80 20])
y_ifft=ifft(y);
figure(2)
plot(T,y_ifft)
xlim([0 100])
ylim([-0.2 0.2])
しかし、逆フーリエ変換されて出たグラフ(時間領域)がsinc関数(sinx/xの減衰&周期関数)にならず、以下に添付する画像のようになってしまいました。
また、t=0近傍で負の無限大に発散してしまいました。
●質問
・私の結果は正しいでしょうか?(単一矩形波を逆フーリエ変換したら、画像のように膨らんだり縮んだりするグラフになるのでしょうか? sinc関数になるのはある領域(グラフだと0~30sなど)だけなのでしょうか?)
・私の結果が違うとしたら、コードのどこが誤っているのでしょうか?
質問どちらかでも結構ですので、信号処理やフィルタに詳しい方、教えていただけたら幸いです。
以上、よろしくお願いいたします。
0 Comments
Answers (0)
See Also
Categories
Find more on 変換 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!