PRIMO信号処理研究所 / Synchro PRIMO Lab.

周波数測定、位相差測定に関する新しい数理。
Please contact to snishie@mac.com.

パルスに周波数は存在するか?

2018-03-18 00:20:58 | 信号処理

 本ブログで提案している「瞬時周波数」の計算公式ですが、入力に正弦波を加えると波形の任意の場所で周波数が計算可能です。

 この公式にパルス波形を入力するとどうなるか? 例として 「ガウス関数」を計算してみましょう。あれれ・・・ 計算できてしまいます。しかも一定の値を示します。もちろん、時間= ±∞ではほとんど計算不能ですから、パルスが立ち上がっている箇所がどうなるかが重要です。

 ガウス関数 は    g(t) = exp ( - A・t^2)  という形で、とりあえず定義できます。もともとは正規分布で活躍する関数なので統計量を意識した定義方法がありますが、ここでは、パルスの急峻さ=A のみにで考えることにします。

  https://ja.wikipedia.org/wiki/ガウス関数

 もし、瞬時周波数の計算結果が正しいならば、ガウス関数によるパルス波形の周波数が仮想的に定義できることになります。ちょっと計算してみれば分かるのですが、波形がなだらかなな場合は F=0に近づき、急峻な場合は、どうやら Ω=0.16666 付近に収束しているようにも思えます。今のところ意味はよくわかりません。

 ちなみに、ガウス関数を ±∞の区間で積分すると(=ガウス積分)・・・・ガウス関数の不定積分は存在しないのに、無限大区間での積分値は計算できてしまいます。

  https://ja.wikipedia.org/wiki/ガウス積分

 もう少し妄想をするなら、「任意のパルス波形」はガウス関数を用いて合成できるのか? ということになりますが、いくつか制約を加えれば意味のあるものが可能なのかもしれません。また周波数が計算可能なら位相角も定義可能であり、同時に、時間軸との対応もピタリとあうはずです。パルスの瞬時値・瞬時周波数に・・・なにが隠されているか・・・・ 

 

 


「リサージュ外積」にあらわれる数学

2018-03-04 22:16:25 | 信号処理

 Synchro PRIMOのアイディア「リサージュ外積」の計算に現れる数学を紹介します。

別に公式というほどでもないのですが、解法には大学受験で覚えた三角関数の公式が登場します。

(余弦自乗差)・・・と勝手に命名.

 cos^2 nθ - cos^2 (n+1)θ = sinθ * sin (2n+1)θ 

 例として n=0 の場合、 1 - cos^2 θ = sinθ * sin θ となり正しいことが分かります。リサージュ外積 Ls = Xn-1 * Xn+1 - Xn-2 * Xn+2 をz領域にこじつけると、上の式が登場します。 (信号の積を使う非線形関数にz変換を使ってよいものか自信ないですが)

 右辺の正弦積は、1)自乗差を "和差の積" に分解、2)それぞれを"和積"の公式で展開。3)項を入れ替え倍角の公式を再適用 という手順求めることができます。 Synchro PRIMOは、「リサージュ図の面積はどうなるか」からスタートしていますが、実は 200年ほどまえ Pronyという数学者が同じようなことをやっています。下記はProny法をのべている数少ない論文です。

Prony法の周波数推定アルゴリズムに及ぼす雑音の影響

https://www.jstage.jst.go.jp/article/jasj/42/11/42_KJ00001454017/_article/-char/ja/

 Pronyの原著らしきものも入手したのですが、悲しいかなフランス語が読めないのと当時の数式の流儀が分からず手が出せていません。。。

 Synchro PRIMO法では、複素数を用いた連立方程式を回避し、離散波形の隣接5点の値からProny法とそっくりな計算式を導出しているのが特徴となっています。その基本となっているのが、「余弦自乗差」なのです。数IIIの演習にも使えそうな式ですね。

  

 


離散データから, 周波数・振幅・位相差をしっかり計算するには by Excel !!

2018-03-03 02:01:10 | 信号処理

 10ヶ月ほど前に下記:

How to calculate Frequency, Amplitude and Phase Difference from Discrete Data

https://youtu.be/ZG7wL3z1rHg

という動画をを投稿しています。最近になってアクセスが微妙に増えてきました。なぜかインドと米国から集中。アクセスの分析はクリエータツールからできます。

 動画の内容なのですが、2つの波形(正弦波)を定義したExcelシートからスタートして、1)それぞれの周波数の計算手順を示しながら瞬時周波数を算出、2)同様に瞬時振幅を計算、3)それぞれの信号を複素化して、4)位相差を計算  という手順のExcel操作をデモしています。計算式は国際会議で発表ずみのものです。

 計算式の数学的意味はさておき、周波数・振幅・位相差がピタリとシートに出現するシーンは、今改めて見直してみると面白いです。(最近、細かいことを忘れかけているので、新鮮な目線で見ることができている?) 特にオリジナルのアイディアである「リサージュ外積」の計算はExcelのセル選択の様子で一目瞭然です。

 画面を見ながら(全画面表示なら文字はくっきり)同じようにセルを選択・計算式を入力すると、全く同じことができますので興味あるかたはチャレンジしてみてください。

 

 

 

 

 

 


市販 オーディオインタフェースの「サンプリングクロック」

2018-03-03 01:29:22 | 信号処理

 今まで、数機種の「オーディオインタフェース」(ADC)を使用してきたのですが、概してサンプリング周波数が低めなのです。

 以前からローランド製 UA-22 を携行用に使用。この機種はUSBからの電源供給でコンパクトです。サンプリング周波数(基準 44.1kHz)をGPSの1秒パルスを使用して精密測定すると、 -38 ppm 。電源を入れて数時間はドリフトがありますが最後は安定します。

 最近購入した UA-22の後継機種: Rubix-22 、これも同様に実験したところ、Fs = 44091.48 との結果がでました。つまり1秒間あたり、8サンプル分遅いのです。水晶発振器のクラスには SPXO, TCXO, OCXO ・・・さまざまあり、安価なものですと 100ppmくらいずれても普通。もしそれが問題なら、「外部同期」付きの機種を使用し、Word Clockで同期すればいいだけです。とはいえ、 50ppm程度におさまっているかと期待していたのが、今回の結果( -190 ppm )はちょっと納得できません。

 とはいうもの、周波数安定度は短期・中期とも抜群で、さすが音楽用という印象です。

  現在、電力用PMUを安価なHWを使用した構成を検討していますが、時刻の基準となるGPSからの 1pps信号とADCのサンプリング周波数の補正をどうするか悩んでいます。GPS 1pps信号受信機は2000円くらいで購入(秋月電子)できるので、これを利用しサンプリングクロック周波数を実時間で追跡できると使用するADCのコスト削減が可能かと思います。以前は 高級機種に「ワードクロック発振器」(精度は0.3ppm級)にくわえルビジウム発振器で外部同期していましたが・・・機材の値段、ゼロが一つ多いのです。

 広域に接地する機器の「時刻同期」「周波数同期」は思いの外難しいです。

 ちなみに、今回の精密測定では、1年前に考案した「パルスの精密時間差」アルゴリズムを使用しています。Synchro PRIMOで使用しているアイディアをPulseに拡張したものですが、数学が超難解で悶絶中です・・・1本の積分計算式の導出にレポート用紙4枚。結果はそのうちに。