資源簡介
PCM編解碼程序說明:
1.編碼:程序首先提取一個系統時間,取正弦函數值后,對其進行編碼,每秒抽樣8000次。
每次運行生成8000個值,放入Excel文件中,每次生成一個文件,文件名按數字順序排列,如文件組有空缺,則生成文件插入空缺位置,并在文件名之后加X以示區別。
例:只有文件x000.xls , x002.xls, 則運行程序后生成x001x.xls
若已有文件x000.xls , x001.xls , x002.xls , ……
X019.xls 共20個文件,則運行后生成x020.xls。
2.解碼:運行程序后要求輸入想要解碼的文件名,則對那文件中的數據進行解碼,解碼生成的文件名是在文件名前加上recoder_,例如,編碼文件:x005.xls,則解碼文件名為
redoer_x005.xls。

代碼片段和文件信息
#include?
#include?
#include?
using?namespace?std;
void?coding(time_t?tm);
int?main(){
????time_t?tm;
????tm?=?time(NULL);
????coding(tm);
????return?0;
}
????
void?coding(time_t?tm)
{?
????ofstream?infile(“PCM編碼.xls“);
??
????int?nmx;
????int?key;
????
????for?(int?j?=?0;j?8000;?j++)
????{
????????
????????n?=??sin(tm?+?j/2.0)*128*16;
????????x?=?n;
????????n?=?abs(n);
????
????????key?=?1;
????????if(n?>=?16){
?????????????while(!(?(n?/?(16*key))?>=?1?&&?(n?/?(16*key))?2))?
?????????????key?=?key?*?2;?}
???
????????m?=?(n?-?key*16)?/?key+?(log2(key)?+?1)*16;?
????
????????if(x?>=?0)?infile?<“1\t“;
????????else?infile?<“0\t“;
????
????????int?y[7]={0}i?=?0;
????????while(m?>?0)??????
????????{
?????????????y[i]?=?m?%?2;
?????????????i++;
?????????????m?=?m/2;
????????}
????????for(i?=?6;?i?>=?0;?i--)
?????????????infile?<????????infile?<????????}
}
????
????
????
????
????
????
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.CA....??????1018??2007-06-15?19:01??PCM編解碼(c++版)\PCM編碼.cpp
????.CA....????455777??2007-08-10?23:44??PCM編解碼(c++版)\PCM編碼.exe
????.CA....????144000??2009-03-16?21:30??PCM編解碼(c++版)\PCM編碼.xls
????.CA....???????753??2007-06-12?18:21??PCM編解碼(c++版)\PCM解碼.cpp
????.CA....????476171??2007-08-10?23:44??PCM編解碼(c++版)\PCM解碼.exe
????.CA....?????49176??2009-03-16?21:30??PCM編解碼(c++版)\PCM解碼.xls
????.C.D...?????????0??2009-03-16?21:30??PCM編解碼(c++版)
-----------?---------??----------?-----??----
??????????????1126895????????????????????7
評論
共有 條評論