直接序列扩频Matlab程序
- 格式:doc
- 大小:35.50 KB
- 文档页数:4
直接序列扩频通信系统仿真一、实验的背景及内容1、直接扩频通信的背景扩频通信,即扩展频谱通信(Spread Spectrum Communication),它与光纤通信、卫星通信,一同被誉为进入信息时代的三大高技术通信传输方式。
有关扩频通信技术的观点是在1941年由好莱坞女演员Hedy Lamarr和钢琴家George Antheil提出的。
基于对鱼雷控制的安全无线通信的思路,他们申请了美国专利#2.292.387[1]。
不幸的是,当时该技术并没有引起美国军方的重视,直到十九世纪八十年代才引起关注,将它用于敌对环境中的无线通信系统。
解决了短距离数据收发信机、如:卫星定位系统(GPS)、移动通信系统、WLAN(IEEE802.11a, IEEE802.11b, IEE802.11g)和蓝牙技术等应用的关键问题。
扩频技术也为提高无线电频率的利用率(无线电频谱是有限的因此也是一种昂贵的资源)提供帮助。
扩频通信技术自50年代中期美国军方便开始研究,一直为军事通信所独占,广泛应用于军事通信、电子对抗以及导航、测量等各个领域。
直到80年代初才被应用于民用通信领域。
为了满足日益增长的民用通信容量的需求和有效地利用频谱资源,各国都纷纷提出在数字峰窝移动通信、卫星移动通信和未来的个人通信中采用扩频技术,扩频技术现已广泛应用于蜂窝电话、无绳电话、微波通信、无线数据通信、遥测、监控、报警等等的系统中。
2、实验的内容及意义本次实验主要研究了直接序列扩频系统,建立了直接序列扩频系统的matlab仿真模型,在信道中存在高斯白噪声和干扰的情况下,对系统的在不同扩频增益下的误码率性能进行了仿真及分析。
近年来,随着超大规模集成电路技术、微处理器技术的飞速发展,以及一些新型元器件的应用,扩频通信在技术上已迈上了一个新的台阶,不仅在军事通信中占有重要地位,而且正迅速地渗透到了个人通信和计算机通信等民用领域,成为新世纪最有潜力的通信技术之一因此研究扩频通信具有很深远的意义。
直接序列扩频通信系统与MATLAB仿真摘要:扩频通信系统具有的较强的抗干扰能力,保密性好、易于实现多址保密通信等特点,正从军事应用向民用通信发展。
本文主要介绍了直接序列扩频系统的模型,并利用MATLAB对直扩系统实现仿真。
关键词:扩频通信系统;直接序列扩频;伪随机码;仿真0引言扩频通信(即扩展频谱通信),一般是指用比信号带宽宽得多的频带宽度来传输信息的技术。
随着通信容量的不断增加,频率资源愈发紧张,为了缓解这一突出问题,通常在窄带通信系统中,主要是通过频率划分来防止各信道之间的干扰。
但是,随着扩频通信的研究和运用,由于其对接收端要求强相关性,使得频率可以重复使用,提高了频率利用率。
同时扩频通信的抗干扰能力强,现在已经广泛应用于移动电话、无线电微波通信、无线数据通信、跟踪和报警等系统中。
1扩频通信的理论基础信息论中关于信息容量的仙农(Shannon)公式为其中C为信道容量;W为信号频带宽度;S/N为信噪比。
由式1可得到以下结论:在信道容量C不变的条件下,可用不同带宽W和信噪比S/N组合来传输。
即可以通过增加信号带宽,实现在比较低的信噪比下传送信息。
这样使得有用信号的功率接近噪声的功率甚至淹没在噪声之下,从而具有很好的隐蔽性。
扩频通信就是用扩展频谱来换取信噪比要求的降低,这正是扩频通信的主要特点和理论依据。
扩频通信从早期用于军事保密通信,到现在广泛用于民用通信系统中,并成为现代通信主要发展的方向,是因为它具有窄带通信系统无法比拟的优良性能。
1)抗干扰性强,误码率较低。
接收机必须采用相关检测才能对PN码相同的扩频信号进行解扩,同频信号或其他干扰经解扩后,带宽被展宽,具有良好的抑制能力。
因此误码率也比较低,一般可低于l0-10,完全能满足国内相关系统对通道传输质量的要求。
2)可以实现码分多址。
因为在扩频通信中是采用扩频码序进行扩频调制,可以利用不同的扩频码序列之间较强的自相关性和较弱的互相关性,在接收端利用相关检测技术进行解扩。
基于matlab的直序扩频通信系统的仿真摘要根据扩频理论,用MATLAB对直接序列扩频通信系统进行了仿真。
根据香农定理和科捷尔尼科夫潜在抗干扰理论,通过MATLAB的仿真平台对直扩通信系统进行了仿真,建立了扩频通信系统仿真模型,详细讲述了各个模块的设计,接收端同步捕获过程采用数字匹配滤波器的原理。
在给定的仿真条件下,对仿真程序进行了运行测试,得到了预期的仿真结果。
关键词:直接序列扩频;通信;MATLABDirect sequence spread spectrum communication system basedon matlab simulationAbstractIn this paper, based on the spread spectrum theory, I use MATLAB to simulate the direct sequence spread spectrum.According to the shannon theorem and jie's nico's potential interference theory, direct sequence spread spectrum is simulated by the simulation platform which is offered by MATLAB. And it tells the story of the design of various modules in detail. The receiver synchronization capture process adopts the principle of digital matched filter. In a given simulation conditions, I run the test simulation program and get the expectant simulation results.Key Words:direct sequence spread spectrum, communication, MATLAB目录1绪论31.1 扩频通信的概述31.2扩频通信的发展与应用32 直接序列扩频通信52.1理论基础52.2扩频通信系统的指标62.3扩频通信的种类72.4直接序列扩频通信系统72.5 扩频序列122.6 扩频序列的同步捕获162.6.1 扩频序列的伪码同步162.6.2 扩频序列的同步捕获173 直接扩频系统MATLAB仿真263.1 直接扩频MATLAB仿真组成框图263.2 m序列发生器263.3 高斯噪声263.4干扰和解扩判决273.5仿真结果分析273.6实验心得29附录29参考文献32致331 绪论1.1 扩频通信的概述扩频通信与光纤通信、卫星通信一同被誉为进入信息时代的三大高技术通信传输方式,它是指发送的信息被展宽到一个很宽的频带上,在接收端通过相关接收,将信号恢复到信息带宽的一种系统[1]。
直接序列扩频系统抗同频干扰的MATLAB仿真Simulation of DSSS System with Co-Channel Interference byMATLAB陈吉文,郭伟(西安电子科技大学机电工程学院,陕西西安710071)Chen Ji-wen, Guo Wei(Mechanical-electronic Engineering Institue,Xi’dian University, Shanxi Xi’an 710071)摘要:文中介绍了同频干扰和扩展频谱通信技术,利用MATLAB提供的可视化工具Simulink建立了同频干扰下直接序列扩频通信系统的模型,详细说明了各模块的设计。
在给定仿真条件下,运行了仿真模型,得到了预期的仿真结果,验证了该系统的可行性以及在实际工程中的应用价值。
关键词:同频干扰;直接序列扩频系统; MATLAB;仿真中图分类号:TN914.4 文献标识码:B 文章编号:Abstract:The theory of the Co-Channel Interference and spread spectrum communication technology were introduced in this paper, the simulation model of DSSS (Direct Sequence Spread Spectrum) communication system with Co-Channel Interference was built by using SIMULINK,a visible tool provided by MATLAB, and each module was introduced in detail. With the designed simulation conditions, the simulation model was run and the anticipant results were gained, by which the feasibility and application value in actual engineering of the system was verified.Key words:Co-Channel Interference;DSSS; MATLAB; simulationCLC number: Document code: B Article ID:1 引言在实际的工程应用中有时需要改进传统的扩频系统,重新设计符合工程要求的扩频系统。
《MATLAB扩频通信仿真代码探究》一、概述MATLAB是一种功能强大的数学软件工具,广泛应用于科学和工程领域。
扩频通信是一种在通信系统中应用较多的技术,能够提高通信系统的安全性和抗干扰性。
本文将就MATLAB中扩频通信仿真代码进行探究,以了解其原理和实现。
二、扩频通信技术简介扩频通信是通过在发送端用高速码对数据进行调制,从而增大信号带宽,提高信噪比,以实现更可靠的数据传输。
在接收端,可以利用相同的高速码进行解调,将信号还原为原始数据。
扩频通信技术包括直接序列扩频(DSSS)和正交频分复用(OFDM)等多种方式。
三、MATLAB中的扩频通信仿真代码在MATLAB中,可以利用其丰富的工具箱和函数库,快速实现扩频通信系统的仿真。
通过编写相应的代码,可以模拟扩频通信系统中的传输、接收、信道建模等过程,对系统性能进行评估和优化。
我们需要定义扩频序列,可以选择PN序列或者其他扩频序列。
在发送端,利用扩频序列对数据进行调制,形成扩频信号。
接下来,在信道模型中加入噪声和干扰,模拟真实通信环境。
在接收端,利用相同的扩频序列进行解调,将信号恢复为原始数据。
通过仿真可以得到系统的误码率、传输速率、抗干扰性等性能参数,对系统进行优化和改进。
四、个人观点和理解扩频通信技术在现代通信系统中起着重要作用,其在军事通信、无线网络、卫星通信等领域有着广泛的应用。
利用MATLAB的强大功能,可以快速进行扩频通信系统的仿真和分析,为工程实践提供重要参考。
通过深入学习和探究MATLAB中的扩频通信仿真代码,可以更好地理解扩频通信技术的原理和实现方法,为相关领域的研究和开发提供有力支持。
在总结回顾本文内容时,我们了解了MATLAB中扩频通信仿真代码的实现原理和应用。
通过对扩频通信技术的深入学习和实践,可以更好地掌握通信系统的设计和优化方法,为信息通信领域的发展贡献力量。
总结:通过对MATLAB扩频通信仿真代码的探究,我们深刻理解了扩频通信技术的原理和实现方法,并认识到MATLAB在通信系统仿真中的重要作用。
序列扩频和解扩通信是数字通信中的重要技术之一,通过扩频技术可以实现信息的加密传输和抗干扰能力的提高。
Matlab是一种强大的科学计算软件,它提供了丰富的工具和函数,非常适合用来实现序列扩频和解扩通信系统的模拟和仿真。
本文将通过实际的代码示例,介绍如何使用Matlab实现直接序列扩频和解扩通信系统。
一、直接序列扩频通信系统在直接序列扩频通信系统中,发送端的数据序列经过扩频码序列的点对点乘积,实现信号的扩频。
接收端利用相同的扩频码序列对接收到的信号进行点对点乘积,实现信号的解扩。
以下是Matlab代码示例:1. 生成随机的发送数据序列```matlabN = 1000; 数据序列长度data = randi([0,1],1,N); 生成随机的0/1序列```2. 生成随机的扩频码序列```matlabchip_seq = 2 * randi([0,1],1,N) - 1; 生成随机的±1序列作为扩频码```3. 进行数据序列和扩频码序列的点对点乘积```matlabspread_data = data .* chip_seq; 数据序列点对点乘以扩频码序列```4. 绘制发送端的信号波形```matlabt = 0 : 1/N : 1-1/N; 时间序列subplot(3,1,1);plot(t,data);title('原始数据序列');subplot(3,1,2);plot(t,chip_seq);title('扩频码序列');subplot(3,1,3);plot(t,spread_data);title('扩频后的信号波形');```二、直接序列解扩通信系统在直接序列解扩通信系统中,接收端利用与发送端相同的扩频码序列对接收到的信号进行解扩。
以下是Matlab代码示例:1. 接收到的扩频信号经过与扩频码序列的点对点乘积```matlabreceived_data = spread_data .* chip_seq; 接收到的信号点对点乘以扩频码序列```2. 进行积分处理得到解扩后的数据序列```matlabintegrated_data = sum(reshape(received_data,[],10)); 对接收数据进行10倍超采样和积分处理output_data = integrated_data > 0; 得到解扩后的数据序列```3. 绘制接收端的信号波形和解扩后的数据序列```matlabsubplot(2,1,1);plot(t,received_data);title('接收到的信号波形');subplot(2,1,2);stem(output_data);title('解扩后的数据序列');```通过以上代码示例,我们实现了直接序列扩频和解扩通信系统的Matlab仿真。
基于matlab的直接序列扩频通信系统仿真基于MATLAB的直接序列扩频通信系统仿真1.实验原理:直接序列扩频(DSSS)是直接利用具有高码率的扩频码系列采用各种调制方式在发端与扩展信号的频谱,而在收端,用相同的扩频码序去进行解扩,把扩展宽的扩频信号还原成原始的信息。
它是一种数字调制方法,具体说,就是将信源与一定的PN码(伪噪声码)进行摸二加。
例如说在发射端将"1"用11000100110,而将"0"用00110010110去代替,这个过程就实现了扩频,而在接收机处只要把收到的序列是11000100110就恢复成"1"是00110010110就恢复成"0",这就是解扩。
这样信源速率就被提高了11倍,同时也使处理增益达到 10DB以上,从而有效地提高了整机倍噪比。
1.1 直扩系统模型直接序列扩频系统是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端用与发送端相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信号。
对干扰信号而言,与伪随机码不相关,在接收端被扩展,使落入信号通频带内的干扰信号功率大大降低,从而提高了相关的输出信噪比,达到了抗干扰的目的。
直扩系统一般采用频率调制或相位调制的方式来进行数据调制,在码分多址通信中,其调制多采用BPSK、DPSK、QPSK、MPSK 等方式,本实验中采取BPSK方式。
直扩系统的组成如图1所示,与信源输出的信号a(t)是码元持续时间为Ta的信息流,伪随机码产生器产生伪随机码c(t),每个伪随机码的码元宽度为Tc (Tc<<Ta)。
将信息码与伪随机码进行相乘或模二加,产生一速率与伪随机码速率相同的扩频序列,这时信息带宽已经被展宽(如图2b),然后用扩频序列去调制载波,则信号频谱被搬移到射频上(如图2c )。
在接收端,接收到的信号经混频后,用与发射同步的伪随机码对中频信号进行相关解扩,将信号的频带恢复为信息的频带,然后再进行解调,恢复出所传送的信息a(t)。
基于直接扩频序列技术的BPSK系统的仿真设计报告摘要:本文首先介绍了直接序列扩频系统的模型,然后概要阐述了常用的伪随机码以及扩频技术的优点,最后利用MATLAB对BPSK直扩系统进行了仿真。
关键词:直接序列扩频;伪随机码;BPSK;仿真1 引言扩频技术是扩展频谱通信(SSC—Spread Spectrum Communication)的简称,它是随着在军事通信中的应用发展起来的,由于其具有其它一般通信方式不具备的抗于扰强,抗多径衰落好,保密性好等一系列的优点,因此近年来它在民用通信中的应用也开始越来越受到人们的重视。
这次主要研究扩频通信系统中常用直接扩频序列技术的BPSK系统调制方式。
2 直接序列扩频系统直接序列扩频系统又称为直接序列调制系统或伪噪声系统(PN系统),简称为直扩系统,是目前应用较为广泛的一种扩展频谱系统。
人们对直扩系统的研究最早,如美军的国防卫星通信系统(AN-VSC-28)、全球定位系统(GPS)、航天飞机通信用的跟踪和数据中继卫星系统(TDRSS)等都是直扩技术应用的实例。
2.1直扩系统模型直接序列扩频系统是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端用与发送端相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信号。
对干扰信号而言,与伪随机码不相关,在接收端被扩展,使落入信号通频带内的干扰信号功率大大降低,从而提高了相关的输出信噪比,达到了抗干扰的目的。
直扩系统一般采用频率调制或相位调制的方式来进行数据调制,在码分多址通信中,其调制多采用BPSK、DPSK、QPSK、MPSK等方式。
直扩系统的组成如图1所示,与信源输出的信号a(t)是码元持续时间为Ta的信息流,伪随机码产生器产生伪随机码c(t),每个伪随机码的码元宽度为Tc (Tc<<Ta)。
将信息码与伪随机码进行相乘或模二加,产生一速率与伪随机码速率相同的扩频序列,这时信息带宽已经被展宽(如图2b),然后用扩频序列去调制载波,则信号频谱被搬移到射频上(如图2c )。
直接序列扩频Matlab程序
直接序列扩频通信可以有效地抵抗来自信道中的窄带干扰。
在一个直扩通信系统中,扩频是通过伪噪声序列(PN)对发送的信息数据进行调制来实现的。
在接收端,原伪噪声序列和所收信号的相关运算可将窄带干扰扩展到DS信号的整个频带,使干扰等效为幅度较低频谱较平
坦的噪声;同时,将DS信号解扩, 恢复原始信息数据。
- The direct sequence spread spectrum correspondence may effectively resist from the channel in selective interference. Straight expands in the communications system in, the wide frequency is (PN) carries on through the false noise sequence to the transmission information data modulates realizes. In the receiving end, the original false noise sequence and receives the signal the correlation operation to be possible to expand the selective interference to the DS signal entire frequency band, causes the disturbance equivalent for a scope lower frequency spectrum smoother noise; At the same time, expands the DS signal solution, restores the primary information data.
======================
function [Y]=DSSS(X, mode)
% 完成DSSS调制解调功能
% mode=[1,2]. 1进行调制,2进行解调,未指定时自动完成调制和解调两个功能。
switch nargin
case 0
X='This is a test.';
Y=DSSS(X);
return
case 1
Y1=DSSS(X, 1);
Y2=DSSS(Y1, 2);
Y=Y2;
return;
case 2
if mode==1%调制
D=ones(1,7);
m_sequence=Msequence(D);
X_length=length(X);
ascii_value=abs(X);
ascii_binary=zeros(X_length,7);
%将数据转换为ASCII二进制码
for ii=1:X_length
ascii_binary(ii,:)=Binary(ascii_value(ii));
end
subplot(2,3,1);plot(reshape(ascii_binary,1,X_length*7));title('A:输入数据');
%扩频
Sp_expand=zeros(X_length,127*7);
for ii=1:X_length
for jj=1:7
Sp_expand(ii,127*jj-126:127*jj)=xor(m_sequence,ascii_binary (ii,jj));
end
end
subplot(2,3,2);plot(reshape(Sp_expand,1,X_length*127*7));title('B:数据扩展');
%将扩频码转换为BPSK(1,-1)序列
for ii=1:X_length
for jj=1:127*7
if~(Sp_expand(ii,jj))
Sp_expand(ii,jj)=-1;
end
end
end
Sp_expand_bpsk=reshape(Sp_expand,1,X_length*127*7);
subplot(2,3,3);plot(Sp_expand_bpsk);title('C:BPSK调制')
Y=Sp_expand_bpsk;
elseif mode==2%解调
D=ones(1,7);
m_sequence=Msequence(D);
%将BPSK双极性转换为单极性
l=length(X)/(127*7);
X_length=length(X);
for ii=1:X_length
if X(ii)==-1
X(ii)=0;
end
end
Sp_expand=reshape(X,l,127*7);
subplot(2,3,4);plot(X);title('D:数据传输');
ascii_binary=zeros(l,7);
Demodulate_binary=zeros(l,127*7);
%接收处解调
for ii=1:l
for jj=1:7
Demodulate(ii,127*jj-126:127*jj)=xor(m_sequence,
Sp_expand(ii,127*jj-126:127*jj));
end
end
for ii=1:l
for jj=1:7
ascii_binary(ii,jj)=Demodulate(ii,127*jj-126);
end
end
subplot(2,3,6);plot(reshape(ascii_binary,1,l*7));title('E:数据输出');
%将ASCII二进制转换为输出数据
A=zeros(1,l);
for ii=1:l
A(ii)=Ascii(ascii_binary(ii,:));
end
Y=char(A);
else
mode=1;
end
return
end
%代码主体,执行中画出各点波形。
%ASCII数值二进制比特转换
function [YY]=Binary(Z1)
z=zeros(1,7);
z(1)=mod(Z1,2);
a=floor(Z1/2);
for ll=1:6
z(ll+1)=mod(a,2);
a=floor(a/2);
if a==0
break;
end
end
YY=z;
%二进制比特转换为ASCII数值
function [ZZ]=Ascii(Z2)
l=length(Z2);
A=0;
for ii=1:l
A=Z2(ii)*2^(ii-1)+A;
end
ZZ=A;
%生成m序列
function [Y]=Msequence(X)
switch nargin
case 0
Y=Msequence(X);
return
case 1
l=length(X);
mp_register=X;
out_sequence=zeros(1,2^l-1);
sum_xor=0;
for ii=1:2^l-1
out_sequence(ii)=mp_register(l);
sum_xor=xor(mp_register(l),mp_register(l-1)); for jj=1:l-1
mp_register(l-jj+1)=mp_register(l-jj);
end
mp_register(1)=sum_xor;
if mp_register==X
break;
end
end
Y=out_sequence;
return
end。