资源简介
QPSK方式的MATLAB仿真程序 包括信号的调制解调等
代码片段和文件信息
% MATLAB script for System Simulation Homework #2
clear;
clc;
% Carrier frequency for modulation and
% demodulation
Fc =5e6;
%
% QPSK transmitter
%
data_len=5000;% Input binary data of 5MHz
input=randint(1data_len);
%Series to Parallel
for i=1:data_len
if rem(i2)==1 %the remainder of i/2
if input(i)==1
I(i)=1;
I(i+1)=1;
else
I(i)=-1;
I(i+1)=-1;
end
else
if input(i)==1
Q(i-1)=1;
Q(i)=1;
else
Q(i-1)=-1;
Q(i)=-1;
end
end
end
% Zero insertion
zero=5; % Sampling rate is 25MHz
for i=1:zero*data_len
if rem(izero)==1
Izero(i)=I(fix((i-1)/zero)+1);
Qzero(i)=Q(fix((i-1)/zero)+1);
else
Izero(i)=0;
Qzero(i)=0;
end
end
%Pulse shaping filter
NT =50;
N=2*zero*NT;
Fs=25e6;
rf=0.1;
psf=rcosfir(rfNTzeroFs‘sqrt‘);
Ipulse= conv(Izeropsf);
Qpulse= conv(Qzeropsf);
%Modulation
for i=1:zero*data_len+N
t(i)=(i-1)/(Fc*zero);
Imod(i)=Ipulse(i).*sqrt(2)*cos(2*pi*Fc*t(i));
Qmod(i)=Qpulse(i).*(-sqrt(2)*sin(2*pi*Fc*t(i)));
end
sum=Imod+Qmod;
%
% QPSK Receiver
%
% Demodulation
for i=1:zero*data_len+N
Idem(i)=sum(i).*sqrt(2)*cos(2*pi*Fc*t(i));
Qdem(i)=sum(i).*(-sqrt(2)*sin(2*pi*Fc*t(i)));
end
% Matched filter
mtf= rcosfir(rfNT zeroFs‘sqrt‘);
Imat = conv(Idemmtf);
Qmat = conv(Qdemmtf);
% Data selection
for i=1:zero*data_len
Isel(i)=Imat(i+N);
Qsel(i)=Qmat(i+N);
end
% Sampler
for i = 1:data_len
Isam(i)= Isel((i-1)*zero+1);
Qsam(i)= Qsel((i-1)*zero+1);
end
% Decision threshold
threshold = 0.5; %how to determine
for i = 1:data_len
if Isam(i)>= threshold
Ifinal(i)= 1;
else
Ifinal(i)= -1;
end
if Qsam(i) >= threshold
Qfinal(i) = 1;
else
Qfinal(i)= -1;
end
end
% Parallel to Series
for i = 1:data_len
if rem(i 2)== 1
if Ifinal(i)== 1
final(i)=1;
else
final(i)= 0;
end
else
if Qfinal(i) == 1
final(i)= 1;
else
final(i)= 0;
end
end
end
figure(1)
plot(20*log(abs(fft(input))))
axis([0 data_len -40 100])
grid
title(‘Spectrum of Input binary data‘)
figure(2)
subplot(221)
plot(20*log(abs(fft(I))))
axis([0 data_len -40 140])
grid
title(‘Spectrum of I-channel data‘)
subplot(222)
plot(20*log(abs(fft(Q))))
axis([0 data_len -40 140])
grid
title(‘Spectrum of Q-channel da
- 上一篇:复杂网络matlab经典算法
- 下一篇:粒子群算法优化RBF神经网络
相关资源
- 粒子群算法优化RBF神经网络
- 复杂网络matlab经典算法
- Maple Toolbox for MATLAB 工具箱使用介绍
- 非局部均值 图像去噪(matlab)
- 循环自相关函数matlab程序
- matlab一元线性回归
- 基于DVB-T标准的OFDM调制技术的MATLAB源
- Alamouti方案的matlab仿真
- 用MATLAB编写的svm源程序,可以实现支
- MATLAB绘制威布尔分布曲线.docx
- 故障树的MATLAB程序。
- 基于基于遗传算法matlab优化程序
- matlab ar模型卡尔曼滤波代码
- NSGA2-matlaB
-
buck-boost的simuli
nk电路仿真图 - 粒子群 matlab简单优化过的 TSP
- Matlab增量式PID算法仿真
- matlab 数据处理 求绝对误差 剔除粗
- 基于MATLAB的基带传输位同步信号提取
- 基于MATLAB的图像分割含GUI界面
- matlab写的GMM代码
- MATLAB ADOV 路由仿真代码
- turbo码的matlab仿真
- 基于BP神经网络的PID控制器的Matlab仿真
- matlab逻辑回归应用代码十分详细附数
- 各种滤波器程序 matlab
- AOA定位的扩展卡尔曼滤波定位算法M
- 对数极坐标变换matlab程序
- 地震波剖面图的形成matlab
- 倾斜界面求波的反透射系数matlab
评论
共有 条评论