Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

square

説明

x = square(t) では、時間配列 t の要素に対して、周期 2π をもつ矩形波が生成されます。square は正弦関数と似ていますが、-1 と 1 の値をもつ矩形波が生成されます。

x = square(t,duty) ではデューティ比 duty をもつ矩形波が生成されます。"デューティ比" とは、矩形波が正となる信号サイクルの割合を指します。

すべて折りたたむ

0 から 3π の間に等間隔に並んだ 100 個の数値から成るベクトルを作成します。周期が 2π の矩形波を生成します。

t = linspace(0,3*pi)';
x = square(t);

矩形波をプロットして、正弦を重ね合わせます。x 軸を π で正規化します。生成された矩形波では、n が偶数の場合は 1 の値の間隔は [nπ,(n+1)π)、n が奇数の場合は -1 の値の間隔は [nπ,(n+1)π) となります。この波形は 0 の値をもちません。

plot(t/pi,x,'.-',t/pi,sin(t))
xlabel('t / \pi')
grid on

Figure contains an axes object. The axes object with xlabel t / blank pi contains 2 objects of type line.

計算を繰り返しますが、今度は -π2π の間に等間隔に並んだ 121 個の数値において square(2*t) を評価します。振幅を 1.15 に変更します。波形をプロットして、同じパラメーターをもつ正弦を重ね合わせます。この新しい波形は、t=0 では負、端点 -π および 2π では正となります。

t = linspace(-pi,2*pi,121);
x = 1.15*square(2*t);

plot(t/pi,x,'.-',t/pi,1.15*sin(2*t))
xlabel('t / \pi')
grid on

Figure contains an axes object. The axes object with xlabel t / blank pi contains 2 objects of type line.

1 kHz で 70 ms 間サンプリングされた 30 Hz の矩形波を生成します。37% のデューティ比を指定します。分散 1/100 でホワイト ガウス ノイズを付加します。

t = 0:1/1e3:0.07;
y = square(2*pi*30*t,37)+randn(size(t))/10;

波のデューティ比を計算します。波形をプロットして、デューティ比に注釈を付けます。

dutycycle(y,t)

Figure Duty Cycle Plot contains an axes object. The axes object with xlabel Time (seconds), ylabel Level (Volts) contains 9 objects of type line. One or more of the lines displays its values using only markers These objects represent signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

ans = 0.3639

入力引数

すべて折りたたむ

時間配列。ベクトル、行列、または N 次元配列として指定します。square は、サイズが 1 より大きい最初の配列次元 t に沿って動作します。

データ型: single | double

デューティ比。0 ~ 100 の実数スカラーとして指定します。

データ型: single | double

出力引数

すべて折りたたむ

矩形波。ベクトル、行列または N 次元配列として返されます。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入