• 大小: 4KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2022-08-26
  • 语言: Matlab
  • 标签: 协作通信  

资源简介

协作通信AF与DF协议性能分析,通过matlab仿真分别绘出误码率与误比特率与信噪比的关系,得出AF与DF协作的性能。

资源截图

代码片段和文件信息

%Cooperative Diversity - Main Sequence
tic
% --------------
% Set Parameters
nr_of_iterations = 10^3;
SNR = [-15:1:15];
use_direct_link = 1;
use_relay = 1;
global statistic;
statistic = generate_statistic_structure;
global signal;
signal = generate_signal_structure;
signal(1).nr_of_bits = 2^10;
signal.modulation_type = ‘QPSK‘;% ’BPSK’ ’QPSK’
calculate_signal_parameter;
channel = generate_channel_structure;
channel(1).attenuation(1).pattern = ‘Rayleigh‘;% ’no’’Rayleigh’
channel.attenuation.block_length = 1;
channel(2) = channel(1);
channel(3) = channel(1);
channel(1).attenuation.distance = 1;
channel(2).attenuation.distance = 1;
channel(3).attenuation.distance = 1;
rx = generate_rx_structure;
rx(1).combining_type = ‘ERC‘; %’ERC’’FRC’’SNRC’’ESNRC’’MRC’
rx(1).sd_weight = 3;  % used for ‘FRC‘
global relay;
relay = generate_relay_structure;
relay(1).mode = ‘AAF‘; %’AAF’ ’DAF’
relay.magic_genie = 0;
relay(1).rx(1) = rx(1); % same beahaviour


% ----------------
% Start Simulation
BER = zeros(size(SNR));
for iSNR = 1:size(SNR2)% returns the size of the dimension of SNR  specified by scalar 2
channel(1).noise(1).SNR = SNR(iSNR); % iSNR ??????
channel(2).noise(1).SNR = SNR(iSNR);
channel(3).noise(1).SNR = SNR(iSNR);
disp([‘progress: ‘int2str(iSNR)‘/‘int2str(size(SNR2))])  %  Convert integer to string
for it = 1:nr_of_iterations;
% --------------
% Reset receiver
rx = rx_reset(rx);
relay.rx = rx_reset(relay.rx);
% -----------
% Direct link
if (use_direct_link == 1)
[channel(1) rx] = add_channel_effect(channel(1) rx...
signal.symbol_sequence);
rx = rx_correct_phaseshift(rx channel(1).attenuation.phi);
end
% ---------
% Multi-hop
if (use_relay == 1)
% Sender to relay
[channel(2) relay.rx] = add_channel_effect(channel(2)...
relay.rx signal.symbol_sequence);
relay = prepare_relay2send(relaychannel(2));%  ??this function 
% Re

评论

共有 条评论