日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Matlab 移动通信原理-扩频通信系统仿真实验(扩频通信系统的多用户数据传输、利用蒙特卡罗仿真方法对扩频增益进行性能仿真)

發布時間:2023/12/10 windows 62 豆豆

移動通信原理的擴頻通信系統仿真實驗,完成擴頻通信系統的多用戶數據傳輸、利用蒙特卡羅仿真方法對擴頻增益進行性能仿真。
項目實驗環境是Matlab2018,軟件版本不同可能會有些出入,需要稍作修改。

目錄

    • 仿真要求
    • 仿真方案設計
    • 主要仿真代碼
    • 仿真結果

仿真要求

要求一:擴頻通信系統的多用戶數據傳輸
①傳輸的數據隨機產生,要求采用頻帶傳輸(BPSK調制);
②擴頻碼要求采用周期為63(或127)的m序列;
③仿真從基站發送數據到三個不同的用戶,各不同用戶分別進行數據接收;
④設計三種不同的功率延遲分布,從基站到達三個不同的用戶分別經過多徑衰落(路徑數分別為2,3,4);
⑤三個用戶接收端分別解出各自的數據并與發送前的數據進行差錯比較。
要求二:利用蒙特卡羅仿真方法對擴頻增益進行性能仿真
設計仿真方案,得到在數據傳輸過程中進行擴頻(擴頻序列用m序列)和不進行擴頻的BER性能結論,要求得到的BER曲線較為平滑,并說明這種結論與理論上的結論是否相符,為什么?

仿真方案設計

要求一:
通信系統的總體框圖如下所示:


發射機原理圖:

接收機原理圖:

其中發射端主要完成m序列的產生,隨機0, 1序列的產生。然后利用m序列對產生的隨機序列進行擴頻,然后再用cos (wt)對其進行調制。
信道主要模擬信號的多徑傳輸,在這個信道中一共有三個用戶的數據進行傳輸,用戶一經過了2徑衰落,用戶二經過了3徑衰落,用戶三經過了4徑衰落。
接收端接收到的信號是幾路多徑信號的加噪后的疊加,首先要完成信號的解擴,然后再解調,濾波,抽樣判決最后分別與原始信號比較并統計誤碼率。

1、m序列的產生
需要32位的擴頻序列,經過計算易知要產生32位的m序列需要長度為6的反饋系數,為了得到較好的結果,選取了自相關性較好而互相關性較差的三組反饋系數(八進制)45、67、75,其對應的二進制為100101、110111、111101。并將二進制與移位寄存器級數對應,例如反饋系數移100101得到的移位寄存器為C5=1, C4=0, C3=0, C2=1, C1=0, C0=1, 其具體的寄存器結構圖如下圖所示:


2、 m序列的擴頻
擴頻的主要思想是每一位數據位都擴展成長度為m序列長的信息,其具體做法是將數據信息中的‘1’用m序列代替,而對于‘0’用-m序列代替,這樣對每一個數據位都進行擴展就實現了對原始數據的擴頻。其結構框圖如下:

3. DPSK調制
為了使低頻信號能夠在高頻中傳輸,并且增強系統的抗噪聲性能,我們必須采用一定的調制解調技術,這里選用的DPSK進行調制。BPSK對擴頻信號進行調試,并在接收端對解擴信號進行BPSK解調以恢復出原有信號。BPSK的主要思路是將不同的數據用不同相位的載波進行調制,以將低頻的信號調制到較高頻率。
4.多徑信道仿真
在這個模塊中我將模擬無線信道,對不同用戶產生的數據經三徑進行傳輸,每一徑信號又有三個用戶數據疊加而成,并且每一徑信號具有不同的延遲和衰減。最后在信道的另一端三徑信號進行疊加并對其加噪。
5.解擴和帶通濾波
在假定擴頻碼與接收信號同步的情況下, 可對接收信號進行解擴, 其解擴的過程與擴頻的過程一樣, 也是利用擴頻碼與接收信號進行相乘即可。

