
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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)