MATLAB编写串口通讯软件!跪求大神们

MATLAB编写串口通讯软件!跪求大神们,第1张

感性入门篇:在command window里键入tmtool你就入门了

tmtool也即test&measurement tool是一个通信工具 可以自动生成代码

下面附上串口通信程序的模板:

%注:此m文件无握手功能

clear,close all

%开启串口通信,以COM3为例

obj1 = instrfind('Type', 'serial', 'Port', 'COM3', 'Tag', '') %MATLAB将串口当做文件来读写

if isempty(obj1)

obj1 = serial('COM3')

else

fclose(obj1)

obj1 = obj1(1)

end

fopen(obj1)

%中间这个部分是程序的具体功能实现部分,自己写拉

%发送控制指令

switch y

case 1

fwrite(obj1, evalin('base', '0'))

case 2

fwrite(obj1, evalin('base', '1'))

case 3

fwrite(obj1, evalin('base', '2'))

otherwise

disp('error')

end

%关串口

fclose(obj1)

delete(obj1)

clear obj1

你最好连上硬件试试,这样才学得进去。共同进步啊~

rho_b1=0:5:35

rho_b2=0:0.1:35

for i=1:length(rho_b1)

smlid_err_prb(i)=ssfh_Pe(rho_b1(i))

end

for i=1:length(rho_b2)

temp=10^(rho_b2(i)/10)

if(temp>2)

theo_err_rate(i)=1/(exp(1)*temp)

else

theo_err_rate(i)=(1/2)*exp(-temp/2)

end

end

