现代无线通信编程.docx

上传人:b****4 文档编号:4084223 上传时间:2023-05-06 格式:DOCX 页数:14 大小:29.40KB
下载 相关 举报
现代无线通信编程.docx_第1页
第1页 / 共14页
现代无线通信编程.docx_第2页
第2页 / 共14页
现代无线通信编程.docx_第3页
第3页 / 共14页
现代无线通信编程.docx_第4页
第4页 / 共14页
现代无线通信编程.docx_第5页
第5页 / 共14页
现代无线通信编程.docx_第6页
第6页 / 共14页
现代无线通信编程.docx_第7页
第7页 / 共14页
现代无线通信编程.docx_第8页
第8页 / 共14页
现代无线通信编程.docx_第9页
第9页 / 共14页
现代无线通信编程.docx_第10页
第10页 / 共14页
现代无线通信编程.docx_第11页
第11页 / 共14页
现代无线通信编程.docx_第12页
第12页 / 共14页
现代无线通信编程.docx_第13页
第13页 / 共14页
现代无线通信编程.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

现代无线通信编程.docx

《现代无线通信编程.docx》由会员分享,可在线阅读,更多相关《现代无线通信编程.docx(14页珍藏版)》请在冰点文库上搜索。

现代无线通信编程.docx

现代无线通信编程

现代无线通信原理实验报告

一Matlab软件及相关Matlab命令

软件

(1)Matlab各个窗口

(2)新建m文件及m文件调试

(3)仿真图的保存

2.相关Matlab命令

clc:

Clearcommandwindow

clear:

Clearvariablesandfunctionsfrommemory.

可单独清变量或函数

也可以用clearall命令全部清除

log10(f):

以10为底log命令

^n:

n=2为平方操作

+-*/:

加减乘除

=:

赋值

数组:

f=[1,2,3,4],Lp=f.^2;

rand用于产生均匀分布的随机数。

randi产生均匀分布,randn产生正态分布

绘图:

figure

(1)

gridon

holdon:

Holdcurrentgraph

plot,plot(f,Lp,'-o')

:

为虚线,-为实线,O为圆圈,s为方块,*是*;

注意要用半角符号

图例:

legend

图名称:

title

X轴标注:

xlabel

Y轴标注:

ylabel

legend('市区=2km');

