• 大小: 2.68KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


MATLAB实现16psk的调制解调,无错误!!

资源截图

代码片段和文件信息

%% 16PSK调制解调及求误码率曲线
clc;clear all;close all;
N = 10^4;                                   %   待传输的符号数
M = 16;                                     %   进制位数
k = log2(M);                                %   每符号的比特数
phaseMpsk = [0:M-1]*2*pi/M;                 %   相位权值

Eb_N0_dB  = [0:25];                         %   信噪比的值
Es_N0_dB  = Eb_N0_dB + 10*log10(k);         %   这里是一个问题(理解多进制的时候是否加的噪声过程不一样?k为2时附加值即为0)
%% 星座图的点与格雷码之间的相互转换
ref = [0:M-1];
map = bitxor(reffloor(ref/2));                                 %二进制异或(生成格雷码)
[tt ind] = sort(map);                                           %ind十进制数对应的格雷码的下标值
ipPhaseHat = zeros(1N);                                        %解调时用到相位
%% 调制解调过程
for i=1:length(Es_N0_dB)
    %生成发送符号
    BitArray=rand(1N*k)>0.5;
    Bin2DecMatrix=ones(N1)*(2.^[(k-1):-1:0]);
    BitReshape=reshape(BitArraykN).‘;
    DecArray=[sum(BitReshape.*Bin2DecMatrix2)].‘; 
    
    %对应生成星座图
    PhaseIndex=ind(DecArray+1)-1;
    ConsPhase=PhaseIndex*2*pi/M;

评论

共有 条评论