人に聞けない痔の悩み、これでスッキリ >>

スペクトルの波形分離のできるフリーソフトを探しています.
実験で得られたスペクトル(IR,ラマンなど)のバンドが重なっているので分離を行いたいのですが,Windowsで使用できるのようなフリーソフトが見つかりません.
どなたか知っておられる方がいらっしゃいましたらお教えください.

A 回答 (1件)

    • good
    • 1
この回答へのお礼

ありがとうございます.
早速試してみます.

お礼日時:2008/12/17 10:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q吸収スペクトルの波形分離解析ソフトについて

FT-IRの測定で得られたスペクトルに対してガンマ関数やローレンツ関数を用いての波形分離解析を考えています。

導入された測定装置がこれらの処理には未対応でしたが、ASCIIファイルでのデーター出力はできるようなので、外部の解析ソフトでの処理を検討しています。
ただ、予算的に高額な市販ソフトの購入が厳しそうなので、適当なフリーウェアでもないか探しているところです。ちゃんと山の分離ができれば、とりあえずの方向性検討には充分だと思っているのですが、どなたか適当なソフト、ご存知ないでしょうか。

Aベストアンサー

とりあえずの方向性検討ならエクセルで出来ますよ。
たとえば、スペクトルを3つの関数に分離しようと思うとき、
1列め 波数
2列め スペクトルの測定値
3列め 関数の値(1列めの値、および、10列めについての関数の式を入れる)
4列め 関数の値(1列めの値、および、10列めについての関数の式を入れる)
5列め 関数の値(1列めの値、および、10列めについての関数の式を入れる)
6列め 3列めの値+4列めの値+5列めの値
10列め 3、4、5列めの関数の強度、中央値、線幅などのデータ
としておきます。2~6列のグラフを同時に表示し、2と6のグラフが近くなるように10列めの値を変えていきます。

7列め (2列め-6列め)^2
11列め 7列めの総和
としておけば、11列めの値が最小になるような10列めの値を求めることもできます(エクセルの「ソルバー」という機能を使います)。

QXPSスペクトル分離

XPSスペクトル分離に使う便利なソフトはありますか?ネットからダウンロードできますか?非常に困ってます。分かる方がいたらぜひ教えてください。よろしくお願いします。

Aベストアンサー

私がXPSの波形分離に用いていたソフトはCOMPROというソフトで金属材料技術研究所の方が作られたソフトです。ダウンロードの場所を調べていてやっと見つけたのですが、このバージョンには波形分離がない?みたいです。以前のバージョンにはあったのですが。。。
データベースもありますし、とても使いやすいソフトだと思うので、一度試しに使ってみてはいかがでしょうか?

参考URL:http://sekimori.nrim.go.jp/sasj/compro.html

Qスペクトルの Fitting について

XPSを用いて測定したスペクトルの
Fitting がうまくいきません。

光イオン化断面積の大きな準位の
比較的対称なピークさえ、
うまくフィットすることができません…
Gauss関数を用いたFittingではうまくいかないものなのでしょうか?

ピークの形に影響を及ぼす要因は
いくつか考えられるのですが
ピークフィットするにあたり
それぞれの要因に対して、どのように重みをつけるべきなのか
全く分かりません

ピークフィットするにあたってよい方法があれば教えてください

Aベストアンサー

#1です。 
◇弾性散乱が主要因です。
お問い合わせの参考資料として、下記HPのNo.1679
XPSにおいて発生分布の非対称に与える弾性散乱効果の検討
佐藤 仁美、田中 彰博、一村 信吾、城 昌利、田沼 繁夫、吉原 一紘
などは kuwamanmaさんのご希望に添える回答として如何でしょうか?

実際、XPS分析にて波形分離すると非対称性入力項がありますネ。

PS;これから出張なので、暫く回答出来ませんが申し訳ございません。

