理想的な低域通過フィ​ルタにかけた信号のグ​ラフ(横軸:時間、縦​軸:電圧)について

Trace_1は「Trace_1(:,1):時間、Trace_1(:,2):電圧」になっています。
Trace_1を理想的なLPF( 周波数が10MHz以上なら利得が0 )にかけた時の「Trace_1のグラフ(横軸:時間、縦軸:電圧)」を出力したいです。
butter(https://jp.mathworks.com/help/signal/ref/butter.html)やlowpass(https://jp.mathworks.com/help/signal/ref/lowpass.html)を使うと理想的なLPFが出来ないので次のような方法で理想的なLPFを作成し、LPFに通した後の信号を逆フーリエ変換することを検討しています。
手順1 Trace1をフーリエ変換する。
手順2 周波数が10MHz以上なら利得0にする。(理想的なLPFの作成)
手順3 LPFにかけた信号を逆フーリエ変換する。(横軸:時間、縦軸:電圧)
どのようにプログラムをかけば、理想的なLPFにかけたあとの信号を逆フーリエ変換することが出来ますか?ご回答お待ちしております。

 Akzeptierte Antwort

Yoshio
Yoshio am 2 Nov. 2019
Bearbeitet: Yoshio am 2 Nov. 2019

0 Stimmen

理想的なLPFは、物理的に実現できないので、どのような意味があるかはわかりませんが、実現できたと想定した場合の特性は計算はできると思います。
x = Trace_1(:,2)として
手順1 xのフーリエ変換X = fft(x)を求めます
手順2 周波数信号Xの内、10Mz ~ サンプリング周波数/2 に相当する要素に0をいれ、Xfilterとします。
手順3 この信号の逆フーリエ変換をy = ifft(Xfilter)として求めます。
フーリエ変換を参考にされてください。
注意する点は手順2で、フーリエ変換Xには正の周波数と負の周波数の部分があるので、負の(10Mz ~ サンプリング周波数/2)の部分にも忘れずに0を入れないと、結果の信号yが実数になりません。

5 Kommentare

N/A
N/A am 2 Nov. 2019
ご回答頂きありがとうございます。
LPFに通した後の信号のグラフ(横軸:時間、縦軸:電圧)を出力することは物理的に出来ないのですか?
Yoshio
Yoshio am 2 Nov. 2019
Bearbeitet: Yoshio am 2 Nov. 2019
特性を計算してプロットすることは可能です。 フィルタを物理的に実現出来ないので、プロット結果にどの様な意味があるかはお考え下さい。
N/A
N/A am 3 Nov. 2019
ご回答頂きありがとうございます。
理想的なLPFそのものは物理的に実現することは出来ませんが、手順1~3に沿ってプログラムを作成することで理想的なLPFに通した後の信号を出力することは出来ると思います。
「10MHz ~ サンプリング周波数/2に相当するXの要素」を見つけるプログラムを書くことが出来ませんでした。お手数ですが、手順2までのプログラムを教えて頂けませんか?
Yoshio
Yoshio am 3 Nov. 2019
Bearbeitet: Yoshio am 3 Nov. 2019
まず
フーリエ変換を見て、例題をコピーして実行し理解してみてください。
y = fft(x);
f = (0:length(y)-1)*50/length(y);
の部分がヒントです。 この例でたとえば40Hz以上のyの振幅を0にするには、yの該当する要素のどこに0をいれるか、と同じ問題です。この例を理解できたら、
x = Trace_1(:,2)
X = fft(x);
% f 軸を設定する
plot(f,abs(X))
とすることで、10Mzの信号が正しく(2本)プロットされるはずですし、Xのどの要素を0にすべきか検討できると思います。頑張ってください。
N/A
N/A am 5 Nov. 2019
ご回答頂きありがとうございました。プログラムをつくることが出来ました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu フーリエ解析とフィルター処理 finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2017a

Tags

Gefragt:

N/A
am 1 Nov. 2019

Kommentiert:

N/A
am 5 Nov. 2019

Community Treasure Hunt

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

Start Hunting!