扩频通信完整系统仿真移动通信matlab.docx

上传人:b****9 文档编号:30817485 上传时间:2024-01-30 格式:DOCX 页数:17 大小:106.18KB
下载 相关 举报
扩频通信完整系统仿真移动通信matlab.docx_第1页
第1页 / 共17页
扩频通信完整系统仿真移动通信matlab.docx_第2页
第2页 / 共17页
扩频通信完整系统仿真移动通信matlab.docx_第3页
第3页 / 共17页
扩频通信完整系统仿真移动通信matlab.docx_第4页
第4页 / 共17页
扩频通信完整系统仿真移动通信matlab.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

扩频通信完整系统仿真移动通信matlab.docx

《扩频通信完整系统仿真移动通信matlab.docx》由会员分享,可在线阅读,更多相关《扩频通信完整系统仿真移动通信matlab.docx(17页珍藏版)》请在冰豆网上搜索。

扩频通信完整系统仿真移动通信matlab.docx

扩频通信完整系统仿真移动通信matlab

重庆交通大学信息科学与工程学院

综合性设计性实验报告

班级:

通信工程

(二)班

姓名(学号):

实验项目名称:

扩频通信系统仿真

实验室(中心):

信息科学与工程学院软件中心

指导教师:

李益才

实验完成时间:

2010年5月6日

序号

项目

标准

评分

1

系统演示(功能)

