




已阅读5页,还剩78页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告姓名:xx 学号: 班级: 院系:信息与电气工程学院专业:通信工程 一、课程设计目的及内容1.1、课程设计的目的通过本课程的学习我们不仅能加深理解和巩固理论课上所学的有关 PCM编码和解码的基本概念、基本理论和基本方法,而且能锻炼我们分析问题和解决问题的能力;同时对我们进行良好的独立工作习惯和科学素质的培养,为今后参加科学工作打下良好的基础。本课程设计主要研究AWGN信道中不同调制方式的仿真。通过完成本课题的设计,拟达到以下目的:1学习如何利用计算机仿真方法和技术对通信系统的理论知识进行验证,并学会搭建简单的系统模型;2掌握MATLAB的基础知识,熟悉MATLAB进行通信系统仿真中各个常用模块的使用方法;3通过系统仿真加深对通信课程理论知识的理解。通过该课题的设计与仿真,可以提高学生综合应用所学基础知识的能力和计算机编程的能力,为今后的学习和工作积累经验1.2课程设计的内容 1:AWGN信道中不同调制方式的仿真1) 产生速率可调的数字基带数据,用其对可调的载波分别进行BPSK,QPSK,4QAM,16QAM调制,已调信号通过高斯白噪声通道,在接收端进行解调,恢复原始基带数据。2) 画出上述过程中每一点的波形3) 画出不同调制方式下的信噪比,误码率曲线和星座图,并进行比较4) 将理论计算和仿真系统的结果进行对比5) 设计GUI界面展示本人工作6) 可参考但不允许抄袭网上的程序2:高斯白噪声信道CDMA性能仿真 1:利用m序列产生扩频码,对用户产生的速率可调数字基带数据进行扩频;、2:无需射频调制,仅需考虑基带BPSK调制;3:多个用户的扩频信号经AWGN信道到达接收端,实现用户数据相关检查;4:用户数,扩频增益可调;5:画出不同扩频增益、用户数情况下的信噪比、误码率曲线;二:BPSK仿真设计1:相移键控系统概述相移键控是目前扩频系统中大量使用的调制方式,也是和扩频技术结合最成熟的调制技术,原则上看是一种线性调制。从基带变换到中频以及射频,中间的频谱搬移和信号放大需要一个要求较高的线性信道,因而,设计要求较高。相移键控系统中,有待传输的基带数字脉冲控制着载波相位的变化,从而形成振幅与频率不变,而相位取离散值变化的已调波。2:数字带通传输分类数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。数字带通传输中一般利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制,比如对载波的振幅、频率和相位进行键控可获得振幅键控(ASK)、频移键控(FSK)和相移键控(PSK)。这三种数字调制方式在抗干扰噪声能力和信号频谱利用率等方面,以相干PSK的性能最好,目前已在中、高速传输数据时得到广泛的应用。3:BPSK信号调制/解调原理3.1 BPSK信号调制原理二进制相移键控 BPSK(Binary Phase Shift Keying)方式一般是键控的载波相位按基带脉冲序列的规律而改变的数字调制方式,也就是说,二进制的数字基带信号 0 与 1 分别用相干调制的载波的 0 与相位的波形来表示。其表达式由公式(1-1)给出: (1-1)其中为双极性的二进制数字序列,的取值为 1,为二进制的符号间隔,基带的发送成形滤波器的冲激响应,通常具有升余弦特性;是调制载波的频率,是调制载波的初始相位。用 BPSK 调制方式时,因为发送端以某一个相位作为基准,所以在接收端也一定有这样一个固定的基准相位作为参考。假如参考相位发生变化了,那么接收端恢复的信息也会出错,也就是存在“倒”现象。因此需要在接收端使用载波同步,才能够正确恢复出基带的信号。BPSK信号的调制原理框图如图2-1所示,典型波形如图2-2所示。图2-1 BPSK调制原理图图图2-2 发送码元为1 0 0 1 1的BPSK波形BPSK信号的频谱如图2-3所示,可以计算频谱效率,所谓频谱效率是指信号传输速率与所占带宽之比。在BPSK中,信号码元为,故信号传输速率为,以频谱的主瓣宽度为传输带宽,忽略旁瓣的影响,则射频带宽为2/,频谱效率为: (每赫) 即每赫兹带宽传输0.5b/s。注意,这里是以射频带宽计算的,若以基带带宽来计算,那就是每赫兹1 b/s。图2-3 BPSK的频谱BPSK的调制器非常简单,只要把数字信号与载波相乘即可。不过这里数字信号的“0”要用“-1”来表示(在数字通信中,符号“1”用“+1”来表示,“0”则用“-1”来表示)。由图2-3可见,BPSK波形与信息代码之间的关系是“异变同不变”,即:若本码元与前一码元相异,则本码元内BPSK信号的初相相对于前一码元内BPSK信号末相变化180;否则不变。3.2 BPSK 信号解调原理因为BPSK信号的幅度与基带信号无关,故不能用包络检波法而只能用相干解调法解调BPSK信号,在相干解调过程中需要用到与接收的BPSK信号同频同相的相干载波,相干接收机模型如图2-4所示: 图2-4 BPSK相干接收机模型具体的BPSK信号解调原理框图如图2-5所示。图2-5 BPSK解调原理框图如图2-5给出了一种BPSK信号相干解调原理框图,图中经过带通滤波的信号在相乘器与本地载波相乘,在相干解调中,如何得到与接收的BPSK信号同频同相的相干载波是关键,然后用低通滤波器去除高频分量,再进行积分采样判决,判决器是按极性进行判决,得到最终的二进制信息。假设相干载波的基准相位于BPSK信号的调制载波的基准相位一致。但是,由于在BPSK信号的载波恢复过程中存在的相位迷糊(phase ambiguity),即恢复的本地载波与所需的相干载波可能同相,也可能反相,这种相位关系的不确定性将会造成解调出数字基带信号与发送的数字基带信号正好相反,即1变为0,0变为1,判决器输出数字信号全部出错。这种现象称为BPSK方式的倒现象。载波同步器从BPSK信号中提取的相干载波可能与接收信号的载波同相,也可能反相,称此为相干载波的相位模糊现象。如果收到的信号与载波信号同相,则相乘为正值,积分采样后必为一大于0的值,即可判决为“1”。如果收到的信号与参考信号相反,则相乘之后必为负值,积分采样后判决为“0”,因此解调完成。具体波形如图2-6所示。图2-6 BPSK解调信号示意图4. BPSK的调制代码num=10; %码元个数tnum=200;%码元长度N=num*tnum;%10个码元整体长度a=randint(1,num,2); %产生1行num列的矩阵,矩阵内0和1随机出现fc=0.5; %载波频率为0.5t=0:0.05:9.99;%t从0到9.99,间隔为0.05s=;c=;for i=1:num %i从1到10循环 if(a(i)=0) A=zeros(1,tnum); %i=0时,产生一个码元长度为tnum(200)的0码元 else A=ones(1,tnum); %i=1时,产生一个码元长度为tnum(200)的1码元 end s=s A; %s为随机基带信号 cs=sin(2*pi*fc*t); c=c cs; %c为载波信号end %采用模拟调制方法得到调制信号s_NRZ=;for i=1:num %i从1到num(10)循环 if(a(i)=0) A=ones(1,tnum); %i=0时,产生一个码元长度为tnum(200)的1码元 else A=-1*ones(1,tnum); %i非0时,产生一个码元长度为tnum(200)的-1码元 end s_NRZ=s_NRZ,A; %s_NRZ为双极性非归零码ende=s_NRZ.*c; %e为BPSK调制信号 figure(1); %图1subplot(3,2,1); %图1为32部分的第一部分plot(s); %作s(基带信号)的波形图grid on;axis(0 N -2 2); %横轴长度为0到N,纵轴范围为-2到+2xlabel(基带信号s(t); %x轴的注释ylabel(基带信号幅值); %y轴的注释subplot(323);plot(c);grid on;axis(0 N -2 2);xlabel(BPSK载波信号);ylabel(BPSK载波信号幅值); %作c(BPSK载波信号)的波形图subplot(325);plot(e);grid on;axis(0 N -2 2);xlabel(BPSK调制信号);ylabel(BPSK调制信号幅值); %作e(BPSK调制信号)的波形图 %信号的频谱Fs=200; %采样频率n=length(s); %基带信号长度f=0:Fs/n:Fs-Fs/n-Fs/2; %修正频率f的范围S=fft(s); %基带信号s的快速傅里叶变换E=fft(e); %基带信号e的快速傅里叶变换C=fft(c); %基带信号c的快速傅里叶变换subplot(322);plot(f,abs(fftshift(S); %基带信号的频谱title(基带信号频谱);xlabel(f/hz);ylabel(S(w); grid on;subplot(324);plot(f,abs(fftshift(C); %载波信号的频谱title(载波信号频谱);xlabel(f/hz);ylabel(C(w); grid on;subplot(326);plot(f,abs(fftshift(E); %调制信号的频谱title(调制信号频谱);xlabel(f/hz);ylabel(E(w);grid on; %加高斯噪声am=0.7; %输入信号经信道后振幅由1衰减为0.7SNR=5; %输入信噪比snr=10(SNR/10);N0=(am*am)/2/snr; %计算噪声功率N0_db=10*log10(N0); %将噪声功率转换为dBWni=wgn(1,N,N0_db); % 产生1行N列功率为N0_db的高斯白噪声yi=e+ni; %BSK已调信号中加入白噪声,输入信噪比为SNRfigure(2);subplot(2,1,1);plot(yi);grid on;xlabel(加入高斯白噪声的已调信号yi(t); %带通滤波器b1,a1 = butter(3,2*pi*0.0001,2*pi*0.01); %计算带通滤波器的H(z)系数y=filter(b1,a1,yi); %对信号yi进行滤波,得到信号yfigure(2);subplot(2,1,2);plot(y);grid on;xlabel(经带通滤波器后信号); %与恢复载波相乘x1=2*c.*y;figure(3);subplot(2,1,1);plot(x1);grid on;xlabel(与恢复载波相乘后的信号x1(t); %低通滤波器b2,a2=butter(2,0.005); %计算H(z)系数 ,频率为(1/200)x=filter(b2,a2,x1); %对信号x1滤波,得到信号xfigure(3);subplot(2,1,2);plot(x);grid on;axis(0 N -2 2);xlabel(经低通滤波器后信号波形) %抽样判决x=fun_panjue(x);%调用函数,进行抽样判决figure(4);subplot(2,1,1);plot(x);grid on;xlabel(加噪后解调信号x(t);axis(0 N -2 2); %消除延迟x=fun_yanc(x); %调用函数,进行消除延迟figure(4);subplot(2,1,2);plot(x);grid on;xlabel(加噪后去掉延迟的解调信号x(t);axis(0 N -2 2); %误码率计算Err1=length(find(x=s) %计算解调信号中错误码元个数Pe_test1=Err1/N %计算实际误码率Pe1=(1/2)*erfc(sqrt(snr) %计算系统理论误码率% 理论误码率曲线Pe=;for SNR=1:10 am=0.7; %输入信号经信道后振幅由1衰减为0.7 E=am*am/2; snr=10(SNR/10); N0=(am*am)/(2*snr); no=N0/(2*200); %计算噪声功率 N0_db=10*log10(N0);%将噪声功率转换为dBW ni=wgn(1,N,N0_db);% 产生1行N列的高斯噪声 yi=e+ni; %BSK已调信号中加入白噪声,输入信噪比为SNR y=filter(b1,a1,yi);%对yi进行滤波(带通滤波器),得到信号y x1=2*c.*y; %与恢复载波相乘 xx=filter(b2,a2,x1); %经低通滤波器滤波 xx=fun_panjue(xx);%抽样判决 xx=fun_yanc(xx); %消除延迟 snr=10(SNR/10); Pe=Pe,(1/2)*erfc(sqrt(snr); %计算理论误码率endfigure(5);5运行BPSK后出来的图像BPSK的GUI图形三:QPSK的仿真设计1. QPSK原理 四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45,135,225,315,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。图2-1 QPSK相位图以/4 QPSK信号来分析 当输入的数字信息为“10”码元时,输出已调载波 (2-1) 当输入的数字信息为“00”码元时,输出已调载波 (2-2)当输入的数字信息为“01”码元时,输出已调载波 (2-3)当输入的数字信息为“11”码元时,输出已调载波 (2-4) 图2-2 QPSK调制框图 图2-3 QPSK调制规则 接收机收到某一码元的QPSK信号可表示为:yi(t)=a cos(2fct+n) 其中 (2-5) 图2-4 QPSK解调原理分析由QPSK的解调框图得到: (2-6)(2-7)(2-8)(2-9)符号相位的极性的极性判决器输出AB+11-+01-00+-102 QPSK调制代码clear;N=8;bitstream=1 -1 -1 1 1 1 -1 1;figure(1) subplot(111) stem(bitstream);title(输入的二进制序列);xlabel(码元间距) ylabel(码元) fc=10; %载波频率fs=1800; %采样频率T=0.1; %每符号持续时间N_samples=T*fs; %每符号内的采样点数 t=0:T/N_samples:(T-T/N_samples); %串并转换 figure(2) in1=zeros(1,N/2);in2=zeros(1,N/2); for i=1:N/2 in1(i)=bitstream(2*(i-1)+1); in2(i)=bitstream(2*(i-1)+2);end subplot(211) stem(in1);title(I支路分量)xlabel(码元间距) ylabel(码元) subplot(212) stem(in2);title(Q支路分量)xlabel(码元间距) ylabel(码元) carrier1=cos(2*pi*fc*t); carrier2=sin(2*pi*fc*t); n=length(bitstream)/2; x1=zeros(1,length(carrier1)*n); y1=zeros(1,length(carrier1)*n); for i=1:length(in1) x1(N_samples*(i-1)+1):(N_samples*(i-1)+N_samples)=in1(i)*carrier1; end %载波调制 figure(3) t1=0:T/N_samples:(length(x1)/N_samples)*T-T/N_samples); subplot(211) plot(t1,x1) axis(0 0.4 -3 3 ); title(I支路分量加载波信号) xlabel(时间/s) ylabel(幅值) grid on; for i=1:length(in2) y1(N_samples*(i-1)+1):(N_samples*(i-1)+N_samples)=in2(i)*carrier2; end subplot(212) plot(t1,y1) axis(0 0.4 -3 3 ); title(Q支路分量加载波信号) xlabel(时间/s) ylabel(幅值) grid on; figure(4) z1=x1+y1; subplot(111) plot(t1,z1) axis(0 0.4 -3 3 ); title(QPSK调制信号) xlabel(时间/s) ylabel(幅值) grid on; k = 2; % 每个符号的比特数 EbNo = 5; % 解调门限In dB nsamp = 1; % 采样率 snr = EbNo + 10*log10(k) - 10*log10(nsamp); z2 = awgn(z1,snr,measured); figure(5) for i=1:length(z2)/N_samples x2(N_samples*(i-1)+1):(N_samples*(i-1)+N_samples)=carrier1; end x3=z2.*x2; subplot(211) plot(t1,x3) axis(0 0.4 -3 3 ); title(I支路分量相干解调信号) xlabel(时间/s) ylabel(幅值) grid on; for i=1:length(z2)/N_samples y2(N_samples*(i-1)+1):(N_samples*(i-1)+N_samples)=carrier2; end y3=z2.*y2; subplot(212) plot(t1,y3) axis(0 0.4 -3 3 ); title(Q支路分量相干解调信号) xlabel(时间/s) ylabel(幅值) grid on;%加噪信号通过滤波器 b,a=butter(3,0.1); x3=filter(b,a,x3); b,a=butter(2,0.1); y3=filter(b,a,y3); figure(6) subplot(211) plot(t1,x3); axis(0 0.2 -3 3 ); title(I支路分量相干解调信号通过滤波器) xlabel(时间/s) ylabel(幅值) grid on; subplot(212) plot(t1,y3); axis(0 0.2 -3 3 ); title(Q支路分量相干解调通过滤波器) xlabel(时间/s) ylabel(幅值) grid on; out1=zeros(1,length(x3)/(2*N_samples); for i=0:(N/2-1)if(x3(N_samples*i+N_samples/2)0) out1(i+1)=1; else out1(i+1)=-1; end end out2=zeros(1,length(y3)/(2*N_samples); for j=0:(N/2-1) if(y3(N_samples/4+N_samples*j)+y3(N_samples*3)/4+N_samples*j)/2)0) out2(j+1)=1; else out2(j+1)=-1; end end out=zeros(1,length(bitstream); for k=1:length(bitstream)/2 out(2*(k-1)+1)=out1(k); out(2*(k-1)+2)=out2(k); end figure(7) subplot(211) stem(out); title(QPSK输出信号) ylabel(幅值) axis(0 8 -1 1); spectrum=(real(fft(z1,10*length(z1).2; S_spectrum=spectrum(1:length(spectrum)/2); subplot(212) F=0:fs/(2*length(S_spectrum):fs/2-fs/(2*length(S_spectrum); plot(F,10*log10(S_spectrum) axis(0 50 0 60); title(QPSK信号功率谱密度) xlabel(频率/Hz) ylabel(功率) snr=0:0.5:10; ber=1-(1-1/2*erfc(sqrt(0.4*snr).2; figure(8) semilogy(log(snr),ber,-b*) title(QPSK信号误码率分析) xlabel(信噪比) ylabel(误码率) clcclear allSNR_DB=0:1:12;sum=1000000;data= randsrc(sum,2,0 1);a1,b1=find(data(:,1)=0&data(:,2)=0);message(a1)=-1-j;a2,b2=find(data(:,1)=0&data(:,2)=1);message(a2)=-1+j;a3,b3=find(data(:,1)=1&data(:,2)=0);message(a3)=1-j;a4,b4=find(data(:,1)=1&data(:,2)=1);message(a4)=1+j;scatterplot(message)3 QPSK代码运行后的一些波形4 QPSK的GUI图四:4QAM的仿真设计4.1 QAM调制原理 QAM(Quadrature Amplitude Modulation):正交振幅调制。其映射过程为:将输入的比特信号按所需的QAM 信号来进行M 阶映射,分别映射为IQ 两路,成为复数符号信息4。QAM 调制技术采用振幅和相位进行联合调制,因此单独的使用其中的一种调制,就会演变成其他的调制方式。对于振幅调制而言5,其主要作用是控制载波的振幅大小,因此信号的矢量端点在一条轴线上分布;对于相位调制而言,其主要作用是控制载波相位的变化,因此其信号的矢量端点在圆上分布。QAM 信号阶数不断提高,信号矢量点之间的距离就会变小,因此噪声容限也会变小,在判决的时候就很容易发生错误。 图4.1正交振幅调制原理框图4.2QAM解调原理及方法 利用正交相干解调器,解调器输入端的已调信号与本地恢复的两个正交载波相乘,经过低通滤波器输出两路多电平基带信号X(t)和Y(t),用门限电平为(L-1)的判决器判决后,分别恢复出两路速率为Rb/2的二进制序列,最后经过并/串变换器将两路二进制序列组合为一个速率为Rb的二进制序列【6】。 下图为正交振幅调制解调原理框图:图2.2正交振幅调制解调原理框图4.3设计产生四进制基带信号x=randint(1,N,M);产生一个四进制基带信号,运用stairs函数画出该序列的时域波形。 图4.3四进制基带信号图如图,绘制出横轴(020),纵轴(-15)的四进制基带信号。由图易知,四进制基带信号取值为0,1,2,3。4.4 编程实现4QAM调制调用函数:y=qammod(x,M);qammod函数实现QAM调制,M等于4,其中qammod为matlab的自带函数,对输入的数字基带信号进行M阶的QAM调制,其输出是一个复数,其实部表示调制后的同相分量(I信号),虚部表示调制后的正交分量(Q分量)。 图4.4 4QAM信号的实部和虚部图像由所画的图形可知,调制后的信号实部有两个取值( -1 1 ),虚部两个取值(-1 1),此次设计是进行4QAM调制,所以总共有4种状态。4.5 绘制散点图调用函数scatterplot(y),绘制信号的散点图,也可称星座图。图4.5 无噪声下的4QAM散点图4QAM调制输出的是一个复数,该函数实现的调制输出的星座图是一个矩形,输出有4种状态。4.6编程实现4QAM解调调用函数:z=qamdemod(y,M);与qammod用法格式相似,但功能是实现QAM解调。其中y是QAM信号,M是与调制阶数相同的解调阶数,z为解调输出的四进制基带信号。 图4.6 4QAM解调后四进制基带信号图4.7叠加噪声后,信号的解调 实际生活中的传输信道不可能完全是理想信道,存在加性干扰,噪声将叠加在调制信号上,通过对不同信噪比解调输出信号的分析,可比较不同调制方式的性能。(2)编程实现y1=awgn(y,20);%在已调信号中加入信噪比为20的高斯白噪声y2=awgn(y,-20);%在已调信号中加入信噪比为-20的高斯白噪声Awgn:y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。 图4.7不同信噪比解调恢复后的四进制基带图像通过大信噪比解调后恢复的四进制基带信号和小信噪比解调后恢复的四进制基带信号与原四进制基带信号相比较,可以得出:大信噪比情况下能无差错的恢复原信号,说明4QAM对该种信噪比下的信道具有较强的适应能力,小信噪比情况下已不能恢复原信号。从图中可看出,出现了许多的误判情况。 图4.7-2大信噪比下的散点图图4.7-3小信噪比下的散点图由图3.6和图3.7对比不难看出,当信噪比越小时,散点图越混乱,混乱而模糊的图形是由噪声干扰而形成的。理想信道调制后信号的星座图是一个矩形,大信噪比下调制后输出信号出现偏差,但由大信噪比调制输出的星座图可以看出其偏差还在噪声容限范围内,所以大信噪比下能够无差错得到恢复原信号;小信噪比的调制输出信号的散点图已经不在噪声容限范围内,故不能恢复原信号。4.8绘制频谱图,进行分析调用函数:xw=fft(x,100000);用fft()函数来求序列的傅里叶变换。fs=1000HZ,为采样频率数据点数N=100000。 通过plot函数绘制四进制基带信号频域波形。 图4.8基带信号和无噪声解调后的基带信号频谱图 图4.8-1不同信噪比解调后恢复四进制的基带信号频谱图由图4.8可知,在无噪声下,解调后信号与调制信号频域波形一致,输入的为四进制基带信号,由理论知识可知频率集中在0(低频)处。由图4.8-1可知,大信噪比下的解调信号频谱与原基带信号频谱基本一致,而小信噪比下的解调信号频谱与原基带信号频谱波形上有较大的区别。这也印证了之前的结论:大信噪比情况下能无差错的恢复原信号,说明4QAM对该种信噪比下的信道具有较强的适应能力,小信噪比的情况下已不能恢复原信号。故小信噪比下的频谱图已与原频谱图和大信噪比下的频谱图,波形有了很大差别。4.9误码率分析调用函数: br, Pe(i)=symerr(x,z3);得到信噪比与误码率之间的关系。 semilogy(SNR,Pe);调用semilogy函数绘制信噪比与误码率的关系曲线。下图为信噪比与误码率的关系曲线图:4.10:4QAM的程序代码N=100000;%定义基本参数M=4;fs=1000;x=randint(1,N,M);y=qammod(x,M)z=qamdemod(y,M);y1=awgn(y,20);z1=qamdemod(y1,M);%yl=awgn(y,SNR-10*log10(0.5)-10*log10(N),measured,dB);y2=awgn(y,-20);z2=qamdemod(y2,M);%画实域频域频谱xw=fft(x,100000);mag_xw=abs(xw);zw=fft(z,100000);mag_zw=abs(zw);z1w=fft(z1,100000);mag_z1w=abs(z1w);z2w=fft(z2,100000);mag_z2w=abs(z2w);fs=1000;N=100000;n=0:N-1;f=n*fs/N;%叠加噪声和误码分析SNR=-10:10for i=1:length(SNR); y3=awgn(y,SNR(i); %加入高斯小噪声,信噪比从-10dB到10dBz3=qamdemod(y3,M);%调用数字带通解调函数ddemod对加噪声信号进行解调br, Pe(i)=symerr(x,z3)%对解调后加大噪声信号误码分析,br为符号误差数,Pe(i)为符号误差率endfigure(1)stairs(x);title(四进制基带信号);xlabel(时间 t);ylabel(序列值);axis(1 20 -1 5);grid onfigure(2)subplot(211);stairs(real(y);title(QAM信号实部);axis(1 20 -3 3);grid onsubplot(212);stairs(imag(y);title(QAM信号虚部);axis(1 20 -3 3);grid onfigure(3);stairs(z);title(QAM解调后四进制基带信号);xlabel(时间 t);ylabel(序列值);axis(1 20 -1 5);grid onfigure(4);subplot(3,1,1);stairs(x);title(四进制基带信号);xlabel(时间 t);ylabel(序列值);axis(1 20 -1 4);grid onsubplot(3,1,2);stairs(z1);title(大信噪比解调恢复四进制基带信号);xlabel(时间 t);ylabel(序列值);axis(1 20 -1 4);grid onsubplot(3,1,3);stairs(z2);title(小信噪比解调恢复四进制基带信号);xlabel(时间 t);ylabel(序列值);axis(1 20 -1 4);grid onfigure(5);subplot(211);plot(f,mag_xw);title(四进制基带信号频谱);xlabel(频率 f);ylabel(幅度值);axis(0 1 0 4500);grid onsubplot(212);plot(f,mag_zw);title(无噪声下QAM解调后四进制基带信号频谱);xlabel(频率 f);ylabel(幅度值);axis(0 1 0 4500);grid onfigure(6)subplot(211);plot(f,mag_z1w);title(大信噪比QAM解调恢复四进制基带信号频谱);xlabel(频率 f);ylabel(幅度值);axis(0 1 0 4500);grid onsubplot(212);plot(f,mag_z2w);title(小信噪比QAM解调恢复四进制基带信号频谱);xlabel(频率 f);ylabel(幅度值);axis(0 1 0 4500);grid onfigure(7)semilogy(SNR,Pe); % 调用semilogy函数绘制信噪比与误码率的关系曲线xlabel(信噪比 SNR(r/dB);ylabel(误码率 Pe);title(信噪比与误码率的关系);axis(-10 10 0 1)grid onscatterplot(y)%理想调制输出scatterplot(y1)%大信噪比调制输出scatterplot(y2)%小信噪比调制输出4.11:4QAM的GUI图五:16QAM的仿真设计5.1.1信号源基于MATLAB的16QAM调制与解调,这里采取的是random_binary()函数,该函数不是MATLAB中的内置的子函数,不是通过直接调用得到一连串比特流,而是通过输进代码来实现,每次仿真所产生的比特流一般是不一样的。通过random_binary(),首先是判断有没有输入参数,在没有输入参数的情况下,就指定信息序列为10000个码元,在这10000个码元中以各百分之五十的机会在1,0之间随机选择0,1的取值,因此在这10000个码元中将会由0,1元素随机组成的。如图4-1所示,可以看出该比特序列是由一连串的0,1比特构成的。图4-1 二进制随机比特流 5-1二进制随机比特流5.1.2电平转换在通信系统中为了提高系统信息的传输速率,采用二进制的调制是远远不够的,所以在通信系统的信号发送端一般会对信号进行多进制调制,这样就能使一个码元带有多个比特。由上图可知信号源所产生的信号是二进制的随机序列,reshape(t,n,m)函数是指通过该函数生成n*m矩阵,将t中的数据依次填充到第一列,第二列,依次类推直到第m列。这里通过reshpe()将原始的二进制比特序列每四个分成一组(2的4次幂等于16)并将这一组一组的数据排列成矩阵,再者利用bi2de()函数将矩阵转化成相应的16进制序列。Bi2de()函数中的数组是从左往右看,由上reshape函数可知数组是由每4个比特构成一个分组,所以取值范围是由0000-1111由这样的二进制构成的取值范围转换成十进制的话就是0-15,因此二进制的序列将被转换成16进制的随机信号。如图4-2所示:图5-2 二进制比特流 上述两图都是调用stem()函数,stem()函数主要功能就是用来画图样,使得绘制完的图能更加清晰地表示信号所应处的取值范围内。由于该种图样长得形似火柴梗,因此命名为火柴梗图,像程序中的stem(x(1:50),filled)即火柴梗图的起始端点是从x坐标轴开始,末尾是实心的点如上述的比特序列图所示,如果函数中没有标注filled的话那么所画的图的末尾就会是空心的点如上面的信号序列图所示。从火柴梗图就能够直接得到的模拟信号进行抽样之后并且量化之后的信号。5.1.3QAM调制 在MATLAB上实现QAM调制,在对于QAM调制原理有了深一层次的了解的基础上,通过建立一个qam调制的子函数,该函数就是将进行电平转换之后的码元序列,进行串并转换,将序列分成了正交分量Q和同相分量I,通过滤波之后,将两路信息通过相应的处理之后相加起来得到调制后的qam信号。简言之,函数qam ()即可对基带信号实现QAM既调幅又调频的调制方式。 4-3QAM调制波形 从仿真图中可以看到In是指信号的同相分量如图中的红色波形所示,Qn是指信号的正交分量如图中的绿色波形所示,这两路信号是正交的,将这两路信号分别乘以相位相差90度,具有相同频率的载波相乘,最后将这两路信号合并起来,这样就可以得到QAM信号,如图中的蓝色波形所示。从图中就可以很容易看到QAM调制波形不是等幅调制,其幅度随着两路正交分量的变化而变化。 5.1.4 16QAM星座图 QAM调制之后,我们将样点用星座图表示出来,通过星座图,整个调制过程就会显得更加简单明了。星座图的I轴对应的是0相位的平面,Q轴对应的是90度相位的平面,将已调制的信号映射到IQ平面上就能够在IQ平面上显示出星座点。这里的星座图也是通过建立子函数来实现的,首先是判断程序中是否有输出,如果没有输出的话,就开始做星座图,通过该种星座图来查看传输网络的不足或是外界干扰等因素造成接收终端的不确定性。由发射端,信道,接收端均会引进噪声,噪声会使星座图上的样点不再固定在一个点上而是圆圈,圈的半径的大小决定了相干干扰的程度。系统中发射端和接收端的设备性能不佳的话会造成较为严重的相位失真,这种情况对星座图的影响表现在会有许多离散的点围绕着样点旋转。QAM调制方式中,当载波泄露到输出单元,会造成严重的接收问题,样点脱离原本在星座图上所在的地方,整体的星座图会产生漂移,整个二维平面上就会成一盘散沙,到处都是点17。 通过pl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件民族复兴梦
- 火焊操作培训课件
- 培训现场互动
- 课件朗读绿色的梦
- 美术人体结构课件
- 课件显示屏黑色问题
- 广东工程计量自考试题及答案
- 辣椒种植考试题及答案
- 2025年教师招聘之《幼儿教师招聘》模考模拟试题及答案详解【名校卷】
- 多功能机组操作工转正考核试卷及答案
- 【2025年】黄淮学院招聘事业编制硕士专职辅导员20名考试笔试试题(含答案)
- 2025年教师职称考试试题及答案
- 餐饮咨询顾问合同范本
- 四级专项模拟考试题库及答案
- 2025-2030中医药大健康产业链整合与投资机会分析报告
- 深圳中考英语听说考试模仿朗读技巧点拨
- 2025年人教版小学五年级数学下册期末考试卷(附参考答案和解析)
- 2025年第九届“学宪法、讲宪法”知识竞赛题库及答案(中小学组)
- 部编人教版小学语文六年级上册【课内外阅读理解专项训练(完整)】含答案
- 2025年高考陕晋宁青卷地理试题解读及答案讲评(课件)
- 3.1生活在新型民主国家 教案 -2025-2026学年统编版道德与法治九年级上册
评论
0/150
提交评论