matlab星座映射函数,求助一下星座图映射的代码的思想
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星座映射函数,求助一下星座图映射的代码的思想相关推荐
- 我的星座图 php,星座图映射
姓名:任文 学号:19021210983 学院:电子工程学院 一.基本概念 1.数字调制 数字信号的传输方式分为基带传输和带通传输.大多数的信道因为具有带通性而无法传播基带信号,这是由于基带信号具有丰 ...
- python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】
文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...
- matlab画平行x轴的图,【MATLAB】画平行于坐标轴的曲线
用MATLAB画函数的曲线 用MATLAB画函数曲线 2013年8月11日 命令funtool 这是单变量函数分析的交互界面,比较方便,特别适用于y=f(x)型,即y与x分开的函数形式.见下图 mat ...
- android简单星座查询,简单的星座查询
简单的星座查询 1.引言 对于一个简单的星座查询的过程是为了熟悉时间控件Dateoicker的使用,并与java中初始化日历的Callendar类相结合来完成简单的星座的查询功能.2.程序代码 对于实 ...
- 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )
文章目录 一.colormap 矩阵分析 二.自定义 colormap 颜色图 1.生成 colormap 矩阵 2.代码示例 一.colormap 矩阵分析 imagesc 函数参考文档 : htt ...
- 2021-02-28 Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图
Matlab绘制短时傅里叶变换的频谱图和时间-频率-幅值三维图 function [t,frequency,f_spectrum]=fft_s(y,windowlength,Fs) % 输入 : % ...
- matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]
<利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]>由会员分享,可在线阅读,更多相关<利用Matlab绘制正弦信号的频谱图并做相关分析[共6页](6页珍藏版)>请在人 ...
- matlab处理afm图片,基于MATLAB的增大页岩AFM灰度图分辨率的方法与流程
本发明涉及岩石表面形貌探测 技术领域: :,具体是基于matlab的增大页岩afm灰度图分辨率的方法. 背景技术: ::原子力显微镜(afm)可以对各种样品进行纳米量级的物理性质包括表面形貌进行探测, ...
- MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息
MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2* ...
最新文章
- 雅虎公司C#笔试题,看看你能解答多少? [含答案]
- linux 内核抓包功能实现基础(二) netfilter处理
- ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
- TensorFlow CIFAR-10数据集
- spark之1:快速入门
- Example3_1
- 拼多多市值创新高,成中国第四大互联网公司!
- 拦截游戏窗口被移动_熊孩子骗家长人脸识别? 腾讯游戏出了个新招
- android虚拟机的使用教程,Android 虚拟机可以这么用了 ?
- Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面
- STC89C52单片机蜂鸣器介绍以及《卡农》歌曲代码示例
- mysql教材课后题答案_MySql练习题参考答案
- Easyrecovery激活码生成器下载地址?
- HTML meta 标签的使用方式总结(本文总结17中使用方式)
- 计算机组成ar什么意思,到底什么是AR技术?
- 换手机了,换用三星S559
- 浅析组合子集和的互异性
- QPSK调制解调和误码率
- 克里希纳穆提的作品!
- 解决adb几秒自动退出