Main Content

MATLAB における固定小数点データの作成

以下の例では、Fixed-Point Designer™ fi オブジェクトを使用して固定小数点データを作成する方法を説明します。

例1 既定のプロパティによる固定小数点数の作成

数値に対して fi を呼び出すと、既定の符号属性、語長、小数部の長さをもつ固定小数点数が生成されます。

 fi(pi)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

例2 指定された符号属性、語長および小数部の長さをもつ固定小数点数の作成

符号属性 (1 は符号付き、0 は符号なし)、語長、小数部の長さを指定できます。

fi(pi,1,15,12)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 15
        FractionLength: 12

 fi および numerictype オブジェクト

例3 固定小数点整数値の作成

固定小数点整数値を作成するには、小数部の長さを 0 に指定します。

fi(1:25,0,8,0)
ans =
 
  Columns 1 through 13
     1   2   3   4   5   6   7   8   9  10  11  12  13
  Columns 14 through 25
    14  15  16  17  18  19  20  21  22  23  24  25

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

例4 ランダムな固定小数点値の配列の作成

fi(rand(4),0,12,8)
ans =
 
    0.1484    0.8125    0.1953    0.3516
    0.2578    0.2422    0.2500    0.8320
    0.8398    0.9297    0.6172    0.5859
    0.2539    0.3516    0.4727    0.5508

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 12
        FractionLength: 8

例5 ゼロの配列の作成

コードを記述するときに、変数の各データ型をテストしなければならないことがあります。変数のデータ型をアルゴリズムから分離すると、テストが大幅に簡素化されます。データ型の定義表を作成しておくと、浮動小数点データ型と固定小数点データ型の間で関数をプログラム的に切り替えることができます。次の例では、この手法を使用して要素がゼロの配列を作成する方法を示します。

 T.z = fi([],1,16,0);

z = zeros(2,3,'like',T.z)
z = 

     0     0     0
     0     0     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 0

メモ

この手法の実装を示す完全な例については、cast と zeros を使用した浮動小数点型および固定小数点型の FIR フィルター アルゴリズムの実装を参照してください。