Matlab通信仿真系列——随机信号分析

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
在这里插入图片描述
本节目录

一、平稳随机过程
1、相关函数和功率谱密度
2、Matlab频谱图绘制
二、带通随机过程
1、定义以及Matlab实现与绘制
三、随机过程通过线性系统
1、定义
2、Matlab实现与绘制
四、Matlab源码
1、平稳随机过程源码
2、带通随机过程源码
3、随机过程通过线性系统源码

本节内容
信号分为确定性信号和随机信号,通信过程中的随机信号和噪声均归纳为依赖于时间参数t的随机过程。它是时间t的函数,但在任意时刻上观察到的值是不确定的,是一个随机变量。
一、平稳随机过程
1、相关函数和功率谱密度

平稳随机过程,它的任何n维分布函数或概率密度函数与时间起点无关。
随机过程X(t)在任意一组时刻t1>t2>t3…>tn且n为任意值时得到的随机变量Xti,i=1,2,3,…n的联合概率密度函数满足:
P(x(t1),x(t2),x(t3)…,x(tn))
=P(x(t1+t),x(t2+t),x(t3+t)…,x(tn+t))
严平稳过程,对所有t和n都成立,t是任意时刻。
宽平稳过程,平稳随机过程的数学期望及方差与t无关,自相关函数只与时间间隔τ有关,R(t1,t1+τ)=R(τ)
平稳随机过程的功率谱密度S(f)定义为自相关函数的傅里叶变换。
一个平稳随机过程X(t)的自相关函数可以有功率谱密度的傅里叶逆变换得到。
在这里插入图片描述

正态随机过程,又称为高斯过程,在通信信道中的噪声,通常是一种正态随机过程。正态随机过程的n维分布仅由各随机变量的数学期望、方差和两两之间的归一化协方差函数决定。
当然,对通信系统的热噪声进行建模时候,通常假设这样的噪声是白色高斯随机过程,即功率谱密度S(f)对所有的f是一个常数。热噪声的功率谱密度和自相关函数
在这里插入图片描述

其中δ(τ)为单位冲激函数。当τ≠0时,R(τ)=0。
对一个白色高斯随机过程中任意两个时间点上进行采样,所得到的随机变量一定是不相关的,也就是统计独立的高斯随机变量。
2、Matlab实现与绘制

matlab代码示例:
产生100个N=2000的独立分布的均值为0,
方差为1的高斯分布随机离散时间序列,
并计算自相关估值和功率谱密度的平均值。

在这里插入图片描述
在这里插入图片描述

r = xcorr(x,y)
xcorr - 互相关

此 MATLAB 函数 返回两个离散时间序列的互相关。
互相关测量向量 x 和移位(滞后)副本向量y 的之间的相似性,形式为滞后的函数。如果 x 和 y 的长度不同,函数会在较短向量的末尾添加零,使其长度与另一个向量相同。

二、带通随机过程
1、定义以及Matlab实现与绘制

若随机过程的功率谱在某中心频率±f0附加的一个频段内有值,而在频率之外功率谱密度为0,称这个随机过程是带通过程,若通带B<<f0,称为一个窄带过程。

matlab代码示例:
一个噪声的自相关函数为R(τ)=sinc(2Bτ)cos(2πf0τ),
其中B=20,fc=100,求该随机过程的功率谱密度。

在这里插入图片描述
在这里插入图片描述

左图随机过程的中心频率在±100Hz,带宽40dB范围内;
左图随机过程的中心频率在±50Hz,带宽50dB范围内;
三、随机过程通过线性系统
1、定义

一个平稳随机过程X(t)通过某个线性时不变滤波器h(t),该滤波器的输出Y(t)是随机过程。
在这里插入图片描述

输出过程Y(t)的功率谱密度与输入过程X(t)的功率谱密度以及线性滤波器的频率响应关系式
在这里插入图片描述

2、Matlab实现与绘制

matlab代码示例:
白噪声输入序列Xn,均值为0,
方差为1的高斯分布随机变量组成,
通过一个滤波器产生的序列,滤波器的脉冲响应为:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

四、Matlab源码
1、平稳随机过程源码

clear all;
clc;
%产生100行2000列的高斯分布随机数
%均值为0,方差为1,每一行代表一个离散时间序列
N1=2000;
N2=100;
x=randn(N2,N1);  
%计算每一行的自相关函数估值和频率谱密度估值
%xcorr计算自相关值的函数
%lags自相关系数的延迟时间,50
%coeff,归一化自相关系数
for ii=1:N2[Rx(ii,:),lags]=xcorr(x(ii,:),50,'coeff');Sf(ii,:)=fftshift(abs(fft(Rx(ii,:))));
end
Rx_av=sum(Rx)/N2;       %自相关估值平均
Sf_av=sum(Sf)/N2;       %功率谱密度估值平均
subplot(2,1,1);
plot(lags,Rx_av);
title('自相关函数');
axis([-50 50 -1 1])     %axis - 设置坐标轴范围和纵横比,y[-50 50],x[-1 1]
subplot(2,1,2);
plot(lags,Sf_av);
title('功率谱密度');
axis([-50 50 0 2])      %axis - 设置坐标轴范围和纵横比,y[-50 50],x[0 2]

