自写

%QPSK

close all;clc;

%思路:1.输入一组随机初始信息x=[01矩阵];

% 2.按两两一组通过for循环判别4种组合,分别对应星座图4个点

% 3.做星座图

% a.过程中考虑过将01序列两两分开表示出来,不知是否有必要,未实现

% b.考虑两两分开后直接定位一个组合,映射到星族图,未实现.利用y-

a=randi([0,1],1,20) %产生一组随机初始信息矩阵

[r,c] = size(a) % 读取行r、列c

y=[]; p=1;

for u = 1:r % 建立for循环嵌套

for t=1:2:c

k=t+1;

if a(u,t)==0&&a(u,k)==0

y(p)=-1-1i;

elseif a(u,t)==0&&a(u,k)==1

y(p)=-1+1i;

elseif a(u,t)==1&&a(u,k)==0

y(p)=1-1i;

else a(u,t)==1&&a(u,k)==1

y(p)=1+1i;

end

p=p+1;

end

end %for循环,将4中组合映射到星座图位置

scatterplot(y) %画星座图

% v=pskdemod(y,4)

% scatterplot(v)

ys = awgn(y,10);

scatterplot(ys)

[n,m] = size(ys)

q=[];j=1;

for b=1:n % qpsk解调

for d=1:m

if abs(ys(b,d))<0&&imag(ys(b,d))<0

q(b,j)=0;q(b,j+1)=0;

elseif abs(ys(b,d))<0&&imag(ys(b,d))>0

q(b,j)=0;q(b,j+1)=1;

elseif abs(ys(b,d))>0&&imag(ys(b,d))<0

q(b,j)=1;q(b,j+1)=0;

else abs(ys(b,d))>0&&imag(ys(b,d))>0

q(b,j)=1;q(b,j+1)=1;

end

j=j+2;

end

end

ys

a

q

numErrs = symerr(a,q) %输出与输入相比,计算错误比特数

归一化相关转于:https://blog.csdn.net/hudada19/article/details/97623075

星座映射归一化因子是如何得到的?

答:所有能量求平均后开方得到的就是波形幅度值,其倒数就是归一化因子。比如,

比如16QAM,取值为,能量为2有4个星座点,为10有8个点(±1±3i),为18有4个点,共有能量72+80+8=160,然后这16个点的等概率分布是16分之1,所以要160除以16=10,这是平均能量,其平均后的波形幅度为sqrt(10),而QPSK共4个能量为2的星座,出现概率为四分之一,所以为8除以4=2,结果为sqrt(2),其他类推。

能量(功率)归一化有什么用?

答:添加功率归一化因子,目的在于使得不同调制方式(或者说对于所有映射方式)都能够取得相同的平均功率。

实际上,归一化是为了方便系统性能的比较,所以就要分清比较的模块是什么。比如,信道编码的增益问题,无论有无信道编码,比特能量是一样的,所以比较要以Eb/No为基准,而不是以进入信道前的符号能量Es/No为基准。再比如,在比较空时码系统和单天线系统中,还是以进入时空码编码前信号能量为基准,那么发送时的总能量一致,即时空码系统中各天线发射功率总和应和单天线系统发射功率相同。一般而言,归一化都在发射端处理。

在仿真OFDM的IFFT变换时,为什么要乘以sqrt (fft的点数) 进行归一化?

答:在matlab中做完IFFT后要乘以sqrt(fft的点数),这样才能保证时域和频域上的功率相同,否则在计算功率上容易出错,如果不乘的话你只要知道也是可以的。至于信号功率归一化,是为了更方便的计算SNR,是为了在相同的标准下比较性能。

