資源簡介
OFDM系統QPSK調制解調以及星座圖畫圖。程序中有詳細注釋,適合初學者理解QPSK調制過程以及星座圖畫法。
代碼片段和文件信息
function?[Pe]=U201115115
%%?作者信息??????????????????????????
%%沈培逸?U201115115?光電1107
%%?程序功能簡述
%基帶信號產生
%QPSK的調制和解調
%低通濾波器濾波
%繪制QPSK調制波形頻譜圖及星座圖
%%?關鍵變量說明
%data??原始隨機二進制序列
%data1?NRZ信號
%data_modul?總調制信號
%I_a?解調后I路信號?Q_a?解調后Q路信號
%%?代碼部分
%-----------------------------基帶信號產生----------------------------------
clc;
clear?
close?all
num?=?2^14;
seed1=2;
rng(‘default‘);
rng(seed1);
data=randi([0?1]1num);
f=2.4e9;???????????????????????????????????????????????????????????????????%載波頻率2.4GHz
Rb=5e6;????????????????????????????????????????????????????????????????????%碼元速率5MHz
Ts=1/f;
Ns=5;??????????????????????????????????????????????????????????????????????%每個載波采樣5個點?
sample=480*Ns;?????????????????????????????????????????????????????????????%每個碼元采點數為2400?????????????????????????????????????????????????????
N=sample*length(data)/2;???????????????????????????????????????????????????%總采樣點數
data1=2*data-1;????????????????????????????????????????????????????????????%正/負極性變換產生二進制不歸零雙極性碼元
%-------------------------將信息源分成兩路?,分別對信號進行抽樣-------------
data_1=zeros(1N);?????????????????????????????????????????????????????????%定義一個長度為N的空數據data_1
for?i1=1:num/2;
????data_1(sample*(i1-1)+1:sample*i1)=data1(2*i1-1);???????????????????????%對奇數碼元進行采樣
end
data_2=zeros(1N);
for?i2=1:num/2;
????data_2(sample*(i2-1)+1:sample*i2)=data1(2*i2);?????????????????????????%對偶數碼元進行采樣
end
???????????????????????????????????????????????????????????????????????????
a=zeros(1N);
b=zeros(1N);
for?j1=1:N;????????????????????????????????????????????????????????????????
????a(j1)=cos(2*pi*f*(j1-1)*Ts/Ns);????????????????????????????????????????%對余弦載波抽樣每個周期采N個點
????b(j1)=-sin(2*pi*f*(j1-1)*Ts/Ns);???????????????????????????????????????%對正弦載波抽樣每個周期采N個點
end
%---------------------------------調制-------------------------------------
data_a=data_1.*a;??????????????????????????????????????????????????????????%a路用余弦調制?????????????????????????
data_b=data_2.*b;??????????????????????????????????????????????????????????%b路用正弦調制
%--------------------------繪制調制后波形的頻譜圖---------------------------
%?figure(1)????????
data_modul=data_a+data_b;??????????????????????????????????????????????????%調制后總的信號
QPSK=10*log10(abs(fftshift(fft(data_modul))).^2);??????????????????????????%信號的頻率值
SFreq=linspace(-Rb*sample/2Rb*sample/2length(QPSK));?????????????????????%信號的頻率譜范圍
%?plot(SFreqQPSK);
%?title(‘QPSK調制波形頻譜圖‘);
%?axis([-6e9?6e9?-200?150]);
%?xlabel(‘Frequency‘);
%?ylabel(‘Amplitude‘);
%?hold?on;
%---------------------------------解調-------------------------------------
data_I=2*data_modul.*a;????????????????????????????????????????????????????%得到I路信號??其中乘2是為了讓波形成為[0?1]序列
data_Q=2*data_modul.*b;
%--------------------------理想低通濾波器濾波-------------------------------
for?j2=1:length(data_modul);???????????????????????????????????????????????%構建理想低通濾波器
????if?abs(SFreq(j2))
- 上一篇:fastslam matlab 仿真算法
- 下一篇:matlab三體運動模擬程序
評論
共有 條評論