⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdapsk_in_f_long.m

📁 通信系统中的最新的分块差分调制技术的源码
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ofdm系统参数设置%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
% %%%%%%%%%%%%%%%BER for DAPSK in time direction% %%%%%%%%%%%%%%%%5%%%%%%%%%%%%%%
Nu=640;%ifft size according to fs
Ng=64; %the length of cp
a=2.0; %deferential amplitude
bw=10000;fs=10000;
carriers=ceil(bw*Nu/fs);
ncon=16;
Ns=Nu+Ng;
nums=10;times=10;tsnr=8;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% test ofdmdapsk in frequency Ber performnce  %%%%%%%%%%%%%%%%%%%%%% 

     ratio=zeros(1,tsnr); 
for  snr_db=1:tsnr
    for time=1:times
       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       %%%%%%%%%%%%%%%%%%%%%%%%%%%  send  signal  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        % generating  nums  symbols of ofdm each time
        sequence=randint(carriers*log2(ncon),nums);
        
        %dapsk modulation
        %datamap=dapskmap_time(sequence,a,ncon);
        
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %long distance FDDD modulation
        long=6;
        datamap=dapskmap_f_l(sequence,a,ncon,long);
        [m,n]=size(datamap);
        datamap=reshape(datamap,1,m*n); 
        datamap=reshape(datamap,carriers,nums);
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
        
        %datamap=reshape(datamap,carriers,nums);
        %add zero  to carriers according to Nu
        numzero=ceil((Nu-carriers)/2);
        datamap=[zeros(numzero,nums);datamap;zeros(numzero,nums)]; 
        %ofdm modulation
        datamap=ifft(datamap);
        %add cp
        temp=datamap((Nu-Ng+1):Nu,:);
        datamap=[temp;datamap];
        clear temp;
        % get ofdm baseband signal
        [m,n]=size(datamap);
        outstream=reshape(datamap,m*n,1); 
        
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %%%%%%%%%%%%%%%%%%%%%%% pass channel  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
        %pass multichannel
        outstream=multirayfade(outstream,fs,'chan.4');
        %pass awgn channeel
        snr=5*(snr_db-1);
        outstream=awgn(outstream,snr,'measured') ;
        
        
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %%%%%%%%%%%%%%%%%%%%%%%%%%%   receive signal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      
       %delete cp
       datademap=reshape(outstream,m,n);
       temp=datademap;
       temp(1:Ng,:)=[];
       datademap=temp;
       clear temp;
       
       %ofdm symbols demodulation
       datademap=fft(datademap);
       temp=datademap;
       
       % delete zero according to carriers
       temp(1:numzero,:)=[];
       temp=temp;
       len=length(temp);
       temp(len-numzero+1:len,:)=[];
       datademap=temp;
       clear temp;
       %dapsk signal demodulation
      
       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       % long distance FDDD demodulation
       % datademap=dapskdemod_time(datademap);
       datademap=dapskdemod_frequency_long(datademap,long);
       %noting that datademap is carriers/long-by-nums*long matrix
       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
       
       
       datademap=reshape(datademap,1,carriers*nums);
       %map the demodulation signals to bit streams
       [outbit]=dapsktogray_frequency(datademap,a,ncon);
       receive_bit=reshape(outbit,carriers*log2(ncon),nums);
       %detection ber per snr
       [number,ber]=biterr(receive_bit(:,2:nums),sequence(:,2:nums));
       ratio(snr_db)=ratio(snr_db)+ber;
   end
       disp('%%%%%%%%%%%%%%%% display ber /snr %%%%%%%%%%%%%%%%%%%%%%%')
       snr
       ratio_ber(snr_db)=ratio(snr_db)/times
   end
       % figure plot ber according to snr 
        snr=5*(0:tsnr-1);
        semilogy(snr,ratio_ber,'r*')
        disp('********************* final result********************')
        [ratio_ber']
        snr'    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -