Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )

【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )

作者头像
韩曙亮
发布于 2023-03-30 04:00:42
发布于 2023-03-30 04:00:42
2.5K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

一、相关函数应用场景


求下面信号的 " 自相关函数 " :

其中

为 高斯白噪声 ;

高斯白噪声 符合 正态分布 特性 , 其 均值为

, 方差为

, 其功率谱密度是白的 , 在所有的频率上 , 其功率都相同 ;

在上一篇博客 【数字信号处理】相关函数应用 ( 相关函数应用场景 | 噪声中检测信号原理 ) 中 , 使用了公式推导的方法求相关函数 , 本篇博客使用 matlab 求相关函数 ;

下面开始使用 matlab 计算

的相关函数 ;

1、生成高斯白噪声

生成 高斯白噪声 序列 , 均值 0 , 方差 1 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
randn(1,200); 

上述代码 生成的 高斯白噪声 序列 是一个 有 200 个元素的行向量 ,

如果是 randn(2, 200) 代码 , 则生成的是一个

的矩阵 ;

2、信噪比 SNR

SNR 是信噪比 ,

是信号功率 ,

是噪声功率 , 其关系是 :

在 matlab 中 , 设置信噪比为

;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 设置 信噪比 
SNR = 7;

3、根据信噪比 SNR 求信号幅度

信号

, 其功率是

, 噪声功率 是

, 将其带入到信噪比公式中 :

根据信噪比 计算 幅度

:

写成 matlab 代码为 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 根据 信噪比 计算信号幅度
SignalAmplitude = sqrt( 2 * 10^(SNR/10) );

4、产生单载波信号及最终信号

根据

公式 , 产生 200 个信号 , 其中

之前已经求出 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 根据 Asinωn 产生 200 个信号 
x1 = A * sin( pi * 0.165 * (0:199) ); 

然后将 信号 与 高斯白噪声叠加 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 信号 + 高斯白噪声
x = x1 + xn; 

5、求自相关函数及功率

求自相关函数 , 使用 xcorr 函数 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 求 x 的 自相关函数 , 长度为2N-1
y = xcorr(x, x); 

求信号功率 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 功率 : 自相关函数 幅度 求平均
% 自相关函数 就是 200 个功率之和
y = y / 200; 

6、matlab 完整代码

matlab 完整代码 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% 清除之前的变量或内存
clear; 

% 生成 高斯白噪声 序列 , 均值 0 , 方差 1
% 生成的 高斯白噪声 序列 是一个 有 200 个元素的行向量
xn = randn(1,200); 

% 设置 信噪比 
SNR = 7;

% 根据 信噪比 计算信号幅度
A = sqrt( 2 * 10^(SNR/10) );

% 根据 Asinωn 产生 200 个信号 
x1 = A * sin( pi * 0.165 * (0:199) ); 

% 信号 + 高斯白噪声
x = x1 + xn; 

% 求 x 的 自相关函数 , 长度为2N-1
y = xcorr(x, x); 

% 功率 : 自相关函数 幅度 求平均
% 自相关函数 就是 200 个功率之和
y = y / 200; 

%建立幕布
figure;
%绘制 "输出序列" 图像 , 点用上三角表示
plot(y);