title(‘姓名:

***,班级学号:

');

xlabel(‘频率(MHz)');

ylabel(‘损耗中值(dB)');

二、Matlab仿真Okumura-Hata传播模型

1.实验目的

了解Okumura-Hata模型的应用场合,理解Okumura-Hata模型公式中各个参数的含义,掌握Okumura-Hata模型建模方法及仿真编程方法。

2.实验原理

无线电波传播的受不同地形地物环境影响较大,人们通过大量的实地测量和拟合,总结归纳了多种无线电波经验模型。

目前应用较为广泛的是Okumura模型,使用该模型时需对影响电波传播特性的参数,如频率因子,距离因子,天线高度进行修正,以获得较准确的预测结果。

为使Okumura-Hata模型能采用计算机进行预测,对Okumura-Hata模型的基本中值场强曲线进行了拟合处理,得到基本传输损耗的计算公式。

3.实验内容

(1)编程建立Okumura-Hata传播模型,画出频率-路径损耗图,要求图中用曲线族的形式表示不同的应用环境和距离。

(2)使用建立的Okumura-Hata传播模型,编程预算基站天线高度。

4.实验条件

频率范围:

300~1500MHz,基站天线高度为30m,移动台天线高度为。

传播距离分别为d=2km和5km,以频率为变量,通信距离为参变量编程绘出城市准平滑地形、郊区、农村环境下的Okumura-Hata传播模型损耗-频率曲线图。

5.实验要求

(1)在一个图中显示6条曲线;

(2)所有曲线均为蓝色线,d=2km用实线,d=5km用虚线;城区用“o”、郊区用“*”及乡村用“□”标注曲线上的点;

并在曲线图的空白处对曲线进行标注;

(3)图要有横纵坐标标示,横坐标为频率(Mhz),纵坐标为损耗中值(dB)

(4)图形的题头为学生本人姓名和学号。

6.扩展实验

自己设定频率,绘制Okumura-Hata传播模型损耗-距离曲线图。

7.扩展内容

Okumura-Hata传播模型路径损耗计算公式

式中

—工作频率(MHz)

—基站天线有效高度(m),定义为基站天线实际海拔高度与基站沿传播方向实际距离内的平均地面海波高度之差。

—移动台天线有效高度(m),定义为移动台天线高出地表的高度

—基站天线和移动台天线之间的水平距离(km)

—有效天线修正因子,是覆盖区大小的函数

附录

—小区类型校正因子

—地形校正因子,反映一些重要的地形环境因素对路径损耗的影响

8.实验程序

clearall;%清屏

clc;

f=[300:

100:

1500];

ht=30;%基站天线高度

hr=;%移动台天线高度

d1=2;%传播距离d1

d2=5;%传播距离d2

L1=+*log10(f)*log10(ht)+郊区校正因子

C2=*[log10(f)].^2+*log10(f);%乡村校正因子

L3=L1+C1;%d=2km郊区路径损耗

L4=L2+C1;%d=5km郊区路径损耗

L5=L1+C2;%d=2km乡村路径损耗

L6=L2+C2;%d=5km乡村路径损耗

gridon;%加网格

holdon;%两个图在一起

plot(f,L1,'b-o');%d=2km城市路径损耗

plot(f,L2,'b:

o');%d=5km城市路径损耗

plot(f,L3,'b-*');

plot(f,L4,'b:

*');

plot(f,L5,'b-s');

plot(f,L6,'b:

s');

legend('城市:

d1=2km','城市:

d2=5km','郊区:

d1=2km','郊区:

d2=5km','乡村:

d1=2km','乡村:

d2=5km');

xlabel('频率(MHZ)');

ylabel('损耗中值(dB)');

9.实验仿真图

10.实验分析

由图可知,随着频率的增加,损耗中值呈递增趋势,同一频率下,损耗中值由城市,郊区,乡村依此递减,频率固定,传播距离增加损耗中值也会增加。

随着距离的增加,损耗中值逐渐递增,当距离相同时,损耗中值按照市区,郊区,乡村的顺序递减。

三、直接序列扩频通信系统的Matlab仿真

1.实验目的

了解直接扩频通信原理、理解Gold序列的产生,直接序列扩频系统结构;掌握直接扩频通信系统建模方法及仿真编程方法。

2.实验原理

实验系统使用Gold序列作为实现扩频的伪随机码,在发送端将信息序列与扩频序列Gold码相乘得到扩展信号的频谱。

而在接收端,用与发送端相同的扩频码序列进行解扩,将展宽的扩频信号恢复成原始信息输出,最后比较发送与接收的信号波形。

3.实验内容

(1)编程建立Gold序列,仿真Gold序列的波形;

(2)仿真Gold序列的自相关和互相关特性。

(3)编程仿真直接扩频通信系统模型,画出扩频前后信号波形及频谱。

4.实验条件

级数n=5的两个m序列(反馈系数分别为8(45)和8(75)可以构成优选对)

m1=[1000010010110011111000110111010];

m2=[1111101110001010110100001100100];

也可以编程实现m序列的生成程序,选出优选对来生成gold序列。

5.实验要求

(1)仿真出gold序列,并选2个序列画出波形图,自相关和互相关图形(画五个周期)。

(2)扩频通信系统调制方式采用BPSK方式,要求信源信息为随机生成的序列,画出高斯白噪声信道下误码率---Eb/E0曲线,Eb/E0范围为0到10dB,step为,曲线包括不扩频和扩频两条,不扩频曲线用“*”,扩频后的曲线用“o”,可以画出理论曲线ser_theory=qfunc(sqrt(2*SNR))

(3)画出扩频非扩频两种情况下已调信号的频谱图

6.扩展实验

(1)M序列编程实现,其他实验过程同原来实验要求。

(2)仿真多个用户时产生的多址干扰,至少使用2个gold序列,进行扩频和解扩,仿真出扩频和解扩过程,理解多址干扰。

7.实验程序

clearall;

clc;

m1=[1000010010110011111000110111010];

m2=[1111101110001010110100001100100];

figure

(1);

holdon;

subplot(2,1,1);

stem(m1,'-bo');

title('m1时域波形');

subplot(2,1,2);

stem(m2,'-bo');

title('m2时域波形');

m1=repmat(m1,1,5);

m2=repmat(m2,1,5);

L=length(m1);

m=m1

fori=1:

1:

L

m1zxg(i)=sum((1-2*m).*(1-2*m1))/L;

m=circshift(m',1)';

end

L=length(m2);

m=m2

fori=1:

1:

L

m2zxg(i)=sum((1-2*m).*(1-2*m2))/L;

m=circshift(m',1)';

end

L=length(m1);

m=m1;

fori=1:

1:

L

m1m2(i)=sum((1-2*m).*(1-2*m2))/L;

m=circshift(m',1)';

end

figure

(2);

subplot(3,1,1);

plot(m1zxg);

title('m1自相关波形');

subplot(3,1,2);

plot(m2zxg);

title('m2自相关波形');

subplot(3,1,3);

plot(m1m2);

title('m1和m2互相关波形');

m2=circshift(m2',45)';

gold1=xor(m1,m2);

m2=circshift(m2',30)';

gold2=xor(m1,m2);

figure(3);

holdon;

subplot(2,1,1);

stem(gold1,'-bo');

title('gold1时域波形');

subplot(2,1,2);

stem(gold2,'-bo');

title('gold2时域波形');

L=length(gold1);

m=gold1

fori=1:

1:

L

gold1zxg(i)=sum((1-2*m).*(1-2*gold1))/L;

m=circshift(m',1)';

end

L=length(gold2);

m=gold2

fori=1:

1:

L

gold2zxg(i)=sum((1-2*m).*(1-2*gold2))/L;

m=circshift(m',1)';

end

L=length(gold1);

m=gold1;

fori=1:

1:

L

gold1gold2(i)=sum((1-2*m).*(1-2*gold2))/L;

m=circshift(m',1)';

end

figure(4);

subplot(3,1,1);

plot(gold1zxg);

title('gold1自相关波形');

subplot(3,1,2);

plot(gold2zxg);

title('gold2自相关波形');

subplot(3,1,3);

plot(gold1gold2);

title('gold1和gold2互相关波形');

N=400000;

ybb=fft(gold1zxg,N);

magb=abs(ybb);

fbb=(1:

N/2)*100000/N;

figure(5);

plot(fbb,magb(1:

N/2)*2/N);

axis([10400,15000,0,]);

title('gold序列功率谱');

N=100;

a=0;

x_rand=rand(1,N);

fori=1:

N

ifx_rand(i)>=

x(i)=1;

a=a+1;

elsex(i)=0;

end

end

t=0:

N-1;

figure(6)

subplot(3,1,1)

stem(t,x);

title('扩频前的序列');

ts=0:

:

's');

axis([,,,]);

title('扩频前bpsk信号调制后的时域波形');

x1=0;x2=0;x3=1;

m=350;

fori=1:

m

y3=x3;

y2=x2;

y1=x1;

x3=y2;

x2=y1;

x1=xor(y3,y1);

L(i)=y1;

end

tt=0:

349;

%subplot(4,1,3)

l=1:

7*N;

y(l)=0;

fori=1:

N

k=7*i-6;

y(k)=x(i);k=k+1;

y(k)=x(i);k=k+1;

y(k)=x(i);k=k+1;

y(k)=x(i);k=k+1;

y(k)=x(i);k=k+1;

y(k)=x(i);k=k+1;

y(k)=x(i);

end

s(l)=0;

fori=1:

350

s(i)=xor(L(i),y(i));

end

%tt=0:

7*N-1;

%stem(tt,s);

%axis([0,350,0,1]);

%title('扩频后的序列');

subplot(3,1,3)

fs=2000;

ts=0:

:

's');

axis([,,,])

title('扩频后bpsk信号时域波形');

N=400000;

ybb=fft(s_bpskb,N);

magb=abs(ybb);

fbb=(1:

N/2)*100000/N;

figure(7);

subplot(2,1,1)

plot(fbb,magb(1:

N/2)*2/N);

axis([1200,2800,0,]);

title('扩频前调制信号频谱');

xlabel('Hz');

subplot(2,1,2)

yb=fft(s_bpsk,N);

mag=abs(yb);

fb=(1:

N/2)*100000/N;

plot(fb,mag(1:

N/2)*2/N);

axis([1200,2800,0,]);

title('扩频后调制信号频谱');

xlabel('Hz');

num=100000;

forSNR=0:

10

data_bpsk=randsrc(1,num,[1,-1]);

snr=1/(10^(SNR/10));

noise=sqrt(snr/2)*(randn(1,num));

receive=data_bpsk+noise;

pe(SNR+1)=0;

for(i=1:

num)

if(receive(i)>=0)

r_data(i)=1;

elser_data(i)=-1;

end

end

pe(SNR+1)=(sum(abs((r_data-data_bpsk)/2)))/num;

peb(SNR+1)=*erfc(sqrt(10^(SNR/10)));

end

r=0:

10;

figure(8)

semilogy(r,peb,'r-*',r,pe,'b-o');%对y取底为10对数

gridon;

legend('未扩频误码率曲线','扩频仿真误码率曲线');

8.实验仿真图

10.实验分析

a.M序列优选对为伪随机序列,具有周期性,自相关性比较好。

b.Gold序列具有和M序列优选对类似的自相关和互相关特性。

c.用gold序列对bpsk信号进行扩频,扩频倍数为31,相位跳变间隔变小。

d.扩频后调制信号的频谱展宽31倍,幅度减小为原来的三分之一。

扩频增益为31.

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2