資源簡介
可實現BCH編碼,采用C語言實現,簡單易懂。

代碼片段和文件信息
#include
#include
#include
#include
using?namespace?std;
#define?n?15?????????????????????//碼長
#define?k?5?????????????????????//信息位長度
#define?t?7?????????????????????//糾錯個數
double?r=1.0*k/n;???????????????//碼率
int?g[]={11101100101};????//生成多項式
#include“encode.h“??????????????//編碼函數,包括BPSK調制及AWGN信道
#include“decode.h“??????????????//BCH解碼函數
void?main()
{
int?Num=20000;
int?u[k]={0};
int?encode[n];
double?awgn_data[n]bpsk_m[n];
int?bpsk_de[n];
double?EbN0[10]={12345678910};???//設置信噪比
double?N0sigma;
double?err_rate[10]={0};
int?error;
srand((unsigned)time(NULL));
for?(int?i=0;i<10;i++)??????????
????{???
N0=pow(10-1*EbN0[i]/10)/r;???????????//信道高斯白噪聲功率
????????sigma=sqrt(N0/2);?????????????????????//噪聲均方差
error=0;??????????????????????????????//初始化差錯個數
for?(int?run=0;run {
for?(int?m=0;m u[m]=rand()%2;????????????????//產生隨機數
//cout< bch_encode(uencode);????????????//調用BCH編碼函數
//cout< bpsk_mod(encodebpsk_m);?????????//調用BPSK調制函數
//cout< awgn(bpsk_mawgn_datasigma);????//調用AWGN信道
bpsk_demod(awgn_databpsk_de);???//調用BPSK解調函數
//cout< ??? decode(bpsk_de);?????????????????????//調用BCH譯碼函數
//cout<
for?(int?j=0;j if?(encode[j]!=bpsk_de[j])?
error++;????????????????????
}
err_rate[i]=1.0*error/Num/n;
}
ofstream?out(“ber_bch.txt“);????????????????//將誤碼率存放在“ber_bch.txt”文件中并輸出
for?(i=0;i<10;i++)
{
????cout<<“BER=“< ????out< }
out.close();
system(“pause“);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????5787648??2012-05-23?09:05??BCH_C\BCH.sdf
?????文件????????877??2012-05-22?08:42??BCH_C\BCH.sln
????..A..H.?????15872??2012-05-23?09:05??BCH_C\BCH.suo
?????文件???????4013??2012-05-22?11:05??BCH_C\BCH.vcxproj
?????文件???????1142??2012-05-22?11:05??BCH_C\BCH.vcxproj.filters
?????文件????????143??2012-05-22?08:42??BCH_C\BCH.vcxproj.user
?????文件????????102??2012-06-06?19:45??BCH_C\ber.txt
?????文件????????103??2012-06-06?19:45??BCH_C\ber_bch.txt
?????文件??????89088??2012-05-23?09:03??BCH_C\Debug\BCH.exe
?????文件????????406??2012-05-22?18:36??BCH_C\Debug\BCH.exe.em
?????文件????????472??2012-05-22?18:51??BCH_C\Debug\BCH.exe.em
?????文件????????381??2012-05-23?09:03??BCH_C\Debug\BCH.exe.intermediate.manifest
?????文件?????862704??2012-05-23?09:03??BCH_C\Debug\BCH.ilk
?????文件?????????53??2012-05-23?09:03??BCH_C\Debug\BCH.lastbuildstate
?????文件???????2109??2012-05-23?09:03??BCH_C\Debug\BCH.log
?????文件????1100800??2012-05-23?09:03??BCH_C\Debug\BCH.pdb
?????文件????????196??2012-05-22?18:36??BCH_C\Debug\BCH_manifest.rc
?????文件???????1142??2012-05-23?09:03??BCH_C\Debug\cl.command.1.tlog
?????文件??????18648??2012-05-23?09:03??BCH_C\Debug\CL.read.1.tlog
?????文件????????436??2012-05-23?09:03??BCH_C\Debug\CL.write.1.tlog
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
?????文件??????????2??2012-05-23?09:03??BCH_C\Debug\li
............此處省略58個文件信息
- 上一篇:學生成績管理系統~ado mfc vc6.0
- 下一篇:C++課程設計報告及源代碼
評論
共有 條評論