ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:702.74KB ,
资源ID:10187635      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10187635.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的扩频通信仿真.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的扩频通信仿真.docx

1、基于MATLAB的扩频通信仿真基于MATLAB的扩频通信仿真 1. 仿真原理扩展频谱通信具有很强的抗干扰性,其多址能力、保密、抗多径等功能也倍受人们的关注,被广泛的应用于军事通信和民用通信中。扩频技术,将信号扩展到很宽的频谱上,在接收端对扩频信号进行相关处理即带宽压缩,恢复成窄带信号。对干扰信号而言,由于与扩频信号不相关,则被扩展到一个很宽的频带上,使之进入信号通频带内的干扰功率大大的降低,具有很强的对抗能力。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大

2、功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。使用MATLAB进行通信仿真有两种方式,分别是使用m文件编写程序和用SIMULINK进行可视化建模。长期以来,人们总是想法使信号所占频谱尽量的窄,以充分利用十分宝贵的频谱资源。为什么要用这样宽频带的信号来传送信息呢? 简单的回答就是主要为了通信的安全可靠。扩频通信的基本特点是传输信号所占用的频带宽度(W )远大于原始信息本身实际所需的最小(有效)带宽(DF) ,其比值称为处理增益Gp:Gp =W

3、/F (1)众所周知,任何信息的有效传输都需要一定的频率宽度,如话音为1. 7kHz3. 1kHz,电视图像则宽到数兆赫。为了充分利用有限的频率资源,增加通路数目,人们广泛选择不同调制方式,采用宽频信道(同轴电缆、微波和光纤等) ,和压缩频带等措施,同时力求使传输的媒介中传输的信号占用尽量窄的带宽。因现今使用的电话、广播系统中,无论是采用调幅、调频或脉冲编码调制制式, Gp值一般都在十多倍范围内,统称为“窄带通信”。而扩频通信的Gp值,高达数百、上千,称为“宽带通信”。扩频通信的可行性,是从信息论和抗干扰理论的基本公式中引伸而来的。信息论中关于信息容量的香农( Shannon)公式为:C =W

4、log2 (1 + P /N ) (2)其中:C信道容量(用传输速率度量) ,W 信号频带宽度, 信号功率, N 白噪声功率。式( 2)说明,在给定的传输速率C不变的条件下, 频带宽度W和信噪比P /N 是可以互换的。即可通过增加频带宽度的方法,在较低的信噪比P /N (S /N)情况下, 传输信息。扩展频谱换取信噪比要求的降低,是扩频通信的重要特点,并由此为扩频通信的应用奠定了基础。扩频通信与一般的通信系统相比,主要是在发射端增加了扩频调制,而在接收端增加了扩频解调的过程,扩频通信按照其工作方式不同主要分为直接序列扩频系统、跳频扩频系统、跳时扩频系统、现行调频系统和混合调频系统。现以直接序列

5、扩频系统为例说明扩频通信的实现方法。下图1为直接序列扩频系统的原理框图。图1 直接序列扩频系统原理图由直扩序列扩频系统原理图可以看出,在发射端,信源输出的信号与伪随机码产生器产生的伪随机码进行模2加,产生一速率与伪随机码速率相同的扩频序列,然后再用扩频序列去调制载波,这样得到已扩频调制的射频信号。在接收端,接受到的扩频信号经高放和混频后,用与发射端同步的伪随机序列对扩频调制信号进行相关解扩,将信号的频带恢复为信息序列的频带,然后进行解调,恢复出所传输的信息。2SIMULINK模型建立基于MATLAB/Simulink所建立的扩频通信系统的仿真模型,能够反映扩频通信系统的动态工作过程,可进行波形

6、观察、品剖分析和性能分析等,同时能根据研究和设计的需要扩展仿真模型,实现以扩频通信为基础的现代通信的模拟仿真,为系统的研究和设计提供强有力的平台。图2为基于MATLAB/Simulink的扩频通信系统的仿真模型。图2 基于Simulink 的扩频通信系统的仿真模型2.1 随机整数发生器(Random Integer genarator)随机整数发生器(Randon Integer generator)作为仿真系统的信源,随机整数发生器产生二进制随机信号,采用时间、初始状态可自由设置,从而满足扩频通信系统所需信源的要求。2.2 PN序列发生器(PN Sequence Generator)用PN序

