E
ezyneab
Guest
私のプログラム
#は<math.h>を含む
#は<stdio.h>含まれて
#は<stdlib.h>の含まれて
#が含まれます"dsk6713_aic23.h"/ /コーデックDSKをサポートファイル
uint32ののfs = DSK6713_AIC23_FREQ_8KHZ / /サンプリングレートを設定する
16 BIT_PER_SAMPLE#を定義する
int型input_dec;
int型のメートル= 5はn = 31、kは= 16、トン= 3、dは= 7;
int型の長さ= 31;
int型pの[6]; / /既約多項式
int型alpha_toは]を[32]、およびg [16 [index_of 32];
intは]をrecd [31、データ] [16]、bbの[16;
int型numerr、errposはdecerror [32] = 0;
typedefはリスト構¥造体
(
短いデータ;
次の構¥造体のリスト*は、以前、*;
)ノード;
ノード*第1 = NULLを。
ノード*戻る= NULLを。
Decimalに//===========は、バイナリ==================
ボイドde2bi(char型ビン[BIT_PER_SAMPLE]、int型の12月)
(
int型jが、temp1、temp2 = 12月;
BIT_PER_SAMPLE <の(jは= 0; jは、jは )
(
temp1 =(int)を床((float)はtemp2 / 2);
binに[j]と= temp2 - temp1 * 2;
temp2 = temp1;
)
戻り値;
)
多項式の次数5プリミティブ/ /
ボイドread_p()
(
登録します。int i;
もしp [0] = pの[2] = pの[5] = 1; / / xは^ 5 x ^ 2の 1
もしp [1] = pの[3] = pの[4] = 0;
)/ /(フィジケラを生成する2 ** m)の] [0] ..もしp [mのpのからの既約多項式p(X)は
/ /ルックアップテーブルは:インデックス>多項式の形alpha_to []私が含まれているjが=α**
/ /多項式の形- >インデックスのフォームindex_of [jは=アルファ** i]は=私のアルファ= 2
原始的な要素のフィジケラ/ /(2 ** m)の
ボイドgenerate_gf()
(
登録すると、int型私はマスク;
マスク= 1;
alpha_to [メートル] = 0;
0(一=;私は<mのは、i )
(
alpha_to は=マスク;
index_of [alpha_to が] =私;
] iの場合した(p [!= 0)
alpha_to [m]の^は=マスク;
マスク<<= 1;
)
index_of [alpha_to [メートル]]は=メートル。
マスク>> = 1;
1一= mの(;私<n;私 )
(
私は[場合(alpha_to - 1]> =マスク)
alpha_to は= alpha_to [m]の^((alpha_to [のi - 1] ^マスク)<<1);
他
alpha_to は= alpha_toの[i - 1] <<1;
index_of [alpha_to が] =私;
)
index_of [0] =- 1;
)のBCH符号の長さは多項式計算ジェネレータ/ / = 31、冗長性= 15
ボイドgen_poly()
(
kaux登録int型の二は、JJの、北韓;
int型のテスト、補助、nocycles、根、noterms、rdncy;
int型のサイクルが]を[16] [6、サイズは] [16]、分[16、ゼロは[編集] 16;
/ /生成サイクルは31日に設定モジュロ
サイクルは0 [0] [0] =;サイズ[0] = 1;
サイクルは[1] [0] = 1;サイズ[1] = 1;
ジュンジエ、JJ = 1; / /サイクルセットインデックス
行う
(
/ /生成ジュンジエ、JJ番目のサイクル設定
二= 0;
行う
(
二 ;
サイクルは[ジュンジエ、JJ] [二] =(サイクル[ジュンジエ、JJ] [2 - 1] * 2)は%n;
サイズ[ジュンジエ、JJ] ;
オー=(サイクル[ジュンジエ、JJ] [2] * 2)は%n;
)
補助しながら(!=サイクル[ジュンジエ、JJ] [0]);
/ /次のサイクルの代表¥を設定する
llの= 0;
行う
(
llの ;
テスト= 0;
))&&(!の(二= 1;((二<= JJのテスト);二 )
/ /調べる前のサイクルは、設定
)の(kaux = 0;((kaux <サイズ[二])&&(!テスト); kaux )
場合)(llの==サイクル[二] [kaux]
テスト= 1;
)
-中((テスト)&&(北韓<(nは1)));
(もし!(テスト))
(
ジュンジエ、JJ ; / /次のサイクルのインデックスを設定する
サイクル[ジュンジエ、JJ] [0] = llの;
サイズは、[ジュンジエ、JJ] = 1;
)
)
(中北韓<の(n - 1));
nocycles / /番号のサイクルジュンジエ、JJ = nを設定するモジュロ
/ /検索...の根1、2、- 1セットサイクルD
kaux = 0;
rdncy = 0;
nocycles =の(二= 1;二<;二 )
(
分[kaux] = 0;
(のジュンジエ、JJ = 0;ジュンジエ、JJ <サイズが[二];ジュンジエ、JJ )
1(のルート=;ルート<dは、ルート )
場合)(ルート==サイクル[二] [ジュンジエ、JJ]
分[kaux] =二;
場合)(分[kaux]
(
rdncy は=サイズ[分[kaux]]を。
kaux ;
)
)
noterms = kaux;
kaux = 1;
0(二=;二<noterms;二 )
(のジュンジエ、JJ = 0;ジュンジエ、JJ <サイズは[分[2]];ジュンジエ、JJ )
(
ゼロのサイクルkaux]を= [は[分[2] [ジュンジエ、JJ];
kaux ;
)
/ /計算の生成多項式
]] gの[0] = alpha_to [0 [1;
[gの1] = 1; / /【G(x)は=(Xの のゼロは、[1])は、当初
2(二=;二<= rdncy;二 )
(
グラム[二] = 1;
1対(ジュンジエ、JJ =二;ジュンジエ、JJ> 0;ジュンジエ、JJ - )
[場合(グラム[ジュンジエ、JJ!= 0)
[gの[ジュンジエ、JJ n]は、= gが[ジュンジエ、JJ -)] [1] ^をalpha_toを%の[(index_of [がg [ジュンジエ、JJ]] のゼロを[二;
他
グラム[ジュンジエ、JJ] =グラム[ジュンジエ、JJ - 1];
] n個のgの[0] = alpha_to [を(%のindex_of [はg [0]] ゼロ[2]);
)
)
//=============== Encode_bch ==============================
/ /計算冗長ビットをbbは[]は、符号は)はc(X)は=データ(X)は* Xの**(nkは) bbの(Xの
ボイドencode_bchは(int型のデータが)[16]では、int型の16 bbは[編集]
(
登録jはint型私は、;
フィードバックを登録int型。
0(一=;私は<長さkは、私 )
bbのは= 0;
1(i = kと-;私は> = 0;私は- )
(
フィードバック=データの^ bbの[長さのK - 1];
フィードバックするif(!= 0)
(
(のjは=長さからk - 1; jは> 0; jは- )
[場合(グラム[jは!= 0)
bbの[j]と= bbの[にj - 1] ^フィードバック。
他
bbの[j]と= bbの[にj - 1];
bbは[0]は=はg [0]&&feedback;
)
他
(
(のjは=長さからk - 1; jは> 0; jは- )
bbの[j]と= bbの[にj - 1];
bbの[0] = 0;
);
);
)
//============== decode_bch ================
ボイドdecode_bch()
(
登録qはint型私は、jは、;
int型のELPは[3は]だ、[5]、s3を。
int型のカウント= 0、syn_error = 0;
int型管理ライン[3]、[regの[3;
int型の補助;
/ /最初のフォーム症候群
1の(i =;私は<= 4;私 )
(
のは= 0;
長さ<の(jは= 0; jは、jは )
[場合(recd [jは!= 0)
]ですは^を= alpha_to [(一* j)は%n個の;
] iの場合(の[!= 0)
ている必要がし、終了しますプログラムをここに検出syn_errorは= 1; / /ゼロに設定フラグをする場合、非症候群注は、エラーの場合のみ:...
]だが]は、i [= index_of【Sを、/ /フォームのインデックスから変換症候群を多項式フォーム
);
場合(syn_error)は/ /がある場合で、エラーを修正しようとすると
(
[場合は1(秒[!=- 1)
(
s3の=(の[1] * 3)は%n;
エラーS3の)/ /はされたが、1つの場合(==]の[3?
(
recd [はだ[1]] ^ = 1; / /はい:正しいこと
)
他/ /エラーを想定2が発生し、シグマの係数の解決(x)は、エラーのロケータpolynomail
(
] 3場合(の[!=- 1)
オー= alpha_to [s3の] ^ alpha_to [は]だ[3];
他
のAUX = alpha_to [s3の]を;
ELPの[0] = 0;
ELPのは、n [1] =%の(の[2] - index_of [オー] n)の;
ELPのは、n [2] = 1] - index_of [オー] n)は%の(sを[;
1の(i =;私は<= 2;私 )/ /多項式の場所エラーのルーツを見つける
レッグは=は、ELPのの;
カウント= 0;
1の(i =;私は<= nとは、i )/ /チアン検索
(
はq = 1;
(のはj = 1; jは<= 2; jは )
[場合(レッグ[jは!=- 1)
(
レッグ[j]と=(n%のレッグ[をj] j)は;
qを^ = alpha_to [レッグ[j]を];
)
インデックス番号するif(!q)を/ /ストアエラーの場所
(
管理ライン[カウント] =私は%n;
を数える ;
)
)
ない場合(カウント== 2)/ /。度のELPの=根はそれゆえ2エラー
0(一=;私は<2;私 )
1 recd [管理ラインの] ^ =;
)
)
)
)
16ビット10進バイナリ//=========== ==============
int型bi2de(char型ビン[BIT_PER_SAMPLE])
(
int型のオペアンプ= 0;
long int型power_vector [BIT_PER_SAMPLE];
int型jが;
int型私は、c = 0;
int型のフラグ= 0;
power_vectorは[0] = 1;
//==================== 1の補数==================
binにする場合([15] == 1)
(フラグ= 1;
15の(i =;私は> = 0;私は- )
(
場合)(ビンを== 0
(
binには= 1;
)
他
(
binには= 0;
)
/ / printf関数("%d"は、ビンの);
)
//================= 2の補数=======================
0(一=;私<16;私 )
(
場合)(2 == 0
(
場合)(ビンを== 0
(
binには= 1;
)
他
(
binには= 0;
c = 1の;
)
)
他
(
)もし私が(ウ== 1&&ビン[] == 0
(
binには= 1;
c = 0の。
)
他の場合は(ウ== 1&&ビンを== 1)
(
binには= 0;
c = 1の;
)
)
/ / printf関数("%d"は、ビンの);
)
//==============================
)
BIT_PER_SAMPLE <の(jは= 1; jは、jは )
(
power_vectorは、[j]と= power_vector [にj - 1] * 2;
)
//=================にビットを変換する10進数の数字===============BIT_PER_SAMPLE <の(jは= 0; jは、jは )
(
オペアンプ = power_vector [j]と*ビン[j]とを;
)
場合)(フラグ== 1
(
オペアンプ=(-2 *のオペアンプ) オペアンプ。
フラグ= 0;
)
リターン(オペアンプ);
)//====================== main_code ========================= =
無効のmain()
(
文字temp_binary [BIT_PER_SAMPLE] temp_decimal [BIT_PER_SAMPLE];
int型* binary_buffer;
int型* out_buffer;
int型jは、私= 0;
int型のカウント= 0、count_bit;
char型温度[BIT_PER_SAMPLE];
int型のC = 0;
int型はz = 0;
read_pは(); / / gの多項式を読むジェネレータ(x)は
generate_gfは(); /)mのガロア体GF(2 ** /生成
gen_poly();計算生成多項式のBCH符号/ /コード
comm_poll(); / / initのDSKを、McBSPコーデック、
DSK6713_LED_initは(); / / BSLのからLED initの
DSK6713_DIP_init(); initはディップスイッチからBSLの/ /
(
短い声。
ノード* currptr;
)中(DSK6713_DIP_get(3)== 0
(C の。
カウント ; / /カウントデータ
DSK6713_LED_onは(3); / / 3#向ける上のLED
(
input_sampleの();//ストアの入力データにバッファ=声
のprintf("%d個の¥¥ n"の、音声);
/ / scanf関数("%d個"、&声);
場合)(戻る== NULLの
(
currptr =(ノード*)はmalloc(sizeof演算(ノード));
バック= currptr;
=最初のcurrptr;
currptr ->データは=声;
currptr ->以前= NULLを。
currptr ->次= NULLを。
)
他
(
currptr =(ノード*)はmalloc(sizeof演算(ノード));
バック>次= currptr;
currptrバック>前=;
バック= currptr;
currptr ->データは=声;
バック>次= NULLを。
)
)
)
DSK6713_LED_off(3);
count_bit =カウント* BIT_PER_SAMPLE / /カウントビット
/ / printf関数("ビットのすべて=%d個の¥¥ n"の、count_bit);
//===========================================
binary_bufferは=(int型*)malloc関数(count_bit *はsizeof(int型)); / /配列をbinary_buffer動的
//===========================================
最初の中(!= NULL)の/ /中に最初のデータ
(
input_dec = 1>のデータ;
de2bi(input_dec temp_binary); / /後藤はfunc de2bi//================= define_binary_16bit =====================
15(jは=; jは> = 0; jは- )/ /ビット16
(
binary_buffer は= temp_binary [j]とは、/ /配列動的にtranferのtemp_binary
/ / printf関数("%d"は、binary_buffer を);
私は の。
)=最初の1>次のページ;
)
する* /(
#は<math.h>を含む
#は<stdio.h>含まれて
#は<stdlib.h>の含まれて
#が含まれます"dsk6713_aic23.h"/ /コーデックDSKをサポートファイル
uint32ののfs = DSK6713_AIC23_FREQ_8KHZ / /サンプリングレートを設定する
16 BIT_PER_SAMPLE#を定義する
int型input_dec;
int型のメートル= 5はn = 31、kは= 16、トン= 3、dは= 7;
int型の長さ= 31;
int型pの[6]; / /既約多項式
int型alpha_toは]を[32]、およびg [16 [index_of 32];
intは]をrecd [31、データ] [16]、bbの[16;
int型numerr、errposはdecerror [32] = 0;
typedefはリスト構¥造体
(
短いデータ;
次の構¥造体のリスト*は、以前、*;
)ノード;
ノード*第1 = NULLを。
ノード*戻る= NULLを。
Decimalに//===========は、バイナリ==================
ボイドde2bi(char型ビン[BIT_PER_SAMPLE]、int型の12月)
(
int型jが、temp1、temp2 = 12月;
BIT_PER_SAMPLE <の(jは= 0; jは、jは )
(
temp1 =(int)を床((float)はtemp2 / 2);
binに[j]と= temp2 - temp1 * 2;
temp2 = temp1;
)
戻り値;
)
多項式の次数5プリミティブ/ /
ボイドread_p()
(
登録します。int i;
もしp [0] = pの[2] = pの[5] = 1; / / xは^ 5 x ^ 2の 1
もしp [1] = pの[3] = pの[4] = 0;
)/ /(フィジケラを生成する2 ** m)の] [0] ..もしp [mのpのからの既約多項式p(X)は
/ /ルックアップテーブルは:インデックス>多項式の形alpha_to []私が含まれているjが=α**
/ /多項式の形- >インデックスのフォームindex_of [jは=アルファ** i]は=私のアルファ= 2
原始的な要素のフィジケラ/ /(2 ** m)の
ボイドgenerate_gf()
(
登録すると、int型私はマスク;
マスク= 1;
alpha_to [メートル] = 0;
0(一=;私は<mのは、i )
(
alpha_to は=マスク;
index_of [alpha_to が] =私;
] iの場合した(p [!= 0)
alpha_to [m]の^は=マスク;
マスク<<= 1;
)
index_of [alpha_to [メートル]]は=メートル。
マスク>> = 1;
1一= mの(;私<n;私 )
(
私は[場合(alpha_to - 1]> =マスク)
alpha_to は= alpha_to [m]の^((alpha_to [のi - 1] ^マスク)<<1);
他
alpha_to は= alpha_toの[i - 1] <<1;
index_of [alpha_to が] =私;
)
index_of [0] =- 1;
)のBCH符号の長さは多項式計算ジェネレータ/ / = 31、冗長性= 15
ボイドgen_poly()
(
kaux登録int型の二は、JJの、北韓;
int型のテスト、補助、nocycles、根、noterms、rdncy;
int型のサイクルが]を[16] [6、サイズは] [16]、分[16、ゼロは[編集] 16;
/ /生成サイクルは31日に設定モジュロ
サイクルは0 [0] [0] =;サイズ[0] = 1;
サイクルは[1] [0] = 1;サイズ[1] = 1;
ジュンジエ、JJ = 1; / /サイクルセットインデックス
行う
(
/ /生成ジュンジエ、JJ番目のサイクル設定
二= 0;
行う
(
二 ;
サイクルは[ジュンジエ、JJ] [二] =(サイクル[ジュンジエ、JJ] [2 - 1] * 2)は%n;
サイズ[ジュンジエ、JJ] ;
オー=(サイクル[ジュンジエ、JJ] [2] * 2)は%n;
)
補助しながら(!=サイクル[ジュンジエ、JJ] [0]);
/ /次のサイクルの代表¥を設定する
llの= 0;
行う
(
llの ;
テスト= 0;
))&&(!の(二= 1;((二<= JJのテスト);二 )
/ /調べる前のサイクルは、設定
)の(kaux = 0;((kaux <サイズ[二])&&(!テスト); kaux )
場合)(llの==サイクル[二] [kaux]
テスト= 1;
)
-中((テスト)&&(北韓<(nは1)));
(もし!(テスト))
(
ジュンジエ、JJ ; / /次のサイクルのインデックスを設定する
サイクル[ジュンジエ、JJ] [0] = llの;
サイズは、[ジュンジエ、JJ] = 1;
)
)
(中北韓<の(n - 1));
nocycles / /番号のサイクルジュンジエ、JJ = nを設定するモジュロ
/ /検索...の根1、2、- 1セットサイクルD
kaux = 0;
rdncy = 0;
nocycles =の(二= 1;二<;二 )
(
分[kaux] = 0;
(のジュンジエ、JJ = 0;ジュンジエ、JJ <サイズが[二];ジュンジエ、JJ )
1(のルート=;ルート<dは、ルート )
場合)(ルート==サイクル[二] [ジュンジエ、JJ]
分[kaux] =二;
場合)(分[kaux]
(
rdncy は=サイズ[分[kaux]]を。
kaux ;
)
)
noterms = kaux;
kaux = 1;
0(二=;二<noterms;二 )
(のジュンジエ、JJ = 0;ジュンジエ、JJ <サイズは[分[2]];ジュンジエ、JJ )
(
ゼロのサイクルkaux]を= [は[分[2] [ジュンジエ、JJ];
kaux ;
)
/ /計算の生成多項式
]] gの[0] = alpha_to [0 [1;
[gの1] = 1; / /【G(x)は=(Xの のゼロは、[1])は、当初
2(二=;二<= rdncy;二 )
(
グラム[二] = 1;
1対(ジュンジエ、JJ =二;ジュンジエ、JJ> 0;ジュンジエ、JJ - )
[場合(グラム[ジュンジエ、JJ!= 0)
[gの[ジュンジエ、JJ n]は、= gが[ジュンジエ、JJ -)] [1] ^をalpha_toを%の[(index_of [がg [ジュンジエ、JJ]] のゼロを[二;
他
グラム[ジュンジエ、JJ] =グラム[ジュンジエ、JJ - 1];
] n個のgの[0] = alpha_to [を(%のindex_of [はg [0]] ゼロ[2]);
)
)
//=============== Encode_bch ==============================
/ /計算冗長ビットをbbは[]は、符号は)はc(X)は=データ(X)は* Xの**(nkは) bbの(Xの
ボイドencode_bchは(int型のデータが)[16]では、int型の16 bbは[編集]
(
登録jはint型私は、;
フィードバックを登録int型。
0(一=;私は<長さkは、私 )
bbのは= 0;
1(i = kと-;私は> = 0;私は- )
(
フィードバック=データの^ bbの[長さのK - 1];
フィードバックするif(!= 0)
(
(のjは=長さからk - 1; jは> 0; jは- )
[場合(グラム[jは!= 0)
bbの[j]と= bbの[にj - 1] ^フィードバック。
他
bbの[j]と= bbの[にj - 1];
bbは[0]は=はg [0]&&feedback;
)
他
(
(のjは=長さからk - 1; jは> 0; jは- )
bbの[j]と= bbの[にj - 1];
bbの[0] = 0;
);
);
)
//============== decode_bch ================
ボイドdecode_bch()
(
登録qはint型私は、jは、;
int型のELPは[3は]だ、[5]、s3を。
int型のカウント= 0、syn_error = 0;
int型管理ライン[3]、[regの[3;
int型の補助;
/ /最初のフォーム症候群
1の(i =;私は<= 4;私 )
(
のは= 0;
長さ<の(jは= 0; jは、jは )
[場合(recd [jは!= 0)
]ですは^を= alpha_to [(一* j)は%n個の;
] iの場合(の[!= 0)
ている必要がし、終了しますプログラムをここに検出syn_errorは= 1; / /ゼロに設定フラグをする場合、非症候群注は、エラーの場合のみ:...
]だが]は、i [= index_of【Sを、/ /フォームのインデックスから変換症候群を多項式フォーム
);
場合(syn_error)は/ /がある場合で、エラーを修正しようとすると
(
[場合は1(秒[!=- 1)
(
s3の=(の[1] * 3)は%n;
エラーS3の)/ /はされたが、1つの場合(==]の[3?
(
recd [はだ[1]] ^ = 1; / /はい:正しいこと
)
他/ /エラーを想定2が発生し、シグマの係数の解決(x)は、エラーのロケータpolynomail
(
] 3場合(の[!=- 1)
オー= alpha_to [s3の] ^ alpha_to [は]だ[3];
他
のAUX = alpha_to [s3の]を;
ELPの[0] = 0;
ELPのは、n [1] =%の(の[2] - index_of [オー] n)の;
ELPのは、n [2] = 1] - index_of [オー] n)は%の(sを[;
1の(i =;私は<= 2;私 )/ /多項式の場所エラーのルーツを見つける
レッグは=は、ELPのの;
カウント= 0;
1の(i =;私は<= nとは、i )/ /チアン検索
(
はq = 1;
(のはj = 1; jは<= 2; jは )
[場合(レッグ[jは!=- 1)
(
レッグ[j]と=(n%のレッグ[をj] j)は;
qを^ = alpha_to [レッグ[j]を];
)
インデックス番号するif(!q)を/ /ストアエラーの場所
(
管理ライン[カウント] =私は%n;
を数える ;
)
)
ない場合(カウント== 2)/ /。度のELPの=根はそれゆえ2エラー
0(一=;私は<2;私 )
1 recd [管理ラインの] ^ =;
)
)
)
)
16ビット10進バイナリ//=========== ==============
int型bi2de(char型ビン[BIT_PER_SAMPLE])
(
int型のオペアンプ= 0;
long int型power_vector [BIT_PER_SAMPLE];
int型jが;
int型私は、c = 0;
int型のフラグ= 0;
power_vectorは[0] = 1;
//==================== 1の補数==================
binにする場合([15] == 1)
(フラグ= 1;
15の(i =;私は> = 0;私は- )
(
場合)(ビンを== 0
(
binには= 1;
)
他
(
binには= 0;
)
/ / printf関数("%d"は、ビンの);
)
//================= 2の補数=======================
0(一=;私<16;私 )
(
場合)(2 == 0
(
場合)(ビンを== 0
(
binには= 1;
)
他
(
binには= 0;
c = 1の;
)
)
他
(
)もし私が(ウ== 1&&ビン[] == 0
(
binには= 1;
c = 0の。
)
他の場合は(ウ== 1&&ビンを== 1)
(
binには= 0;
c = 1の;
)
)
/ / printf関数("%d"は、ビンの);
)
//==============================
)
BIT_PER_SAMPLE <の(jは= 1; jは、jは )
(
power_vectorは、[j]と= power_vector [にj - 1] * 2;
)
//=================にビットを変換する10進数の数字===============BIT_PER_SAMPLE <の(jは= 0; jは、jは )
(
オペアンプ = power_vector [j]と*ビン[j]とを;
)
場合)(フラグ== 1
(
オペアンプ=(-2 *のオペアンプ) オペアンプ。
フラグ= 0;
)
リターン(オペアンプ);
)//====================== main_code ========================= =
無効のmain()
(
文字temp_binary [BIT_PER_SAMPLE] temp_decimal [BIT_PER_SAMPLE];
int型* binary_buffer;
int型* out_buffer;
int型jは、私= 0;
int型のカウント= 0、count_bit;
char型温度[BIT_PER_SAMPLE];
int型のC = 0;
int型はz = 0;
read_pは(); / / gの多項式を読むジェネレータ(x)は
generate_gfは(); /)mのガロア体GF(2 ** /生成
gen_poly();計算生成多項式のBCH符号/ /コード
comm_poll(); / / initのDSKを、McBSPコーデック、
DSK6713_LED_initは(); / / BSLのからLED initの
DSK6713_DIP_init(); initはディップスイッチからBSLの/ /
(
短い声。
ノード* currptr;
)中(DSK6713_DIP_get(3)== 0
(C の。
カウント ; / /カウントデータ
DSK6713_LED_onは(3); / / 3#向ける上のLED
(
input_sampleの();//ストアの入力データにバッファ=声
のprintf("%d個の¥¥ n"の、音声);
/ / scanf関数("%d個"、&声);
場合)(戻る== NULLの
(
currptr =(ノード*)はmalloc(sizeof演算(ノード));
バック= currptr;
=最初のcurrptr;
currptr ->データは=声;
currptr ->以前= NULLを。
currptr ->次= NULLを。
)
他
(
currptr =(ノード*)はmalloc(sizeof演算(ノード));
バック>次= currptr;
currptrバック>前=;
バック= currptr;
currptr ->データは=声;
バック>次= NULLを。
)
)
)
DSK6713_LED_off(3);
count_bit =カウント* BIT_PER_SAMPLE / /カウントビット
/ / printf関数("ビットのすべて=%d個の¥¥ n"の、count_bit);
//===========================================
binary_bufferは=(int型*)malloc関数(count_bit *はsizeof(int型)); / /配列をbinary_buffer動的
//===========================================
最初の中(!= NULL)の/ /中に最初のデータ
(
input_dec = 1>のデータ;
de2bi(input_dec temp_binary); / /後藤はfunc de2bi//================= define_binary_16bit =====================
15(jは=; jは> = 0; jは- )/ /ビット16
(
binary_buffer は= temp_binary [j]とは、/ /配列動的にtranferのtemp_binary
/ / printf関数("%d"は、binary_buffer を);
私は の。
)=最初の1>次のページ;
)
する* /(