(40%

按要求完成系统功能且界面友好容错能力强(36-40)「

按要求完成系统功能界面一般有较好的容错能力

(32-35)

基本完成系统功能有一定的容错能力(28-31)

基本完成系统功能(24-27分)

未完成系统功能或他人代做或抄袭(15)

2

设计说明书(50%

课程设计书各项目认真填写,具有清晰的设计思路及软件测试结果分析(45-50)

课程设计书各项目认真填写,具有较为清晰的设计思路并对软件测试结果进行了较为清晰的分析(40-44)

课程设计书各项目认真填写,设计思路正确(35-39)

课程设计书进行为较为认真的填写(30-34)

课程设计书有未完成项或各项填写不属实或他人代做或抄袭(15)

4

纪律遵守、群体协

作等(10%

10

教师签字

总分

一、题目

设计题目)

 

扩频通信系统仿真

功能描述

对系统要实现的功能进行描述)

 

系统将基带信号(即信息)的频谱扩展至很宽的频带上,然后再进行传输,即将欲传输的信息数据用伪随机序列编码调制,实现频谱扩展,然后通过信道编码发送出去;接收端采用与发送端完全相同的伪随机序列作为本地解扩信号进行相关处理,以恢复信息,最后进行解调,完成整个系统的接收。

矚慫润厲钐瘗睞枥庑赖。

系统可以在信噪比snr大于-10dB的条件下实现无差错传输。

三、概要设计(根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。

)聞創沟燴鐺險爱氇谴净。

1,系统体系结构:

信号生成扩频

signal

信号

生成器

BPS调制

Chann

d

Bandpas

BPSK解调

》Lowpass:

抽样

判决

rsignal

PNCodeos(2n*fc*t)

awgn()PNCode

cos(2*n*fc*t)

 

2,模块工程描述:

1信号生成器

functionsignal=signalsource(N)

随机生成长度为N的-1、1比特流signal;

2扩频

function[PNCode,signal_spread]=SpreadSpectrum(signal)残骛楼諍锩瀨濟溆塹籟。

生成长度为31的扩频码m序列PNCode;实现随机序列的signal的序列扩频,生成扩频序列signal_spread;

3BPSK调制9

functionsignal_bpsk=BPSKModulation(signal_spread,fb,fc)酽锕极額閉镇桧猪訣锥。

实现扩频序列signal_spread的BPSK调制,生成调制信号signal_bpsk;

4信道

functionsignal_awgn=channel(signal_bpsk,snr)

实现对信号signal_bpsk加载信噪比为snr的高斯白噪声;

5解扩

functionsignal_reverseSpread=ReverseSpread(signal_awgn,PNCode,fc,fb,N)

彈贸摄尔霁毙攬砖卤庑。

实现对信号signal_awgn的直接序列扩频的解扩过程;

6BPSK解调

functionsignal_demodulation=BPSKDemodulation(signal_reverseSpread,fb,fc,N)謀养抟箧飆鐸怼类蒋薔。

实现解扩信号signal_reverseSpread的BPSK解调,且恢复欲传送的比特流signal_demodulation厦礴恳蹒骈時盡继價骚。

四、详细设计(详细说明各功能模块的实现过程,包括用流程图对算法进行描述,所用到的数

据结构等)

1,信号生成器

1代码:

functionsignal=signalsource(N)signal=2*(rand(1,N)>0.5)-1;

②函数输出signal为生成的欲传送的1、-1信息流函数输入N为欲生成的信息流的比特个数

2,扩频

1

茕桢广鳓鯡选块网羈泪

代码:

function[PNCode,signal_spread]=SpreadSpectrum(signal)%%%生成扩频码PNCodea=[1,1,1,1,1];

m=[0,0,1,0,1];PNCode=[];fori=1:

31

R=mod(sum(a.*m),2);PNCode=[PNCode,a(5)];a=[R,a(1:

4)];

endPNCode=2*PNCode-1;%%%进行序列扩频signal_spread=[];fori=1:

length(signal)signal_spread=[signal_spread,signal(i)*PNCode];

end

2函数输入为随机生成的-1、1信息流,函数输出PNCode为长度为31位的扩频码;函数输出signal_spread为扩频序列。

3m序列:

m序列是最长线性移位寄存器序列,由一位寄存器加上反馈信号产生的。

n位线性反馈移位寄存器结构图:

►an-1—

—an-2—

严一1

C2

__-a1

―a0—

C0

C1

Cn-2

Cn-1

模2加法器—

3,BPSK调希9

1代码:

鹅娅尽損鹌惨歷茏鴛賴。

functionsignal_bpsk=BPSKModulation(signal_spread,fb,fc)t=1/(fc*16):

1/(fc*16):

1/fc;

carrier1=[];

carrier2=[];

fori=1:

(fc/fb);

carrier1=[carrier1,cos(2*pi*fc*t+pi/2)];carrier2=[carrier2,cos(2*pi*fc*t-pi/2)];

end

signal_bpsk=[];

fori=1:

length(signal_spread)

ifsignal_spread(i)==1

signal_bpsk=[signal_bpsk,carrier1];

else

signal_bpsk=[signal_bpsk,carrier2];

end

end

2函数输出signal_bpsk为BPSK调制后的信号

函数输入signal_spread为序列扩频后的信号函数输入fb为调制信号的比特速率

函数输入fc为载波信号的频率

3BPSK信号的调制原理框图:

0开关电路

Signal

4,信道

①代码:

functionsignal_awgn=channel(signal_bpsk,snr)

signal_awgn=awgn(signal_bpsk,snr);

②函数输出signal_awgn为加载了高斯白噪声后的信号

函数输入snr为噪声信噪比

5,解扩

1代码:

functionsignal_reverseSpread=ReverseSpread(signal_awgn,PNCode,fc,fb,N)

籟丛妈羥为贍债蛏练淨。

PNCode_spreading=[];

fori=1:

length(PNCode)

forj=1:

16*fc/fb

PNCode_spreading=[PNCode_spreading,PNCode(i)];

end

end

PNCode_spread=[];

fori=1:

N

PNCode_spread=[PNCode_spread,PNCode_spreading];

end

y=PNCode_spread.*signal_awgn;

%%%%fs=59520hzfstop1=2120hzfpass1=3600hzfpass2=3820hzfstop2=5320hz預

頌圣鉉儐歲龈讶骅籴。

loadBandpass;

den=1;

y=[y,zeros(1,length(BandNum)/2)];

signal_reverseSpread=filter(BandNum,den,y);

signal_reverseSpread=signal_reverseSpread(length(BandNum)/2+1:

end);渗釤呛

俨匀谔鱉调硯錦。

2函数输出signal_reverseSpread为解扩后的信号

函数输入PNCode为扩频码,fc为载波频率,fb信息的比特率,N信息流长度

3直接式解扩相关波形参考图:

6,BPSK解调

①代码:

function

signal_demodulation=BPSKDemodulation(signal_reverseSpread,fb,fc,N)泻噦圣骋贶頂廡。

carrier=[];

t=1/(fc*16):

1/(fc*16):

1/fc;

fori=1:

length(signal_reverseSpread)/16carrier=[carrier,cos(2*pi*fc*t+pi/2)];

end

x=signal_reverseSpread.*carrier;

%%%%fs=59520hzfpass1=1240fstop1=2400

loadLowpass;

den=1;

signal_demo=filter(LowNum,den,x);

signal_demodulation=[];

fori=(16*3*31/2):

(16*3*31):

(length(signal_demo)-16*3*31/2)

蔷。

ifsignal_demo(i)>0

signal_demodulation=[signal_demodulation,1];

else

signal_demodulation=[signal_demodulation,-1];

end

铙誅卧

擁締凤袜备訊顎轮烂

end

2函数输出signal_demodulation函数输入signal_reverseSpreadfb为生成的信息流的比特速率fc为载波频率,

N生成的信息流的个数

3BPSK言号的解调原理框图:

为恢复的1、-1比特流;

为解扩后信号

 

定时脉冲

Cos(2*fc*n*t)与发送端载波同频同相

、存在哪些不足

五、测试结果及存在的问题(说明系统的运行效果(附上运行界面图片)以及预期的解决办法)

1,测试结果:

图1欲传送的比特信息流signal与扩展后的信号signal_spread

 

图2BPSK调制后的信号signal_bpsk全图与局部图

 

如』.口齢1=号bpsk

 

图3加载高斯白噪声的信号signal_awgn全图与局部图

Snr=20dB;

Snr=5dB;

导viBnal

加钦.丁声rSM炖^nDn«l«¥>怦审!

HiHl5-

图4与PNCode相乘的信号与经过带通滤波器的信号signal_reverseSpread

>T^Ncnd!

>ilJ韋白*H・■*#

母t±*站勞白勺苗哥vignalr-»v*ri->^piBAEi

图5相干相乘之后的信号与过低通滤波的信号与恢复的原始信号signal_reverse

 

 

 

图6程序运行后的workspace

EX

崔雷S

*St注1

Value

N

1Q

double

PNCcde

<1x31dauble>

double

fb

1240

double

fc

3720

double

signal

-111-

double

signal

awgn

<1x14880

double>

double

signal

bpsk

<1x14880

dauble>

double

signal

_demodu...

H111-1

-111-

double

signal

reverse.

<1x14880

double>

double

signal

spread

<1x310dout)1e>

