电子科大移动通信原理课程设计报告
更新时间:2024-03-17 18:55:01 阅读量: 综合文库 文档下载
移动通信原理课程设计报告
一、题目描述
仿真一:M=1,选定BPSK调制,AWGN和瑞利信道下的误符号率性能曲线(横坐标为符号信噪比Es/N0),并与相应的理论曲线比较。
仿真二:对2发1收的STBC-MIMO系统(Alamouti空时码),分析2发射天线分别受到独立瑞利信道下的误码率性能曲线,并与相同条件下单天线曲线进行对比分析。
二、系统设置
系统设置如下表所示: 仿真一 仿真二 系统一 系统二 系统三 调制方式 BPSK 收发天线信道条件 数 一发一收 高斯信道 一发一收 瑞利信道 编码方式 无 无 Alamouti空二发一收 瑞利信道 时码
三、仿真代码
3.1算法说明
1、信号产生:利用Matlab中的随机整数随机数产生函数randi.
2、调制方法的实现:不同的调制方式对应唯一的一个星座图;通过输入序列找出星座图上的对应位置,即可输出调制结果。 3、信道模拟实现方法:AWGN信道用MATLAB自带函数randn实现,对应平均噪声功率为零;瑞利信道用randn+j*randn,对应平均噪声功率为零。
4、误码率性能曲线:发射信号序列长度设定130比特,仿真4000次,使信噪比在[0,30]每隔2取值,求平均误比特率。
5、收发系统的实现方法:对于单发单收的模型,只需将发送信号加噪声信号即为接收信号;对于二发一收的模型,因为发射天线是相互独立的,所以每根发射天线的接收信号与单发单收模型的接收信号计算方法相同,最后采用最大比合并得到接收信号。 6、调制方式:BPSK
7、编码和译码方法:二发一收空时编码,最大似然译码。 8、误码率的计算:错误比特数/传输的总比特数。
3.2仿真代码
代码一:调制函数
function[mod_symbols,sym_table,M]=modulator(bitseq,b) N_bits=length(bitseq); if b==1 %BPSK调制
sym_table=exp(1i*[0,-pi]); sym_table=sym_table([1 0]+1); inp=bitseq;
mod_symbols=sym_table(inp+1); M=2;
elseif b==2 %QPSK调制
sym_table=exp(1i*pi/4*[-3 3 1 -1]);
sym_table=sym_table([0 1 3 2]+1); inp=reshape(bitseq,b,N_bits/b); mod_symbols=sym_table([2 1]*inp+1); M=4;
elseif b==3 %8PSK调制
sym_table=exp(1i*pi/4*[0:7]);
sym_table=sym_table([0 1 3 2 6 7 5 4]+1); inp=reshape(bitseq,b,N_bits/b);
mod_symbols=sym_table([4 2 1]*inp+1); M=8;
elseif b==4 QAM调制 m=0;
sq10=sqrt(10); for k=-3:2:3 for l=-3:2:2 m=m+1;
sym_table(m)=(k+1i*l)/sq10; end end
sym_table=sym_table(...
[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10]+1); inp=reshape(bitseq,b,N_bits/b);
mod_symbols=sym_table([8 4 2 1]*inp+1); M=16; else
error('unimplemented modulation'); end
代码二:单发单收系统在高斯信道和瑞利信道下的仿真
clear all
L_frame=130; N_packet=4000;
b=1; % Set to 1/2/3/4 for BPSK/QPSK/8PSK/16QAM SNRdBs=[0:2:30]; sq2=sqrt(2); NT=1;
NR=1;% SISO
for i_SNR=1:length(SNRdBs) SNRdB=SNRdBs(i_SNR);
sigma=sqrt(0.5/(10^(SNRdB/10))); for i_packet=1:N_packet
symbol_data=randi([0 1],L_frame*b,NT);
[temp,sym_tab,P]=modulator(symbol_data.',b);
X=temp.‘; % frlg=length(X), X为调制后的信号序列
Hr = (randn(L_frame,1)+1i*randn(L_frame,1))/sq2 ;%Rayleigh Channel,见原理说明6.1
Ha=randn(L_frame,1); %AWGN channel Z1=0;
R1=Hr.*X+ sigma*(randn(L_frame,1)+1i*randn(L_frame,1)); Z1=Z1+R1.*conj(Hr); R2=X+sigma*Ha; for m=1:P
d1(:,m)=abs(Z1-sym_tab(m)).^2; %最大似然译码 d2(:,m)=abs(R2-sym_tab(m)).^2; end
[y1,i1] = min(d1,[],2); Xd=sym_tab(i1).';
[y2,i2]=min(d2,[],2); Xa=sym_tab(i2).';
temp1 = X>0; temp2 = Xd>0; temp3=Xa>0;
noeb_p1(i_packet)=sum(sum(temp1~=temp2)); noeb_p2(i_packet)=sum(sum(temp1~=temp3)); end
BER1(i_SNR)=sum(noeb_p1)/(N_packet*L_frame*b);
BER2(i_SNR)=sum(noeb_p2)/(N_packet*L_frame*b); SNRw=10^(SNRdB/10);
BER3(i_SNR)=1/2*erfc(sqrt(SNRw));%theoretical BER in AWGN channel BER4(i_SNR)=1/2*(1-sqrt(SNRw/(1+SNRw))); end
semilogy(SNRdBs,BER1,'-rx'), hold on, axis([SNRdBs([1 end]) 1e-6 1e0]) semilogy(SNRdBs,BER2,'-ro'), hold on, axis([SNRdBs([1 end]) 1e-6 1e0]) semilogy(SNRdBs,BER3,'-^'), hold on, axis([SNRdBs([1 end]) 1e-6 1e0]) semilogy(SNRdBs,BER4,'-g*'), hold on, axis([SNRdBs([1 end]) 1e-6 1e0]) title(‘BER perfoemancde of AWGN and Rayleigh channel'), xlabel('SNR[dB]'), ylabel('BER')
grid on, set(gca,'fontsize',9)
legend('Rayleigh practice','AWGN practice','AWGN theoretical','Rayleigh theoretical')
代码三:二发一收系统空时编码仿真 算法流程图:
%Alamounti_scheme.m clear;
N_frame=130; N_packets=4000; NT=2;
NR=1; %two transmitter and one reciever diversity b=2;
SNRdbs=[0:2:30]; sq_NT=sqrt(NT);
sq2=sqrt(2);
for i_SNR=1:length(SNRdbs) SNRdb=SNRdbs(i_SNR);
sigma=sqrt(0.5/(10^(SNRdb/10))); for i_packet=1:N_packets
msg_symbol=randi([0 1],N_frame*b,NT); tx_bits=msg_symbol.'; tmp=[]; tmp1=[]; for i=1:NT
[tmp1,sym_tab,P]=modulator(tx_bits(i,:),b); tmp=[tmp;tmp1]; end
X=tmp.';%pay attention to the matrix dimension %space-time coding X1=X;
X2=[-conj(X(:,2)) conj(X(:,1))]; %channel known by receiver for n=1:NT
Hr(n,:,:)=(randn(N_frame,NT)+1i*randn(N_frame,NT))/sq2; end
H=reshape(Hr(n,:,:),N_frame,NT); %receive signal
R1=sum(H.*X1,2)/sq_NT+sigma*(randn(N_frame,1)+1i*randn(N_frame,1));
R2=sum(H.*X2,2)/sq_NT+sigma*(randn(N_frame,1)+1i*randn(N_frame,1));
%MLD decoder,见原理6.2说明
Z1=R1.*conj(H(:,1))+conj(R2).*H(:,2); Z2=R1.*conj(H(:,2))-conj(R2).*H(:,1); for m=1:P
d1(:,m)=abs(sum(Z1,2)-sym_tab(m)).^2; d2(:,m)=abs(sum(Z2,2)-sym_tab(m)).^2; end
[y1,i1]=min(d1,[],2); S1d=sym_tab(i1).'; clear d1
[y2,i2]=min(d2,[],2); S2d=sym_tab(i2).'; clear d2
Xd=[S1d S2d]; tmp1=X>0; tmp2=Xd>0;
noeb_p(i_packet)=sum(sum(tmp1~=tmp2)); end
BER(i_SNR)=sum(noeb_p)/(N_packets*N_frame*b);
end
semilogy(SNRdbs,BER,'-^');
axis([SNRdbs([1 end]) 1e-6 1e0]) grid on, hold on
xlabel('SNR[db]'),ylabel('BER');
四、仿真图
图(1)
图(2)
五、仿真分析
5.1题目一:
由图(1)AWGN和瑞利信道下的误符号率性能曲线与相应的理论曲线基本重合,且AWGN性能强于瑞利信道。理论上,BPSK在AWGN中的误比特率公式:
2EsP?Q()
N0BPSK在瑞利信道中的误比特率公式:
正在阅读:
电子科大移动通信原理课程设计报告03-17
放飞孔明灯小学生日记10-29
伤感光棍诗 单身狗的诗大全02-22
中国企业在线培训行业前景展望及投资战略研究报告2016-2021年09-03
初步设计说明03-10
变频力矩03-25
现代广告学试题七12-31
青岛版小学数学一年级上册《11-20各数的认识》教学设计09-15
不满是向上的车轮作文500字07-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 移动通信
- 科大
- 原理
- 课程
- 报告
- 设计
- 电子
- 辅音音标发音基础
- 电大证券投资分析作业及期末复习综合汇总!
- 计算机应用基础数据结构部分试题及答案(2)
- 商法(保险法)练习题答案
- 马克思主义基本原理概论(马原)期末复习重点主观题笔记整理
- 重新鉴定申请书
- 2019年会计职称中级经济法考情分析及备考技巧
- 2017年校企合作协议书校企合作协议合同 doc
- 最新PEP人教版小学六年级上册英语期末测试题
- 会计实操经验SPAC方式上市成功案例
- 用FFT对信号作频谱分析
- 巾帼不让须眉 盘点娱乐圈中那些功夫女星 - 图文
- 法国宪法
- 知假买假适用于惩罚性赔偿的解释论分析
- 物业服务外包合同范本
- 数码宝贝实力排行
- 2010年无锡市危化品安全监管工作要点
- 选厂、尾矿库安全生产知识考试卷(含答案)
- 学校防溺水安全工作会议记录
- DM900S说明书 - 图文