7、列发生器(PN Sequence Generator)产生伪随机码,对基带信号进行扩频。扩频过程通过信息码与PN码进行双极性变换后相乘加以实现。解扩过程与扩频过程相同,即将接收的信号用PN码进行第二次扩频处理。2.3 最小相移键控调制(M-PSK Modulator Passband)对基带信号进行数字调制,将频谱从基带搬移至频带,以实现远距离传输的效果。2.4 加性高斯白噪声信道(AWGN Channel)信号通过加性高斯白噪声信道,以达到对信号的传输后进行再进行解扩解调的目的。改信道信噪比参数设置为负数,可验证扩频通信系统具有良好的抗噪声能力。2.5 最小相移键控解调 (M-PSK Dem

8、odulator Passband)对解扩后的信号进行解调,恢复基带信号。2.6 误码率分析仪(Error Rate Calculation)在误码率计算中,接收到的信号,由于经过扩频解扩、调制解调、相关统计等处理,会存在一个延迟,在误码仪模块的对话框中要设置一个合适的延迟。2.7 其他设置2.7.1 RELAY 的设置2.7.1 product的设置2.7.3 display 的设置2.7.4 频谱分析仪(spectrum scope)的设置系统中有四个频谱分析仪器,分别命名为:baseband、mod、SS和DSS。其中,baseband能观察基带信号的频谱;mod能观察到基带信号调制到频

9、带后的频谱;SS能观察扩频后的频谱;DSS能观察解扩解调后的接受端输出信号的频谱。这四个频谱分析仪的参数设置大致一致,其前方的零阶保持器的采样时间略有不同。频谱分析仪名称BasebandModSSDSS采样时间(s)0.0011/300000.001/310.0013. M文件编写仿真程序用m文件编写的MATLBA程序来实现观察系统在不同信噪比下的误码率变化情况。此仿真要实现扩频码的产生、发射机部分、接收机部分、信道仿真部分以及误码分析部分,此外还有进行循环仿真以达到绘出信噪比与误码率见的函数图。3.1 扩频码的产生选取m序列作为仿真系统的扩频码,产生函数如下:function mout =

10、mseq(stg, taps, inidata, n) %变量含义说明 % stg m序列阶数% taps 线性移位寄存器的系数% inidata 序列的初始化% n 输出序列的数目 % mout 输出的m序列if nargin 1 for ii=2:n mout(ii,:) = shift(mout(ii-1,:),1,0); end end3.2 发射机部分发射机部分包括扩频和调制两部分。3.2.1 QPSK调制部分此处采用QPSK调制,相比SIMULINK的M-PSK调制的实现要求要低一些。function iout,qout=qpskmod(paradata,para,nd,ml) %

11、各变量含义说明 % paradata 输入数据% iout 输出的实部数据% qout 输出的虚部数据% para 并行信道数% nd 输入数据个数% ml 调制阶数 m2=ml./2; paradata2=paradata.*2-1; count2=0; for jj=1:nd isi = zeros(para,1); isq = zeros(para,1); for ii = 1 : m2 isi = isi + 2.( m2 - ii ) .* paradata2(1:para),ii+count2); isq = isq + 2.( m2 - ii ) .* paradata2(1:p

12、ara),m2+ii+count2); end iout(1:para),jj)=isi; qout(1:para),jj)=isq; count2=count2+ml; end3.2.2 扩频部分function iout, qout = spread(idata, qdata, code1) %变量含义说明 % idata 输入序列实部 % qdata 输入序列虚部 % iout 输出序列实部 % qout 输出序列虚部% code1 扩频码序列switch nargin case 0 , 1 error(lack of input argument); case 2 code1 = qd

