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

LTSPICE 1/2周期遅れた信号 - kurin

2013/06/02 (Sun) 18:29

周波数が変わり ondutyも変わる矩形波信号を
1/2周期遅れた信号で新たに生成したいのですが、
(LT-SPICE)を使って、その方法を教えてください。

Re: LTSPICE 1/2周期遅れた信号 - inara1

2013/06/03 (Mon) 05:38

surinさん=korinnnnnnnnnnnnnn123さんですか?

知恵袋の再質問
「PULSE(-1 1 0 0 0 5u 10u) V=V(in)*idt(V(in),0)でBVで動作させると時間が経
過するほど、電圧の振幅は大きくなります」
についてお答えします。

LT-spiceの矩形波の条件で、立上がり/立下り時間を0にすると(何も指定しない
と)、発生する矩形波の立上がり/立下り時間は0.5μsになってしまいます(そう
いう仕様のようです)。

添付図の上側が立上がり/立下り時間を0にした場合です。out1は idt(V(in),0) で
積分しただけの波形ですが、時間の経過と共に、徐々にオフセット電圧が上がって
います。

添付図の下側は、立上がり/立下り時間を1nsにした場合です。out1にはオフセット
電圧が乗っていません。

LT-spiceの矩形波の設定では、実際のパルス幅 = Ton + (Trise + Tfall )/2 にな
るので、T0n = 5u、Tperiod = 10u としても、Trise と Tfall が0より大きいと、
dutyサイクルが50%になりません(50%より大きくなる)。dutyサイクルが50%より大
きいと、0Vを中心にした対称な振幅であっても、積分するとオフセットが残り、時
間の経過と共にDCオフセットが上がっていきます。

添付画像で、上がり/立下り時間を1nsにした場合でも、dutyは完全に50%になって
いないので、シミュレーション時間をもっと長くすると、DCオフセットが目立って
きます。

私が持っているLT-spiceの書籍は以下の通りです。
・回路シミュレータLTspiceで学ぶ電子回路 
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06850-8
・電子回路シミュレータLTspice入門編 
http://shop.cqpub.co.jp/hanbai/books/36/36311.html
・電子回路シミュレータLTspice実践入門 
http://shop.cqpub.co.jp/hanbai/books/36/36361.html

「LTSPICE 1/2周期遅れた信号」についてですが、こでは、外部の電圧源等で、周
波数やdutyを変えるような信号源を作りたいということですか?1/2周期遅れた信
号というのは、その信号に対して1/2周期遅れた信号という意味でしょうか?

Re: LTSPICE 1/2周期遅れた信号 - kurin

2013/06/03 (Mon) 22:39

kurin=korinnnnnnnnnnnnnn123で正解です。

いつも回答ありがとうございます。
LTSPICEのhelpを見てもいつも理解に苦しみます。
inara1 さんの回答にいつも助けられます。
V=v(x)*idt(v(x),0)の機能を理解できました。

私も「回路シミュレータLTspiceで学ぶ電子回路」は持っていますが、 inara1 さ
ん程の理解力がなくうらやましい限りです。

「LTSPICE 1/2周期遅れた信号」についてですが、
 正弦波電圧値によって信号の周波数やdutyが可変する信号があり、この信号に対
して位相180度の同一信号を生成したく考えています。

Re: LTSPICE 1/2周期遅れた信号 - inara1

2013/06/04 (Tue) 18:59

V(in)*idt(V(in),0)でのこぎり波を作り、それを使ってPWM信号を作ろうというこ
とですね。

積分は誤差が累積するので使わないほうがいいです。

外部電源を使って、PWM信号の周波数やパルス幅を制御することは、ビヘイビア電
圧源(BV)を使えばできると思います。平日は仕事があって時間が取れませんが、
ちょっと考えてみます。

位相180度の同一信号というのは、単に符号(±)を反転させればいいです。

Re: LTSPICE 1/2周期遅れた信号 - inara1

2013/06/05 (Wed) 18:33

ビヘイビア電圧源(BV)を使って、PWM信号の周波数やパルス幅を制御する方法を
添付します(右の画像をクリックすると拡大表示されます)。

ノードperiodの電圧が、のこぎり波(out1)の周期になります。ノードperiodの電
圧が1Vなら周期1s、periodの電圧が1mVなら周期1msです。periodの電圧が時間とと
もに変わるようにすれば、のこぎり波の周期も時間とともに変わります。

こののこぎり波の電圧(out1)と変調信号(duty)を比較して、変調信号のほうが大
きいときは、PWM信号の出力(out2)が1Vになり、そうでないときは0Vになりま
す。


