健忘録・MacOS12(Monterey)不具合対策(?)Dockからアプリを起動できない
メインで使っているMacMini、もう9年前発売のIntelモデル、ずっと10.15(Mojave)で使っていた。これよりバージョンをあげると動かなくなるアプリが多かったため。
だが逆に動かないソフトも増えてきたため、今のSSDに10.15を残しつつ、別にSSDを外付けし、手術して内蔵にした。そのSSDのOSを徐々にバージョンアップして、12.6(Monterey)にした。
ところが、不具合、Dockから起動できなくなるという不具合。
ネットを調べると同じ症例と対策が若干あるのだが、
・対応していないアプリをログイン項目に登録していると起こる症状
らしく、そこらへん、いろいろログイン項目を削除してみたが効果無し。
・アクティビティモニタにて「Dock」を強制終了する
直後にDockが再起動するが、、、電源を立ち上げ直す、リスタートする、と元に戻ってしまう。。。いちいち、電電立ち上げ後にこれをやるのか、、、、💦
・リマインダー、カレンダー等のお知らせから起動
右上に、リマインダーやカレンダーのお知らせがその時間になったら出るので、それをクリックすると、リマインダーやカレンダーのアプリが起動する。
その後、ほかのアプリもDockから起動できるようになる。
それもなー、、、、
と思っていると、セキュリティ関連で12.7へアップグレードのお知らせ。
早速アップすると、、、、Dockからの起動が正常になりました。。。。😌
・SSDでも若干遅さを感じる。がこれ以上このマシンでのOSはアップできない。
まー、後1-2年、これで頑張る。
QSPICE
LTspiceをつくったマイケル・エンゲルハート氏、数年前にアナデバ(旧リニアテクノロジー)を退社したのだが、
新たにQSPICEというシミュレータを発表したようです。
https://www.qorvo.com/newsroom/trade-shows/pcim-2023
LTSpice 17.1 FRA モジュールを用いた解析② ループゲイン - 位相余裕シミュレーション
ループゲイン - 位相余裕シミュレーション
先のような解析より、このFRAモジュールはこっちのほうがメインで設定されたように思う。
しかし、、、こちらスイッチング電源の位相余裕には便利なんだろうな。
スイッチング電源はあまり使わないので、このFRAを使い、オペアンプで位相余裕の推定をやってみます。
FRAの Gain vs. Frequencyモードは、素子は基準の電圧源出力し、両端の対GND電圧の比をゲインとして表記するもの、のようです。
オペアンプはわざわざFRAモジュールを使わなくてもAC解析だけでループゲイン-位相余裕は、普通のアンプならば、シミュレーションできます。
ということで、オペアンプの位相余裕シミュレーションを、FRAモジュールとAC解析とで比較してみました。結果は微妙に値が違いますがだいたい似たようなものです(笑)。
FRAモジュールでの解析回路図が下図。
各設定は下記のよう。
そして、そのシミュレーション結果を以下。
gain_1となっていますが、FRA素子の両端の電圧の比なので、実質ループゲインが表示されます。
グラフ真ん中上のほうには自動的に位相余裕の値が入ります。
およそ、65.9degとなります。
次に、AC解析での、私が(独自に?)昔からよくやっている(たとえば私のホームページのこのページなど)<仮称>Aβ演算法でのシミュレーション回路図が下図。
全く同じ定数で、入力に電圧源を付けています。
シミュレーション結果は下図。
Aβ演算法といっても、普通のシミュレーションです。下記のように、
Acl、Ao、βを普通の非反転のオペアンプ回路のシミュレーションから簡単に抽出できるので、それらからグラフ上演算するだけです。多くの人が電圧注入法とかミドルブルック法とか使っていますが、シミュレーションはこんなんで十分でしょう。
V(out)/V(posin)=Acl はアンプのクローズドループ特性。
V(out)/{V(posin)-V(negin)}=Aoは、オペアンプのオープンループゲインを表示します。
帰還素子の伝達特性βは
β=V(negin)/V(out)
なので、このβとAoを掛け合わせたものがループゲイン
Aoβ= V(out)/{V(posin)-V(negin)} * V(negin)/V(out)
となります。
この演算を全部同じグラフに表示できて、とても見やすい。
Aoβの特性から、Aoβ=0dBとなる点にカーソルを持っていき、位相を読んで180degから引けば、位相余裕になります。
180-115.9=64.1deg
FRAの結果65.9degとちょっと違いますね。
ですが、ループゲインのグラフを見れば、ほぼ似たようなグラフとなっており、こちらはカーソルで値取得していますし(FRAはどうやっているかわかりませんが)、AC解析とトランジェント解析とのアルゴリズムの違いも鑑みると、まぁ、こんなものではなかな?(笑)
ほんでは、次いでにミドルブルック法という面倒くさい方法を使ってループゲイングラフを出して、位相余裕を求めてみます。同時に電圧注入法も見られます。電圧注入法はさきからやっているFRAと同じ考えですが、トランジェント解析かAC解析かのちがいです。
こんな回路です。
https://www.analog.com/jp/education/landing-pages/003/jp-web-lab/tnj-055.html
等、ネットを参照のこと。オペアンプが二つ要ります。
因みに下のオペアンプ回路だけでVout/Vfbのグラフを見れば、電圧注入法になります。
結果は下図。
図9、グラフ、黒の難しい式のほうがミドルブルック法です。
赤のほうは電圧注入法です
カーソル読み値でミドルブルックと電圧注入法と、ほぼ同じくらい、
180-116=64deg
と
180-115.7=64.3deg
です。グラフはほとんどこの二つ、重なっております。
ミドルブルック法は、電圧注入法で負荷抵抗が帰還抵抗より小さいときに出る誤差をなくす方法なので、今回はさほど重い負荷では無かったので差が出ていないのでしょう。
位相余裕をまとめると、
FRAモジュール:66.0deg
Aβ演算法:64.1deg
ミドルブルック法=64.0deg
電圧注入法=64.3deg
ありゃ、FRAモジュールが一番違う値でした。。。
まぁ、こんなもんです。
と、同時に、ネットでSPICEによる位相余裕を確認する方法を検索すると、みな、ミドルブルック法がでてくるのですが、そんな面倒な方法を使わなくとも、Aβを簡単に演算できるのですから、これでいいのではないでしょうか?
とおもうのですがね。。。
そもそも目安的な値のシミュレーションですので、こんなものなのだと思います。
このFRAモジュールは、スイッチング電源の位相余裕推定のために作られたようですね。
マイケル・エンゲルハート氏がぼぼ一人でLTSpiceを開発していたので、彼がADIを退社した後、大きな追加がLTSpiceにはないだろう、と思っていたのですが、今回、LTSpiceのFRA機能が追加されたことは、驚きでした。なんでも某半導体メーカーのシミュレーション担当がADIに入社したといううわさがあったので、彼がやったものかな?
ただ、エンゲルハート氏はSPICEのエンジンにまで手を入れていた。今後LTSpiceがそこまでやるんか?こうご期待。
。
LTSpice 17.1 FRAモジュールを用いた解析① スリューレートによる帯域制限シミュレーション
スリューレートによる帯域制限シミュレーション
LTSpice 17.1から、機能が大きく変わった。
まず、17.0のアップデートではどうも17.1にはならず、元からダウンロードの必要がある。
そして17.0と共存可能。ほとんどの設定は引き継がれる。(私の場合はライブラリのフォルダをちょっと変更しなければならなかった)。
で、話題のFRAモジュールが追加になった。これが、Gain v.s. FrequencyモードとImpedance v.s. Frequencyモードの二つがある。
前者はフィードバックループの中にFRAモジュールを挿入して使う。後者はその他、電流源出力で両端の電圧を得て、結果はImpedance(Ω=V/A、トランスインピーダンス・ゲインととらえることもできる、[FRAモジュールの両端の電圧] / [FRAモジュールが出力した電流])をトランジェント解析結果として表示する。
そう、このFRAモジュールは設定した周波数範囲、少しずつ周波数をスキャンしながらトランジェント解析を繰り返してシミュレーションする。
まさに実際の測定器のFRAやVNAと同じことをやっている。
ん?となると、振幅による周波数特性の違いもシミュレーションできるはず。
つまりスリューレートに引っかかって波形が三角波になって振幅が落ちる事で帯域が落ちる様子をシミュレーションできるはずだ。
SPICEでは、基本、AC解析での周波数特性は「微小信号であったときの周波数特性」が求まるのであって、振幅に帯域が依存するシミュレーションはできない。AC解析で振幅設定ができるが、それは単に入力振幅を指定して出力がどのくらいの電圧が出ているか、だけを確認するものである。
それで早速やってみた。
下記の回路となった。
OP07という、スリューレートが低い、古典的なオペアンプのモデルを使用した。
FRAモジュール@1の両端に電圧制御電圧源E1(ゲイン1倍)の出力がついている。オペアンプの出力電圧をモジュールの両端に加えるため。アイソレーションの必要があるのでこうした。
H1は電流制御電圧源、電流源にE1を指定する。H1を制御する電流はE1に流れ込む電流=FRAの出力電流、となる。H1素子のゲインを変更するため、TIGという変数を作り、ステップ解析でTIGを10(出力2Vpp)と100(出力20Vpp)として二種類の振幅をアンプに入力する。アンプのゲインはあくまで固定(R1,R2で2倍に設定)であり、入力振幅が変わっただけで、従来のAC解析では出力の帯域は変わることはない。
付加は意地悪っぽくやや重めに3kΩ。
FRAモジュールの設定は下記。出力0.1Appに設定。ほかは適当である。
各設定は以下のよう。
解析はTransient Frequency Responsで設定、特に詳細パラメータを入力する必要もないかもしれないがとりあえず図の様にMaximum Timestepを設定。
シミュレーション結果は以下となった。
図6、振幅2種類、26dBと46dB、二つの違いは入力振幅だけを変えており、ゲインを変えていないアンプで帯域が変わっている。
図7、同じものを、縦軸を実数(log)表示。トランスインピーダンス・ゲイン?は、20Ω(=2 Vpp/0.1A)、200Ω(=20Vpp/0.1A)の特性となる。入力電圧に換算すると、出力電流は0.1Aに設定したので、それぞれ1Vpp、10Vppとなる。それのゲイン2倍が出力振幅。
振幅の大きな方のカットオフが約7kHzと読み取れ、そこら周辺の出力振幅を見てみると下図。
丁度7kHzのちょっと下の6.37kHz、大きい振幅のほう、三角波となって振幅が10Vppを切っている。これより低い周波数では正弦波になっているのが見える。あきらかにスリューレートに引っかかって振幅が落ちている。
もうすこし拡大したのが下図。
周波数をスキャンして、ここよりも低い周波数では正弦波になっているのが良く見える。
振幅が小さい方の波形はずっと正弦波になっている。
※正弦波の不連続点は周波数が変わったポイント
と、いうことで、FRAモジュールでトランジェント解析を使って周波数をスキャンすることで帯域をシミュレーションすることが可能となった。
ただ、出力がImpednceで出てくるので、ちょっと違和感がありますね。
これはスリューレートチェックに大いに役立ちます。
ちなみに回路はH素子を使わなくても下図のようにR4にてI/Vしても全く同じ特性をシミュレーションできます。
LTSpice
久々です。
今更ですが、2019年に、LTSpice開発者、ほとんど一人でやっていたマイケル・エンゲルハート氏がアナログデバイセズを退社しているようです。
数年前、品川某所でマイケルと一緒に写真を撮ったのを思い出す。
もう会う機会もない。
https://twitter.com/ClubZ_JP/status/994494665356296193/photo/1
真ん中の人です。
もう、LTSpiceは大幅な変更はないです。
将来、プラットフォームが変わった場合、対応できるのか?
たしかマイケルは、電位をずらしたGNDを設定してそこを中心にシミュレーションして、収束性をあげるオプションも開発中だったはずですが、、、、
アナログ回路の世界に於いて、LTSpiceが果たした役割は大きい。なんたって、無料ですから。
みなさん、ユニバーサル基板で実験する前にシミュレーションしてみて最低限動作するかどうかを確認して、とても効率が上がったはずだし、微妙な動作を理解するのにとても役立ったはず。
TIでTinaの開発をやっていた人物がアナデバに移籍した、という噂もあり、となると、その人物がLTSpiceが引き継いでやっていくのか?
しかしマイケルがほとんど一人でやっていて、そこに他人が入って改善したりいじったりすることなどできるのだろうか??
彼は元々物理屋さんで、いろいろな物理シミュレータの開発をやっていたが、調査して「これからは回路シミュレータをやろう」と思い立ち、開発して自宅から最も近い(カリフォルニアにある)リニアテクノロジーに持ち込んで、採用されたという経歴です。
あの頭脳は、今は何に使っているのでしょうか。。。
firefoxのセッションが消えた
久々更新です。
メモ的に書きます。
MacOS10.13でブラウザFirefoxを使っていますが、本日、たぶんアプリの自動更新?があったのか?立ち上げたらセッションが消えていました。
ネットをいろいろと探ると
「ファイル:sessionstore.jsonlz4にセッション内容が記載されている」
とあるので、探してみると、2018年にバックアップしたファイルには見つかりましたが、最近のは、ディスク上、無いんですね、、、、
「え?」
Firefoxを閉じたら、新しいsessionstore.jsonlz4が出来上がっていました。
タイムマシンを設定していますんで、過去のsessionstore.jsonlz4を探したんですが、無いんですね、、、、
「え?」
場所は
hdd/ユーザ/ユーザー名/ライブラリ/Application Support/Firefox/Profiles
にあるはず。
正常だった一昨日、それからもっと前、今年7月くらいから、Profilesのフォルダ内部は残っていたのですが、、、、
sessionstore.jsonlz4が無いんですね・・・・
で、仕方なく数日前の上記
Prifiles
を今のProfilesフォルダ毎、上書きしました。
そしてFirefoxを立ち上げたら、セッションが復活しました。
ほっ。
Firefoxを閉じたら、無かったはずのsessionstore.jsonlz4ファイルが出来上がっていました。
何か仕様が変わったのでしょうか、、、、