% 打开网格
grid on;

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 二 | 在白噪声中检测正弦信号 )
从上图中 , 可以大概分辨出信号 , 比上一篇博客 【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 | 在白噪声中检测正弦信号 ) 中 , 叠加后的信号 明显很多 , 下图是上一篇博客中叠加后的信号 :
韩曙亮
2023/03/30
1.4K0
【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 二 | 在白噪声中检测正弦信号 )
【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 | 在白噪声中检测正弦信号 )
文章目录 一、正弦信号 的 自相关函数 分析 一、正弦信号 的 自相关函数 分析 ---- 正弦信号 A \sin \omega n , 其 幅度 A = 1 , 功率 P_s = 0.5 , 下图是该正弦信号的函数图 : 白噪声信号 N(n) , 方差 1 , 信噪比 \rm SNR = -3dB , 信号长度为 512 ; 下图是 正弦信号 s(n) = A \sin \omega n 与 白噪声信号 N(n) 叠加后的 函数图 : 从上图中 , 基本看不
韩曙亮
2023/03/30
1.9K0
【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 | 在白噪声中检测正弦信号 )
【数字信号处理】相关函数应用 ( 相关函数应用场景 | 噪声中检测信号原理 )
, 求该信号的自相关函数 , 由于都是 实型号 , 不存在共轭 , 式子变为 :
韩曙亮
2023/03/30
7030
matlab产生高斯白噪声
matlab里和随机数有关的函数: (1) rand:产生均值为0.5、幅度在0~1之间的伪随机数。 (2) randn:产生均值为0、方差为1的高斯白噪声。 (3) randperm(n):产生1到n的均匀分布随机序列。 (4) normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的 随机矩阵。
全栈程序员站长
2022/11/01
3.4K0
现代谱估计分析信号的功率谱(1)---AR 模型谱估计
现代谱估计是一种用于分析信号的功率谱的技术。与传统的基于傅里叶变换 的经典谱估计方法相比,现代谱估计具有更高的分辨率和更准确的频率估计能力。传统谱估计方法主要基于傅里叶变换,将信号从时域转换到频域,然后计算各个频率成分的功率。但是,傅里叶变换对于非周期信号和有限长度的信号存在分辨率限制,即无法准确区分频率相近的成分。此外,傅里叶变换还受到窗函数选择和泄漏效应的影响,可能导致谱估计的偏差。
不去幼儿园
2024/12/03
3730
现代谱估计分析信号的功率谱(1)---AR 模型谱估计
信号分析与处理1「建议收藏」
X=FFT(x); X=FFT(x,N); x=IFFT(X); x=IFFT(X,N)
全栈程序员站长
2022/09/20
9840
间接法加窗分析信号的功率谱
维纳辛钦定理指出,随机信号的相关函数与它的功率谱是一对傅里叶变换对。BT法就是基于这个原理。先由观测数据估计出自相关函数,然后求自相关函数的傅立叶变换,以此变换作为对功率谱的估计,也称为间接法。BT法要求信号长度N以外的信号为零,这也造成BT法的局限性。
不去幼儿园
2024/12/03
1420
间接法加窗分析信号的功率谱
【DSP教程】第43章 IIR滤波器的Matlab设计
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第43章 IIR滤波器的Matlab设计 本章节讲解II
Simon223
2021/08/18
2.1K0
【DSP教程】第43章       IIR滤波器的Matlab设计
matlab|高斯白噪声的添加
SNR:信噪比,信号与噪声的比率 P:平均能量 信号功率和噪声功率有着相同的带宽 如果信号是一个常量s,或者随机变量S,那么对于随机噪声N的SNR为
福贵
2021/01/08
1.6K0
【DSP教程】第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第36章 FIR滤波器的Matlab设计(含低通,高通,
Simon223
2021/07/19
4K0
【DSP教程】第36章       FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
matlab维纳滤波器函数_逆滤波器
​ 维纳滤波(wiener filtering) 一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声污染的信号。
全栈程序员站长
2022/11/01
1.5K0
过采样系列二:傅里叶变换与信噪比
傅里叶变换的提出让人们看问题的角度从时域变成了频域,多了一个维度。快速傅里叶变换算法的提出普及了傅里叶变换在工程领域的应用,在科学计算和数字信号处理等领域,离散傅里叶变换(DFT)至今依然是非常有效的工具之一。
工程师看海
2022/06/23
1.5K0
过采样系列二:傅里叶变换与信噪比
Matlab实现经典功率谱估计的几种方法
fft做出来是频谱,psd做出来是功率谱;功率谱丢失了频谱的相位信息; 频谱不同的信号其功率谱是可能相同的;功率谱是幅度取模后平方,结果是个实数 matlab中自功率谱密度直接用psd函数就可以求,按照matlab的说法,psd 能实现Welch法估计,即相当于用改进的平均周期图法来求取随机信号的功率谱密度估计,psd求出的结果会更光滑。
不去幼儿园
2024/12/03
3000
Matlab实现经典功率谱估计的几种方法
【数字信号处理】相关函数 ( 自相关函数示例 )
参考 【数字信号处理】相关函数 ( 周期信号 | 周期信号的自相关函数 ) 博客 ;
韩曙亮
2023/03/30
6480
经典功率谱估计及Matlab仿真
原文出自:http://www.cnblogs.com/jacklu/p/5140913.html
用户7043923
2020/03/12
2K0
【数字信号处理】相关函数应用 ( 高斯白噪声 的 自相关函数 分析 )
自相关函数 与 功率谱密度 是一对 傅里叶变换对 , 如果自相关函数具备该特点 ,
韩曙亮
2023/03/30
1.9K0
【数字信号处理】相关函数应用 ( 高斯白噪声 的 自相关函数 分析 )
信号时域和频域相关原理
看到一篇有关于信号相关、卷积的文章,感觉写的很好,借鉴一下,记录一下信号相关性的知识。
Gnep@97
2024/05/10
9320
信号时域和频域相关原理
用matlab产生时域离散信号实验报告(有关数字信号处理)
离散正弦序列的MATLAB表示与连续信号类似,只不过是用stem函数而不是用plot函数来画出序列的波形。下面就是正弦序列的MATLAB源程序。
全栈程序员站长
2022/07/25
1.4K0
阵列波束形成与维纳滤波
波束形成是维纳滤波器理论在空间阵列信号处理中的应用形式。现通过对比,将来源于时间信号处理的许多方法方便地移植到空间信号处理领域。
不去幼儿园
2024/12/03
1690
阵列波束形成与维纳滤波
【数字信号处理】相关函数 ( 功率信号 | 功率信号的互相关函数 | 功率信号的自相关函数 )
本篇博客中的 互相关函数 和 自相关函数 , 都是 " 功率信号 " 的 相关函数 ;
韩曙亮
2023/03/30
1.5K0
推荐阅读
相关推荐
【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 二 | 在白噪声中检测正弦信号 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验