Friday, January 04, 2008

interleaver的c語言改良

把n_pow的運算
for (I=1 ; I<=n ; I=I+1) n_pow = n_pow * 2;

改成用位移的
n_pow = n_pow<< n;


把iBit_pow的運算
for (I=1 ; I<=iBit ; I=I+1) iBit_pow=iBit_pow*2;

for (I=1 ; I
改成用位移的
iBit_pow=iBit_pow<
iBit_pow=iBit_pow<<(iNum-iBit-1);

可望減少迴圈
能使組語的指令減少

Saturday, December 08, 2007

961208

完成Interleaver模組的改寫
完成之檔案:T_Permute
結果如下




















經由SPIM模擬器驗証如下:
改良方便SPIM模擬之檔案: T_Permute_1206


Monday, October 15, 2007

動態矩陣測試

由如下程式測試:
#include
#define lenEbNOdb 10
void main()
{
float EbNOdb[lenEbNOdb+1] = {0};
int i;
float dEb = 1;
for ( i=1 ; i<=lenEbNOdb ; i++) { EbNOdb[i] = EbNOdb[i-1] + dEb; //printf("EbNOdb%d is %f\n",i,EbNOdb[i]); } }

Compile成機械碼經SPIM的測試結果: