1.演算法概述
CDMA技術的基礎是擴頻通信,擴頻:用來傳輸資訊的信號帶寬遠遠大于資訊本身帶寬的一種傳輸方式,頻帶的擴展由獨立于資訊的擴頻碼來實作,與所傳資訊資料無關,在接收端用同步接收實作解擴和資料恢復,如圖2-1,我們可以知道CDMA系統的基本原理和TDMA、FDMA的區別,

圖1-1 CDMA、TDMA、FDMA比較

這個公式表明,在高斯信道中當傳輸系統的信號噪聲功率比S/N下降時,可用增加系統傳輸帶寬W的辦法來保持信道容量C不變,對于任意給定的信號噪聲功率比,可以用增大傳輸帶寬來獲得較低的資訊差錯率,正因為這個原因,擴頻通信具有比較強的抗噪聲干擾的能力,CDMA技術是以擴頻通信為基礎的載波調制和多址接入技術,所以如何實作擴頻部分對于整個CDMA系統的實作有著重要的影響,
CDMA技術是以擴頻通信為基礎的載波調制和多址接入技術,所以如何實作擴頻部分對于整個CDMA系統的實作有著重要的影響,下圖是CDMA系統的基本原理圖:

圖2 CDMA系統的基本原理
信號經信源編碼后成為數字信號,經過糾錯編碼、卷積編碼和交織等相關處理后送入調制器中,利用PN碼發生器產生的高速PN碼將數字信號變成碼片,使得信號的傳輸帶寬遠大于信號本身的帶寬以實作擴頻通信,同時,為了使信號的傳輸與信道特性相匹配,必須用載波發生器產生的載波去調制擴頻信號,使其頻率變為適合信道傳愉的射頻頻段,將數字信號調制成模擬信號后通過放大器發射出去,在接收端,利用下變頻器將射頻信號還原成中頻信號,采用與發射端相同的信號處理技術再將信號還原成原始信號,從而達到資料通信傳輸的目的,
針對本課題所要求的CDMA發送端的設計,主要從以下幾個方面去研究,資料處理模塊、差分編碼模塊、PN碼序列產生模塊、擴頻模塊,其中資料處理模塊主要是用來完成資料的串/并變換;差分編碼模塊主要用于對資料先進行差分編碼;PN碼序列產生模塊是擴頻通信模塊中比較重要的模塊,其具體的作用和功能我們將在具體實踐中做具體研究和討論;擴頻模塊是發射端的核心模塊,主要用于完成資料的擴頻,圖2-3就是CDMA系統模塊化以后的基本結構,其中虛線框內的部分就是CDMA數字基帶發送部分,本課題我們主要就是完成下圖中上半部分,此外,在此基礎上將對接收部分做簡單的介紹,圖中發送端和接收端的Walsh碼發生器和PN碼發生器其實是同一個模塊,它們的區別僅僅是延遲不同,

圖3 CDMA系統模塊化結構圖
由上圖可知,這個系統一共有兩個模塊組成——調制模塊和解調模塊,其中調制模塊是信號發生器產生4路輸入信號,經WALSH調制、PN擴頻、基帶求和與并/串變換成為1路信號,完成調制,而解調模塊主要是將收到的1路信號首先進行串并轉換,在取得同步的基礎上進行PN解擴和WALSH解調從而恢復出4路資訊,該系統框圖就是我們所要實作的系統的基本結構,具體實作方法、步驟、以及原理分析及優化我將針對每個模塊,在后面給予具體研究,
2.仿真效果預覽



