% To-Do list
% 1. Выбор созвездия и его определение в соответсвии с презентацией
% 2. Нормировка выбранного созвездия
%> Расположение точек созвездия должно совпадать с заданным в задании.
%> Полезными при выполнении будут такие функции, как bi2de и reshape
function IQ_points = mapping(Constellation, InputBits)
% enter in function body
switch Constellation
case 'BPSK'
B = reshape(InputBits,1,[]);
numSymbol = size(B,2);
%IQ_points = zeros(2 , numSymbol);
IQ_points = [1 numSymbol];
for num = 1 : numSymbol
if B(num) == 0
IQ_points (num) = 1; %I
%IQ_points (1,i) = 1;
else
IQ_points (num) = -1; %I
%IQ_points (2,i) = -1;
end
end
case 'QPSK'
B = reshape(InputBits,2,[]);
numSymbol = size(B,2);
IQ_points = [1 numSymbol];
%IQ_points = zeros(2 , numSymbol);
for num = 1 : numSymbol
if B(:,num) == [0 0]'
IQ_points (num) = 1+i; %Ком
%IQ_points (1,num) = 1/(2^0.5); %I
%IQ_points (2,num) = i/(2^0.5); %Q
elseif B(:,num) == [1 0]'
IQ_points (num) = - 1+i; %Ком
%IQ_points (1,num) = - 1/(2^0.5); %I
%IQ_points (2,num) = i/(2^0.5); %Q
elseif B(:,num) == [1 1]'
IQ_points (num) = - 1- i; %Ком
%IQ_points (1,num) = - 1/(2^0.5); %I
%IQ_points (2,num) = - i/(2^0.5); %Q
else
IQ_points (num) = 1- i; %Ком
%IQ_points (1,num) = 1/(2^0.5); %I
%IQ_points (2,num) = - i/(2^0.5); %Q
end
end
case '16-QAM'
B = reshape(InputBits,4,[]);
numSymbol = size(B,2);
IQ_points = [1 numSymbol];
%IQ_points = zeros(2 , numSymbol);
for num = 1 : numSymbol
if B(:,num) == [0 0 0 0]'
IQ_points (num) = 3 + 3i; %Ком
elseif B(:,num) == [0 0 1 0]'
IQ_points (num) = 1 + 3i; %Ком
elseif B(:,num) == [1 0 1 0]'
IQ_points (num) = - 1 + 3i; %Ком
elseif B(:,num) == [1 0 0 0]'
IQ_points (num) = - 3 + 3i; %Ком
elseif B(:,num) == [1 0 0 1]'
IQ_points (num) = -3 + i; %Ком
elseif B(:,num) == [1 0 1 1]'
IQ_points (num) = - 1 + i; %Ком
elseif B(:,num) == [0 0 1 1]'
IQ_points (num) = 1 + i; %Ком
elseif B(:,num) == [0 0 0 1]'
IQ_points (num) = 3 + i; %Ком
elseif B(:,num) == [0 1 0 1]'
IQ_points (num) = 3 - i; %Ком
elseif B(:,num) == [0 1 1 1]'
IQ_points (num) = 1 - i; %Ком
elseif B(:,num) == [1 1 1 1]'
IQ_points (num) = - 1 - i; %Ком
elseif B(:,num) == [1 1 0 1]'
IQ_points (num) = - 3 - i; %Ком
elseif B(:,num) == [1 1 0 0]'
IQ_points (num) = - 3- 3i; %Ком
elseif B(:,num) == [1 1 1 0]'
IQ_points (num) = - 1 - 3i; %Ком
elseif B(:,num) == [0 1 1 0]'
IQ_points (num) = 1 - 3i; %Ком
else
IQ_points (num) = 3 - 3i; %Ком
end
end
end
%IQ_points = IQ;
end
normalization ofdm demapping and mapping ofdm.rar
版权申诉
5星 · 超过95%的资源 64 浏览量
2021-12-31
19:15:19
上传
评论
收藏 46KB RAR 举报
mYlEaVeiSmVp
- 粉丝: 1935
- 资源: 19万+
最新资源
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