double

Tb

snr

-5

double

匚中*丁—litDiF看口七0*戸]樹心:

rk玉卫■□亡

2,本次设计的改进:

①代码繁琐:

例子1在实现序列扩频的时候,开始的代码写的很复杂:

signal_spreading=[];

PNCode_spreading=[];

fori=1:

length(signal)

forj=1:

31

signal_spreading=[signal_spreading,signal(i)];end

PNCode_spreading=[PNCode_spreading,PNCode];end

signal_spreading=2*signal_spreading-1;PNCode_spreading=2*PNCode_spreading-1;

signal_spread=signal_spreading.*PNCode_spreading;

改进如下(已在代码中使用):

PNCode=2*PNCode-1;

signal_spread=[];

fori=1:

length(signal)

signal_spread=[signal_spread,signal(i)*PNCode];

end;

例子2:

在实现BPSK解调模块时,进行了2次抽样恢复原信号:

fori=(16*3/2):

(16*3):

(length(signal_demo)-16*3/2)

ifsignal_demo(i)>0

signal_demodulation=[signal_demodulation,1];

else

signal_demodulation=[signal_demodulation,-1];

end

end

signal_reverse=[];

i=1;

forj=16:

31:

31*N

signal_reverse(i)=signal_demodulation(j);

i=i+1;