3.MATLAB程式
.............................................................
%串----并
for i=1:31
for j=1:16
pn_walsh_user_rec(i,j)=pn_walsh_user_c(i*j);
end
end
%pn解擴
for i=1:31
for j=1:16
walsh_user_rec(i,j)=pn_walsh_user_rec(i,j)*pn(i);
end
end
for i=1:31
for j=1:16
walsh_user_rec2(j)=walsh_user_rec(i,j);
end
end
%walsh解擴
user_rec2(1,1)=walsh_user_rec2(1);
user_rec2(1,2)=walsh_user_rec2(2);
user_rec2(1,3)=walsh_user_rec2(3);
user_rec2(1,4)=walsh_user_rec2(4);
user_rec2(2,1)=walsh_user_rec2(5);
user_rec2(2,2)=walsh_user_rec2(6);
user_rec2(2,3)=walsh_user_rec2(7);
user_rec2(2,4)=walsh_user_rec2(8);
user_rec2(3,1)=walsh_user_rec2(9);
user_rec2(3,2)=walsh_user_rec2(10);
user_rec2(3,3)=walsh_user_rec2(11);
user_rec2(3,4)=walsh_user_rec2(12);
user_rec2(4,1)=walsh_user_rec2(13);
user_rec2(4,2)=walsh_user_rec2(14);
user_rec2(4,3)=walsh_user_rec2(15);
user_rec2(4,4)=walsh_user_rec2(16);
for i=1:4
for j=1:4
rec(i,j)= user_rec2(i,j)*walsh(i,j);
end
end
%===============接收信號===================================
rec_signal= user_rec2(1,1:4);
%========畫信號==============================================================
if t==1
figure;
subplot(511)
stairs(1:4,user,'r');%用戶信號
axis([1,4,-2,2]);
title('用戶發送的信號')
subplot(512)%隨機碼
stairs(1:31,pn);
axis([1,31,-2,2]);
title('隨機碼')
subplot(513)%調制WALSH
stairs(1:16,walsh_user2,'r');
axis([1,16,-2,2]);
title('調制WALSH')
subplot(514) %發送
stairs(1:496,pn_walsh_user_c);
axis([1,496,-2,2]);
title('發送信號')
subplot(515) %資料接收
stairs(1:4,rec_signal,'r');
axis([1,4,-2,2]);
title('資料接收信號')
hold on;
end
end
figure;
subplot(411);
stairs(1:32,user0);
axis([1,32,-2,2]);title('user0資料接收信號')
subplot(412);
stairs(1:32,user1);
axis([1,32,-2,2]);title('user1資料接收信號')
subplot(413);
stairs(1:32,user2);
axis([1,32,-2,2]);title('user2資料接收信號')
subplot(414);
stairs(1:32,user3);
axis([1,32,-2,2]);title('user3資料接收信號')
%%
%=====================以上是加上噪聲的 誤碼率測驗=================================================
prompt={'請輸入用戶個數:','請輸入用戶發送資訊個數:','請輸入用戶碼功率','請輸入噪聲功率','請輸入要測驗的用戶ID號'};
name=['碼分多址復用技術測驗'];
line=1;
defaultanswer={'4','100','1 2 3 4', '10','1'};
glabel=inputdlg(prompt,name,line,defaultanswer);%對話框
num1=str2num(char(glabel(1,1))); %對話框
num2=str2num(char(glabel(2,1))); %對話框
num3=str2num(char(glabel(3,1))); %對話框
num4=str2num(char(glabel(4,1))); %對話框
k=str2num(char(glabel(5,1))); %對話框
UserNumber=num1;%用戶數
inflength=num2;%用戶資訊序列長度
a=num3; %用戶資訊功率
Pn=num4; %噪聲功率
sigma=1;%噪聲標準差
%==========================================================================
N=31;%偽隨即序列的階數
R=(ones(UserNumber)+(N-1)*eye(UserNumber))/N; %相關系數矩陣
b=2*round(rand(UserNumber,inflength))-1; %用戶資訊矩陣(隨機+1,-1矩陣)
coefficients=[1 0 1 0 0]; %5級左移m序列碼發生器的反饋系數
mseq=mseries(coefficients); %生成31×31的m序列碼矩陣
mseq=mseq(1:UserNumber,1:N);
%==================以上生成隨即序列========================================
.............................................
01_001_m
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/532584.html
標籤:其他
下一篇:聊聊訊息佇列(MQ)那些事
