文档详情

16QAM_星形及矩形星座图调制解调MATLAB代码.doc

发布:2018-10-22约7.12千字共7页下载文档
文本预览下载声明
WORD文档下载可编辑 专业资料整理分享 %% ------------------------------------------------------------ % 软件无线电课程设计 % % 方形、星形16QAM调制解调仿真 % %%------------------------------------------------------------ %%主程序 clc clear %% 定义参数 fd=250*10^6; %码元速率250M fs=2500*10^6; %滤波器采样率 fc=2500*10^6; %载波频率2.5G f=10000*10^6; %对载波采样 data_len=200000; %数据长度 sym_len=data_len/4; %码元序列长度 M_QAM=16;%QAM数 k=log2(M_QAM); SNR=1:12;%白噪声信噪比, %% ------------------------------------------------------------ bit_tx=randint(1,data_len);%产生随机序列 echo off; rec_qam16=QamMod(bit_tx,16); %方形16QAM调制 star_qam16=SrarQamMod(bit_tx); %星形16QAM调制 base_rec=base_shape(fd,fs,f,rec_qam16); %基带成型滤波 base_star=base_shape(fd,fs,f,star_qam16); %基带成型滤波 for i=1:length(SNR) %信噪比从1dB到12dB计算误码率 SNR_=i %方形映射16QAM rf_rec_qam16=CarrierMod(fc,f,base_rec); %载波调制 rf_rec_qam16_n=awgn(rf_rec_qam16,SNR(i),measured); %加噪声 [rec_qam16_rx base_rec_rx]=CarrierDemod(fd,fs,fc,f,rf_rec_qam16_n); %载波解调 bit_rec_rx=QamDemod(rec_qam16_rx,16); %MQAM解调 [num_qam16,perr_qam16_rec(i)]=biterr(bit_tx,bit_rec_rx);%误码率 qam16_data_rec(i,:)=rec_qam16_rx; %scatterplot(rec_qam16_rx); %星形映射16QAM rf_star_qam16=CarrierMod(fc,f,base_star); %载波调制 rf_star_qam16_n=awgn(rf_star_qam16,SNR(i),measured); %加噪声 [star_qam16_rx base_star_rx]=CarrierDemod(fd,fs,fc,f,rf_star_qam16_n); %载波解调 bit_star_rx=StarQamDemod(star_qam16_rx); %MQAM解调 [num_qam16,perr_qam16_star(i)]=biterr(bit_tx,bit_star_rx);%误码率 qam16_data_star(i,:)=star_qam16_rx; %scatterplot(star_qam16_rx); end %% 理论误码率计算 SNRtheo=0:0.1:length(SNR); for i=1:length(SNRtheo) SNRdec=10.^(SNRtheo(i)/10); theo_perr_qam16(i)=(3/8)*erfc(sqrt(SNRdec*2/5)); end %% 基带波形 N=200; n=1:N; t=1:N*10; %发送端波形 figure; stem(n,bit_tx(n)); title(发送
显示全部
相似文档