end

改进:

可以改为1次抽样即可,如下(代码中已使用):

fori=(16*3*31/2):

(16*3):

(length(signal_demo)-16*3*31/2)贓熱俣阃歲匱阊邺

镓騷。

ifsignal_demo(i)>0

signal_demodulation=[signal_demodulation,1];

else

signal_demodulation=[signal_demodulation,-1];

end

end

2本次试验可以使用信号的频谱进行分析,也便能更深的扩频系统中信号的传输;

3序列扩频码可以使用m序列,也可以使用哈达码,复合码,Gold序列等实现;

哈达码的生成:

H=[1];

fori=1:

5

H=[H,H;H,-H];

end

4过多的使用了for语句的嵌套;

5实验在解扩模块中并没有将31位码元解扩为1位码元,从而没有实现真正的解扩,而是在进行

BPSK调制的时候进行抽样判决时才实现31—1的码元的转变;但是还没想到解决的方法?

坛搏乡囂

忏蒌鍥铃氈淚。

六、课程设计心得体会(谈谈自己在课程设计过程中的心得体会)

对扩频系统的理解:

因为之前有过课程设计的经验,于是刚开始的时候没有急于编写代码,而是仔细认真研究书本上的知识,进行消化和理解。

①定性了分析了整个扩频系统;②了

解了扩频系统研究的意义;③更加熟悉和掌握BPSK调制的过程;④了解了扩频码的产生方法;

⑤熟悉和掌握了在matlab上设计滤波器以及函数的调用方式。

蜡變黲癟報伥铉锚鈰赘。

课程设计的收获:

本次课程设计结束了,受益良多。

它带来不仅是知识上的收获,而且精神上的收获也是无尽的。

①本次课程设计是我在大学寥寥可数的几次设计性实验之一,是和同学们一起奋斗的一场经历。

看到同学们的努力,看到老师的辛勤,自己也都不敢懈怠了。

②实验开始的那一刻,告诫自己没有失败,老师既然出了设计项目,既然已经选择的这个设计项目,就不许中途退出,这不是游戏,我想那一刻要的是勇气,是决心吧!

③实验成功的那一刻,收获的是信心,是对自己对于matlab学习的一个肯定,也是对于《移动通信原理》中扩频系统的学习的一种肯定,更是对以后的学习的一种督促,也是对自己的未来大学校门外的生活的一个鼓励。

④还有就是在设计肯定会有不甚理解的地方,这就需要我们自己动手查找资料,增加的不仅是查找的资料上面的知识,更多的搜索的能力。

買鲷鴯譖昙膚遙闫撷凄。

编程体会:

①在编写代码的时候,不急于刚开始就对着电脑编写程序,一定要理解和整理

出来你所想要做什么;②从前都没有画流程图的习惯,不过此次试验之前都有仔细分析,画流

程图,发现在代码编写的过程中这样不仅效率高,而且成功率还快;③在程序中过多的嵌套for

循环语句,所以很容易不小心就会导致长度不匹配等错误,而且这样使得程序的效率降低,所以程序中应尽量避免for语句的嵌套。

④经常有同学到后期的代码编写出现错误,可是重新检查的时候有些代码却忘记了含义,尤其是滤波器的数值的设置,导致不得不重新设置检验正确性,所以代码一定要有注释,这个很重要!

⑤还有就是一定要仔细,仔细,再仔细。

綾镝鯛駕櫬鹕踪韦辚糴。

最后感谢李老师本学期的辛苦教学!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

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

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