要求二:
1、構造或描述概率過程實際上就是建立隨機試驗模型,構造概率過程是對確定性問題而言的,描述概率過程是對隨機性問題而言的,不同的問題所需要建立的隨機試驗模型各不相同。
2、已知概率分布抽樣指的是隨機試驗過程,隨機模型中必要包含某些已知概率分布的隨機變量或隨機過程作為輸入,進行隨機試驗的過程就是對這些隨機變量的樣本或隨機過程的樣本函數作為輸入產生相應輸出的過程,因此通常被稱為對已知概率分布的抽樣。如何產生已知分布的隨機變量或隨機過程是蒙特卡羅方法中的一個關鍵問題。
3、獲得估計量,蒙特卡羅方法所得到的問題的解總是對真實解的一個估計,本身也是一個隨機變量,這個隨機變量是由隨機試驗模型輸出通過統計處理得到的。
這里直接采用不經過直接擴頻與經過直接擴頻的信號進行比較,通過誤碼率曲線進行分析。

主要仿真代碼

主程序如下:

clear all;clc; dataRate=1000; chipRate=63*dataRate; fc=chipRate*2; fs=fc*8; N=1000; c=63; b1=[1,0,0,0,0,1,1]; %103 b2=[1,1,0,0,1,1,1]; %147 b3=[1,1,0,1,1,0,1]; %155 snr=-20:2:10;for i=1:length(snr) signal1=information(N);signal2=information(N); signal3=information(N); c1=genMseq(b1);c2=genMseq(b2);c3=genMseq(b3);dssignal1=dsss(signal1,c1);dssignal2=dsss(signal2,c2);dssignal3=dsss(signal3,c3);modusignal1=modu(dssignal1,chipRate,fc, fs);modusignal2=modu(dssignal2,chipRate,fc, fs);modusignal3=modu(dssignal3,chipRate,fc, fs);mixsignal=modusignal1+modusignal2+modusignal3;receivesignal=awgn(mixsignal,snr(i)); %多徑干擾receivesignal1= channels (receivesignal,snr(i),2) ;receivesignal2= channels (receivesignal,snr(i),3) ;receivesignal3= channels (receivesignal,snr(i),4) ;dedssignal1=dedsss(receivesignal1,c1,chipRate,fs);demoSignal1=demodu(dedssignal1,dataRate,fc,fs);dedssignal2=dedsss(receivesignal1,c2,chipRate,fs);demoSignal2=demodu(dedssignal1,dataRate,fc,fs);dedssignal3=dedsss(receivesignal1,c3,chipRate,fs);demoSignal3=demodu(dedssignal1,dataRate,fc,fs);err_bit1(i)=sum(demoSignal1~=signal1)/N;err_bit2(i)=sum(demoSignal2~=signal2)/N;err_bit3(i)=sum(demoSignal3~=signal3)/N;dedssignal21=dedsss(receivesignal2,c1,chipRate,fs);demoSignal21=demodu(dedssignal21,dataRate,fc,fs);dedssignal22=dedsss(receivesignal2,c2,chipRate,fs);demoSignal22=demodu(dedssignal22,dataRate,fc,fs);dedssignal23=dedsss(receivesignal2,c3,chipRate,fs);demoSignal23=demodu(dedssignal23,dataRate,fc,fs);err_bit21(i)=sum(demoSignal21~=signal1)/N;err_bit22(i)=sum(demoSignal22~=signal2)/N;err_bit23(i)=sum(demoSignal23~=signal3)/N;dedssignal31=dedsss(receivesignal3,c1,chipRate,fs);demoSignal31=demodu(dedssignal31,dataRate,fc,fs);dedssignal32=dedsss(receivesignal3,c2,chipRate,fs);demoSignal32=demodu(dedssignal32,dataRate,fc,fs);dedssignal33=dedsss(receivesignal3,c3,chipRate,fs);demoSignal33=demodu(dedssignal33,dataRate,fc,fs);err_bit31(i)=sum(demoSignal31~=signal1)/N;err_bit32(i)=sum(demoSignal32~=signal2)/N;err_bit33(i)=sum(demoSignal33~=signal3)/N;%不進行擴頻的BERmodusignal1=modu(signal1,chipRate/63,fc, fs);modusignal2=modu(signal2,chipRate/63,fc, fs);modusignal3=modu(signal3,chipRate/63,fc, fs); modusignal1= channels (modusignal1,snr(i),3) ;modusignal2= channels (modusignal2,snr(i),3) ;modusignal3= channels (modusignal3,snr(i),3) ;demoSignal41=demodu(modusignal1,dataRate,fc,fs);demoSignal42=demodu(modusignal2,dataRate,fc,fs);demoSignal43=demodu(modusignal3,dataRate,fc,fs);err_bit41(i)=sum(demoSignal41~=signal1)/N;err_bit42(i)=sum(demoSignal42~=signal2)/N;err_bit43(i)=sum(demoSignal43~=signal3)/N; end figure(1) semilogy(snr,err_bit1,'-s',snr,err_bit2,'-h',snr,err_bit3,'-*'); legend('用戶1','用戶2','用戶3'); xlabel('信噪比'); ylabel('誤比特率'); title('多徑衰落(路徑數為2)');figure(2) semilogy(snr,err_bit21,'-s',snr,err_bit22,'-h',snr,err_bit23,'-*'); legend('用戶1','用戶2','用戶3'); xlabel('信噪比'); ylabel('誤比特率'); title('多徑衰落(路徑數為3)');figure(3) semilogy(snr,err_bit31,'-s',snr,err_bit32,'-h',snr,err_bit33,'-*'); legend('用戶1','用戶2','用戶3'); xlabel('信噪比'); ylabel('誤比特率'); title('多徑衰落(路徑數為4)');figure(4) N1=1:length(signal1); subplot(2,1,1); plot(N1,signal1); title('擴頻前信號'); axis([0 100 -1.1 1.1]); dssignal1=dsss(signal1,c1); N1=1:length(dssignal1); subplot(2,1,2); plot(N1,dssignal1); title('擴頻后信號'); axis([0 320 -1.1 1.1]);figure(5) modusignal1=modu(dssignal1,chipRate,fc, fs); N1=1:length(modusignal1); subplot(2,1,1); plot(N1,modusignal1); axis([0 250 -1.1 1.1]); grid on N2=1:length(mixsignal); subplot(2,1,2); plot(N2,mixsignal); axis([0 500 -5.1 5.1]); grid onfigure(6) receivesignal1= channels (modusignal1,snr(i),2) ; N1=1:length(receivesignal1); subplot(3,1,1); plot(N1,receivesignal1); axis([0 200 -1.1 1.1]); dedssignal1=dedsss(receivesignal,c1,chipRate,fs); subplot(3,1,2); plot(N1,dedssignal1); axis([0 200 -1.1 1.1]); demoSignal1=demodu(dedssignal1,dataRate,fc,fs); N1=1:length(demoSignal1); subplot(3,1,3); plot(N1,demoSignal1); axis([0 200 -1.1 1.1]);figure(7) plot(snr,err_bit21,'-s',snr,err_bit22,'-h',snr,err_bit23,'-*'); legend('用戶1','用戶2','用戶3'); xlabel('信噪比'); ylabel('誤比特率'); title('擴頻'); % axis([0 100 -1.1 1.1]);figure(8) plot(snr,err_bit41,'-s',snr,err_bit42,'-h',snr,err_bit43,'-*'); legend('用戶1','用戶2','用戶3'); xlabel('信噪比'); ylabel('誤比特率'); title('不擴頻');

