资源描述:
《杭电3G移动通信实验(实验5)-QPSK衰落信道下性能仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、杭州电子科技大学实验报告学生姓名:xx学号:13xxxxxx指导教师:xxx实验地点:1教108实验时间:2016.5.5一、实验室名称:1教108二、实验项目名称:QPSK衰落信道下性能仿真和分析三、实验学时:3四、实验内容:1、使用Matlab(或者C语言)仿真QPSK调制解调过程;2、比较发送端星座图以及不同信噪比下接收端星座图的不同;3、仿真不同移动速度情况衰落信道下QPSK的误码率;五、实验步骤:1.产生发送信息比特;2.对信息比特进行QPSK调制;3.将QPSK调制后的发送信号经过瑞利衰落信道;4.接着经过AWGN信道,从而获得接收信号波形;5.比较发送端星座图以及不同信噪
2、比下接收端星座图的不同;6.对接收信号进行QPSK解调;7.通过蒙特卡洛方法,仿真系统误码率,画出QPSK调制解调在不同移动速度情况时衰落信道下的误码率曲线。六、实验结果:%实验5QPSK衰落信道下性能仿真%画星座图clc;clearall;%QPSK调制N=10000;SNR=[110100];source_data_real=randint(1,N);source_data_imag=randint(1,N);source_data=randint(1,N)+j*source_data_imag;%j*randint(1,N);source_data=source_data*2-(
3、1+j);r=jakes_sos(0.02,64,0.1^6,N);%发送信号经过瑞利衰落信道rx_sg0=r.'.*source_data;%画星座图subplot(2,2,1);plot(real(source_data),imag(source_data),'*');title('原信号星座图')subplot(2,2,2);rx_sg=AWGN(rx_sg0,SNR(1));plot(real(rx_sg),imag(rx_sg),'*');title('SNR=1接收端星座图')subplot(2,2,3);rx_sg=AWGN(rx_sg0,SNR(2));plot(rea
4、l(rx_sg),imag(rx_sg),'*');title('SNR=10接收端星座图')subplot(2,2,4);rx_sg=AWGN(rx_sg0,SNR(3));plot(real(rx_sg),imag(rx_sg),'*');title('SNR=100接收端星座图')%%对接受信号进行处理,消除信道影响%rx_sym=rx_sg.*r';%bit=get_error(source_data,rx_sym)%计算误码率clc;clearall;N=100000;SNR=[-5051020];source_data=randint(1,N)+j*randint(1,N)
5、;%j*randint(1,N);source_data=source_data*2-(1+j);r=jakes_sos(1000,64,1/20000,N);%发送信号经过瑞利衰落信道rx_sg0=r.'.*source_data;%rx_sg=AWGN(rx_sg0,SNR(1));fori=1:length(SNR)rx_sg(i,:)=AWGN(rx_sg0,SNR(i));%高斯不同信噪比的高斯白噪声rx_sym(i,:)=rx_sg(i,:).*r';%对接受信号进行处理,消除信道影响bit1(i)=get_error(source_data,rx_sym(i,:));en
6、dsemilogy(SNR,bit1);title('fm=1000下的误码率');gridon;figure;r=jakes_sos(2000,64,1/20000,N);%发送信号经过瑞利衰落信道rx_sg0=r.'.*source_data;%rx_sg=AWGN(rx_sg0,SNR(1));fori=1:length(SNR)rx_sg(i,:)=AWGN(rx_sg0,SNR(i));%高斯不同信噪比的高斯白噪声rx_sym(i,:)=rx_sg(i,:).*r';%对接受信号进行处理,消除信道影响bit2(i)=get_error(source_data,rx_sym(i
7、,:));endsemilogy(SNR,bit2);title('fm=2000下的误码率');gridon;%计算误码率函数输入为原信号source_data,接收端信号rx_symfunction[err_bit]=get_error(source_data,rx_sym)%对rx_sym符号进行QPSK解调%实部解调rx_re_real=real(rx_sym);rx_re_real(find(rx_re_real>0))=1;rx_r