【水声自适应通信】基于OFDM的水声自适应调制通信系统性能matlab仿真

1.软件版本

matlab2013b

2.本算法理论知识

(1)  调研收集水声通信信道模型和正交频分复用(OFDM)技术的有关资料,熟悉OFDM 原理和水声通信信道模型, 熟悉MATLAB工具。

(2) 理解OFDM水声自适应通信系统的自适应策略。针对不同信道模型、不同调制方式,对水声OFDM自适应通信系统的适配性能进行全面 仿真分析。自适应调制技术能充分利用信道容量和信号功率,满足不同传输速率和服务质量的要求。

 (3) 分析研究同信道模型、不同调制方式的自适应通信性能。从平均谱效率的角度分析并仿真基于OFDM技术的水声自适应通信系统的通 信性能。

(4) 用MATLAB编程仿真基于OFDM技术的水声自适应通信系统的通信性能。

模型如下:

http://www.docin.com/p-676950153.html

3.部分源码

clc;
clear;
close all;
warning off;
addpath 'func\'

%功率时延普
Pdelays  = [1 1/exp(1) 1/exp(2)]; 
%OFDM子载波数量
Nofdm    = 64;  
%OFDM保护间距
JGs      = 16;  
%收发天线
M1       = 1;  
M2       = 1; 
SNRs     = [0:1:6]; 
Npower   = 5e-3;  
%最大星座比特数
XZT      = 8; 
Noises   = 10.^(10^(SNRs(1)/10):((10^(SNRs(end)/10)-10^(SNRs(1)/10))/length(SNRs)):10^(SNRs(end)/10)); 
%每个OFDM符号总比特数
Nbits    = 64*M1;  
Loop     = 400;  
%随机信道迭代
Iters    = 50;
 
load BPSK.mat
load QPSK.mat
load QAM16.mat
load QAM64.mat
load QAM256.mat

Err_Rate =[];
for ij = 1:length(SNRs)
    ij
    SNR      = SNRs(ij);
    ERRS = 0;
    for ijk = 1:Iters
        rng(ijk);
        %随机化信道参数
        [H,Hf]         = func_channels(M1,M2,Pdelays,Nofdm + JGs);
        %信道分解
        [U,S,V]        = func_svd_channel(M1, M2, Hf, Nofdm);
        %自适应产生调制选择参数
        [Modesel,Eall] = func_adaptive_mode(S,Nbits,M1*Nofdm,Noises(ij),Npower,XZT);
        for ijp = 1:Loop
            %产生随机发送数据
            Signal      = randn(1,Nbits)>0;
            %自适应调制
            Signal_Mod  = func_adap_modulate(Signal,Modesel,Eall,s2,s4,s16,s64,s256);
            %编码
            Signal_pre  = func_precode(M1,Signal_Mod,V,Nofdm);
            %IFFT--OFDM
            T_ofdm      = [];
            for i=1:M1
                T_ofdm  = [T_ofdm;func_ifft_cp(Signal_pre(i:M1:M1*(Nofdm-1)+i),Nofdm,JGs)];
            end
            T_ofdm2     = reshape(T_ofdm,M1*(Nofdm+JGs),1);
            y           = func_addnoise(Npower,M1,M2,T_ofdm2,H,Nofdm+JGs); 
            %FFT--OFDM
            R_ofdm      = [];
            for i=1:M1
                R_ofdm  = [R_ofdm; func_fft_cp(y(i:M1:M1*(Nofdm+JGs-1)+i),Nofdm,JGs)];
            end
            R_ofdm2     = reshape(R_ofdm,1,M1*Nofdm);
            shaped_vals = func_reshape(R_ofdm2,M2,U,Nofdm);

            %解调
            y_demod     = func_demodulate(shaped_vals, Modesel, Eall, S, s2,s4,s16,s64,s256, c2,c4,c16,c64,c256);
            %计算性能
            ERRS        = ERRS + sum(xor(y_demod,Signal));
        end

    end
Err_Rate = [Err_Rate ERRS/Nbits/Iters/Loop];
end

figure;
semilogy(SNRs,Err_Rate,'b-o');
grid on;
xlabel('SNR');
ylabel('BER');
save R0.mat SNRs Err_Rate

 

4.仿真分析

【水声自适应通信】基于OFDM的水声自适应调制通信系统性能matlab仿真_第1张图片

5.参考文献

1. 谭泽富等. OFDM的关键技术及应用. 北京: 西南交通大学出版社,2007

2. 卢寿梅 .基于OFDM/OQAM的水声通信系统研究与设计. 大连海事大学硕士论文,2016.

3.牛停举, 基于信道模型的水声通信系统特性研究,烟台大学硕士论文,2009

4.李立华等. 基于正交频分复用的水声自适应通信系统性能仿真研究. 应用声学,2011.1

5.魏莉等. 水声信道的研究与仿真. 声学技术, 2008.2A12-40

你可能感兴趣的:(MATLAB,板块1:通信与信号处理,matlab,开发语言,水声自适应通信系统)