matlab怎么输入仿真代码和程序代码

matlab怎么输入仿真代码和程序代码,第1张

1、首先打开matlab软件,点击Simulink按钮打开Simulink仿真环境(需要一点时间)

2、打开Simulink后,主界面如下所示:

3、点击Simulink界面中的File/New/Model,建立并保存模型文件:

4、在Simulink的左侧资源栏拖拽控件到model文件内并设置连线,

5、检查系统框图无误后点击运行按钮,大概几秒后仿真结束:

6、双击图中的示波器就可以查看系统仿真输出

假如你的电脑里有个开关控制的电灯,你通过点击鼠标打开开关就可以使电脑里的电灯点亮,这就像现实的情况一样。如果你写程序的正确与否代表打开开关的动作,你写好的程序输入到电脑里,如果你的程序正确就能使电脑里的电灯亮否者就灭。就是说仿真是通过电脑模拟现实的情况。仿真源代码其实和源代码有时就是一样,只不过可能要适应某些不同的仿真软件而有修改。

具体可去matlab中文论坛 搜索“直扩系统仿真代码”,有几个把

下面是直扩系统仿真程序,第一段是扩频和调制,第二段是m序列生成,求 第一段程序接着编写解扩和解调的程序~

(1)clc

clear

%.............................生成待传输信息,码元宽度为切普宽度的10倍...................

message=randint(1,4)%随机生成4个0 1码

code=[]

for i=1:length(message)

if message(1,i)==0

code1=zeros(1,10)

else

code1=ones(1,10)

end

code=[code,code1]

end

%...............................生成m序列......................................

a=[ 0 1 0 0 1 1 1 ] %m序列特征多项式

b=[0 0 0 0 0 0 1]%移位寄存器初始状态

c=length(code) %生成m序列长度

m_sequence=mseq(a,b,c)

dsss=code.*m_sequence%扩频

%.............................BPSK调制.......................................

f=20%载波频率,为码元速率二倍

t=0:1/(f-1):1

cp=[]

mod=[]

for j=1:length(dsss)

if dsss(j)==0

cp1=-ones(1,20)

else

cp1=ones(1,20)

end

c=cos(2*pi*f*t)

cp=[cp,cp1]

mod=[mod,c]

end

bpsk=cp.*mod

plot(bpsk,'linewidth',1.5)grid on

ylabel('bpsk modulation')

axis([0 20*length(dsss) -2 2])

(2)

function[seq]=mseq(connections,registers,len)

m=length(connections)

L=2^m-1%周期长度

if len==0

len=L

end

fan=0

for i=1:len

seq(i)=registers(m)

for j=1:m

fan=fan+connections(j)*registers(j)

fan=(mod(fan,2))

end

for t=m:-1:2%寄存器移位

registers(t)=registers(t-1)

end

registers(1)=fan

fan=0

end


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

原文地址:https://54852.com/yw/12128638.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存