参考URL:http://www-surface.phys.s.u-tokyo.ac.jp/sssj/Vol17/Vol17_08.htm

Qガウシアン関数へのフィッティングについて

現在、ガウシアン関数y=a+b*exp(-(x-c)^2/d^2)に下記のようなデータを使用しフィッティングを行いたいのですが、
手法やパラメータa,b,c,dの求め方がわかりません。
どなたか教えていただけませんか。
よろしくお願いいたします。
(x,y)={
48.8006092
48.8056105
48.8105942
48.8156000
48.8206021
48.8256127
48.8306131
48.8356169
48.8406146
48.8456077
48.8506141
48.8556236
48.8606115
48.8656179
48.8706296
48.8756176
48.8806272
48.8856294
.....}

Aベストアンサー

Excelしか使えないのであれば、ソルバーを使って、以下の手順で「残差2乗和」を最小とするパラメータ a, b, c, d を探すと良いでしょう。ただし、パラメータの初期値があまりかけ離れていると変な値に収束するか解が見つかりません。a, b, c は元のデータのグラフから見当をつけられると思います( a はベースライン高さ、b はピーク高さ、 c はピーク位置x)。d は直感では見当をつけられないので、(ピークの半値全幅)/1.67 で計算してそれを初期値としてください。

【ソルバーを使った最小自乗法】
(1) Excelのメニューの [ツール] → [アドイン] で [ソルバーアドイン] の左側の□をチェックして OK
(2) A列に x データ、B列に y データを書き込む( x は A1 から、y は B1 から下方向に書き込む)
(3) D1からD4にフィッティングパラメータの初期値を書き込む(a → D1、b → D2、c → D3、d → D4)
(4) セル C1 に以下の式を貼り付ける(これをCopy&Paste)
   =($D$1+$D$2*EXP(-1*(A1-$D$3)^2/($D$4)^2)-B1)^2