qpsk调制matlab实现,QPSK调制解调Matlab实现(ing待补充说明)相关推荐

  1. BPSK、QPSK、MPSK、QAM、16QAM的调制解调Matlab实现

    BPSK.QPSK.MPSK.QAM.16QAM的调制解调Matlab实现_ICT_Liang的博客-CSDN博客_matlab qam 16QAM调制解调仿真(matlab,详细介绍仿真方案的设计. ...

  2. QPSK调制与解调-MATLAB基带仿真

    QPSK调制与解调-MATLAB基带仿真 仿真步骤 产生一定长度的值为0或1的随机序列 s ( t ) s(t) s(t). 将 s ( t ) s(t) s(t)映射到QPSK星座图上的星座点. 产 ...

  3. 正交解调 matlab,正交相位偏移键控(qpsk)调制解调系统simulink(matlab)建模分析毕业论文...

    正交相位偏移键控(qpsk)调制解调系统simulink(matlab)建模分析毕业论文 重庆邮电大学本科毕业设计(论文)- I -编 号: 审定成绩: 设计(论文)题目: 正交相位偏移键控(QPSK ...

  4. 通信原理与MATLAB(十):QPSK的调制解调

    目录 1.QPSK的调制原理 2.QPSK的解调原理 3.QPSK代码 4.结果图 5.特点 1.QPSK的调制原理 QPSK调制原理如下图所示,QPSK相当于两个正交的BPSK相加而成.其调制原理是 ...

  5. matlab 画qpsk眼图,qpsk调制星座图:通信里 星座图 到底是什么意思

    通信里 一个星座点对应一个 qpsk和0qpsk星座图的不同代表了什么 亲切有礼,感情丰富.细腻,有很强的感受力,具有母性的博爱之心,但情绪起伏. QPSK.OQPSK. Pi/4 QPSK的星座图和 ...

  6. MATLAB仿真QPSK调制信号通过AWGN信道的误符号率和误比特率分析

    MATLAB仿真QPSK调制信号通过AWGN信道的误符号率和误比特率分析 形式:程序 程序实现功能: 仿真正交相移键控QPSK信号调制的基带数字通信系统通过AWGN信道的误符号率(SER)和误比特率( ...

  7. matlab基带信号速率,如何用MATLAB产生25Gbaud的基带QPSK调制信号

    如何用MATLAB产生25Gbaud的基带QPSK调制信号 包括生成随机符号序列,进行QPSK调制,过采样,脉冲成型滤波和降采样.有错误敬请指正. 参数设置:symbol rate=25Gbaud D ...

  8. 通过matlab对比不同调制方式下的球形译码误码率仿真,包括BPSK,QPSK,8PSK,4QAM以及16QAM

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在BLAST检测中,目前采用的ZF(迫零) 算法,MMSE(最小均方误差) 算法, OSIC(排序连 ...

  9. 【定时同步系列10】16QAM基带调制+Gardener定时误差检测+解调误码率曲线之MATLAB仿真

    引言 重要声明:为防止爬虫和盗版贩卖,文章中的核心代码和数据集可凭[CSDN订阅截图或公z号付费截图]私信免费领取,一律不认其他渠道付费截图! 在前面的博客中 [定时同步系列8]QPSK基带调制+Ga ...

  10. 16QAM调制与解调-MATLAB基带仿真

    16QAM调制与解调-MATLAB基带仿真 ---------------------------- 2020.05.14更新:---------------------------------- 有 ...

最新文章

  1. hashmap value可以为空吗_美团面试题:Hashmap结构,1.7和1.8有哪些区别(最详细解析)...
  2. HUD 5687(字典树)
  3. 01 手把手带你构建大规模分布式服务--高并发、高可用架构系列,高质量原创好文!...
  4. c语言turboc图形代码,发个C代码(简单动画演示)
  5. 使用Retrofit和RxJava
  6. oracle启动监听读取哪个文件,监听服务启动及数据文件恢复oracle数据库
  7. jvm类加载过程_详解JVM类加载
  8. 2005 mysql连接字符串_怎么用c#远程连接sql server2005,连接字符串怎么写
  9. 约瑟夫(环)问题(Josephus problem)
  10. java怎么生成class文件_怎样将java的class文件生成jar包
  11. 基于无线发射接收物体远离报警器的设计
  12. UDP如何实现可靠性传输
  13. Android微信代扣sdk无法拉起,微信JS-SDK选择图片遇到的坑
  14. Matlab图像处理(入门笔记)
  15. DirectX加速不可用、已禁用的解决方法(转载)
  16. 记一次nacos获取配置失败的坑
  17. MHA-node MHA-manger相关依赖包安装
  18. MicroKMS神龙版
  19. 使用chrome设置代理,果然还是linux 方便呢。想安装一个chrome的插件,通过命令设置代理。
  20. 微服务RPC原理【深度好文】

热门文章

  1. 数据库系统原理(第三章数据库设计 )
  2. JVM的监控工具之jstack
  3. Jquery中post与get之间的区别详细介绍
  4. jquery对json 键值对或数组的增加、删除、遍历操作
  5. 20172311 2017-2018-2 《程序设计与数据结构》第八周学习总结
  6. hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
  7. NodeJS+Express+MongoDB - 张果 - 博客园
  8. Thymeleaf select 使用 和多select 级联选择
  9. javascript --- 使用对象关联简化整体设计
  10. ES5-16【utils】数组方法、类数组