このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
cordicpol2cart
極座標から直交座標への変換の CORDIC ベースの近似
構文
[x,y] = cordicpol2cart(theta,r)
[x,y] = cordicpol2cart(theta,r,niters)
[x,y] = cordicpol2cart(theta,r,Name,Value)
[x,y] = cordicpol2cart(theta,r,niters,Name,Value)
説明
では、CORDIC アルゴリズム近似を使用して、[x,y]
= cordicpol2cart(theta
,r
)r
* e^(j*theta
) の直交座標の xy 座標が返されます。
では、アルゴリズムの反復が [x,y]
= cordicpol2cart(theta
,r
,niters
)niters
回実行されます。
では、[x,y]
= cordicpol2cart(theta
,r
,Name,Value
)b
のブール値に基づいて、出力がスケールされます。
では、反復の回数と、出力をスケールするかどうかに関する [x,y]
= cordicpol2cart(theta
,r
,niters
,Name,Value
)Name,Value
の組の両方が指定されます。
入力引数
|
|
|
|
|
|
|
既定値: true |
出力引数
|
入力 入力 |
例
次のコードを実行して、CORDIC ベースの極座標から直交座標への変換の精度を評価します。
wrdLn = 16; theta = fi(pi/3, 1, wrdLn); u = fi( 2.0, 1, wrdLn); fprintf('\n\nNITERS\tX\t\t ERROR\t LSBs\t\tY\t\t ERROR\t LSBs\n'); fprintf('------\t-------\t ------\t ----\t\t-------\t ------\t ----\n'); for niters = 1:(wrdLn - 1) [x_ref, y_ref] = pol2cart(double(theta),double(u)); [x_fi, y_fi] = cordicpol2cart(theta, u, niters); x_dbl = double(x_fi); y_dbl = double(y_fi); x_err = abs(x_dbl - x_ref); y_err = abs(y_dbl - y_ref); fprintf('%d\t%1.4f\t %1.4f\t %1.1f\t\t%1.4f\t %1.4f\t %1.1f\n',... niters,x_dbl,x_err,(x_err * pow2(x_fi.FractionLength)),... y_dbl,y_err,(y_err * pow2(y_fi.FractionLength))); end fprintf('\n'); NITERS X ERROR LSBs Y ERROR LSBs ------ ------- ------ ---- ------- ------ ---- 1 1.4142 0.4142 3392.8 1.4142 0.3178 2603.8 2 0.6324 0.3676 3011.2 1.8973 0.1653 1354.2 3 1.0737 0.0737 603.8 1.6873 0.0448 366.8 4 0.8561 0.1440 1179.2 1.8074 0.0753 617.2 5 0.9672 0.0329 269.2 1.7505 0.0185 151.2 6 1.0214 0.0213 174.8 1.7195 0.0126 102.8 7 0.9944 0.0056 46.2 1.7351 0.0031 25.2 8 1.0079 0.0079 64.8 1.7274 0.0046 37.8 9 1.0011 0.0011 8.8 1.7313 0.0007 5.8 10 0.9978 0.0022 18.2 1.7333 0.0012 10.2 11 0.9994 0.0006 5.2 1.7323 0.0003 2.2 12 1.0002 0.0002 1.8 1.7318 0.0002 1.8 13 0.9999 0.0002 1.2 1.7321 0.0000 0.2 14 0.9996 0.0004 3.2 1.7321 0.0000 0.2 15 0.9998 0.0003 2.2 1.7321 0.0000 0.2 |
詳細
詳細
アルゴリズム
拡張機能
バージョン履歴
R2011a で導入