資源簡(jiǎn)介
matlab源代碼 ,4fsk調(diào)制。
代碼片段和文件信息
%function?txdata?=?ofdm4fsk(S1?Nfft?Nused?G?symbolnum)
????????Nfft=256;%FFT大小
????????Nused=160;%使用子載波數(shù)
????????G=0.25;%保護(hù)間隔比例
????????symbolnum=100;%每一幀的符號(hào)數(shù)Nframe
????????S=randi([0?1]?1?symbolnum*Nused*2/4/2);%原始數(shù)據(jù)01
????????S1=convcoding(S);%卷積編碼1/2
%S1:卷積編碼后的編碼數(shù)據(jù),為串行數(shù)據(jù)
%Nfft:載波數(shù)
%Nused:使用的載波數(shù)
%G:保護(hù)間隔比例
%symbolnum:OFDM符號(hào)數(shù)
%實(shí)現(xiàn)對(duì)編碼數(shù)據(jù)的map對(duì)應(yīng),加虛載波,ifft變換,加cp四個(gè)功能,最后以串行數(shù)據(jù)輸出
%0...0?-?1?0?1...0?-?0...0?|?0...0-1?0?1...0?1-0...0?|?...
l1?=?length(S1);%求卷積后的數(shù)據(jù)的長(zhǎng)度???卷積之后信號(hào)的長(zhǎng)度變了。
X1?=?reshape(S1?2?l1/2).‘;%這樣X(jué)1變成L1/2?*?2。即每列有L1/2個(gè)元素,有2列。????沒(méi)加轉(zhuǎn)置之前,,就是將S1變成2*l1/2(即每列有2個(gè)元素,有l(wèi)1/2列)?就是將S1按列的順序每取兩個(gè)作為一列
????????????????????????????%將一列變成一行?????加上轉(zhuǎn)置之后,第一列是原始數(shù)據(jù)的1?3?5……
????????????????????????????%第二列是原始數(shù)據(jù)的2?4?6……
????????????????????????????
X2?=?bi2de(X1?2?‘left-msb‘);%將2進(jìn)制的數(shù)按照從左往右看?轉(zhuǎn)換為十進(jìn)制???是按照一行?一行來(lái)轉(zhuǎn)??2代表的是將2進(jìn)制轉(zhuǎn)化為十進(jìn)制?3代表的是將3進(jìn)制轉(zhuǎn)化為十進(jìn)制,區(qū)別是?2?進(jìn)制中的?11表示的是十進(jìn)制中的3??三進(jìn)制中的11?表示成十進(jìn)制是4
?????????????????????????????%即將每行都轉(zhuǎn)為成十進(jìn)制的數(shù)值??每行的元素轉(zhuǎn)化過(guò)來(lái)?然后變成一個(gè)列向量
????????????????????????????%X2變成L1/2?*?1??即每列有L1/2個(gè)元素?是一個(gè)列向量??每行的元素范圍為:0-3
????????????????????????????
???????????????????????????
????????????????????????????
fsk4table?=?[0?0?0?1??
?????????????0?0?1?0
?????????????0?1?0?0
?????????????1?0?0?0];?%因?yàn)镸ATLAB中的維數(shù)是從1開(kāi)始的
X3?=?fsk4table(:?X2+1);%取出該矩陣的第X2+1列的元素??為什么是x2+1因?yàn)槭巧厦娑M(jìn)制轉(zhuǎn)化為十進(jìn)制的可能有?0???????2進(jìn)制轉(zhuǎn)化為十進(jìn)制??一行是2比特?所以轉(zhuǎn)換成的十進(jìn)制的數(shù)是0----3
?????????????
- 上一篇:Constrained NSGA2.zip
- 下一篇:DV-HOP算法代碼
評(píng)論
共有 條評(píng)論