問題タブ [transfer-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1256 参照

matlab - むだ時間のある伝達関数

次の伝達関数があります。

(5/(s^2+1) ) * e^(-0.1*s)

伝達関数モデルにデッド タイムを含めるにはどうすればよいですか?

試してみA=tf([5],[1 0 1],'td',0.1)ましたが動作しません (td未定義)。

0 投票する
1 に答える
52 参照

math - 伝達関数の構築

以下の伝達関数を作成するにはどうすればよいですか?

ここに画像の説明を入力

次の 2 つのパラメーターが必要です。

  • 範囲内のバルジの位置 (-1.0、+1.0)
  • バンプの鋭さ

その図は、最初のパラメーターの動きのみを示しています。

いくつかの可能なアプローチを考えることができます:

  • 式を考え出す
  • ベジエ曲線?
  • いくつかのポイントから始めて、ある種のチェーン リンク タイプの物理動的シミュレーションを実行します。この場合、各リンクは隣接するリンクの力を発揮し、端のリンクは低く保持され、特定のリンクは高く保持されます。
  • 上記のようなものですが、粗い形状から始めて、高周波をフィルタリングします

ただし、上記のアプローチのいずれかに着手する簡単な方法はわかりません。

誰かがそれをクラックするきれいな方法を見ることができますか?

0 投票する
0 に答える
3985 参照

matlab - 伝達関数からの差分方程式、Matlab

Z 変換伝達関数から得られた 2 つの差分方程式の応答をプロットしました。私は 2 つの方法を使用し、2 つの異なる結果を得ました。なんで?

方法 1、Matlab を使用して逆 Z 変換を行う

利回り: y = 2^k - 1、タイムステップ 'k' の場合。これは指数関数です。

方法 2、手で代数的に並べ替え、z^n を (kn) に変換します。

または同等に

また、2 番目の方法では「u」を指定する必要がありますが、最初の方法では必要ありませんが、k のみが必要です。最初の方法が入力信号 u を必要とせず、タイム ステップのみを必要とするのはなぜですか?

0 投票する
1 に答える
1061 参照

c - C/C++ でプロセス レギュレータを実装する方法は?

質問は非常に単純で、伝達関数を実装する場所と方法がわかりません。

私が古典的なシステムを持っているとしましょう

ここに画像の説明を入力

ここで、P は zita=0.7、F=1 で 2 次の伝達関数を持ち、C はプロセス レギュレータです。

C または C++ で ATMega128P のようなコントローラーにこのレギュレーターを実装したいと考えています。

プロセスの伝達関数は実験的方法によって特定され、調整器はプロセスの伝達関数によって異なる場合があります。

どこから始めればよいですか?

0 投票する
1 に答える
763 参照

matlab - 異なるレートでサンプリングされた入力と出力の間の伝達関数を見つけるにはどうすればよいですか?

ftest()通常、データを で準備した後に使用することを理解していますiddata()。ただし、iddata()正しく動作させるには、入力データと出力データの両方を同じレートでサンプリングする必要があります。iddata()達成する必要があることを達成できるようにするレートに依存しないバリアントまたは他の方法はありますか?

0 投票する
1 に答える
659 参照

microcontroller - ADC伝達関数

ずっと前に亡くなった人からプロジェクトを引き継ぎました。

現在、ADC モジュールを調べていますが、コードの意味がわかりません。

Process: Reading volts(0 ~ +10v) --> Amplifier(INA114) --> AD7609.

そのためのコードは次のとおりです。

  1. に格納された 8 チャンネルの完全な変換後data[9]
  2. データをマイクロボルトに変換??

    //convert to microvolts and store the readings // unsigned long temp[], data[] temp[0] = ((data[0]<<2)& 0x3FFFC) + ((data[1]>>14)& 0x0003); temp[1] = ((data[1]<<4)& 0x3FFF0) + ((data[2]>>12)& 0x000F); temp[2] = ((data[2]<<6)& 0x3FFC0) + ((data[3]>>10)& 0x003F); temp[3] = ((data[3]<<8)& 0x3FF00) + ((data[4]>>8)& 0x00FF); temp[4] = ((data[4]<<10)& 0x3FC00) + ((data[5]>>6)& 0x03FF); temp[5] = ((data[5]<<12) & 0x3F000) + ((data[6]>>4)& 0x0FFF); temp[6] = ((data[6]<<14)& 0x3FFF0) + ((data[7]>>2)& 0x3FFF); temp[7] = ((data[7]<<16)& 0x3FFFC) + (data[8]& 0xFFFF);

これらのコードが何をしているのかわかりません...? シフトすることは知っていますが、どのようにしてマイクロデータ形式になるのでしょうか?

  1. 伝達関数

//store the final value in the raw data array adstor[] adstor[i] = (signed long)(((temp[i]*2000)/131072)*10000);

131072 = 2^(18-1)しかし、他の値がどこから来るのかわかりません

AD7609 のデータシートThe FSR for the AD7609 is 40 V for the ±10 V range and 20 V for the ±5 V range20v2000???

誰も手がかりを持っていますか??

ありがとう

------------------- ここから質問を更新 ----------------------

18 ビットのデータ [0] の連結値 + データ [1] の 16 ビットの連結値が、ADC 伝達関数の後でマイクロボルトになる方法がわかりません。

データ[9] +---+---+--- +---+---+---+---+---+---++---+---+---++---+---+---++
analog volts | 1.902v | 1.921v | 1.887v | 1.934v | +-----------++-----------+------------+------------+------------+
digital value| 12,464 | 12,589 | 12,366 | 12,674 | +---+---+---++---+---+---++---+---+---++---+---+---++---+---+---+

data[3:0] 1 resolution = 20v/2^17-1 = 152.59 uV/bitとから例を作るだけです1.902v/152.59uv = 12,464

連結を介して取得します。

temp[0] = ((data[0]<<2)& 0x3FFFC) + ((data[1]>>14)& 0x0003) = C2C0

temp[1] = ((data[1]<<4)& 0x3FFF0) + ((data[2]>>12)& 0x000F) = 312D3

temp[2] = ((data[1]<<6)& 0x3FFC0) + ((data[3]>>10)& 0x003F) = 138C

次に、それらを伝達関数に入れてマイクロボルトを取得します

adstor[i] = (signed long)(((temp[i]*2000)/131072)*10000);

adstor[0]= 7,607,421 with temp[0] !=1.902*e6

adstor[1]= 30,735,321 with temp[1] != 1.921*e6

adstor[2]= 763,549 with temp[2]

お気づきのとおり、表のアナログ値とはかなり異なります。

なぜデータをビットシフトする必要があるのか<<​​ 、>>そして2つのデータを合計する必要があるのか​​\u200b\u200bわかりません[]??

ありがとう、

0 投票する
2 に答える
220 参照

opengl - ウィンドウ伝達関数

ボリューム レンダラーを実装しています。ウィンドウ伝達関数を使用して、ユーザーが一部の領域の不透明度を変更できるようにしたいと考えています。私が理解している限り、window、offset、scale の 3 つの変数があります。

ウィンドウは、アルファを変更したい値の量であり、オフセットはウィンドウが最小値からどれだけ離れているかです。しかし、私はスケールが何であるか分かりませんか?あるアルファ値から次のアルファ値への増加ですか、それとも現在のウィンドウの最大アルファですか?

私は何かを見逃していますか、それとも間違っていますか?

これは私が念頭に置いていることです

これは私が念頭に置いていることです