資源簡介
用simulink搭出QPSK調制與解調的框圖,在m文件中設置碼元數量、載波頻率、采樣頻率等參數,生成基帶波形、調制波形、解調波形、基帶和調制信號的功率譜密度、星座圖等。

代碼片段和文件信息
%QPSK調制與解調
%輸出的串行數據比輸入要延遲3個碼元
clear;close?all;clc;
Rate=20000;%串行信息比特率:20kbps
Frequency=60000;%載波頻率:40kHz
N=127;%碼元數量:127,必須是大于3的奇數
sample_point=40;%每個載波周期的采樣點數,必須是8的整數倍
c1_sample=sample_point*Frequency/Rate;%每個串行碼元的采樣點數
c2_sample=c1_sample*2;%每個并行碼元的采樣點數
Fs=Frequency*sample_point;%采樣率
T=1/Fs;%采樣周期
t=T:T:N/Rate;
L=sample_point*N*Frequency/Rate;%總的采樣點數
sim(‘qpsk_sim‘);
original=original(1:end-1);
plot(toriginal);
ylim([-1.11.1]);
title(‘基帶信號時域波形‘);
%?Pxx1=periodogram(original);
Pxx1=abs(fft(original)/L).^2*Rate/2/N;
L_f=length(Pxx1);
f=Fs/L_f:Fs/L_f:Fs;
figure;
plot(fPxx1);
xlabel(‘頻率/Hz‘);
title(‘基帶信號功率譜密度‘);
modulate=modulate(c1_sample+1:end-1);
figure;
plot(t(1:end-c1_sample)modulate);
title(‘已調信號時域波形‘);
%?Pxx2=periodogram(modulate);
Pxx2=abs(fft(modulate)).^2*Rate/2/N;
L_f=length(Pxx2);
f=Fs/L_f:Fs/L_f:Fs;
figure;
plot(fPxx2);
xlabel(‘頻率/Hz‘);
title(‘已調信號功率譜密度‘);
demodulate=demodulate(3*c1_sample+1:end-1);
figure;
plot(t(1:end-3*c1_sample)demodulate);
ylim([-1.11.1]);
title(‘解調后的信號時域波形‘);
data_orig=zeros(1N-3);
data_dem=zeros(1N-3);
for?num=1:N-3
????data_orig(num)=original(c1_sample*(num-1)+1);
????data_dem(num)=demodulate(c1_sample*(num-1)+1);
end
I_direction=I_direction(3*c1_sample+1:end-1);
Q_direction=Q_direction(3*c1_sample+1:end-1);
N_parallel=(N-3)/2;
x_dir=zeros(1N_parallel);
y_dir=zeros(1N_parallel);
for?num=1:N_parallel
????x_dir(num)=I_direction(2*c1_sample*(num-1)+1);
????y_dir(num)=Q_direction(2*c1_sample*(num-1)+1);
end
figure;
scatter(x_diry_dir);
title(‘星座圖‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1726??2018-09-20?16:02??qpsk_sim_test.m
?????文件??????23574??2018-09-19?15:59??qpsk_sim.slx
-----------?---------??----------?-----??----
????????????????25300????????????????????2
- 上一篇:水果品相檢測
- 下一篇:半監督分類算法源程序-matlab代碼
評論
共有 條評論