专业课程设计OQPSK通信系统的matlab仿真分析.docx

上传人:b****1 文档编号:13641896 上传时间:2023-06-15 格式:DOCX 页数:26 大小:368.18KB
下载 相关 举报
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第1页
第1页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第2页
第2页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第3页
第3页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第4页
第4页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第5页
第5页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第6页
第6页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第7页
第7页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第8页
第8页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第9页
第9页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第10页
第10页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第11页
第11页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第12页
第12页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第13页
第13页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第14页
第14页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第15页
第15页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第16页
第16页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第17页
第17页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第18页
第18页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第19页
第19页 / 共26页
专业课程设计OQPSK通信系统的matlab仿真分析.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

专业课程设计OQPSK通信系统的matlab仿真分析.docx

《专业课程设计OQPSK通信系统的matlab仿真分析.docx》由会员分享,可在线阅读,更多相关《专业课程设计OQPSK通信系统的matlab仿真分析.docx(26页珍藏版)》请在冰点文库上搜索。

专业课程设计OQPSK通信系统的matlab仿真分析.docx

专业课程设计OQPSK通信系统的matlab仿真分析

说明

1.课程设计任务书由指导老师填写,并经专业学科组审定,下达成学生。

2.学生依据指导老师下达任务书独立完成课程设计。

3.本任务书在课程设计完成后,和论文一起交指导老师,作为论文评阅和课程设计答辩关键档案资料。

 

一、课程设计关键内容和基础要求

1产生等概率且相互独立二进制序列,画出时域和频域波形;

2产生均值为0,方差为1加性高斯随机噪声;

3进行OQPSK调制,画出波形;

4进行误码率分析,并和理论值比较;

5解调OQPSK,画出眼图。

6画出星座图

二、课程设计图纸内容及张数

本试验没有要求图纸内容,在试验结果中附有此次试验结果图

三、课程设计应完成软硬件名称、内容及关键技术指标

MATLAB7.0

四、关键参考资料

通信原理基础(北京邮电大学出版社)

通信原理(国防工业出版社)樊昌信曹丽娜编著

信号和系统——MATLAB综合试验(高等教育出版社)

MATLAB7辅助信号处理技术和应用(电子工业出版社)飞思科技产品研发中心编著

窗体顶端

窗体底端

OQPSK通信系统matlab仿真分析

1设计目标和意义

1.对oqpsk进行调制和解调,经过MATLAB编程,掌握MATLAB使用,熟练掌握OQPSK调制原理,解调原理。

2.对OQPSK通信系统进行matlab仿真分析,分析起信噪比和差错率。

为现实中通信系统调制,解调,及信道传输进行理论指导。

2设计原理

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.

图3:

OQPSK调制原理框图

经OQPSK调制后,调制点星相图和状态转移图图4所表示。

⑵OQPSK解调

OQPSK信号可采取正交相干解调方法解调,其解调原理图a所表示。

由图a能够看出,OQPSK和QPSK信号解调原理基础相同,其差异仅在于对Q支路信号抽样判决后要延迟Tb/2,这是因为在调制时,Q支路信号在时间上偏移了Tb/2,所以抽样判决时刻也对应偏移了Tb/2,以确保对两支路交错抽样。

⑶眼图是信号由垂直扫描进入和同周期水平扫描锯齿波叠加到示波器上时到得图案。

眼图能够反应信号在传输过程中受到信道噪声影响强度,眼图越模糊,眼睛越闭合,则说明噪声越强,反之,则说明噪声强度弱,也能说明信道性能更优良。

3设计结果及分析

⑴输入二进制序列和串并转换成上下两路信号,下支路信号已延时,由产生随机序列能够知道前十个码元为,映射电平为1-1-11-1-111-11,下面抽样脉冲和ts=1矩形脉冲相卷即为输入信号

⑵上下支路分别经过调制后信号

⑶调制后信号和加了高斯白噪声信号

 

⑷调制后信号乘以相干载波后信号,经过低通滤波器和经过抽样判决后信号

(前面上下支路信号和判决后信号对比,能够看出全部有延时)

⑸恢复成最终信号和原始信号对比

⑹oqpsk星座图

⑺oqpsk眼图

⑻oqpsk系统理论误码率

⑼此次试验中实际误码率

加入不一样噪声进行循环rt=1.8%

(四)matlab程序及其功效

⑴主程序和注释

clc;

A=1;%载波幅度

fc=2;%载波频率

Ts=1;%码元宽度

fs=1/Ts

B1=fs;%低通滤波器宽度

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;%设定EbNo范围

EsN0=10.^(EsN0dB/10);

rt=zeros(1,length(EsN0dB));%初始化误码率向量

M=4;

%产生二进制信源

m=randn(1,N);%产生1到n随机数

d=sign(m);%将大于0变为1小于0变为-1

dd=sigexpand(d,fc*N_sample);%将序列d周期变为Ts

gt=ones(1,fc*N_sample);%产生宽度为Ts矩形窗

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)');

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=[];

fori=1:

N

ifrem(i,2)==1

d1((i+1)/2)=d(i);

else

d2(i/2)=d(i);

end

end

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)');

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('载波信号功率谱图');

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;

 

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)');

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);

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('下支路抽样判决后信号时域波形图');

grid;

dd22DLY=d_NRZ11DLY(fc*N_sample:

2*fc*N_sample:

end);

%并串转换

ddd=[];

fors=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);

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));

%经过一系列计算能够得到

%

%因为

%能够深入得到,

semilogy(EsN0dB,Ps,'rd-');

xlabel('Es/N0(dB)');ylabel('误码率');

gridon;

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);

%计算信号傅里叶变换

%Inputisthetimeandthesignalvectors,thelengthoftimemustgreater

%than2

%Outputisthefrequencyandthesignalspectrum

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);

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:

frequencysamples

%sf:

inputdataspectrumsamples

%B:

lowpass'sbandwidthwitharectanglelowpass

%output:

%t:

sample

%st:

outpu

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2