接收端解擴代碼如下:

function dessignal=dedsss(receiveSignal,c,chipRate,fs)L=fs/chipRate;c1=[];for i=1:length(c)c1=[c1,c(i)*ones(1,L)];enddessignal=[];for i=1:length(c1):length(receiveSignal)dessignal=[dessignal,receiveSignal(i:i+length(c1)-1).*c1];end end

接收端解調代碼如下:

function demoSignal=demodu(Resignal,datarate,fc,fs) t = linspace(0,1/datarate,fs/datarate);carrier=cos(2*pi*fc*t);Lc=length(carrier);Ls=length(Resignal);designal=[]; for i=1:Lc:Lsdesignal=[designal,carrier.*Resignal(i:i+Lc-1)];enddemoSignal = []; for i= 1:Lc:Lsthreshold=sum(designal(i:i+Lc-1));if threshold>0tt=1;elsett=-1;enddemoSignal=[demoSignal,tt];end end

數據流的產生代碼如下:

function signal=information(N)signal=rand(1,N)>=0.5;signal=signal*2-1;end

擴頻碼的產生(只產生一個周期的m序列)、擴頻、調制。
解擴實現代碼如下:

function demoSignal=demodu(Resignal,datarate,fc,fs) t = linspace(0,1/datarate,fs/datarate);carrier=cos(2*pi*fc*t);Lc=length(carrier);Ls=length(Resignal);designal=[]; for i=1:Lc:Lsdesignal=[designal,carrier.*Resignal(i:i+Lc-1)];enddemoSignal = []; for i= 1:Lc:Lsthreshold=sum(designal(i:i+Lc-1));if threshold>0tt=1;elsett=-1;enddemoSignal=[demoSignal,tt];end end