2、带通随机过程源码

clear all;
clc;
ts=0.002;
t_1=-1:ts:1;            %设置自相关变量的范围为[-1 1],生成矢量
B0=20;
f0=100;
R0=sinc(2*B0*t_1).*cos(2*pi*f0*t_1);
B1=50;
f1=50;
R1=sinc(B1*t_1).*cos(2*pi*f1*t_1);
fs=1/ts;                %抽样频率
df=fs/length(t_1);      %频率分辨率
f=-fs/2:df:fs/2-df;     %频率矢量
S0=fft(R0)/fs;          %fft计算频谱
S1=fft(R1)/fs;          %fft计算频subplot(2,1,1);
plot(t_1,R0);
title('自相关函数');
xlabel('t_1');
ylabel('R0');
subplot(2,1,2);
plot(f,fftshift(abs(S0)));
title('功率谱密度');
xlabel('f0');
ylabel('S0');figure;
subplot(2,1,1);
plot(t_1,R0);
title('自相关函数');
xlabel('t_1');
ylabel('R1');
subplot(2,1,2);
plot(f,fftshift(abs(S1)));
title('功率谱密度');
xlabel('f1');
ylabel('S1');

3、随机过程通过线性系统源码

clear all;
clc;
%产生100行2000列的高斯分布随机数
%均值为0,方差为1,每一行代表一个离散时间序列
N1=2000;
N2=100;
x=randn(N2,N1);  
%计算每一行的自相关函数估值和频率谱密度估值
%xcorr计算自相关值的函数
%lags自相关系数的延迟时间,50
%coeff,归一化自相关系数
for ii=1:N2y(ii,1)=x(ii,1);for jj=2:N1y(ii,jj)=0.6*y(ii,jj-1)+x(ii,jj);end[Ry(ii,:),lags]=xcorr(y(ii,:),50,'coeff');Sf(ii,:)=fftshift(abs(fft(Ry(ii,:))));
end
Ry_av=sum(Ry)/N2;       %自相关估值平均
Sf_av=sum(Sf)/N2;       %功率谱密度估值平均
subplot(2,1,1);
plot(lags,Ry_av);
title('自相关函数');
axis([-50 50 -1 1])     %axis - 设置坐标轴范围和纵横比,y[-50 50],x[-1 1]
subplot(2,1,2);
plot(lags,Sf_av);
title('功率谱密度');
axis([-50 50 0 5])      %axis - 设置坐标轴范围和纵横比,y[-50 50],x[0 2]

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

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

相关文章

el-select实现分屏效果

动态绑定class值 &#xff0c;多种判断 :class"type 8 ? home-stye-2 : type 24 ? home-stye-1 : home-stye-3" <div class"home-right-top"><div class"home-right-top-video"><el-row :gutter"20"><el-c…

SpringMvc集成开源流量监控、限流、熔断降级、负载保护组件Sentinel | 京东云技术团队

前言&#xff1a;作者查阅了Sentinel官网、51CTO、CSDN、码农家园、博客园等很多技术文章都没有很准确的springmvc集成Sentinel的示例&#xff0c;因此整理了本文&#xff0c;主要介绍SpringMvc集成Sentinel SpringMvc集成Sentinel 一、Sentinel 介绍 随着微服务的流行&…

docker和docker-compose生产的容器,不在同一个网段,解决方式

在实际项目中&#xff0c;使用docker run xxXx 和docker-compose up -d 不在同一个网段&#xff0c;一个是默认是172.17.x.x, 另一个是172.19.x.x。为解决这个问题需要自定义一个网络&#xff0c;我命名为“my-bridge” 首先熟悉几条命令&#xff1a; docker network ls 或…

UG\NX二次开发 创建对象属性UF_ATTR_set_user_attribute

文章作者:里海 来源网站:里海NX二次开发3000例专栏 简介 创建对象属性UF_ATTR_set_user_attribute,这是一个新函数用于替代UF_ATTR_assign,旧版本NX是用UF_ATTR_assign函数创建、更新属性值,请参照这篇文章《UG\NX二次开发 创建对象属性UF_ATTR_assign》 下面是这个新函数…

什么是requestIdleCallback?和requestAnimationFrame有什么区别?

什么是requestIdleCallback? 我们都知道React 16实现了新的调度策略(Fiber), 新的调度策略提到的异步、可中断&#xff0c;其实就是基于浏览器的 requestIdleCallback和requestAnimationFrame两个API。 在 JavaScript 中&#xff0c;requestIdleCallback 是一个用于执行回调函…

算法通关第十七关黄金挑战——透析跳跃问题