13、ata; qdata = idata; end hn,vn = size(idata); hc,vc = size(code1); if hn hc error(lack of spread code sequences); end iout = zeros(hn,vn*vc); qout = zeros(hn,vn*vc); for ii=1:hn iout(ii,:) = reshape(rot90(code1(ii,:),3)*idata(ii,:),1,vn*vc); qout(ii,:) = reshape(rot90(code1(ii,:),3)*qdata(ii,:),1,vn*

14、vc); end3.3 信道仿真部分实现高斯白噪声代码函数function iout, qout = comb2(idata, qdata, attn) %各变量含义说明% idata 输入序列实部% qdata 输入序列虚部 % iout 输出序列实部 % qout 输出序列虚部% attn 根据信噪比得到的信号衰减水平 v = length(idata); h = length(attn); iout = zeros(h,v); qout = zeros(h,v); for ii=1:h iout(ii,:) = idata + randn(1,v) * attn(ii); qout(ii

15、,:) = qdata + randn(1,v) * attn(ii); end 3.4 接收机部分3.4.1 接收机的解扩部分函数function iout, qout = despread(idata, qdata, code1) %各变量含义说明% idata 输入序列实部 % qdata 输入序列虚部 % iout 输出序列实部 % qout 输出序列虚部 % code1 扩频码序列 switch nargin case 0 , 1 error(lack of input argument); case 2 code1 = qdata; qdata = idata; end hn,vn

