matlab 4-PSK调制信号在AWGN信道下的误比特率和误符号率的仿真

时间: 2024-01-16 18:02:01 浏览: 42
下面是一个matlab实现4-PSK调制信号在AWGN信道下的误比特率和误符号率的仿真的示例代码: ```matlab clear all; close all; clc; nsymbol = 10000; % 信号符号数 T = 1; % 信号时间长度 fs = 100; % 采样率 ts = 1/fs; % 采样时间间隔 t = 0:ts:T-ts; % 采样时间序列 fc = 10; % 信号频率 c = sqrt(2/T)*exp(j*2*pi*fc*t); % 信号载波 c1 = sqrt(2/T)*cos(2*pi*fc*t); % 实部载波 c2 = -sqrt(2/T)*sin(2*pi*fc*t); % 虚部载波 M = 4; % 调制阶数 graycode = [0 1 3 2]; % 灰码映射表 EsN0 = 0:15; % 信噪比范围 snr1 = 10.^(EsN0/10); % 信噪比转换为线性值 msg = randint(1, nsymbol, M); % 生成随机信息序列 msg1 = graycode(msg+1); % 灰码映射 msgmod = pskmod(msg1, M).'; % 进行4-PSK调制 tx = real(msgmod*c); % 加载波调制 tx1 = reshape(tx.', 1, length(msgmod)*length(c)); % 将调制后的信号串并成一行 spow = norm(tx1).^2/nsymbol; % 发送信号功率 % 开始循环计算不同信噪比下的误比特率和误符号率 for indx = 1:length(EsN0) sigma = sqrt(spow/(2*snr1(indx))); % 计算噪声标准差 rx = tx1 + sigma*randn(1, length(tx1)); % 加入高斯噪声 rx1 = reshape(rx, length(c), length(msgmod)); % 将接收信号串并成矩阵 % 解调 r1 = (c1*rx1)/length(c1); r2 = (c2*rx1)/length(c2); r = r1 + j*r2; y = pskdemod(r, M); decmsg = graycode(y+1); % 计算误码率 [err, ber(indx)] = biterr(msg, decmsg, log2(M)); [err, ser(indx)] = symerr(msg, decmsg); end % 理论误码率和误符号率 ser1 = qfunc(sqrt(2*snr1)*sin(pi/M)); ber1 = ser1/log2(M); % 画图 semilogy(EsN0, ber, '-ko', EsN0, ser, '-k*', EsN0, ser1, EsN0, ber1, '-k.'); title('4-PSK调制信号在AWGN信道下的性能'); xlabel('Es/N0'); ylabel('误比特率和误符号率'); legend('误比特率', '误符号率', '理论误符号率', '理论误比特率'); ``` 这段代码实现了4-PSK调制信号在AWGN信道下的误比特率和误符号率的仿真。和上面的8-PSK调制信号的代码类似,只需要修改一些调制方式和灰码映射表即可。运行代码后会得到一个关于Es/N0的误比特率和误符号率的函数图像,通过图像可以评估4-PSK调制信号在AWGN信道下的性能。

相关推荐

最新推荐

recommend-type

QPSK、8PSK、16PSK以及16QAM调制下的信道容量曲线

参考文献《Channel Codes: Classical and Modern》推导不同调制方式下的信道容量曲线。现在有一个二维M元信号集合,及信号的二维矢量表示。每一个信号波形都可以由完备的两个归一化正交函数的线性组合表示。现每...
recommend-type

基于MATLAB的PSK调制和解调及仿真

通过仿真,观察了调制解调过程中各环节时域和频域的波形,并结合这几种调制方法的调制原理,跟踪分析了各个环节对调制性能的影响及仿真模型的可靠性。最后,在仿真的基础上分析比较了各种调制方法的性能,并通过比较...
recommend-type

通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)

通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)报告一切搞定,只写名字了 程序下载地址:http://download.csdn.net/source/1921154
recommend-type

毕业论文 基于matlab的PSK通信系统仿真

title('PSK信号'); grid on; %===================================================== vn=0.1; noise=vn*(randn(size(t)));%产生噪音 subplot(323); plot(t,noise); grid on; title('噪音信号'); axis([0...
recommend-type

2PSK与2DPSK调制解调系统的仿真设计与分析

本文介绍了2PSK与2DPSK调制解调的基本原理,采用Systemview软件构建2PSK与2DPSK调制解调仿真系统,通过Systemview分析窗口分析接收方载波反相和不反相时信号在这两个仿真系统中的波形变化,直观地显示了2PSK信号的...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。