Re: LTSPICE 1/2周期遅れた信号 - kurin

2013/06/08 (Sat) 12:04

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

すでにある矩形波信号はon幅 周波数が変わります。
この信号は私がすでに使った信号で回路として出来上がっています。
この信号を180度遅らせたいです。


inara1 さんが作って頂いた回路は少し違う気がしますが
いかがでしょうか?

Re: LTSPICE 1/2周期遅れた信号 - kurin

2013/06/08 (Sat) 14:23

inara1さんが作ってくれた回路動作を確認しました。

この命令は、どういう意味でしょうか?↓
V=(time-v(period)*int(time/V(period)))/v(period)

Re: LTSPICE 1/2周期遅れた信号 - inara1

2013/06/08 (Sat) 15:38

>この命令は、どういう意味でしょうか
周期 period の「のきごり波」を生成する関数です。

添付図の1番上は、この関数の一部 time/V(period) ですが、これは時間に比例し
て真っ直ぐ上がっていく関数です。この関数は time が V(period)の整数倍のと
きに整数の値を持つので、その整数部分だけを抜き出した(小数点以下を無視し
た)のが、添付図の2番目の関数 int( time/V(period) ) になります。これは階段
状の波形になります。

それに V(period) をかけた V(period)*int( time/V(period) ) が3番目の波形
で、これは縦軸が違うだけです。

最後に、現在の時間 time からその関数を引くと、4番目の波形になります。これ
は、周期 period、高さ period の「のこぎり波」です。この波形の高さは 周期が
変わると換わってしまうので、4番目の波形の関数 time - V(period)*int(
time/V(period) ) 全体を V(period) で割ったのが最後の波形になります。この波
形の高さは、周期 period によらず、 1 (1V) と一定になります。


この掲示板の最初に、V(in) を矩形波(-1V~+1V)として、ビヘイビア電圧源で
V(in)*idt(V(in),0) の計算をしていますが、この結果(出力)は、オフセット誤
差がなければ、入力の矩形波の周期と同じ「のこぎり波」になります。

周期を変えられる「のこぎり波」を作るのが目的であれば、ビヘイビア電圧源の式
で、上のような計算をすれば、誤差の出る積分を使わないので、正確な結果が得ら
れます。

Re: LTSPICE 1/2周期遅れた信号 - kurin

2013/06/08 (Sat) 19:47

すばらしい計算式ですね。

これは私では思いつきません。
大変勉強になります。説明も丁寧で理解できました


ところで、出来上がった矩形波信号を180度遅らせたいのですが、これからどうす
ればよいのでしょうか?

Re: LTSPICE 1/2周期遅れた信号 - kurin

2013/06/15 (Sat) 20:52

自分でもいろいろ考えてもいましたが、
位相をコントロールする命令が解りませんでした。

どうでしょうか? 解りますか?

Re: LTSPICE 1/2周期遅れた信号 - inara1

2013/06/16 (Sun) 06:37

正弦波でない波形の位相をどう定義するのかよく分かりませんが、PWM信号の元の
「のこぎり波」の1周期の時間だけ遅れた波形を360度の位相遅れと定義するなら、
180度の遅れた波形を作るには、「のこぎり波」の周期の半分のだけ遅らせればい
いことになります。

LTspiceで時間遅れの波形を作るには、ビヘイビア電圧源のabsdelayという関数を
使います。書き方は
absdelay(A,B)
で、Aが遅らせる波形(電圧)、Bが遅延時間(1Vなら1秒)になります。

添付図のように、B3というビヘイビア電圧源を新たに作成し、その電圧の記述を
V=absdelay(V(out2),V(period)/2)
とすれば、out2の電圧波形を時間V(period)/2だけ遅らせるという意味になりま
す。V(period)がの「のこぎり波」の1周期の時間なので、その半分の遅延は180度
の遅れになります。

添付図の波形では、「のこぎり波」の周期が、時間の経過とともに、階段状に長く
なっていきますが、その周期の半分の時間だけ遅れた波形がout3に現れています。

Re: LTSPICE 1/2周期遅れた信号 - kurin

2013/06/16 (Sun) 14:31

いつも回答ありがとうございます。

私に意図したいことが伝わっていないようで、
inara1さんがつくっていれた回路は別として、
ある矩形波があります。その矩形波はdutyや周波数が変化します。この矩形波を常
に1/2周期遅らせたいです。

この矩形波はいろいろなdutyや周波数の種類があり、これを電圧源で作ります。

1/2周期遅らせることなんて可能なのでしょうか?