直接上干货,先扔个QPSK星座图代码镇楼

实现QPSK调制,通过瑞利信道和高斯信道,计算其误码率,并进行比较。 星座图,误比率对比,或者对ASK,FSK,DPSK等各种误码率对比计算。

import numpy as np import matplotlib.pyplot as plt symbols = np.array([1+1j, -1+1j, -1-1j, 1-1j])/np.sqrt(2) # 归一化能量 plt.scatter(np.real(symbols), np.imag(symbols), marker='x') plt.title('QPSK Constellation') plt.grid(True) plt.axhline(0, color='black'); plt.axvline(0, color='black') plt.show()

这个星座图像极了四个角上的忍者镖,每个点对应两个比特。比如(1,1)对应00,(-1,1)对应01...注意这里用了能量归一化,防止发射功率超标。

接下来造个简易版QPSK发射机:

def qpsk_mod(bit_stream): # 比特配对 paired_bits = bit_stream.reshape(-1, 2) # 映射星座点 symbol_indices = np.packbits(paired_bits, axis=1).flatten() return symbols[symbol_indices]

这里有个骚操作:用np.packbits把两两比特转换成0-3的整数索引。比如[0,1]组合转换成十进制的1,对应symbols数组的第二个元素。

重点来了——信道模拟。先看高斯白噪声信道(AWGN),简单粗暴加噪声:

def awgn_channel(signal, snr_db): snr = 10 ** (snr_db / 10) noise_power = 1 / snr # 符号能量归一化为1 noise = np.sqrt(noise_power/2) * (np.random.randn(*signal.shape) + 1j*np.random.randn(*signal.shape)) return signal + noise

这里噪声方差计算容易踩坑,复数噪声要拆分成实虚部独立的高斯分布,且总功率要除以2。比如当SNR=10dB时,噪声方差应该是0.1/2=0.05。

瑞利信道更刺激,相当于信号被随机镜子反射:

def rayleigh_channel(signal, snr_db): h = (np.random.randn() + 1j*np.random.randn())/np.sqrt(2) # 复高斯衰减 noisy_signal = awgn_channel(signal * h, snr_db) return noisy_signal, h

注意信道系数h的方差要归一化,否则平均功率会爆炸。接收端需要信道估计,这里假设理想信道信息已知。

误码率测试脚本走起:

num_bits = 10**6 snr_range = np.arange(0, 15) ber_awgn = [] ber_rayleigh = [] for snr in snr_range: bits = np.random.randint(0, 2, num_bits) tx_signal = qpsk_mod(bits) # AWGN信道 rx_awgn = awgn_channel(tx_signal, snr) # 瑞利信道 rx_rayleigh, h = rayleigh_channel(tx_signal, snr) # 解调过程省略... # 这里假设完美解调后得到的ber_awgn_val和ber_rayleigh_val ber_awgn.append(ber_awgn_val) ber_rayleigh.append(ber_rayleigh_val) plt.semilogy(snr_range, ber_awgn, 'o-', label='AWGN') plt.semilogy(snr_range, ber_rayleigh, 's-', label='Rayleigh') plt.xlabel('SNR(dB)'); plt.ylabel('BER') plt.legend(); plt.grid()

实测发现瑞利信道下误码率曲线像滑梯,比AWGN差个十几dB。原因很简单——深衰落发生时,信号直接掉进噪声坑里爬不出来。

顺手对比其他调制方式,用理论公式更省事:

  • BPSK: \(0.5 \text{erfc}(\sqrt{\text{SNR}})\)
  • QPSK: \(0.5 \text{erfc}(\sqrt{\text{SNR}/2})\)
  • 16QAM: \(0.75 \text{erfc}(\sqrt{\text{SNR}/10})\)

画在同一坐标系里会发现,QPSK比BPSK频谱效率翻倍,但代价是多花3dB功率。16QAM更吃信号质量,适合土豪频段。

最后留个思考题:为什么实际系统中QPSK用得比BPSK多?答案藏在那句"频谱效率翻倍"里——在带宽紧缺的通信世界,省带宽可比省功率划算多了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1149684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重构工作流:平台型产品经理如何用 AI 极速生成设计与原型?

🚀 引言:从“画图匠”到“逻辑架构师” 作为一名平台型产品经理(Platform PM),我们的核心价值往往在于底层逻辑梳理、数据结构定义、API 规范以及后台管理系统的复杂交互,而非单纯的 C 端视觉特效。 传统的…

单相逆变器的效率仿真

核心效率模型与损耗分析 逆变器总效率 η P_out / P_in 100%,其中损耗主要包括: 开关损耗:与开关频率、器件特性相关导通损耗:与器件通态电阻、电流有效值相关死区损耗:由上下管互补导通间的死区时间引起滤波电感损耗…

手把手教学:AI万能分类器部署教程,云端GPU开箱即用

手把手教学:AI万能分类器部署教程,云端GPU开箱即用 引言:为什么你需要这个教程? 最近有位应届生朋友跟我吐槽,面试时被问到AI项目经验直接懵了——自己连个简单的图像分类器都没跑通过。回家想自学,结果在…

保护隐私数据:分类模型本地化训练+云端推理方案

保护隐私数据:分类模型本地化训练云端推理方案 1. 为什么需要本地训练云端推理? 在医疗行业,数据隐私保护是重中之重。想象一下,病人的病历数据就像你的私人日记 - 你肯定不希望它被随意传阅。但另一方面,医院又需要…

分类模型数据增强:云端自动化扩增实战教程

分类模型数据增强:云端自动化扩增实战教程 当你训练一个图像分类模型时,是否遇到过某些类别总是识别不准?就像教小朋友认动物,如果只给他看5张猫的照片,他可能很难准确认出所有品种的猫。数据增强技术就是解决这个问题…

