function y=cons(N)

%N为输入数据对应的星座图点数;

%该函数是根据星座图映射原理b={v(b-1),v(b-2),....v(0)}为输入数据对应的比特值,则星座点(X,Y)的整数值X和Y可用二进制补码

%表示为(v(b-1),v(b-3),..v(1),1)和(v(b-2),v(b-4),...v(0),1).最高位v(b-1)和v(b-2)分别是X

%和Y的符号位,当二者为0时表示为正值,为1时为负值。当b为偶数时,星座图映射成正方阵,当b为奇数时,星座图映射为长方阵

%clear all;

%clc;

%N=32;

b=ceil(log2(N));   %星座图的比特数

jo=mod(b,2);       %查看输入的比特位数是偶数位还是奇数位

p=zeros(N,b);      %假设输入数据转化的二进制数后的矩阵

M(N,b+1)=0;        %输入数据(0-1024间的整数)转化为比特和映射成对应的星座图

for k=0:(N-1)

u=dec2bin(k);%把十进制数0-(N-1)转换为二进制字符

w=zeros(1,length(u));

for i=1:length(u)

w(i)=str2num(u(i));%把字符转换为矩阵

end

v=[zeros((b-length(w)),1)',w];

p(k+1,:)=v;    %输入数据转化后的比特矩阵

end

if(jo==0)                 %如果输入数据最大比特位数是偶数时

xv=p(:,1:2:(b-1));%生成星座图点的x 坐标值对应的比特位矩阵是1,3,5,7...b-1

l=length(xv(1,:));

yv=p(:,2:2:b);     %生成星座图点的y坐标值对应的比特位矩阵是2,4,6,...b

t=length(yv(1,:));

else                       %如果输入数据最大比特位数是奇数时

xv=p(:,1:2:b);     %生成星座图点的x 坐标值对应的比特位矩阵是1,3,5,7...b

l=length(xv(1,:));

yv=p(:,2:2:b-1);  %生成星座图点的y坐标值对应的比特位矩阵是2,4,6,...b-1

t=length(yv(1,:));

end

for n=1:N

if(xv(n,1)==0)        %如果x坐标值矩阵第一列的值等于0,表明是正值

xx(n)=sum(xv(n,:).*(2.^(0:l-1)))+1;%得到的对应x值

else                       %如果x坐标值矩阵第一列的值等于1,表明是负值

xf(n,:)=~xv(n,:);%关于原矩阵求反,为了求其补码

xx(n)=(-1)*(sum(xf(n,:).*(2.^(0:l-1)))+1);%得到的对应x值

end

if(yv(n,1)==0)      %如果y坐标值矩阵第一列的值等于0,表明是正值

yy(n)=sum(yv(n,:).*(2.^(0:t-1)))+1;%得到的对应y值

else                    %如果y坐标值矩阵第一列的值等于1,表明是负值

yf(n,:)=~yv(n,:);%关于原矩阵求反,为了求其补码

yy(n)=(-1)*(sum(yf(n,:).*(2.^(0:t-1)))+1);%得到的对应y值

end

com(n)=xx(n)+j*(yy(n));%星座映射后输入数据转换后的复值

M(n,:)=[p(n,:) com(n)];%输入数据对应的比特和星座值

end

%plot(com,'*');

注释我懂,但是整体上很模糊,哪位高人说下你对这个程序的整体理解

matlab星座映射函数,求助一下星座图映射的代码的思想相关推荐

  1. 我的星座图 php,星座图映射

    姓名:任文 学号:19021210983 学院:电子工程学院 一.基本概念 1.数字调制 数字信号的传输方式分为基带传输和带通传输.大多数的信道因为具有带通性而无法传播基带信号,这是由于基带信号具有丰 ...

  2. python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】

    文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...

  3. matlab画平行x轴的图,【MATLAB】画平行于坐标轴的曲线

    用MATLAB画函数的曲线 用MATLAB画函数曲线 2013年8月11日 命令funtool 这是单变量函数分析的交互界面,比较方便,特别适用于y=f(x)型,即y与x分开的函数形式.见下图 mat ...

  4. android简单星座查询,简单的星座查询

    简单的星座查询 1.引言 对于一个简单的星座查询的过程是为了熟悉时间控件Dateoicker的使用,并与java中初始化日历的Callendar类相结合来完成简单的星座的查询功能.2.程序代码 对于实 ...

  5. 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )

    文章目录 一.colormap 矩阵分析 二.自定义 colormap 颜色图 1.生成 colormap 矩阵 2.代码示例 一.colormap 矩阵分析 imagesc 函数参考文档 : htt ...

  6. 2021-02-28 Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图

    Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图 function [t,frequency,f_spectrum]=fft_s(y,windowlength,Fs) % 输入 : % ...

  7. matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]

    <利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]>由会员分享,可在线阅读,更多相关<利用Matlab绘制正弦信号的频谱图并做相关分析[共6页](6页珍藏版)>请在人 ...

  8. matlab处理afm图片,基于MATLAB的增大页岩AFM灰度图分辨率的方法与流程

    本发明涉及岩石表面形貌探测 技术领域: :,具体是基于matlab的增大页岩afm灰度图分辨率的方法. 背景技术: ::原子力显微镜(afm)可以对各种样品进行纳米量级的物理性质包括表面形貌进行探测, ...

  9. MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息

    MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2* ...

最新文章

  1. 雅虎公司C#笔试题,看看你能解答多少? [含答案]
  2. linux 内核抓包功能实现基础(二) netfilter处理
  3. ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
  4. TensorFlow CIFAR-10数据集
  5. spark之1:快速入门
  6. Example3_1
  7. 拼多多市值创新高,成中国第四大互联网公司!
  8. 拦截游戏窗口被移动_熊孩子骗家长人脸识别? 腾讯游戏出了个新招
  9. android虚拟机的使用教程,Android 虚拟机可以这么用了 ?
  10. Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面
  11. STC89C52单片机蜂鸣器介绍以及《卡农》歌曲代码示例
  12. mysql教材课后题答案_MySql练习题参考答案
  13. Easyrecovery激活码生成器下载地址?
  14. HTML meta 标签的使用方式总结(本文总结17中使用方式)
  15. 计算机组成ar什么意思,到底什么是AR技术?
  16. 换手机了,换用三星S559
  17. 浅析组合子集和的互异性
  18. QPSK调制解调和误码率
  19. 克里希纳穆提的作品!
  20. 解决adb几秒自动退出

热门文章

  1. 常用抓包工具,手机调试工具大合集
  2. 车联网路侧设施设置指南
  3. Linux下ifconfig不显示ip地址问题总结
  4. ElasticSearch语法整理-DSL语言高级查询
  5. 计算机 英语 文献翻译,计算机类外文文献翻译_1.doc
  6. 让程序实现xp界面风格
  7. 客户成功案例 | 从半导体到终端产品:恩智浦(NXP),利用数据驱动“移动”未来
  8. c 语言 如何设置串口波特率,STC89C52RC串口波特率程序
  9. 51单片机常用波特率设置
  10. 程序设计与算法二郭炜枚举002拨钟问题及解题思路