資源簡介
QPSK的MATLAB仿真代碼,包括QPSK的隨機數(shù)生成,調(diào)制,解調(diào),星座圖,

代碼片段和文件信息
clear?all;
clc;
num=100;??????????????????????????????????%原始信息序列長度
samp=100;?????????????????????????????????%采樣點數(shù)
delta_T=1/samp;???????????????????????????%采樣間隔
N=samp*num;???????????????????????????????%總的采樣點數(shù)
msg_orig=randint(1num);??????????????????%序列生成
data1=2*msg_orig-1;???????????????????????%單/雙極性變換
ry_I=raylrnd(0.81num/2);????????????????%以0.8為參數(shù)的瑞利衰落
ry_Q=raylrnd(0.81num/2);????????????????%以0.8為參數(shù)的瑞利衰落
for?i=1:num
????data1_orig(samp*(i-1)+1:samp*i)=data1(i);%對data1進行采樣
end
for?i=1:2000
????data(i)=data1_orig(i);
end
%--------------------------------------------畫信源及頻譜圖-----------------------
figure(1);
subplot(212);??????????????????????????????
pwelch(data1_orig[][][]10);??????????????
subplot(211);
x1=0+0.01:0.01:100;
plot(x1data1_orig);??????????????????????????
axis([0?10?-1.2?1.2]);???????????????????????
%----------------------------------將信息源分成兩路?,并對第I路信號抽樣-------------
data11=zeros(1samp*num/2);??????????????
for?i1=1:num/2??
????data11(samp*(i1-1)+1:samp*i1)=data1(2*i1-1);???????%I路信號是信源的第奇數(shù)個碼元,并對它抽樣
end
data12=zeros(1samp*num/2);????????????????????????????%Q路信號時信源的第偶數(shù)個碼元,并對其抽樣
for?i2=1:num/2??
????data12(samp*(i2-1)+1:samp*i2)=data1(2*i2);
end
%------------------------------------------對余弦載波抽樣------------------------------
for?j1=1:samp*num/2??????????????????????
????a1(j1)=cos((j1-1)*2*pi/100);???????????%每個余弦波每個周期采50個點
end
%------------------------------------------對正弦載波抽樣------------------------------
for?j2=1:samp*num/2??????????????????????
????a2(j2)=sin((j2-1)*2*pi/100);
end
%---------------------------------------------調(diào)制------------------------------------
data21=data11.*a1;??????????????????????????????%I路用余弦調(diào)制?????????????????????????
data22=data12.*a2;??????????????????????????????%Q路用正弦調(diào)制
%--------------------------------------為兩路信號加上瑞利衰落--------------------------
for?i=1:num/2
????data21_ray(i)=data21(i)*ry_I(i);
????data22_ray(i)=data22(i)*ry_Q(i);
end
data2_modul=data21+data22;????????????????????%調(diào)制后總的信號
data2_ray=data21_ray+data22_ray;??????????????%加瑞利衰落后總的信號
for?i=1:1000
????data2_modul_t(i)=data2_modul(i);
end
%-----------------------------------------畫調(diào)制后的信號波形和頻譜圖---------------
figure(2);?????
subplot(212);
pwelch(data2_modul[][][]10);
subplot(211);
x2=0+0.01:0.01:10;
plot(x2data2_modul_t);
data3=awgn(data2_modul1‘measured‘);???????????%經(jīng)過AWGN信道
for?i=1:1000
????data3_t(i)=data3(i);
end
%-----------------------------------畫經(jīng)過高斯信道后的信號波形和頻譜圖----------------------
figure(3);????
subplot(212);
pwelch(data3[][][]10);
subplot(211);
plot(x2data3_t);
%------------------------------------------------星座圖-----------------------------------
clear;?????????????????????????????????????????
N=1000;
s00=[1?0];?s01=[0?-1];?s11=[-1?0];?s10=[0?1];???%??信號映射
SNRindB1=8;
E=1;????????????????????????????????????????????%?碼元能量
snr=10^(SNRindB1/10);?
sgma=sqrt(E/snr)/2;?
for?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5259??2010-11-06?11:06??QPSK_MOD.m
- 上一篇:matlab邊緣跟蹤
- 下一篇:ssa.m
評論
共有 條評論