このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
pulstran
パルス列
説明
例
この例では、単位幅の既定の矩形パルスを使用してパルス列を生成します。反復周波数は 0.5 Hz、信号長は 60 秒、サンプル レートは 1 kHz です。ゲイン ファクターは、周波数 0.05 Hz の正弦波です。
t = 0:1/1e3:60; d = [0:2:60;sin(2*pi*0.05*(0:2:60))]'; x = @rectpuls; y = pulstran(t,d,x); plot(t,y) hold off xlabel('Time (s)') ylabel('Waveform')
この例では、反復周波数 3 Hz の非対称ノコギリ波形を生成します。ノコギリの幅は 0.2 秒、歪度係数は –1 です。信号長は 1 秒で、サンプル レートは 1 kHz です。パルス列をプロットします。
fs = 1e3; t = 0:1/1e3:1; d = 0:1/3:1; x = tripuls(t,0.2,-1); y = pulstran(t,d,x,fs); plot(t,y) hold off xlabel('Time (s)') ylabel('Waveform')
10 MHz のサンプル レートで、50% の帯域幅をもつ 10 kHz のガウス RF パルスをプロットします。包絡線がピークから 40 dB 減衰するところでパルスを打ち切ります。
fs = 1e7; tc = gauspuls('cutoff',10e3,0.5,[],-40); t = -tc:1/fs:tc; x = gauspuls(t,10e3,0.5); plot(t,x) xlabel('Time (s)') ylabel('Waveform')
パルス繰り返し周波数は 1 kHz、サンプル レートは 50 kHz、パルス列の長さは 25 ms です。ゲイン ファクターは、周波数 0.1 Hz の正弦波です。
ts = 0:1/50e3:0.025; d = [0:1/1e3:0.025;sin(2*pi*0.1*(0:25))]'; y = pulstran(ts,d,x,fs);
周期性ガウス パルス列をプロットします。
plot(ts,y) xlim([0 0.01]) xlabel('Time (s)') ylabel('Waveform')
指数によって減衰する正弦波を構成するカスタム パルスを生成する関数を記述します。パルスは時間の奇関数です。生成する関数は、正弦波周波数と減衰係数の単一の値を指定する 2 番目の入力引数をもちます。1 kHz で 1 秒間サンプリングされた、周波数と減衰する値が両方とも 30 に等しい、生成されたパルスを表示します。
fnx = @(x,fn) sin(2*pi*fn*x).*exp(-fn*abs(x)); ffs = 1000; tp = 0:1/ffs:1; pp = fnx(tp,30); plot(tp,pp) xlabel('Time (s)') ylabel('Waveform')
カスタム パルスの列を生成するには、関数 pulstran
を使用します。列は 2 kHz で 1.2 秒間サンプリングされています。パルスは、3 分の 1 秒ごとに発生し、指数関数的に減少する振幅をもちます。
生成されたパルスをプロトタイプとして最初に指定します。関数呼び出しにはプロトタイプのサンプル レートを含めます。この場合、pulstran
は指定された場所にパルスを複製します。
fs = 2e3; t = 0:1/fs:1.2; d = 0:1/3:1; dd = [d;4.^-d]'; z = pulstran(t,dd,pp,ffs); plot(t,z) xlabel('Time (s)') ylabel('Waveform')
パルス列を再度生成します。ただし、ここでは生成する関数を入力引数として使用します。関数呼び出しに周波数と減衰するパラメーターを含めます。この場合、pulstran
はゼロ付近で中央揃えされるようにパルスを生成します。
y = pulstran(t,dd,fnx,30); plot(t,y) xlabel('Time (s)') ylabel('Waveform')
周波数が 0.25 Hz のノコギリ波形を指数関数的に減衰するカスタムを生成する関数を記述します。生成する関数は、ノコギリ波周波数と減衰係数の単一の値を指定する 2 番目の入力引数をもちます。0.1 kHz で 1 秒間サンプリングされた、周波数と減衰値が 50 に等しい、生成されたパルスを表示します。
fnx = @(x,fn) sawtooth(2*pi*fn*0.25*x).*exp(-2*fn*x.^2); fs = 100; t = 0:1/fs:1; pp = fnx(t,50); plot(t,pp)
カスタム パルスの列を生成するには、関数 pulstran
を使用します。列は 0.1 kHz で 125 秒間サンプリングされています。パルスは 25 秒ごとに発生し、指数関数的に減少する振幅をもちます。
生成されたパルスをプロトタイプとして指定します。既定の線形内挿法、最近傍内挿および区分的 3 次内挿を使用した 3 つのパルス列を生成します。単一プロットのパルス列を比較します。
d = [0:25:125; exp(-0.015*(0:25:125))]'; ffs = 100; tp = 0:1/ffs:125; r = pulstran(tp,d,pp); y = pulstran(tp,d,pp,"nearest"); q = pulstran(tp,d,pp,"pchip"); plot(tp,r) hold on plot(tp,y) plot(tp,q) xlim([0 125]) legend(["Linear" "Nearest neighbor" "Piecewise cubic"]+" interpolation") hold off
入力引数
func
が評価される時間値。ベクトルとして指定します。
配列 t
の値から削除されたオフセット。実数ベクトルとして指定します。オプションのゲイン ファクターは、d
を 2 列の行列 (列 1 に定義されたオフセット、列 2 に関連するゲイン) として設定することで、各遅延評価に適用できます。d
を行ベクトルとして指定した場合、値は遅延としてのみ解釈されます。
そのサンプルに基づいたパルス列を生成するために使用される連続関数。'rectpuls'
、'gauspuls'
、'tripuls'
、または関数ハンドルとして指定します。
関数ハンドルとして func
を使用する場合、次のように関数パラメーターを渡すことができます。
y = pulstran(t,d,'gauspuls',10e3,0.5);
これは、50% の帯域幅をもつ 10 kHz のガウス パルスを使用してパルス列を作成します。
プロトタイプ関数。ベクトルとして指定します。p
の区間は [0,(length(p)-1)/fs]
で表されます。そのサンプルは、この区間の外側では等しくゼロです。既定の設定では、線形内挿を使用して遅延が生成させます。
サンプル レート (Hz 単位)。実数スカラーとして指定します。
内挿法。次の表のオプションのいずれかとして指定します。
メソッド | 説明 | 連続性 | コメント |
---|---|---|---|
| 線形内挿。クエリ点での内挿値は、それぞれの次元の隣接するグリッド点での値の線形内挿を基にしています。これは既定の内挿法です。 | C0 |
|
| 最近傍内挿。クエリ点での内挿値は、最も近いサンプル グリッド点の値です。 | 不連続 |
|
| 次の傍内挿。クエリ点での内挿値は、次のサンプル グリッド点の値です。 | 不連続 |
|
| 前の傍内挿クエリ点での内挿値は、前のサンプル グリッド点の値です。 | 不連続 |
|
| 形状維持区分的 3 次内挿。クエリ点での内挿値は、隣接するグリッド点の値の形状維持区分的 3 次内挿を基にしています。 | C1 |
|
| MATLAB® 5 で使用される 3 次畳み込み。 | C1 | 点は一定間隔でなければなりません。 |
| 変更された Akima 3 次エルミート内挿。クエリ点での内挿値は、最大 3 つの角度をもつ多項式の区分的関数を基にしています。Akima 式はオーバーシュートを回避するために変更されます。 | C1 |
|
| ノットなしの端点条件を使用したスプライン内挿。クエリ点での内挿値は、それぞれの次元の隣接するグリッド点での値の 3 次内挿を基にしています。 | C2 |
|
出力引数
関数で生成したパルス列。ベクトルとして返されます。
拡張機能
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)