中文文本正负向识别新选择|集成Web界面的StructBERT情感分析镜像

中文文本正负向识别新选择|集成Web界面的StructBERT情感分析镜像 1. 背景与需求:中文情感分析的挑战与演进 在自然语言处理(NLP)的实际应用中,情感分析(Sentiment Analysis)是企业洞察用户反馈…

FX3U PLC v10.0与V10.51源代码及设计图

FX3U PLC v10.0和V10.51源代码及设计图。三菱FX3U PLC这两个版本的源码包像是藏在电工柜里的武功秘籍,最近把V10.0和V10.51的工程文件翻出来对比,发现几个有意思的改动点。先说个直观的——定时中断的配置方式变了,老版本用MOV指令给D8013赋值…

三菱FX3U一拖二玩转台达温控器

三菱FX3U与2台台达温控器modbus通讯案例 功能:三菱FX3U与2台台达温控器进行modbus通讯。 实现设定温度,设定温度探头型号,读取实际温度。 配件:三菱FX3U的PLC,FX3U的485BD板,2台台达DTA7272C1温控器&#x…

分类器效果保障:云端A/B测试最佳实践

分类器效果保障:云端A/B测试最佳实践 引言 作为算法工程师,你是否遇到过这样的困境:新开发的分类器模型在测试集上表现优异,但就是不敢上线生产环境?担心新模型在实际业务场景中表现不稳定,又怕老模型已经…

COMSOL针-针电极空气流注放电模型分享

[COMSOL针-针电极空气流注放电模型] 采用等离子体模块,包含多种化学反应及Helmholtz光电离过程,有需要的可以拿去作为参考。最近在研究等离子体相关的内容,发现了一个超有趣的COMSOL针-针电极空气流注放电模型。这个模…

Mac用户福音:云端GPU完美运行AI万能分类器

Mac用户福音:云端GPU完美运行AI万能分类器 作为一名Mac用户,你是否经常遇到这样的困扰:看到同事用Windows电脑轻松运行各种AI分类模型,而自己的M1/M2芯片却因为兼容性问题无法体验?别担心,今天我要介绍的云…

强烈安利10个AI论文软件,专科生毕业论文轻松搞定!

强烈安利10个AI论文软件,专科生毕业论文轻松搞定! AI 工具让论文写作不再难 对于专科生来说,毕业论文似乎是一个难以逾越的难关。从选题到开题,再到撰写和降重,每一个环节都充满了挑战。而如今,随着 AI 技术…

PDF智能提取全攻略|基于PDF-Extract-Kit快速实现布局与公式识别

PDF智能提取全攻略|基于PDF-Extract-Kit快速实现布局与公式识别 1. 引言:PDF智能提取的技术挑战与解决方案 在科研、教育、出版等领域,PDF文档承载着大量结构化信息,包括文本、表格、图像以及复杂的数学公式。传统PDF解析工具往…

从云端到终端:AutoGLM-Phone-9B实现低延迟多模态推理

从云端到终端:AutoGLM-Phone-9B实现低延迟多模态推理 随着边缘智能的快速发展,大语言模型(LLM)正逐步从“云中心化”向“端侧下沉”演进。在这一趋势下,AutoGLM-Phone-9B作为一款专为移动端优化的90亿参数多模态大模型…

手机也能跑大模型?AutoGLM-Phone-9B让多模态推理触手可及

手机也能跑大模型?AutoGLM-Phone-9B让多模态推理触手可及 随着大模型技术的飞速发展,从云端部署到边缘计算,AI 正逐步走向终端设备。然而,在资源受限的手机端运行具备视觉、语音与文本理解能力的多模态大模型,一直是工…

分类模型数据漂移:云端监控与自适应训练

分类模型数据漂移:云端监控与自适应训练实战指南 引言:当AI模型开始"健忘"时该怎么办? 想象一下,你训练了一只非常聪明的狗狗,它能准确识别你扔出去的是飞盘还是网球。但半年后你突然发现,它开…

HY-MT1.5大模型镜像优势解析|媲美商业API的开源之选

HY-MT1.5大模型镜像优势解析|媲美商业API的开源之选 在多语言交流日益频繁的今天,高质量、低延迟的机器翻译能力已成为智能应用的核心需求。腾讯混元团队推出的 HY-MT1.5 系列翻译大模型,凭借其卓越的跨语言理解能力和对混合语种场景的精准处…

基于AutoGLM-Phone-9B的移动端推理优化|从剪枝量化到缓存解码

基于AutoGLM-Phone-9B的移动端推理优化|从剪枝量化到缓存解码 1. AutoGLM-Phone-9B:面向移动端的多模态大模型架构设计 AutoGLM-Phone-9B 是一款专为资源受限设备设计的高性能多模态大语言模型,融合视觉、语音与文本三大模态处理能力&#…

三菱PlC程序大型项目QCPU+QD77MS16 项目说明如下: 1.宝贝包含一套完整的电气开...

三菱PlC程序大型项目QCPUQD77MS16 项目说明如下: 1.宝贝包含一套完整的电气开发系统资料(包含plc程序,触摸屏程序,伺服模块设置程序,程序开发地址规划表) 2.这套开发程序是用一套完美的程序结构进行设计&a…

面向企业级应用的翻译解决方案|基于HY-MT1.5大模型镜像实践

面向企业级应用的翻译解决方案|基于HY-MT1.5大模型镜像实践 在跨国协作、跨境电商和全球化服务日益普及的今天,高质量、低延迟且可定制化的机器翻译能力已成为企业构建多语言智能系统的刚需。腾讯混元团队推出的 HY-MT1.5 系列翻译大模型,凭…