91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-18
  • 語言: Matlab
  • 標簽: OFDM??QAM??

資源簡介

本文完成OFDM通信系統在16QAM下的仿真工作,給出了前兩百點發送和接收到的消息對比,并計算誤比特率

資源截圖

代碼片段和文件信息

clear;
clc;
subcarr=64;?%子載波個數
sym_c=10;???%每個子載波含有的OFDM符號數
bit_sym=4;??%每個符號含有的比特數,16QAM調制
IFFT_n=64;??%IFFT點數
r=1/10;?????%保護間隔和OFDM數據的比例;
SNR=20;?????%信噪比?dB
%產生信號
sum=subcarr*sym_c*bit_sym;%總比特數量64*10*4=2560bits
signal=rand(1sum)<0.5;???%初始信號
%16QAM調制QAM_sig里面存放的是調制后的信號,數目為sumQ
sumQ=sum/4;
imagine=sqrt(-1);??????????????????????????%產生虛數單位?j
QAM=[-3-3*imagine-1-3*imagine3-3*imagine1-3*imagine-3-1*imagine-1-1*imagine3-1*imagine1-1*imagine-3+3*imagine-1+3*imagine3+3*imagine1+3*imagine-3+1*imagine-1+1*imagine3+1*imagine1+1*imagine];???%創建QAM?映射表
SIGNAL=zeros(1sumQ);??????%計算并存放調制前的十進制數據
QAM_sig=zeros(1sumQ);????%存放調制后的QAM信號
y_receive_bit=zeros(1sum);%存放解調后的比特符號
for?n=1:sumQ
?SIGNAL(n)=signal(4*n-3)*8+signal(4*n-2)*4+signal(4*n-1)*2+signal(4*n);?%將二進制換算成十進制,存放調制前的十進制數據
end
for?i=1:sumQ
????if?SIGNAL(i)==0
????????QAM_sig(i)=QAM(1);
????elseif?SIGNAL(i)==1
????????QAM_sig(i)=QAM(2);
????elseif?SIGNAL(i)==2
????????QAM_sig(i)=QAM(3);
????elseif?SIGNAL(i)==3
????????QAM_sig(i)=QAM(4);
????elseif?SIGNAL(i)==4
????????QAM_sig(i)=QAM(5);
????elseif?SIGNAL(i)==5
????????QAM_sig(i)=QAM(6);
????elseif?SIGNAL(i)==6
????????QAM_sig(i)=QAM(7);???????????
????elseif?SIGNAL(i)==7
????????QAM_sig(i)=QAM(8);???
????elseif?SIGNAL(i)==8
????????QAM_sig(i)=QAM(9);???
????elseif?SIGNAL(i)==9
????????QAM_sig(i)=QAM(10);???
????elseif?SIGNAL(i)==10
????????QAM_sig(i)=QAM(11);???
????elseif?SIGNAL(i)==11
????????QAM_sig(i)=QAM(12);
????elseif?SIGNAL(i)==12
????????QAM_sig(i)=QAM(13);???
????elseif?SIGNAL(i)==13
????????QAM_sig(i)=QAM(14);???
????elseif?SIGNAL(i)==14
????????QAM_sig(i)=QAM(15);
????elseif?SIGNAL(i)==15
????????QAM_sig(i)=QAM(16);???
????end
end?????????????????????
%串/并轉換??????
%計算第i個載波上面的信號to_par(i,:)
colume=sumQ/subcarr;%符號數除以子載波數,得出每個子載波運送的符號數
for?i=1:subcarr??%?carr載波個數
????for?j=1:colume??
????????to_par(ij)=QAM_sig(i+subcarr*(j-1));%填充矩陣的元素
?????????????????????????????????????????????%子載波數作為矩陣行數,單個子載波運送的符號數作為矩陣列數
?????????????????????????????????????????????%subcarr-by-colume,64行x10列的矩陣
????end
end
%colume=sumQ/subcarr;
%?%?to_par=reshape(QAM_sigsubcarrcolume);
%每個子載波上進行?IFFT變換??(調制后的QAM信號進行IFFT)
for?j=1:colume
??????y(:j)=ifft(to_par(:j));??%64點IFFT
end
%?%?y=ifft(to_par);
yr=real(y);???%實部
yi=imag(y);???%虛部
%yi=(y-yr)*sqrt(-1)*(-1);
%加入保護間隔
CP_len=r*colume;??%保護間隔長度
yr=[yr(:colume-CP_len+1:colume)yr];%實部:將

評論

共有 條評論