16、 = size(idata); hc,vc = size(code1); vn = fix(vn/vc); iout = zeros(hc,vn); qout = zeros(hc,vn); for ii=1:hc iout(ii,:) = rot90(flipud(rot90(reshape(idata(ii,:),vc,vn)*rot90(code1(ii,:),3); qout(ii,:) = rot90(flipud(rot90(reshape(qdata(ii,:),vc,vn)*rot90(code1(ii,:),3); end3.4.2 接收机解调部分的函数function de

17、modata=qpskdemod(idata,qdata,para,nd,ml) %各变量含义说明% idata 输入数据的实部 % qdata 输入数据的虚部% demodata 解调后的数据% para 并行的信道数% nd 输入数据个数% ml 调制阶数demodata=zeros(para,ml*nd); demodata(1:para),(1:ml:ml*nd-1)=idata(1:para),(1:nd)=0; demodata(1:para),(2:ml:ml*nd)=qdata(1:para),(1:nd)=0; 3.5 误码计算和绘图部分%误码率分析 noe2 = sum(s

18、um(abs(data-demodata); nod2 = user * nd * ml; noe = noe + noe2; nod = nod + nod2; % fprintf(%dt%en,ii,noe2/nod2); end %数据文件 ber = noe / nod; fprintf(%dt%dt%dt%en,ebn0,noe,nod,noe/nod); fid = fopen(BER.dat,a); fprintf(fid,%dt%et%ft%ftn,ebn0,noe/nod,noe,nod); fclose(fid); err_rate_final(ebn0+6)=ber;en

19、d%性能仿真图 figuresemilogy(SNR,err_rate_final,b-*); xlabel(信噪比/dB)ylabel(误码率)axis(-5,10,0,1)grid on3.6 初始化设置以及仿真循环设置Main函数为clear all;clc sr = 256000.0; % 符号速率ml = 2; % 调制阶数 br = sr * ml; % 比特速率 nd = 100; % 符号数SNR=-5:1:10; % Eb/No %*扩频码初值设定* user = 1; % 用户数stage = 3; % 序列阶数 ptap1 = 1 3; % 第一个线性移位寄存器的系数di

20、sp(-start-);%*扩频码的产生*for ebn0=-5:1:10 % m序列code = mseq(stage,ptap1,regi1,user); code = code * 2 - 1; clen = length(code); %*仿真运算开始* nloop = 1000; % 仿真循环次数noe = 0; nod = 0; for ii=1:nloop %*发射机* data = rand(user,nd*ml) 0.5; ich, qch = qpskmod(data,user,nd,ml); % QPSK 调制 ich1,qch1 = spread(ich,qch,cod

21、e); % 扩频 ich2 = ich1; qch2 = qch1; %*接收机* ich3,qch3 = comb2(ich2,qch2,attn); % 添加高斯白噪声(AWGN) sampl = irfn * IPOINT + 1; ich4 = ich3(:,sampl:IPOINT:IPOINT*nd*clen+sampl-1); qch4 = qch3(:,sampl:IPOINT:IPOINT*nd*clen+sampl-1); ich5 qch5 = despread(ich4,qch4,code); % 解扩 demodata = qpskdemod(ich5,qch5,us

22、er,nd,ml); % QPSK解调%*误码率分析* noe2 = sum(sum(abs(data-demodata); nod2 = user * nd * ml; noe = noe + noe2; nod = nod + nod2; %*数据文件* ber = noe / nod; fprintf(%dt%dt%dt%en,ebn0,noe,nod,noe/nod); fid = fopen(BER.dat,a); fprintf(fid,%dt%et%ft%ftn,ebn0,noe/nod,noe,nod); fclose(fid); err_rate_final(ebn0+6)=

23、ber;%*性能仿真图*figuresemilogy(SNR,err_rate_final,b-*);xlabel(信噪比/dB)ylabel(误码率)axis(-5,10,0,1)grid ondisp(-end-); 4. 仿真结果与分析4.1.1 Simulink仿真结果 基带信号的频谱如下 经调制后频谱如下 扩频后频谱如下 接收端恢复后的输出信号频谱如下 误码计算仪的结果4.1.2 Simulink仿真结果分析可以看出,基带信号的频率分量主要是在-100Hz到100Hz,这与信号源所设置的频率相符合。基带信号进过M-PSK调制后,正频域的频率分量集中在2.9KHz-3.1KHz处,可看

24、出载波频率为3KHz,这个结果与M-PSK调制器所设置的载波频率一致。频带信号经过与PN码相乘扩频后,观察其信号的频谱可以看出,正频域的频率分量主要集中在0Hz到20KHz这主瓣中,带宽扩展了约20倍。此时信号将经过模拟信道的AWGN信道模块,来到接收端。在接收端处,先经过解扩(即与扩频PN码同步的PN码相乘),得到解扩后的频带信号,再经过解调模块,恢复成基带信号。观察恢复后的信号的频谱,与信源处的信号基本一致。再看系统的误码率计算分析。 输出的数据是一个n 行(与输入数据数目相等)3列的矩阵。 第1列是差错率, 第2列是差错码的数量, 第3列是码元总数即前述的n。 可看出,差错率为0.002

25、,差错码的数量为2,码元总数为1000。由此可见,系统具有较好的抗噪声性能。企抗噪声原理如图3所示。图3 扩频系统抗噪声原理示意图4.2.1 m文件的仿真结果仿真结果如图4和图5所示。其中,图4是信号比和误码率的值;图5 是绘制的函数关系图像。 图4 仿真结果的值图5 信噪比和误码率的关系函数图象4.2.2 m文件的仿真结果分析通过观察可知,信噪比越大,系统的误码率越小。这符合通信原理的规律。从图中还可得知,在负的信噪比条件下,扩频通信系统还能有比较小的误码率。可知扩频系统的抗干扰性能很好,能在负信噪比条件下工作。这是因为扩频系统特有的频谱扩展特点和特有的解扩技术,能使有用信号淹没在伪噪声之中

26、,通过相关解扩将之还原。5. 实验总结此次仿真通过MATLAB的SIMULINK仿真实现了扩频系统从PN码产生到扩频和调制后发送到通过加性高斯白噪声然后接收后解扩和解调还原的过程。观察了几个阶段的频谱,对比了各频谱之间的变化,分析了扩频系统抗干扰能力及其抗干扰的原因。除此之外,还通过m文件的编程,第一步观察了不同信噪比条件下扩频通信系统的误码率的大小。分析了扩频通信系统抗干扰能力的优越性。使用SIMULINK仿真和M文件仿真有各自的好处。SIMULINK是可视化的,有模块库的支持,使用十分方便;M文件仿真有很好的计算能力。他们都是通信仿真里面的两把利剑,有些大的系统可能会用到两者的混合仿真。所以,熟悉这两种仿真方式是通信仿真中必不可少的。此次仿真只是粗略地对扩频通信系统进行了仿真,还有各种实际环境中的因素没有考虑。如:中频解调、信道的衰落、传输的损耗等等因素。在往后的仿真中,还可将上诉因素加入到系统中,也可对不同扩频增益的扩频通信系统研究其不同信噪比下的误码率情况。由于篇幅有限,不再赘述。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1