semilogy(rho_b1,smlid_err_prb,'k*',rho_b2,theo_err_rate,'k-)

在程序中调用了ssfh_Pe子函数,程序如下:

function[p]=ssfh_Pe(tho_in_dB)

rho=10^(rho_in_dB/10)

Eb=rho

if(rho>2) alpa=2/rho

else alpa=1

end

agma=sqrt(1/(2*alpha))

N=10000

for i=1:N

temp=rand

if(temp<0.5)data(i)=1

else data(i)=0

end

end

for i=1:N

if(data(i)==0)

rlc(i)=sqrt(Eb)rls(i)=0r2c(i)=0r2s(i)=0

else

rlc(i)=0rls(i)=0r2c(i)=sqrt(Eb)r2s(i)=0

end

if(rand<alpha)

rlc(i)=rlc(i)+gngauss(sgma)

rls(i)=rls(i)+gngauss(sgma)

r2c(i)=r2c(i)+gngauss(sgma)

r2s(i)=r2s(i)+gngauss(sgma)

end

end

num_of_err=0

for i=1:N

r1=rlc(i)^2+rls(i)^2

r2=r2c(i)^2+r2s(i)^2

if(r1>r2)decis=0

else decis=1

end

if(decis~=data(i))

num_off_eff=num_of_err+1

end

end

p=num_of_err/N

其中高斯分布随机变量函数gngauss程序如下

function[gsrv1,gsrv2]=gngauss(n,sgma)

if nargin==0,

m=0sgma=1

elseif nargin==1,

sgma=mm=0

end

u=rand

z=sgma*(sqrt(2*log(1/(1-u))))

u=rand

gsrv1=m+z*cos(2*pi*u)

gsrv2=m+z*sin(2*pi*u)

GUI中通过控件调用M里面的函数,也可以和simulink建立联系,可有simulink输出波形,并给出分析。基本上你的题目已经涵盖了Matlab的三个系统,即GUI,M,simulink。自己学习并从简单 *** 作开始吧。基于MATLAB的扩频通信系统仿真研究范伟翟传润战兴群(上海交通大学电子信息与电气工程学院,200030,上海)摘要本文阐述了扩展频谱通信技术的理论基础和实现方法,利用MATLAB提供的可视化工具Simulink建立了扩频通信系统仿真模型,详细讲述了各模块的设计,并指出了仿真建模中要注意的问题。在给定仿真条件下,运行了仿真程序,得到了预期的仿真结果。同时,利用建立的仿真系统,研究了扩频增益与输出端信噪比的关系,结果表明,在相同误码率下,增大扩频增益,可以提高系统输出端的信噪比,从而提高通信系统的抗干扰能力。关键词扩频通信,信噪比,误码率,扩频增益中图分类号:TN914.42文献标识码:ASimulationoftheSpreadSpectrumCommunicationSystemBasedonMATLABFANWei,ZHAIChuan-run,ZHANXing-qun(SchoolofElectronic,InformationandElectricalEngineering,ShanghaiJiaotongUniversity,200030,Shanghai)Abstract:Thetheorybaseandrealizingmethodsofthespreadspectrumcommunicationtechnologywaspresentedinthisstudy.ThesimulationmodelofthespreadspectrumcommunicationsystemwasbuiltbyusingSIMULINK,whichisprovidedbyMATLAB.Inaddition,eachmoduleofthesimulationmodelwasintroducedindetail,andpointedouttheproblemsthatmustbepayattentiontointhesystemsimulation.Onthebasisofthedesignedsimulationconditions,thesimulationprogramwasrunandtheanticipantresultsweregained.Moreover,therelationshipbetweenthespreadspectrumgainandthefan-outerrorratewasalsostudiedbyuseofthesimulationsystem.Theresultsshowedthatonthebaseofthesameerrorrate,ifthespreadspectrumgainwasenlarged,theSignal-to-Noiseofthesystemfan-outwouldbeenhancedandtheanti-jammingcapabilityofthecommunicationsystemwouldalsobeenhanced.Keywords:spreadspectrumcommunication,Signal-to-Noise,errorrate,spreadspectrumgain1引言扩展频谱通信(简称扩频通信)与光纤通信、卫星通信,一同被誉为进入信息时代的三大高技术通信传输方式,它是指发送的信息被展宽到一个很宽的频带上,在接收端通过相关接收,将信号恢复到信息带宽的一种系统。采用扩频信号进行通信的优越性在于用扩展频谱的方法可以换取信噪比上的好处,即接收机输出的信噪比相对于输入的信噪比有很大改善,从而提高了系统的抗干扰能力。本文根据扩频通信的原理,利用MATALB提供的可视化仿真工具Simulink建立了扩频通信系统仿真模型,研究了扩频通信的特性和扩频增益与输出端信噪比的关系,目的是为以扩频通信为基础的现代通信的研究和设计提供依据。2扩展频谱通信技术2.1理论基础扩频通信的基本理论是根据信息论中的Shannon公式,即log(1/)2C=B+SN(1)式中:C为系统的信道容量(bit/s);B为系统信道带宽(Hz);S为信号的平均功率;N为噪声功率。Shannon公式表明了一个系统信道无误差地传输信息的能力跟存在于信道中的信噪比(S/N)以及用于传输信息的系统信道带宽(B)之间的关系。该公式说明了两个最重要的概念:一个是在一定的信道容量的条件下,可以用减少发送信号功率、增加信道带宽的法达到提高信道容量的要求;一个是可以采用减少带宽而增加信号功率的法来达到。扩频增益是扩频通信的重要参数,它反应了扩频通信系统抗干扰能力的强弱,其定义为接收机相关器输出信噪比和接收机相关器输入信噪比之比,即dsdsiiBBRRSNSNG===//00(2)式中,Si和S0分别为接收机相关器输入、输出端信号功率;Ni和N0分别为相关器的输入、输出端干扰功率;Rs为伪随机码的信息速率,Rd为基带信号的信息速率;Bs为频谱扩展后的信号带宽,Bd频谱扩展前的信号带宽。2.2实现方法扩频通信与一般的通信系统相比,主要是在发射端增加了扩频调制,而在接收端增加了扩频解调的过程,扩频通信按其工作方式不同主要分为直接序列扩频系统、跳频扩频系统、跳时扩频系统、线性调频系统和混合调频系统。现以直接序列扩频系统为例说明扩频通信的实现方法。图1为直接序列扩频系统的原理框图。图1直接序列扩频系统原理图由直扩序列扩频系统原理图可以看出,在发射端,信源输出的信号与伪随机码产生器产生的伪随机码进行模2加,产生一速率与伪随机码速率相同的扩频序列,然后再用扩频序列去调制载波,这样得到已扩频调制的射频信号。在接收端,接收到的扩频信号经高放和混频后,用与发射端同步的伪随机序列对扩频调制信号进行相关解扩,将信号的频带恢复为信息序列的频带,然后进行解调,恢复出所传输的信息。3系统仿真模型的建立3.1Simulik简介MATLAB最初是Mathworks公司推出的一种数学应用软件,经过多年的发展,开发了包括通信系统在内的多个工具箱,从而成为目前科学研究和工程应用最流行的软件包之一。Simulink是MATLAB中的一种可视化仿真工具,是实现动态系统建模、仿真和分析的一个集成环境,广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。它包括一个复杂的由接受器、信号源、线性和非线性组件以及连接件组成的模块库,用户也可以根据需要定制或者创建自己的模块。Simulink的主要特点在于使用户可以通过简单的鼠标 *** 作和拷贝等命令建立起直观的系统框图模型,用户可以很随意地改变模型中的参数,并可以马上看到改变参数后的结果,从而达到方便、快捷地建模和仿真的目的。3.2模型建立及主要模块设计基于MATLAB/Simulink所建立的扩频通信系统的仿真模型,能够反映扩频通信系统的动态工作过程,可进行波形观察、频谱分析和性能分析等,同时能根据研究和设计的需要扩展仿真模型,实现以扩频通信为基础的现代通信的模拟仿真,为系统的研究和设计提供强有力的平台。图2为基于MATLAB/Simulink的扩频通信系统仿真模型。图2系统仿真模型信源:随机整数发生器(RandomIntegergenerator)作为仿真系统的信源,随机整数发生器产生二进制随机信号,采样时间、初始状态可自由设置,从而满足扩频通信系统所需信接收高放混频解扩解调本振PN码同步信源扩频调制PN码振荡器发射源的要求。扩频与解扩:PN序列生成器模块(PNSequenceGenerator)作为伪随机码产生器,扩频过程通过信息码与PN码进行双极性变换后相乘加以实现。解扩过程与扩频过程相同,即将接收的信号用PN码进行第二次扩频处理。调制与解调:使用二相相移键控PSK方式进行调制、解调。调制由正弦载波与双极性扩频码直接相乘实现,采用相干解调法进行解调。信道:传输信道为加性高斯白噪声信道。在加性高斯白噪声信道模块中,可进行信号功率和信噪比的设置。误码计算:误码计算由误码仪实现,误码仪在通信系统中的主要任务是评估传输系统的误码率,它具有两个输入端口:第一个端口(Tx)接收发送方的输入信号,第二个端口(Rx)接收接收方的输入信号。3.3几点说明在Simulink中,没有单独实现统计的计数器模块,需要自行创建,计数模型的设计如图3。在计数模型中,用与信源和伪随机码同频的脉冲模块分别实现码元同步和切普同步,利用加法器的累加功能,实现每个码元的相关峰值统计。图3计数模型实现框图在扩频通信建模中,扩频与解扩使用的PN码以及调制和解调所使用的载波必须保持同步,因此要注意伪随机码模块和载波模块的参数设置。在误码率计算中,接收到的信号,由于经过扩频解扩、调制解调、相关统计等处理,会存在一个延迟,在误码仪模块的对话框中要设置一个合适的延迟。4仿真结果分析4.1仿真系统运行情况分析在给出下列仿真的条件下,观察仿真运行情况。信息速率20b/s,幅度为1;伪随机序列采用10级,传输速率为200b/s的m序列;载波频率10KHz;信号功率为1W,信噪比30dB;仿真时间设为2s。在这样的仿真条件下,理论上可获得10倍的扩频增益。图4是系统扩频解扩的仿真结果。上图为信源,中图为扩频码,下图为信宿。从图4可见,信源和信宿相同,误码率为0,基于MATLAB/Simulink所设计的仿真系统满足扩频通信系统的软件仿真要求。图4系统扩频解扩的仿真结果4.2扩频增益与输出端信噪比的关系设置信息速率和伪随机序列传输速率,在扩频增益10和50的情况下,不断改变信噪比的大小,从而得到扩频增益、误码率和信噪比的关系如图5。从图5可以看到,在相同误码率下,扩频增益越大,输出端信噪比越大,并且随着系统要求的提高,增大扩频增益,输出端信噪比会得到更大的好处。图5不同扩频增益下误码率仿真曲线5结论扩频通信以其较强的抗干扰、抗衰落、抗多径性能而成为第三代通信的核心技术,本文阐述了扩频通信的理论基础和实现方法,利用MATLAB提供的可视化工具箱Simulink建立了扩频通信系统仿真模型,详细讲述了各模块的设计,并给出了仿真建模中需注意的问题。在给定仿真条件下,运行了仿真系统,验证了所建仿真模型的正确性。通过仿真研究了扩频增益和输出端信噪比的关系,结果表明,在相同误码率下,增大扩频增益,可以提高系统输出端的信噪比,从而提高系统的抗干扰能力。本文作者创新点:通过MATLAB/Simulink建立的仿真平台,研究了扩频增益与误码率、信噪比之间的关系,为以扩频通信为基础的卫星信号设计提供依据。参考文献:1曾兴雯,刘乃安,孙献璞。扩展频谱通信及其多址技术〔M〕。西安:西安电子科技大学出版社,2004。2徐明远,邵玉斌。MATLAB仿真在通信与电子工程中的应用[M]。西安:西安电子科技大学出版社,2005。3李建新,刘乃安,刘继平。现代通信系统分析与仿真-MATALAB通信工具箱〔M〕。西安:西安电子科技大学出版社,2001。4徐明伟,李茜,汤伟。基于MATLAB串口通信的数据采集系统的设计。微计算机信息,2005,21(8-1),89-90。5郭海燕,毕红军。MATLAB在伪随机码的生成及仿真中的应用。计算机仿真,21(3),2004.3。基金项目:上海市科技攻关项目,项目编号:45115031。作者简介:范伟(1973-),男,汉族,硕士研究生,主要研究方向为卫星导航、CDMA扩频通信。E-mail:weifan@sjtu.edu.cn通信地址及邮编:上海市长宁区安顺路220弄18号402室,200051。翟传润(1972-),男,汉族,博士,副教授,主要研究方向为卫星导航和测控技术。战兴群(1970-),男,汉族,博士,教授,主要研究方向为卫星导航和新型控制理论与应用。Authorsbriefintroductions:FaiWei,wasbornin1973,male,theHannationality,masterstudent.HisresearchsubjectsincludethesatellitenavigationandCDMAspreadspectrumcommunication.ZhaiChuan-run,wasbornin1972,male,theHannationality,Ph.D,associateprofessor.Hisresearchsubjectsincludesatellitenavigationandtestcontroltechnique.ZhanXing-qun,wasbornin1970,male,theHannationality,Ph.D,professor.Hisresearchinterestsincludesatellitenavigation,newcontroltheoryandapplication.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8070022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存