课程设计OQPSK通信系统的matlab仿真分析
更新时间:2023-07-23 23:00:01 阅读量: 实用文档 文档下载
- 课程设计总结推荐度:
- 相关推荐
课程设计OQPSK通信系统的matlab仿真分析
说 明
1. 课程设计任务书由指导教师填写,并经专业学科组审定,下达到学生。
2. 学生根据指导教师下达的任务书独立完成课程设计。
3. 本任务书在课程设计完成后,与论文一起交指导教师,作为论文评阅和课程设计答辩的主要档案资料。
课程设计OQPSK通信系统的matlab仿真分析
一、课程设计的主要内容和基本要求 课程设计的主要内容和基本要求 主要内容⑴ 产生等概率且相互独立的二进制序列,画出时域和频域的波形; ⑵ 产生均值为 0,方差为 1 的加性高斯随机噪声; ⑶ 进行 OQPSK 调制,画出波形; ⑷ 进行误码率分析,并与理论值比较; ⑸ 解调 OQPSK,画出眼图。 ⑹ 画出星座图
二、课程设计图纸内容及张数 课程设计图纸内容及张数 本实验没有规定的图纸内容, 本实验没有规定的图纸内容,在实验结果中附有本次实验的结果图
课程设计OQPSK通信系统的matlab仿真分析
三、课程设计应完成的软硬件的名称、内容及主要技术指标 课程设计应完成的软硬件的名称、 应完成的软硬件的名称MATLAB 7.0
四、主要参考资料通信原理基础 (北京邮电大学出版社) 通信原理 (国防工业出版社)樊昌信 曹丽娜 编著 信号与系统——MATLAB 综合实验(高等教育出版社) MATLAB7 辅助信号处理技术与应用(电子工业出版社)飞思科技产品研发中心 编著
课程设计OQPSK通信系统的matlab仿真分析
OQPSK通信系统的matlab仿真分析
㈠ 设计目的和意义
1. 对oqpsk进行调制和解调,通过MATLAB编程,掌握MATLAB的使用,熟练掌握OQPSK的调制原理,解调原理。
2. 对OQPSK通信系统进行matlab仿真分析,分析起信噪比和差错率。为现实中通信系统的调制,解调,及信道传输进行理论指导。 ㈡ 设计原理 1. OPSK的调制
它和QPSK有着同样的相位关系,也是把输入码流分成两路,然后进行正交调制。随着数字通信技术的发展和广泛应用,人们对系统的带宽、频谱利用率和抗干扰性能要求越来高。而与普通的QPSK比较,交错正交相移键控的同相与正交两支路的数据流在时问上相互错开了半个码元周期,而不像QPSK那样I、Q两个数据流在时间上是一致的(即码元的沿是对齐的)。由于OQPSK信号中的I(同相)和Q(正交)两个数据流,每次只有其中一个可能发生极性转换,所以,每当一个新的输入比特进入调制器的I或Q信道时,其输出的OQPSK信号中只有0°、+90°三个相位跳变值,而根本不可能出现180°相位跳变。所以频带受限的OQPSK信号包络起伏比频带受限的QPSK信号要小,而经限幅放大后的频带展宽也少。
2.OQPSK的基本原理
OQPSK信号的数学公式可以表示为:
⑴OQPSK的调制方法与QPSK类似,仅在一条正交支路上引入了一个比特的延时,以使得两支路的数据不会同时发生变化,降低最大相位跳变。其中电平映射关系为:1→1,0→-1.
课程设计OQPSK通信系统的matlab仿真分析
图3:OQPSK调制原理框图
经OQPSK调制后,调制点的星相图以及状态转移图如图4所示。
⑵OQPSK解调
OQPSK信号可采用正交相干解调方式解调,其解调原理如图a所示。由图a可以看出,OQPSK与QPSK信号的解调原理基本相同,其差别仅在于对Q支路信号抽样判决后要延迟Tb/2,这是因为在调制时,Q支路信号在时间上偏移了Tb/2,所以抽样判决时刻也相应偏移了Tb/2,以保证对两支路的交错抽样。
课程设计OQPSK通信系统的matlab仿真分析
⑶眼图是信号由垂直扫描进入与同周期的水平扫描锯齿波叠加到示波器上时到得图案。
眼图能够反映信号在传输过程中受到的信道噪声影响的强度,眼图越模糊,眼睛越闭合,则说明噪声越强,反之,则说明噪声强度弱,也能说明信道性能更优良。
㈢ 设计结果及分析
⑴输入的二进制序列以及串并转换成的上下两路信号,下支路信号已延时,由产生的随机序列可以知道前十个码元为1001001101,映射电平为1-1-11-1-111-11,下面的抽样脉冲与ts=1的矩形脉冲相卷即为输入信号
⑵上下支路分别经过调制后的信号
课程设计OQPSK通信系统的matlab仿真分析
⑶调制后的信号以及加了高斯白噪声的信号
⑷调制后的信号乘以相干载波后的信号,通过低通滤波器以及经过抽样判决后的信号
(前面上下支路的信号的与判决后的信号对比,可以看出都有延时)
课程设计OQPSK通信系统的matlab仿真分析
⑸恢复成的最终信号与原始信号的对比
⑹oqpsk的星座图
课程设计OQPSK通信系统的matlab仿真分析
⑺oqpsk的眼图
⑻oqpsk系统的理论误码率
课程设计OQPSK通信系统的matlab仿真分析
⑼此次实验中实际误码率
加入不同的噪声进行循环
rt=1.8%
(四)matlab程序及其功能 ⑴主程序以及注释 clc;
A=1; % 载波幅度 fc=2; % 载波频率 Ts=1; % 码元宽度 fs=1/Ts
B1=fs; %低通滤波器的宽度
课程设计OQPSK通信系统的matlab仿真分析
N_sample=32; % 基带码元抽样点数 N=500; % 码元数
dt=Ts/fc/N_sample; % 抽样时间间隔 T=N*Ts; % 信号持续时间长度
t=0:dt:T-dt; % 时间向量
Lt=length(t); % 时间向量长度 tx1=0; % 时域波形图横坐标起点
tx2=10; 标终点
ty1=-2; 标起点
ty2=2; 标终点
fx1=-10; 起点
fx2=10; 终点
fy1=-40; fy2=25; EsN0dB = 3:0.5:10 ; EsN0 = 10.^(EsN0dB/10);
rt=zeros(1,length(EsN0dB)); M=4;
%产生二进制信源
m=randn(1,N); d=sign(m); % dd=sigexpand(d,fc*N_sample); gt=ones(1,fc*N_sample); d_NRZ=conv(dd,gt);
figure(5);
subplot(2,2,1); plot(t,dd(1:Lt));
axis([tx1,tx2,ty1,ty2]);
figure(1);
subplot(2,4,1);
plot(t,d_NRZ(1:Lt));
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)');
% 时域波形图横坐 % 时域波形图纵坐 % 时域波形图纵坐% 功率谱图横坐标% 功率谱图横坐标% 功率谱图纵坐标起点 % 功率谱图纵坐标终点 %设定EbNo范围 %初始化误码率向量 % 产生1到n的随机数 将大于0的变为1小于0的变为-1 %将序列d的周期变为Ts % 产生宽度为Ts的矩形窗 % 卷积产生基带信号
课程设计OQPSK通信系统的matlab仿真分析
ylabel('幅度');
title('基带信号时域波形图'); grid;
[f,d_NRZf]=T2F(t,d_NRZ(1:Lt));% 进行傅里叶变换 figure(1);
subplot(2,4,5);
plot(f,10*log10(abs(d_NRZf).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)'); title('基带信号功率谱图'); grid;
figure(4);
subplot(2,2,1);
plot(t,d_NRZ(1:Lt));
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('基带信号时域波形图'); grid;
figure(4);
subplot(2,2,2);
plot(f,10*log10(abs(d_NRZf).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)'); title('基带信号功率谱图'); grid;
% 串并转换 d1=[]; d2=[]; for i=1:N
if rem(i,2)==1
d1((i+1)/2)=d(i); else
d2(i/2)=d(i); end end
课程设计OQPSK通信系统的matlab仿真分析
dd1=sigexpand(d1,2*fc*N_sample); %功能同上 gt1=ones(1,2*fc*N_sample); d_NRZ1=conv(dd1,gt1);
figure(1);
subplot(2,4,2);
plot(t,d_NRZ1(1:Lt)); axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('上支路基带信号时域波形图'); grid;
[f1,d_NRZ1f]=T2F(t,d_NRZ1(1:Lt)); figure(1);
subplot(2,4,6);
plot(f1,10*log10(abs(d_NRZ1f).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('上支路基带信号功率谱图'); grid;
figure(3);
subplot(2,4,1);
plot(t,d_NRZ1(1:Lt)); axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('上支路基带信号时域波形图'); grid;
dd2=sigexpand(d2,2*fc*N_sample); gt1=ones(1,2*fc*N_sample); d_NRZ2=conv(dd2,gt1); d_NRZ2DLY=[-ones(1,N_sample*fc),d_NRZ2(1:end-N_sample*fc)]; %进行延时,在前面添-1
figure(1);
subplot(2,4,3);
plot(t,d_NRZ2DLY(1:Lt)); axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)');
课程设计OQPSK通信系统的matlab仿真分析
ylabel('幅度');
title('下支路基带信号时域波形图'); grid;
[f2,d_NRZ2f]=T2F(t,d_NRZ2DLY(1:Lt)); figure(1);
subplot(2,4,7);
plot(f2,10*log10(abs(d_NRZ2f).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('下支路基带信号功率谱图'); grid;
figure(3);
subplot(2,4,5);
plot(t,d_NRZ2DLY(1:Lt)); axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('下支路基带信号时域波形图'); grid; % 载波
h1t=A*cos(2*pi*fc*t); h2t=A*sin(2*pi*fc*t);
figure(1);
subplot(2,4,4); plot(t,h1t);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('载波信号时域波形图'); grid;
[f3,h1tf]=T2F(t,h1t); figure(1);
subplot(2,4,8);
plot(f3,10*log10(abs(h1tf).^2/T));
% p=2/T *10*log10(abs(h1tf)为求功率谱的公式 axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)'); title('载波信号功率谱图');
课程设计OQPSK通信系统的matlab仿真分析
grid;
% 生成OQPSK信号
s_qpsk1=d_NRZ1(1:Lt).* h1t; %上下支路分别调制 s_qpsk2=d_NRZ2DLY(1:Lt).* h2t; figure(2);
subplot(2,2,1); plot(t,s_qpsk1);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('上支路频带信号时域波形图'); grid;
[f4,s_qpsk1f]=T2F(t,s_qpsk1); figure(2);
subplot(2,2,3);
plot(f4,10*log10(abs(s_qpsk1f).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('上支路频带信号功率谱图'); grid;
figure(2);
subplot(2,2,2); plot(t,s_qpsk2);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('下支路频带信号时域波形图'); grid;
[f5,s_qpsk2f]=T2F(t,s_qpsk2); figure(2);
subplot(2,2,4);
plot(f5,10*log10(abs(s_qpsk2f).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('下支路频带信号功率谱图'); grid;
课程设计OQPSK通信系统的matlab仿真分析
s_oqpsk=s_qpsk1+s_qpsk2; %两路信号相加得到调制后的信号 figure(8);
subplot(2,2,1); plot(t,s_oqpsk);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('已调信号时域波形图'); grid;
[f6,s_oqpskf]=T2F(t,s_oqpsk); figure(8);
subplot(2,2,3);
plot(f6,10*log10(abs(s_oqpskf).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)'); title('已调信号功率谱图'); grid;
% 信道加入高斯白噪声进行接收解调 % 产生高斯白噪声 m=1; p1=-10;
noise = wgn(m,Lt,p1); % 接收信号
y_qpsk = s_oqpsk + noise;
figure(8);
subplot(2,2,2); plot(t,y_qpsk);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('接收信号时域波形图 '); grid;
[f7,y_qpskf]=T2F(t,y_qpsk); figure(8);
subplot(2,2,4);
plot(f7,10*log10(abs(y_qpskf).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
课程设计OQPSK通信系统的matlab仿真分析
ylabel('功率谱密度(dB/Hz)');
title('接收信号功率谱图 Pn=-10dB'); grid;
%[t,ny_qpsk]=bpf(f7,y_qpskf,1,8);
% 相干解调 % 通过乘法器1
r_qpsk1 = y_qpsk .* h1t;
figure(3);
subplot(2,4,2); plot(t,r_qpsk1);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('上支路通过乘法器信号时域波形图'); grid;
%通过低通滤波器
[f8,r_qpsk1f]=T2F(t,r_qpsk1);
B1=1;
[t1,r_qpsk11]=lpf(f8,r_qpsk1f,B1);
figure(3);
subplot(2,4,3); plot(t1,r_qpsk11)
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('上支路通过低通滤波器信号时域波形图'); grid;
%抽样判决
dd11=r_qpsk11(fc*N_sample:2*fc*N_sample:end);
dd22=sign(dd11); %判决 dd222=sigexpand(dd22,2*fc*N_sample);
d_NRZ11=conv(dd222,gt1); %得到上支路信号
d_NRZ11DLY=[-ones(1,N_sample*fc),d_NRZ11(1:end-N_sample*fc)]; %路信号延时
figure(3);
上支
课程设计OQPSK通信系统的matlab仿真分析
subplot(2,4,4);
plot(t,d_NRZ11DLY(1:Lt)); axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('上支路抽样判决后信号时域波形图'); grid;
% 通过乘法器2
r_qpsk2 = y_qpsk .* h2t; figure(3);
subplot(2,4,6); plot(t,r_qpsk2);
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('下支路通过乘法器信号时域波形图'); grid;
%通过低通滤波器
[f9,r_qpsk2f]=T2F(t,r_qpsk2);
[t2,r_qpsk21]=lpf(f9,r_qpsk2f,B1); figure(3);
subplot(2,4,7); plot(t2,r_qpsk21)
axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('下支路通过低通滤波器信号时域波形图'); grid;
%抽样判决
dd33=r_qpsk21(fc*N_sample:2*fc*N_sample:end);
dd44=sign(dd33); %判决
dd444=sigexpand(dd44,2*fc*N_sample);
d_NRZ21=conv(dd444,gt1)
figure(3);
subplot(2,4,8);
plot(t,d_NRZ21(1:Lt)) axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('下支路抽样判决后信号时域波形图');
课程设计OQPSK通信系统的matlab仿真分析
grid;
dd22DLY=d_NRZ11DLY(fc*N_sample:2*fc*N_sample:end); % 并串转换 ddd=[];
for s=1:N/2
ddd(2*s-1)=dd22DLY(s); ddd(2*s)=dd44(s); end
rddd=sigexpand(ddd,fc*N_sample); %解调信号输出
r_qpsk=conv(rddd,gt);
qr_qpsk=[r_qpsk(2*N_sample*fc+1:N*N_sample*fc),ones(1,2*N_sample*fc)] %去除延时
figure(4);
subplot(2,2,3);
plot(t,qr_qpsk(1:Lt)); axis([tx1,tx2,ty1,ty2]); xlabel('时间(S)'); ylabel('幅度');
title('解调信号时域波形图 Pn=-10dB'); grid;
[f10,qr_qpskf]=T2F(t,r_qpsk(1:Lt)); figure(4);
subplot(2,2,4);
plot(f10,10*log10(abs(qr_qpskf).^2/T)); axis([fx1,fx2,fy1,fy2]); xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
title('解调信号功率谱图 Pn=-10dB'); grid; %眼图
eyediagram(y_qpsk,32,2,8);
x=d_NRZ1(1:fc*N*N_sample)+j*d_NRZ2DLY(1:fc*N*N_sample); %星座图
scatterplot(x); axis([-4,4,-4,4]); grid;
xlabel('实部'); ylabel('虚部'); title('星座图');
d_NRZJ=d_NRZ(1:fc*N*N_sample);
课程设计OQPSK通信系统的matlab仿真分析
p=find(d_NRZJ<0); d_NRZJ(p)=0;
q=find(qr_qpsk<0); qr_qpsk(q)=0; r=find(d_NRZ>0); d_NRZJ(r)=1;
s=find(qr_qpsk>0); qr_qpsk(s)=1; figure
[num,rt] = biterr(d_NRZJ,qr_qpsk); Ps = erfc(sqrt(EsN0)*sin(pi/M)); %通过一系列计算可以得到 %Ps 2Q(
2EsN0
sin(
M
))
%由于 erfc(z) 2Q(2z) %可以进一步得到,Ps erfc(
EsN0
sin(
M
))
semilogy(EsN0dB,Ps,'rd -');
xlabel('Es/N0(dB)'); ylabel('误码率'); grid on;
title('QPSK系统的误码率'); ⑵用到的子函数
function [out]=sigexpand(d,M)
% 将输入的序列扩展成间隔为 N-1 个 0 的序列; N=length(d); out=zeros(M,N); out(1,:)=d;
out=reshape(out,1,M*N);
function[f,sf]=T2F(t,st); %计算信号的傅里叶变换
%Input is the time and the signal vectors,the length of time must greater %than 2
%Output is the frequency and the signal spectrum dt=t(2)-t(1); T=t(end); df=1/T;
N=length(st);
f=-N/2*df:df:N/2*df-df; sf=fft(st);
课程设计OQPSK通信系统的matlab仿真分析
sf=T/N*fftshift(sf);
function [t,st]=F2T(f,sf) %计算信号的反傅里叶变换 df=f(2)-f(1);
Fmx=(f(end)-f(1)+df); dt=1/Fmx;
N=length(sf); T=dt*N;
%t=-T/2:dt:T/2-dt; t=0:dt:T-dt;
sff=fftshift(sf); st=Fmx*ifft(sff); % 低通滤波器
function [t,st]=lpf(f,sf,B) % f: frequency samples
% sf: input data spectrum samples
% B: lowpass's bandwidth with a rectangle lowpass % output: % t: sample
% st: output data's time samples
df = f(2)-f(1); T = 1/df;
hf = zeros(1,length(f));
bf = [-floor(B/df):floor(B/df)]+floor(length(f)/2); %规定低通滤波器的宽度
hf(bf) = 1; %低通滤波器为理想的矩形窗,其加权值为1 yf = hf .* sf; %频域的相乘 [t,st] = F2T(f,yf); st = real(st);
备注:如果要画实际误码率曲线可以在程序最后使用循环,框架如下 m=1; jj=1; qe=[];
for pl=0:15
…… %省略部分为加噪解调部分,和前面程序相同,去除画图的程序 [num,rt] = biterr(d_NRZJ,qr_qpsk); qe(jj)=rt; jj=jj+1; end
Qe=qe(1:16);
semilogy(EsN0dB,Qe,‘b‘); %用semilogy画图必须和Qe前面的序列长
正在阅读:
高考试题目解析版物理四川卷12-22
鼎力升级指导书03-15
2016年江苏省中学生生物学奥林匹克初赛理论试题(Word版,含答案)08-07
西方经济学第一章习题01-25
SolidWorks安装有时出现的错误09-07
水利水电勘测设计现行标准名录2011101 - 图文01-02
雨的诉说作文400字07-16
我电脑上网速度很慢怎么办?02-10
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 仿真
- 课程
- 通信
- 分析
- matlab
- 设计
- 系统
- OQPSK
- 农业信息化学习资料20110819142731
- 【高考领航】2015年高考语文创新版一轮(课标全国卷)2015一轮考点训练:第1章阅读一般论述类文章1-1-2-5]
- 信息安全技术复习内容
- 非谓语动词(配2011年高考非谓语动词真题及答案)
- 超速磨削相关技术与工业应用
- 2009年注册税务师考试真题_财务与会计_试题及答案F
- 元素及其化合物计算题
- 2014春三年级英下听力材料
- 浅谈如何做好医院职工的思想政治工作
- 圣诞节贺词大全(中英文)
- 汇通网:GKFX捷凯金融 叙利亚局势峰回路转,美元茫然无措
- 会计研究生就业前景
- 京、沪、粤保健食品委托生产监管模式的对比及建议
- 《弟子规》注音版
- 污染物排放许可证申请书
- 读《下雪了,天晴了》有感
- 国际贸易专业《国际贸易概论》练习题及完整答案
- 灵农党工发(10)8号2010年普法工作要点
- 论文:从华西村看中国特色社会主义经济建设
- 公法视野下我国证券管制体制的演进三