単一矩形波を逆フーリ​エ変換(ifft)し​てもsinc関数にな​りません・・

10 views (last 30 days)
Saneyuki Shibata
Saneyuki Shibata on 15 Feb 2021
大学三年生です。大学で周波数フィルタ(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など)だけなのでしょうか?)
・私の結果が違うとしたら、コードのどこが誤っているのでしょうか?
質問どちらかでも結構ですので、信号処理やフィルタに詳しい方、教えていただけたら幸いです。
以上、よろしくお願いいたします。

Answers (0)

Community Treasure Hunt

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

Start Hunting!