秋月ファンクラブ掲示板 過去ログ

LTSPICE 1secごとのデータのmaxをさいようする命令 - kurin

2014/03/01 (Sat) 14:52

LTSPICEで1sec前のデータと比較して大きいほうを採用してこれを繰り返す命令を教
えてください。

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - inara1

2014/03/01 (Sat) 15:37

1秒前の信号を作るには、tlineという伝送線路の遅延時間Tdを1とすればいいで
す。入力(左側)に信号を入れると、出力(右側)には遅延信号が出てきます。
tlineの特性インピーダンス(ZO)と同じ抵抗値の抵抗(R1)で終端すれば、tlineの
入出力信号の波形は、時間がTdだけずれていること以外は同じになります。

添付図では、ビヘイビア電圧源B1を使って、tlineの入出力波形(V(a)とV(b))を比
較して、大きいほうの電圧を出力するようにしています。

1秒遅らせた信号(V(b))と他の信号を比較して大きいほうを出力するときは、
V=max(V(b),他の信号)とすればいいです。


Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - kurin

2014/03/01 (Sat) 22:40

返信ありがとうございます。

tlineを使うのは初めてです。
参考になりました。

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - inara1

2014/03/02 (Sun) 05:38

tlineを使わなくてもできます。

ビヘイビア電圧源で使える関数にabsdelayというのがあります。これは遅延信号を
作るもので
absdelay(遅延させたい信号,遅延時間,[最大遅延])
という書式になります。

添付図の例では、a点の電圧を1秒遅延させたabs(V(a),1)と、a点の電圧V(a)とを比
較して、大きいほうを出力するものです。結果はtlineを使ったものと同じです。

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - kurin

2014/03/02 (Sun) 13:15

最大値検出したいのですが、
添付ファイルはそうなりません。

電圧の最大値は正確ですが、電力は最大値にならない理由は何でしょうか?

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - inara1

2014/03/02 (Sun) 14:02

i(r1)が負の値になっていませんか。i(r1)が負になっていると、v(1)*i(r1)が負に
なってしまいます。

シミュレーション終了後にマウスカーソルをR1に合わせたとき、電流の向きを示す
赤い矢印が上向きになっていませんか。

赤い矢印が上向きなら、その方向の電流が正なので、下向きに流れる電流は負にな
ります。赤い矢印が上向きなら、抵抗の配置を上下逆にすれば、電流の符号を反転
させることができます。

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - kurin

2014/03/02 (Sun) 15:01

負になっていないんですよ。

正の電力値を検出しているので間違いないと思うのですが、
peak検出になっていないです。少し差があります。


なぜだか???

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - inara1

2014/03/02 (Sun) 17:17

この回路
(http://bbs3.fc2.com//bbs/img/_454800/454703/full/454703_1393733744.png)
の信号源V2は、10VのDC電圧に重畳した2Vpp、1Hzのサイン波ですが、その信号はい
つも同じピーク値なので、最初のピークを過ぎたらv(max)は一定値のままとなるは
ずです(シミュレーション結果は正しい)。

ピークホールド機能を見たいのなら、添付図のB2のように、ピーク電圧が順次大き
くなっていくような波形で見たほうがいいと思います。

Re: LTSPICE 1secごとのデータのmaxをさいようする命令 - kurin

2014/03/02 (Sun) 21:14

すいません。
私のシミュレーショングラフの読み違いでした。

結果は間違っていません。

大変失礼しました。