(5) セルC1をコピーして、C2以下の全データ分のC列にペースト(これでC列=「残差2乗」となる)
(6) セルD5 に =sum(C1:C??)と書く(??はC列最後の行番号)
(7) Excelのメニューの [ツール] → [ソルバー] で [目的セル」を $D$5、[目標値] を 最小、[変化させるセル]を $D$1:$D$4 とする。この意味は、「セルD1~D4に書かれている数値を変化させて、 D5セルを最小となるようにする」ということです。
(8) ソルバーウィンドウのオプションボタンをクリック → 制限時間を 1000、反復回数を 1000、精度・公差・収束をすべて 1e-10 とし、OKをクリック
(9) ソルバーウィンドウの実行ボタンをクリック
(10) フィッティングパラメータが見つかったら、「最適解が見つかりました・・」と出るので、OKをクリック
(11) ExcelのセルD1~D4にフィッティングパラメータが書き込まれている

なお、精度・公差・収束の値をあまり小さくすると収束しないので、もしデータのばらつきが大きくて収束しないときは、これらの値を適宜、大きくしていってみてください。ご質問のデータはGaussianのほんの1部でしたのでこちらで実験することはできませんでした。ちなみに私は通常、カレイダグラフというグラフソフトで任意関数のフィッティングをやっています。

Excelしか使えないのであれば、ソルバーを使って、以下の手順で「残差2乗和」を最小とするパラメータ a, b, c, d を探すと良いでしょう。ただし、パラメータの初期値があまりかけ離れていると変な値に収束するか解が見つかりません。a, b, c は元のデータのグラフから見当をつけられると思います( a はベースライン高さ、b はピーク高さ、 c はピーク位置x)。d は直感では見当をつけられないので、(ピークの半値全幅)/1.67 で計算してそれを初期値としてください。

【ソルバーを使った最小自乗法】
(1...続きを読む

Q波長(nm)をエネルギー(ev)に変換する式は?

波長(nm)をエネルギー(ev)に変換する式を知っていたら是非とも教えて欲しいのですが。
どうぞよろしくお願いいたします。

Aベストアンサー

No1 の回答の式より
 E = hc/λ[J]
   = hc/eλ[eV]
となります。
波長が nm 単位なら E = hc×10^9/eλ です。
あとは、
 h = 6.626*10^-34[J・s]
 e = 1.602*10^-19[C]
 c = 2.998*10^8[m/s]
などの値より、
 E≒1240/λ[eV]
となります。

>例えば540nmでは2.33eVになると論文には書いてあるのですが
>合っているのでしょうか?
λに 540[nm] を代入すると
 E = 1240/540 = 2.30[eV]
でちょっとずれてます。
式はあっているはずです。

Qスペクトルの面積計算

ある化合物の蛍光スペクトルを測定し、その蛍光面積を求めたいと思っております。
以前、おりました大学では装置に付属のソフトで計算が可能でしたが、現在勤務しております研究室は装置が旧式で、数値データしか取り出すことが出来ません。
各波長とそれぞれの蛍光強度をエクセルに入力し、スペクトルを描いております。
そこで、教えていただきたいのですがエクセル等で、スペクトルの面積を求めることは可能でしょうか。
また、エクセル以外のソフトで可能なソフトをご存知でしたら教えていただけないでしょうか。

Aベストアンサー

有効数字や測定精度を考えれば区分求積法で十分です.
そもそも,データ処理装置の中でやっている計算自体,ほとんどが区分求積です.これはクロマトの場合も,分光器の場合もほとんどそうです.高級機にはカーブフィッティングとかを使うのもあるのでしょうが,積分結果だけなら意味のある違いが出るケースはまずありません.
得られたデータは,波長が等間隔で (1nmきざみとか) 蛍光強度のデータがあるのだと思います.
実際の積分は,必要な波長範囲の蛍光強度をすべて足しあわせ,それに波長間隔 (1nm 間隔とか2nm間隔とか) を掛ければいいだけです.
面積は∫I(λ)dλ (I(λ) はある波長λでの蛍光強度,λは波長) という積分で表わされるのですから,これを差分近似に置き換え,Σ[I(λ)Δλ] として考えるだけです.本来,積分はΔλ→0 の極限ですが,Δλがある程度小さく取れているならこの積分で十分正確な近似値が出ます.
ちなみに,もしΔλが大きい場合は台形近似を使う方がよい近似を与えるでしょう.

なお,紙を切り抜くというのも馬鹿にしてはいけません.かなりの精度で測定ができます.方眼紙にコピーしてマス目を数えるというのもありです.どちらもかつてよく使いましたが,通常の用途では十分に実験再現性の範囲内の精度を出せます (昔のコピー機は歪みが多かったので,トレースしていましたが).
ほかにはプラニメータという曲線の形をなぞると面積を求めることのできる機械式の道具もあるのですが,まあ,こんなのを持っているところはまれでしょう.うちにはありますが,私自身は使ったことはありません.切り抜きや方眼を数えるので十分だったからです.
今ならスキャナで読み取って,画素数を数える (フリーソフトでそんなのはいくらでもあります) という手もあります.

有効数字や測定精度を考えれば区分求積法で十分です.
そもそも,データ処理装置の中でやっている計算自体,ほとんどが区分求積です.これはクロマトの場合も,分光器の場合もほとんどそうです.高級機にはカーブフィッティングとかを使うのもあるのでしょうが,積分結果だけなら意味のある違いが出るケースはまずありません.
得られたデータは,波長が等間隔で (1nmきざみとか) 蛍光強度のデータがあるのだと思います.
実際の積分は,必要な波長範囲の蛍光強度をすべて足しあわせ,それに波長間隔 (1nm 間隔...続きを読む

Qピークの検出方法

ある離散時系列データf(x)があったとき、単純に考えれば
f'(x)=f(x+1)-f(x)<0.0001,f''(x)=f'(x+1)-f'(x)<0
となるxを求めればピークのxが検出できると思いますが、
f(x)が滑らかでない場合はどんな方法でピークが検出できますでしょうか?

Aベストアンサー

>f'(x)=f(x+1)-f(x)<0.0001, f''(x)=f'(x+1)-f'(x)<0 ....

基本はこれでOKなので、「f(x)が滑らかでない場合」に引っかかりそうなケースを考えてみましょう。

[誤検出しそうな例]
(1) サンプリングしたデータでは、ピークでの増分が 0.0001 未満とは限らない。(つまり、とんがり気味のピークは検出できない)
(2) 真のピークではなく、裾野の細かいうねりまで検出するおそれがある。

[対策例]
(1) 単純に、f'(x)が正から負へ極性反転したらピークとみなす。
(2) #1 さんの「平滑化」処理を適用する。
(2)' あるいは、f'(x)が正から負へ極性反転したピークの高さに閾値を設定しておく。(つまり、細かなピークは無視する)

ピーク検出には、適用分野に応じたノウハウが多数あるようです。

Qエクセルのグラフから半値幅を求めたいです

例えば正規分布のようなデータをエクセルで作成しました(ピークがあるグラフになります。)
そのグラフから半値幅をエクセル上で求めたいです。
内挿法も考えましたが扱うデータのサンプルポイント数が少なくて誤差が大きすぎるのです。
今はグラフをプリントアウトして定規と日比例計算から半値幅を求めています。
何か方法をご存じのかた教えていただけますか。

Aベストアンサー

多分そこまで都合の良い方法は無いのではないかという気がします。
私が思いつく方法は2つです。
一つは、そのデータを関数で近似して(GaussianならGaussianで)、近似した関数から半値幅を計算する方法です。
これは近似が信頼できるのなら十分妥当な値が出ますし、もう一つの方法と比べて望ましい手法(理由は後述)です。
もう一つは、離散点の最大値の1/2になる値の幅を数値的に求める方法です。例えば、最大値をy0として、y=y0/2のx軸と平行な直線とデータとの交点を求め、その交点のx座標を半値半幅とします。
ただし、y0/2のラインとちょうど同じy値をデータが持つとは限らないので、少なくとも、近傍のデータ2点から直線を求め、その直線との交点を求める必要があります(できれば3点で2次曲線との交点にする等の方が精度が高くなる)。
こういうことをエクセルで行おうとすると、ワークシートでは無理で、Visual Basicでプログラムを組む必要があるでしょう。
そして何よりも、データに誤差が含まれている(バラつきがある)場合、最大値にも誤差が含まれることになりますから、y0/2にも誤差があり、そして交点を求めるために使用するデータにも誤差があり、ということで求める半値幅がどれくらい信頼できるかは分かりません。
その点、初めの方の関数で近似する方は、誤差が多少あっても近似が妥当であれば、そこそこ信頼できる値が求まるでしょう。
ただし近似(フィッティング)も、エクセルのワークシートだけだと難しいものもあるかもしれません(例えばGaussianのフィッティングはワークシートの関数では無理ではないかと思います)。
その場合はやはりプログラムを組む必要がありますし、その際、最小二乗法の勉強等も必要になるかもしれませんが、測定データ等を既知の関数でフィッティングするのはごくありふれた(ということは信頼できる)手法ですので、お勧めしておきます。
ただ、いずれの方法でも、あるいはいかなる方法でも、データ点数が少なすぎると、当然信頼度は下がります。
それは半値幅を求める手法に関する検討とは別の問題です。

多分そこまで都合の良い方法は無いのではないかという気がします。
私が思いつく方法は2つです。
一つは、そのデータを関数で近似して(GaussianならGaussianで)、近似した関数から半値幅を計算する方法です。
これは近似が信頼できるのなら十分妥当な値が出ますし、もう一つの方法と比べて望ましい手法(理由は後述)です。
もう一つは、離散点の最大値の1/2になる値の幅を数値的に求める方法です。例えば、最大値をy0として、y=y0/2のx軸と平行な直線とデータとの交点を求め、その交点のx座標を半値半幅とします。
...続きを読む

QX線のKαって何を意味するのでしょう?

タイトルのまんまですが、XRD、XPSなどで使われる特性X線のCu-Kα線、Mg-Kα線のKαってなにを意味するものなのでしょうか?
ちょっと気になった程度のことなので、ご覧のとおり困り度は1ですが、回答もきっとそんなに長くならないんじゃないかと思うのでだれか暇な人教えて下さい。

Aベストアンサー

ちょっとうろ覚えなんですが。。。

X線は、フィラメント(主にタングステン(W)が用いられている)から電子を取り出し(加熱で)、それをX線を発生するターゲット(アルミニウム(Al)やマグネシウム(Mg)や銅(Cu))などに電子を衝突させて発生させます。
ターゲットとなる材料の電子軌道はそのエネルギ-準位がとびとびでかつ元素によって特有の値を持ちます。電子衝突によって飛び出した電子が仮にK殻の電子であったとします。K殻は他の殻(LやM)に比べて低いエネルギーにあるので、L殻やM殻の電子は安定した状態を保とうと、K殻へ落ち込みます。このとき(K殻のエネルギー)-(L殻のエネルギー)に相当するエネルギーがあまるので、これがX線となりこのエネルギーをもつX線が発生します。

そこで、potemkineさんの質問にあるとおり、Kαとかの命名法ですが、Kに相当するものは電子が衝突して飛び出した殻を示し、αは飛び出した殻に対していくつ外側の殻から電子が飛び出したのかを示すもので、1つ上からならα、2つ上ならβ。3つ上ならγといったようにあらわします。
例えば、K殻の電子が飛び出し、そこをM殻が埋めた場合(2つ上の準位)はKβ、L殻の電子が飛び出しそこをM殻が埋めた場合はLα
ちなみに下からK殻、L殻、M殻、N殻の順番です。

エネルギーや半値幅(エネルギーの広がり)の面から一般に用いられてるX線は、AlKα、CuKα、MgKαなどです。

ちょっとうろ覚えなんですが。。。

X線は、フィラメント(主にタングステン(W)が用いられている)から電子を取り出し(加熱で)、それをX線を発生するターゲット(アルミニウム(Al)やマグネシウム(Mg)や銅(Cu))などに電子を衝突させて発生させます。
ターゲットとなる材料の電子軌道はそのエネルギ-準位がとびとびでかつ元素によって特有の値を持ちます。電子衝突によって飛び出した電子が仮にK殻の電子であったとします。K殻は他の殻(LやM)に比べて低いエネルギーにあるので、L殻や...続きを読む

Qフィッティング

何らかのピークのデータがあるとしますよね?それをデータ解析するのにフィッティングします。そのときよくあるガウシアンとローレンツィアン。これらがどういうフィッティングなのかを知りたいです。これを知らなかったらどういう場合にどういうフィッティングをしたらいいのかわかりませんよね?例えば、何を見たらのってたりするものなのでしょうか?自分で探してみたけど見つかりません。しかも今現在そのフィッティングが目の前まで差し迫ってきています。誰か助けて!

Aベストアンサー

ガウシアンは最もよく出てくる分布で
 f(x) = 1/(σ√2π)^(1/2)exp{-(x-μ)^2/(2σ^2)}
という形をしています。
ここで、μは平均、σ^2は分散です。

ローレンチアンは、共鳴曲線などで見かける分布で
 g(x) = (1/π)β/{β^2+(x-α)^2}
という形になっています。
こちらは、平均はαですが分散は発散しています。

式を見ればわかるように、ローレンチアンのほうが減衰が遅く裾が広いですね。


人気Q&Aランキング