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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【功率控制】无线光通信-CDMA中闭环链路的功率控制MATLAB仿真

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【功率控制】无线光通信-CDMA中闭环链路的功率控制MATLAB仿真 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.軟件版本

matlab2017b

2.本算法理論知識

? ? ? 編寫無線光通信-CDMA中閉環鏈路的功率控制誤差(Power control error)程序,其定義在文獻An Analytical Approach for Closed-Loop Power Control Error Estimations in CDMA Cellular Systems中詳細說明了。并且仿真出功率控制誤差(Power control errorOOK 2PPM 4PPM 8PPM 16PPM的不同調制方式下;以及功率控制誤差(Power control error)在1/4code rate, 1/2 code rate, 3/4 code rate不同碼率下與BER的關系。信道設在AWGN環境下,初始值都以交予你們的無線光通信主程序為準。

?最后的結果圖出:

一張不使用功率控制的無線光通信-CDMA系統中用戶端與基站之間的距離BER的曲線圖。

一張使用了功率控制之后的系統中用戶端與基站之間距離與BER的曲線圖

一張功率控制誤差在不同的調制方式下的BER曲線圖,

一張功率控制誤差在不同的碼率下的BER曲線圖。

用不同顏色標明不同的調制方式和碼率,調制方式在一張圖中,碼率在一張圖中。

??? 首先,根據參考文獻

關于功率控制誤差估計的背景和相關理論知識,我們在設計的時候,滿足如下額條件:

這里,只考慮一個基站幾個用戶的情況,所以僅考慮CDMA環境中的路徑衰落模型。

3.核心代碼

?

clc; clear; close all; warning off; addpath 'func\'%% %參數初始化 global PACKET_LENGTH; global SLOT_LENGTH ; global pulse_drtn; global CHANNELS; global PEEK_POWER; global SYMBOL_LENGTH; global TRANS_LENGTH;PACKET_LENGTH = 300; %Packet size PEEK_POWER = 1; SYMBOL_LENGTH = 36; %here symbol length= packet length SLOT_LENGTH = 4; TRANS_LENGTH = 9*SLOT_LENGTH*PACKET_LENGTH; pulse_drtn = 4; CHANNELS = 3; ELECTRON = 1.6e-19; INTERFERENCE = 1e-3; RECEIVER_RES = 0.53; COEF_RED = 0.1550; COEF_GREEN = 1.7309; COEF_BLUE = 1.1142; RES_RED = 0.5200; RES_GREEN = 0.4800; RES_BLUE = 0.4000; %Derived parameters bit_rate = 4e8; % bit rate [100Mbps] rms_delay = 2e-9; % delay spread (1 ns) multipath = 3; % multi-path dispersion sample_rate = bit_rate / 3.0 * SLOT_LENGTH; %struct built for i=1:CHANNELSsentbit(i,:) = zeros(1,3*PACKET_LENGTH);signal(i,:) = zeros(1,TRANS_LENGTH);recivbit(i,:) = zeros(1,3*PACKET_LENGTH); enddwTransmitPower = 7; % 發送功率 dShadowFadingStd = 4; % 陰影衰落標準差BS2UE dB dUserVelocity = 0; % 用戶移動速度0km/h,這里假設是靜止的 dwMsTransmitPower = 0.25; % 移動臺發送功率 W MAX_Dis = 7; STEP = 0.2; MIN_Dis = 1;DIS = [MIN_Dis:STEP:MAX_Dis];%定義用戶和基站之間的距離 MTKL = 10;%多次仿真,計算平均值 %**************************************************************************%% %主題函數,通過for循環,仿真不同距離下的誤碼率曲線 %為了對比,我們設置三組不同的SNR下的AWGN進行仿真 for jj = 1:length(DIS) for mm = 1:MTKLjjmm%根據路徑距離計算路徑損耗PASS_LOSS = dwTransmitPower - Path_lose_compute(DIS(jj)) - dShadowFadingStd;%計算光三組元色對應的SNR值snr_red = 10*log10(power((power(10,PASS_LOSS/10)*1e-3)*(COEF_RED /(COEF_RED+COEF_GREEN+COEF_BLUE)),2)/((ELECTRON*INTERFERENCE/RES_RED) *(bit_rate*(SLOT_LENGTH/pulse_drtn)/3.0)));snr_green = 10*log10(power((power(10,PASS_LOSS/10)*1e-3)*(COEF_GREEN/(COEF_RED+COEF_GREEN+COEF_BLUE)),2)/((ELECTRON*INTERFERENCE/RES_GREEN)*(bit_rate*(SLOT_LENGTH/pulse_drtn)/3.0)));snr_blue = 10*log10(power((power(10,PASS_LOSS/10)*1e-3)*(COEF_BLUE /(COEF_RED+COEF_GREEN+COEF_BLUE)),2)/((ELECTRON*INTERFERENCE/RES_BLUE) *(bit_rate*(SLOT_LENGTH/pulse_drtn)/3.0)));VarR = calc_snr(snr_red);VarG = calc_snr(snr_green);VarB = calc_snr(snr_blue);%產生隨機數作為發送數據for i=1:CHANNELSsentbit(i,:) = round(rand(1,3*PACKET_LENGTH)); end%調制,OPPM for i=1:CHANNELSsignal(i,:) = func_OPPM(sentbit(i,:));end%加多徑if multipath~=1 for i=1:CHANNELSsignal(i,:) = add_multipath_dispersion1(signal(i,:),TRANS_LENGTH,sample_rate,rms_delay);endend%加噪聲signal(1,:)=add_gauss_noise(signal(1,:),TRANS_LENGTH, VarR); signal(2,:)=add_gauss_noise(signal(2,:),TRANS_LENGTH, VarG);signal(3,:)=add_gauss_noise(signal(3,:),TRANS_LENGTH, VarB); %解調for i=1:CHANNELSrecivbit(i,:) = func_deOPPM(signal(i,:));endfor i=1:CHANNELSerror(i,:) = size(find(recivbit(i,:)~=sentbit(i,:)),2);endERR(mm) = (error(1,:)+error(2,:)+error(3,:))/(CHANNELS*3*PACKET_LENGTH);endber(jj) = mean(ERR); end %**************************************************************************%% %畫出波形 figure; semilogy(MIN_Dis:STEP:MAX_Dis,ber,'b-o'); axis([DIS(1) DIS(end) 10^(-5) 1]) xlabel('distance(Km)'); ylabel('Bit Error Rate'); grid on%保存數據,用于和加功率控制模塊的對比 save Ber_with_no_power_control_error.mat MIN_Dis STEP MAX_Dis ber %**************************************************************************

4.操作步驟與仿真結論

這里,主要對OOK2PPM4PPM8PPM16PPM五種方法進行仿真,這里我們還是考慮原始的仿真方法,即在一個固定位置,改變功率值進行仿真,即和之前的VLC-OOK一樣的仿真思路。

將上面的五種調制方式放在一起對比,得到的仿真結果如下所示:

?1/4code rate, 1/2 code rate, 3/4 code rate不同碼率下與BER的關系,這里,在原有的代碼的基礎上,進行不同碼率的仿真。

5.參考文獻

?

A01-57

6.完整源碼獲得方式

方式1:微信或者QQ聯系博主

方式2:訂閱MATLAB/FPGA教程,免費獲得教程案例以及任意2份完整源碼

總結

以上是生活随笔為你收集整理的【功率控制】无线光通信-CDMA中闭环链路的功率控制MATLAB仿真的全部內容,希望文章能夠幫你解決所遇到的問題。

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