大家好&#xff0c;我是怒码少年小码。 本篇是贪心思想的跳跃问题专题&#xff0c;跳跃问题出现的频率很高。 跳跃游戏 LeetCode 55&#xff1a;给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。 …

【数据结构】——排序

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

【网络奇遇之旅】:那年我与计算机网络的初相遇

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; 计算机网络 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 一. 前言二. 计算机网络的定义三. 计算机网络的功能3.1 资源共享3.2 通信功能3.3 其他功能 四. 计算机网络…

Mysql 递归查询子类Id的所有父类Id

文章目录 问题描述先看结果表结构展示实现递归查询集合查询结果修复数据 问题描述 最近开发过程中遇到一个问题,每次添加代理关系都要去递归查询一下它在不在这个代理关系树上.很麻烦也很浪费资源.想着把代理关系的父类全部存起来 先看结果 表结构展示 表名(t_agent_user_rela…

如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 技术细节 目录 Appuploader 常见错误及解决方法 苹果APP安装包ipa如何安装在手机上&#xff1f;很多人不知道怎么把ipa文件安装到手机上&#xff0c;这里就整理了苹果APP安装到iOS设备上的方式&#xff0c;仅供参考 苹…

Linux基础指令

1.ls指令 【语法】ls 目录/普通文件 对于目录&#xff0c;列出目录中的所有文件对于普通文件&#xff0c;列出文件的基本属性 选项&#xff1a; -l 详细列出文件的属性-a 列出当前目录下的文件和隐藏文件-i 显示文件的索引信息-R 以递归的方式显示目录下的文件 1.1 [ls -l…

sql注入靶场

第一关&#xff1a; 输入&#xff1a;http://127.0.0.1/sqli-labs-master/Less-1/?id1 http://127.0.0.1/sqli-labs-master/Less-1/?id1%27 http://127.0.0.1/sqli-labs-master/Less-1/?id1%27-- 使用--来闭合单引号&#xff0c;证明此处存在字符型的SQL注入。 使用order …

《程序员考公指南》:零基础到上岸的完整攻略 | 开源日报 No.82

mastodon/mastodon Stars: 44.2k License: AGPL-3.0 Mastodon 是一个免费、开源的社交网络服务器&#xff0c;基于 ActivityPub。用户可以在 Mastodon 上关注朋友并发现新朋友&#xff0c;并且可以发布链接、图片、文字和视频等内容。所有的 Mastodon 服务器都能互操作成为联邦…

第五届全国高校计算机能力挑战赛-程序设计挑战赛(C语言模拟题)

1、已有定义“int a[10]{1,2},i0;”&#xff0c;下面语句中与“ a[i]a[i1],i;”等价的是()。 A. a[i]a[i1]; B. a[i]a[i]; C. a[i]a[i1]; D. i,a[i-1]a[i]; 2、两次运行下面的程序&#xff0c;如果从键盘上分别输入6和4&#xff0c;则输出结果是(&#xff09;。 A. 7和5 …

谁可以从使用 Amazon Lightsail 进行 VPS 托管中受益?

文章作者&#xff1a;Libai 介绍 在当今数字化的环境中&#xff0c;拥有可靠和高效的托管解决方案对于企业和个人来说至关重要。由于其灵活性、可扩展性和成本效益&#xff0c;虚拟专用服务器&#xff08;VPS&#xff09;托管已经在市场上获得了巨大的流行。Amazon Lightsail …

ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET

有个11g rac环境&#xff0c;停电维护后&#xff0c;orcl1正常启动了&#xff0c;orcl2启动报错如下 SQL*Plus: Release 11.2.0.4.0 Production on Wed Nov 29 14:04:21 2023 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SYS…

相同的树 单值二叉树 二叉树的最大深度

文章目录 相同的树单值二叉树二叉树的最大深度 相同的树 力扣&#xff1a;100相同的树 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 …

vue3 keep-alive页面切换报错:parentComponent.ctx.deactivate is not a function

问题&#xff1a; <router-view v-slot"{ Component }"><keep-alive ><component :is"Component" v-if"$route.meta.keepAlive" /></keep-alive><component :is"Component" v-if"!$route.meta.keepA…

27.0/多态/对象向上转型/向下转型/抽象类/抽象方法。

目录 27.1为什么使用多态? 27.1.2什么是多态 27.1.3对象多态 27.1.4多态的使用前提 27.2 向上转型 27.3向下转型 (面试题) 27.4抽象类和抽象方法 特点(面试题): 27.1为什么使用多态? 需求1&#xff1a;动物园让我们实现一个功能&#xff1a; 创建一个狗类 &#xff0c;狗…

亚马逊云科技向量数据库助力生成式AI成功落地实践探秘(一) ​

随着大语言模型效果明显提升&#xff0c;其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型&#xff08;LLM&#xff09;知识召回&#xff08;Knowledge Retrieval&#xff09;的方式&#xff0c;在私域知识问答方面可以很好的弥补通…