【多天线传输技术】迫零检测算法、串行干扰相消算法、排序串行干扰相消算法

clc;
clear;
close all;
len_s=100000; % 信号长度
snr=0:2:20;%信噪比
len_snr=length(snr);
s2_1=zeros(1,4);
ber_zf=zeros(1,len_snr);
ber_zf_sic=zeros(1,len_snr);
ber_zf_chsic=zeros(1,len_snr);
for ii=1:len_snrerror_zf2=0;for i=1:len_ssn=randi([0,1],4,1); %产生随机信号mod_sn=pskmod(sn,2);sigma =sqrt(0.5.*10.^(-snr(ii)./10));%I,Q两路独立产生噪声Q_noise = randn(4, 1);I_noise = randn(4, 1);noise = complex(I_noise,Q_noise);noise = sigma.*noise;%高斯白噪声H=1/sqrt(2)*(randn(4,4) + 1i*randn(4,4));y1=H*mod_sn+noise;G=inv(H);  %求逆  y1_1=G*y1;s=pskdemod(y1_1,2);%BPSK解调error_zf1=find(s~=sn);%错误判决error_zf2=length(error_zf1)+error_zf2;endber_zf(ii)=error_zf2./(len_s*4);
endfor ii=1:len_snrerror_zf22=0;for i=1:len_ssn2=randi([0,1],4,1); %产生随机信号mod_sn2=pskmod(sn2,2);sigma =sqrt(0.5.*10.^(-snr(ii)./10));%I,Q两路独立产生噪声Q_noise = randn(4, 1);I_noise = randn(4, 1);noise = complex(I_noise,Q_noise);noise = sigma.*noise;%高斯白噪声H=1/sqrt(2)*(randn(4,4) + 1i*randn(4,4));y2_1_1=H*mod_sn2+noise;  %4*1for p=1:4G2=pinv(H); %伪逆矩阵w2_1=G2(p,:);  %1*4y2_1_2=w2_1*y2_1_1;s2_1(p)=pskdemod(y2_1_2,2);%BPSK解调s2_1_1=pskmod(s2_1(p),2);   %先检测第一个信号aH=s2_1_1.*H(:,p);y2_1_1= y2_1_1-aH;H(:,p)=zeros(4,1);enderror_zf21=find(s2_1.'~=sn2);%错误判决error_zf22=length(error_zf21)+error_zf22;endber_zf_sic(ii)=error_zf22./(len_s*4);
end
%选信号强度最大的
for ii=1:len_snrerror_zf22=0;for i=1:len_ssn2=randi([0,1],4,1); %产生随机信号mod_sn2=pskmod(sn2,2);  %bpsk调制sigma =sqrt(0.5.*10.^(-snr(ii)./10));%I,Q两路独立产生噪声Q_noise = randn(4, 1);I_noise = randn(4, 1);noise = complex(I_noise,Q_noise);noise = sigma.*noise;%高斯白噪声H=1/sqrt(2)*(randn(4,4) + 1i*randn(4,4));y2_1_1=H*mod_sn2+noise;G3_1=zeros(4,4);for p=1:4G3=pinv(H);%伪逆矩阵sum1=sum(abs(G3+G3_1).^2,2);%对矩阵行求和[x,p1]=min(sum1); %G3_1(p1,:)=[1000 1000 1000 1000];w2_1=G3(p1,:);y2_1_2=w2_1*y2_1_1;s2_1(p1)=pskdemod(y2_1_2,2);%BPSK解调s2_1_1=pskmod(s2_1(p1),2);aH=s2_1_1.*H(:,p1);y2_1_1= y2_1_1-aH;H(:,p1)=zeros(4,1);enderror_zf21=find(s2_1.'~=sn2);%错误判决error_zf22=length(error_zf21)+error_zf22;endber_zf_chsic(ii)=error_zf22./(len_s*4);
endsemilogy(snr,ber_zf,'-k*',snr,ber_zf_sic,'-ko',snr,ber_zf_chsic,'-kx')grid onlegend('迫零检测算法','串行干扰消除算法','排序串行干扰消除算法')xlabel('信噪比snr')ylabel('误比特率')

在这里插入图片描述

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

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

相关文章

SQL注入之堆叠查询

文章目录 堆叠查询是什么?堆叠查询修改所有用户密码堆叠查询删除数据库恢复数据库 堆叠查询是什么? 在SQL中,分号;是用来表示一条sql语句的结束。试想一下我们在; 结束一个sql语句后继续构造下一条语句,会不会一起执行&#xff1f…

vscode里配置C#环境并运行.cs文件

vscode是一款跨平台、轻量级、开源的IDE, 支持C、C、Java、C#、R、Python、Go、Nodejs等多种语言的开发和调试。下面介绍在vscode里配置C#环境。这里以配置.Net SDK v5.0,语言版本为C#9.0,对应的开发平台为VS2019,作为案例说明。 1、下载vsc…

JavaScript下载excel文件

文章目录 通过链接下载a标签下载方法注意 获取文件流请求体配置下载文件流 总结 通过链接下载 a标签 对于已知地址的目标文件,前端可以使用 a标签 来直接下载,使用a标签下载使用到两个属性 download:下载文件名href:目标文件下…

安卓动态申请权限

我们在使用一些官方app时&#xff0c;刚下载进去之后经常会弹出各种各样的权限获取请求&#xff0c;今天简单学习了下&#xff0c;希望不会误人子弟哈哈哈哈。 一、将需要用到的权限添加到Manifest清单里 <uses-permission android:name"android.permission.WRITE_EXT…

Python3 基础语法

Python3 基础语法 编码 默认情况下&#xff0c;Python 3 源码文件以 UTF-8 编码&#xff0c;所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码&#xff1a; # -*- coding: cp-1252 -*- 上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码&…

探索短视频小程序/小年糕

短视频小程序的兴起&#xff0c;为创作者提供了一个全新的平台&#xff0c;让他们能够以更专业的方式展现自己的作品。这种创作形式不仅要求作品内容足够精彩还需要有深度的思考和逻辑性的呈现。本文将探索短视频小程序的专业与深度的创作之道&#xff0c;帮助创作者更好地发挥…

PHP实现每日蛋白质摄入量计算器

1.laravel 路由 //每日蛋白质摄入计算器Route::get(api/protein/intake, FormulaControllerproteinIntakeCal); 2.代码 /*** 每日蛋白质摄入计算器*/public function proteinIntakeCal(){$number intval($this->request(number));$goalFactor array(0.8, 1.16, 0.8, 1.16,…

Shiro学习总结

第一章 入门概述 1.概念 shiro是一个Java安全框架&#xff0c;可以完成&#xff1a;认证、授权、加密、会话管理、与web集成、缓存… 2.优势 ● 易于使用&#xff0c;构建简单 ● 功能全面 ● 灵活&#xff0c;可以在任何应用程序环境中工作&#xff0c;并且不需要依赖它们…

Spring缓存深入解析:@Cacheable的使用详解

摘要&#xff1a;在本文中&#xff0c;我们将深入研究Spring框架中的Cacheable注解。我们会通过详细的Java示例&#xff0c;探讨如何使用这个功能强大的注解来提升应用程序性能。 一、什么是缓存&#xff1f; 在计算机科学中&#xff0c;缓存是一种存储技术&#xff0c;用于保…

LeetCode863. 二叉树中所有距离为 K 的结点(相关话题:深度遍历,广度遍历)

题目描述 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 k 。 返回到目标结点 target 距离为 k 的所有结点的值的列表。 答案可以以 任何顺序 返回。 示例 1: 输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, k = 2 输出:[7,4,1] 解释…

SQL注入之延时注入

文章目录 延时注入是什么&#xff1f;延时注入获取数据库版本号 延时注入是什么&#xff1f; 延时注入就是利用sleep()函数通过if语句判断所写的语句真假&#xff0c;如果为真返回我们想要的东西&#xff08;例如&#xff1a;数据库的长度&#xff0c;数据库的名字等&#xff0…

如何拉取Gitee / GitHub上的Unity项目并成功运行

前言 由于目前大部分人使用的仓库都是Gitee或者是GitHub&#xff0c;包括小编的公司所使用的项目仓库也包括了Gitee&#xff1b;我们需要学习技术栈时都会去百度或者是去GitHub上看看别人的项目观摩学习&#xff0c;可能很多小白在遇到拉取代码时出现各种问题&#xff0c;或者…

智能安全帽_防抖视频定位智能安全帽头盔

智能安全帽具备出色的性能、超低功耗、广范围覆盖和简单的外围电路等优势&#xff0c;同时还拥有丰富的外部接口。它支持移动/联通/电信的4G5G网络&#xff0c;涵盖了LTE-TDD频段(B34/B38/B39/B40/B41)、LTE-FDD频段(B1/B3/B5/B8)、WCDMA频段(B1/B5/B8)、TD-SCDMA频段(B34/B39)…

二、11.系统交互

fork 函数原型是 pid_t fork(void&#xff09;&#xff0c;返回值是数字&#xff0c;该数字有可能是子进程的 pid &#xff0c;有可能是 0&#xff0c;也有可能是-1 。 1个函数有 3 种返回值&#xff0c;这是为什么呢&#xff1f;可能的原因是 Linux 中没有获取子进程 pid 的方…

R语言机器学习方法在生态经济学领域

近年来&#xff0c;人工智能领域已经取得突破性进展&#xff0c;对经济社会各个领域都产生了重大影响&#xff0c;结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一&#xff0c;目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据&#xf…

从聚类(Clustering)到异常检测(Anomaly Detection):常用无监督学习方法的优缺点

一、引言 无监督学习是机器学习的一种重要方法&#xff0c;与有监督学习不同&#xff0c;它使用未标记的数据进行训练和模式发现。无监督学习在数据分析中扮演着重要的角色&#xff0c;能够从数据中发现隐藏的模式、结构和关联关系&#xff0c;为问题解决和决策提供有益的信息。…

static相关知识点详解

文章目录 一. 修饰成员变量二. 修饰成员方法三. 修饰代码块四. 修饰类 一. 修饰成员变量 static 修饰的成员变量&#xff0c;称为静态成员变量&#xff0c;该变量不属于某个具体的对象&#xff0c;是所有对象所共享的。 public class Student {private String name;private sta…

【了解一下常见的设计模式】

文章目录 了解一下常用的设计模式(工厂、包装、关系)导语设计模式辨析系列 工厂篇工厂什么是工厂简单工厂「模式」&#xff08;Simple Factory「Pattern」&#xff09;简单工厂代码示例&#xff1a;简单计算器优点&#xff1a;缺点&#xff1a; 静态工厂模式特点&#xff1a; 工…

如何在网页下载腾讯视频为本地MP4格式

1.打开腾讯视频官网地址 腾讯视频 2.搜索你想要下载的视频 3. 点击分享,选择复制通用代码 <iframe frameborder="0" src="ht

Pixar、Adobe 和苹果等成立 OpenUSD 联盟推行 3D 内容开放标准

导读Pixar、Adobe、Apple、Autodesk 与 NVIDIA 联手 Linux 基金会旗下的联合开发基金会&#xff08;JDF&#xff09;宣布建立 OpenUSD 联盟&#xff08;AOUSD&#xff09;以推行 Pixar 创建的通用场景描述技术的标准化、开发、进化和发展。 联盟寻求通过推进开放式通用场景描述…