解調實現的代碼如下:

function dessignal=dedsss(receiveSignal,c,chipRate,fs)L=fs/chipRate;c1=[];for i=1:length(c)c1=[c1,c(i)*ones(1,L)];enddessignal=[];for i=1:length(c1):length(receiveSignal)dessignal=[dessignal,receiveSignal(i:i+length(c1)-1).*c1];end end

仿真結果

擴頻通信的理論基礎為香農公式:C=Blog(1+S/N)。我們可以用犧牲帶寬的辦法來換取較低的信噪比,增加系統的抗干擾能力。直接序列擴頻,是直接利用具有高碼率的擴頻碼序列在發送端擴展信號的頻譜,而在接收端,用相同的擴頻碼序列進行解擴,把展寬的擴頻信號還原成原始的信息,是一種數字調制方法。
擴頻通信系統具有較強的抗干擾能力,且具有很強的隱蔽性和抗偵查,抗竊聽的能力。這種能力隨著擴頻增益的增大而增大。擴頻增益的提高就需要提高擴頻碼m序列的位數了。
因為m序列具有良好的自相關特性和互相關特性,正是這兩大特性使得在接收端可以很好的進行擴頻碼的同步,以及多路用戶的區分,從而具有很好的抗多徑干擾能力。

要求一
1、原信號和擴頻之后的信號,如下圖所示。

2、第一個用戶信號經過擴頻,調制之后的信號以及三個用戶信號分別經過2徑,3徑,4徑信道后的疊加信號之和如下圖所示。
由上到下第一個坐標系為用戶1經過擴頻、調制的信號,第二、三、四為三個用戶經過疊加的信號再分別通過2徑、3徑、4徑的信道之后的信號,由圖可知,經過多徑之后的信號已經和原信號的圖形相差很大。這是因為信道的衰落使用延時來進行模擬的,會造成一些誤差。

3、第一個原始用戶信號與其經過接收端解擴,解調,抽樣判決之后的最終信號的比較,如下圖所示。

4、3個用戶的信號分別經過多徑衰落。衰落信道的個數為2、3、4,通過下面三張圖可以發現,隨著多徑數目的增加,3個用戶的誤碼率都呈現增加的趨勢。同一個用戶隨著信噪比的增加,誤碼率會減小。
多徑衰落路徑數為2時,3個用戶的誤碼率比較圖如下:

多徑衰落路徑數為3時,3個用戶的誤碼率比較圖如下:

多徑衰落路徑數為4時,3個用戶的誤碼率比較圖如下:

要求二
在數據傳輸過程中進行擴頻和不進行擴頻的BER性能比較如圖所示。
進行擴頻的BER曲線(第一張圖)更加平緩,并且經過擴頻的信號在信噪比比較低的情況下,呈現出優于不擴頻信號的性能,這體現了擴頻通信可以提高系統的信噪比,改善系統的性能。
通過直接序列擴頻得到的BER曲線較為平滑。直擴系統有較強的抗多徑干擾的能力,多徑信號到達接收端,由于利用了偽隨機碼的相關特性,只要多徑時延超過偽隨機碼的一個切普,則通過相關處理后,可消除這種多徑干擾的影響,甚至可以利用這些多徑干擾的能量,提高系統的信噪比,改善系統的性能。


總結

以上是生活随笔為你收集整理的Matlab 移动通信原理-扩频通信系统仿真实验(扩频通信系统的多用户数据传输、利用蒙特卡罗仿真方法对扩频增益进行性能仿真)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久婷婷六月 | 床戏高潮呻吟声片段 | 一区二区播放 | 青青青免费在线视频 | 日韩一二区 | 久久αv | 中文精品久久久久人妻不卡 | 伊人福利视频 | 国产丝袜网站 | 日日夜夜91 | 视频在线| 伊甸园精品区 | 国产日韩欧美综合 | 热精品 | 亚洲男人天堂2020 | 天天射狠狠干 | av直接看| 都市激情综合 | 久久久久色| 精品一区二区在线观看视频 | av久色 | 日本午夜视频在线观看 | 二区中文字幕 | 香蕉视频黄在线观看 | 黄a网站| 中文字幕一区二区三区在线播放 | 可以免费观看的av网站 | 国产精品99久久免费黑人人妻 | 欧美日韩电影一区 | 91在线观看. | 伊人色综合久久天天 | 激情黄色小说网站 | 中文字字幕在线中文乱码电影 | 亚洲av永久无码精品国产精品 | 亚洲精品无码一区二区 | 欧美激情国产精品免费 | 日韩电影一区 | 日韩精品中文字幕一区二区三区 | 欧美图片自拍偷拍 | 丁香婷婷六月 | 欧美黄网站在线观看 | 久久久久久久久久网 | 久久91精品国产 | 久久99精品久久久 | 欧美性猛交xxxx乱大交俱乐部 | 黄色欧美大片 | 奇米第四色首页 | 日本不卡一| 国产精品1000| 欧美日韩精品一区 | 亚洲hhh | 亚洲剧情在线 | 亚洲一区二区精品 | 亚洲欧美成人一区二区三区 | 亚洲一区二区精品 | 国产又大又黑又粗 | 久久久久久免费毛片精品 | 天天爽视频| 露胸app | 亚洲三级在线视频 | 日韩免费中文字幕 | 日本二区三区视频 | 中文字幕第一区 | 日本高清不卡在线观看 | 日本午夜网站 | ktv做爰视频一区二区 | 18禁裸乳无遮挡啪啪无码免费 | 国产 丝袜 欧美中文 另类 | 中出视频在线观看 | 国产精品xxx在线观看 | a级片在线观看视频 | av成人毛片 | 欧亚成人av| 操碰97 | 丰满熟妇肥白一区二区在线 | 亚洲第一成肉网 | 精品国产福利 | 青青免费在线视频 | 国产在线看黄 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 伊人青青操 | 综合激情网五月 | 成人网站免费观看入口 | 香蕉婷婷 | 18一20岁毛毛片 | 在线三区 | 亚洲欧美日韩国产一区二区 | 欧美激情视频一区二区三区在线播放 | 软萌小仙自慰喷白浆 | 毛片官网 | 丁香六月色婷婷 | 亚洲天堂五月天 | 中国av一区二区三区 | 女同在线视频 | 男人操女人下面 | 日韩视频免费在线播放 | 亚洲再线 | 69久久精品| 亚州激情 |